虚拟机 vlan trunk 特性

1. 功能

1)允许不同vlan的network下的虚拟机之间通信。一般情况下,虚拟机只能在相同vlan的网络下通信。

2)允许虚拟机发送vlan报文。

2. 组网图

虚拟机出来的tap设备连接到tbr网桥上,此时tap设备不打tag值, vlan_mode = trunk ,trunk port 与 subport 共用一个tap设备。

tbr网桥与br-int网桥用ovs自身的patch对相连。

3. 流表转换

  • trunk port场景 , 即虚拟机出来的报文不带vlan信息

  1)untag -> local vlan

  报文从vm1下行经过br-int后,在br-int匹配类似转换流表 “in_port=5,vlan_tci=0x0000 actions=mod_vlan_vid:3”

  2) local vlan -> untag  

  若报文欲从trbxxx网桥上行进入vm2,在trbxxx匹配类似转换流表 “in_port=4,dl_vlan=3 actions=strip_vlan” 

  注:若报文欲从br-phy物理网桥出本主机,则走普通流程,在br-phy将local vlan 转换成 真正用户网络的vlan

  • subport场景, 即虚拟机出来的报文带vlan信息

  3) vm vlan -> local vlan

  报文从vm1下行经过br-int后,在br-int匹配类似转换流表 “in_port=5,dl_vlan=1000 actions=mod_vlan_vid:4”

  4) local vlan -> vm vlan

  若报文欲从trbxxx网桥上行进入vm2,在trbxxx匹配类似转换流表 “in_port=4,dl_vlan=4 actions=mod_vlan_vid:1000”

4. 代码处理流程

  1) 生成xml文件。后续会根据xml文件挂载tap设备,此处tap设备是挂载到tbr网桥上。

  2) 准备组网环境。

    在创建虚拟机前,nova compute 进行plug动作准备好相关资源,如创建tbr网桥,用patch对连接tbr与br-int网桥。

    然后启动虚拟机,将tap设备挂载到tbr网桥上。

  3) ovs-agent 扫描 tbr网桥上新增的tap设备(trunk port),然后下发相应的流表。

    对于subport,由于无法在tbr网桥上扫描到,只能通过neutron北向接口创建subport时,neutron-server通过rpc消息通知ovs-agent,再下发流表。

5. 环境相关操作

  neutron port-create $network_id_1 --trunkport:type trunk

  neutron port-create $network_id_2 --trunkport:type subport --trunkport:parent_id $trunkport_id

  nova boot --image xxx --flavor 1 --nic port-id=$trunkport_id (必须指定trunkport而不是subport来创建VM)

  vconfig add eth0 100 (在虚拟机中添加vlan 100的子接口)

  dhcpcd -L eth0.100 (在该子接口获取ip)

时间: 2024-10-07 12:12:40

虚拟机 vlan trunk 特性的相关文章

cisco 三层交换机与二层交换机级联 vlan trunk

模拟实验三层交换机与二层交换机级联,二层交换机下挂接2个vlan 分别是vlan2,vlan3,vlan2,vlan3下各接一台电脑,电脑ip信息如下: PC1 VLAN 2: 10.86.2.10 255.255.255.0 10.86.2.1 pc2 vlan 3 10.86.3.10 255.255.255.0 10.86.3.1 级联的三层交换机和二层交换机端口都需启用trunk功能 一. 三层交换机配置如下 config t vlan 2 vlan 3 int vlan 2 ip ad

《深入理解Java虚拟机 JVM高级特性...》核心笔记

深入理解Java虚拟机 JVM高级特性与最佳实践(第二版) 核心笔记 JAVA 环境: JAVA虚拟机高级特性: 一:java内存区域与内存异常 一):运行数据区     1:程序计数器(Program Counter Register),也称"PC寄存器" A:用来指示需要执行哪条指令的.(在汇编语言中,CPU在得到指令之后,程序计数器便自动加1或者根据                    转移指针得到下一条指令的地址,如此循环,直至执行完所有的指令.) B:由于在JVM中,多线程

配置网卡为vlan trunk

http://www.microhowto.info/tutorials/802.1q.html Configure an Ethernet interface as a VLAN trunk host需要连接2个 VLANs, 192.168.2.1/24 on VLAN 2 and 192.168.3.1/24 on VLAN 3 # modprobe 8021q # lsmod | grep 8021q 3种方法: 1 通过配置文件 auto eth0.2 iface eth0.2 ine

Docker容器技术和传统虚拟机技术的特性比较

Docker是用GO语言编写,诞生于2013年年初,遵循Apache2.0协议,全部开源代码在https://github.com/docker/docker上进行维护. 在开发和运维中,为什么要使用docker: 更快速的交付和部署 更高效的资源利用 更轻松的迁移和部署 更简单的更新管理 下表是Docker容器技术和传统虚拟机技术的特性比较比较 特性 容器 虚拟机 启动速度 妙级 分钟级 性能 接近原生 较弱 内存代价 很小 较多 硬盘使用 一般为MB 一般为GB 运行密度 单机支持上千个容器

vlan trunk

Vlan trunk 实验 拓扑图:     创建Vlan: [Huawei]vlan 3    //创建vlan 3 [Huawei-vlan3]int g0/0/3    //进入借口int g0/0/5 [Huawei-GigabitEthernet0/0/3]port link-type access  //改变接口类型为access [Huawei-GigabitEthernet0/0/3]port default vlan 3    //将接口接入vlan 3 [Huawei-Gig

VLAN trunk GVRP

VLAN trunk GVRPVLAN(virtual lan local area network)虚拟局域网:是物理设备上连接的不受物理位置限制的用户的一个逻辑组交换机分割冲突域(信号冲突的范围),不能分割广播域(同一网段),故valn分割广播域 帧格式引入:vlan tag(标签)四个字节,其中12bit作为标记,(4096个).其他作为 功能:广播控制:安全性:带宽利用:延迟 VLAN的种类基于端口划分的静态vlan(主流)基于MAc地址划分的动态VLAN 参考:http://www.0

VLAN TRUNK扩展

VLAN TRUNK扩展 一.MUX VLAN 产生的背景   第一不同属性的VLAN 之间,想要互相通信   第二相同的VLAN下,数据要隔离 2   基本的概念及实现 和思科PVLAN ,锐捷super vlan等技术有共同点. 主vlan:可以和任何vlan通信 团体vlan:可以和主VLAN通信,vlan内部之间可以互相通信,不可以和其他的团 体vlan通信,包括隔离VLAN 隔离vlan:可以和主VLAN通信,vlan内部之间不可以互相通信,不可以和其他的 团体或隔离vlan通信 二.

VLAN+trunk+端口安全组合实验一

Scenario In this activity, two switches are completely configured. On a third switch, you are responsible for assigning IP addressing to the Switch Virtual Interface, configuring VLANs, assigning VLANs to interfaces, configuring trunking, and perform

交换机的Vlan /TRUNK/VTP配置

1. Sw1 sw2 sw3上有3个VLAN,要求,交换机之前采用vtp方式完成VLAN信息同步. 2. SW2必须是transparent 模式. 3. 实现不同VLAN 间的通信. 基础配置,以及启用vtp ,观察SW2如果使用vtp transparent 模式,能够将SW1的VLAN信息 传递给SW3 SW1 配置: Switch>enable Switch#config terminal Switch(config)#line console 0 Switch(config-line)