• 虚拟机 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

       (创建subport的net与trunk port的net不是同一个,即vlan不同)

      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)

  • 相关阅读:
    自学Linux Shell2.1-进入shell命令行
    自学Linux Shell1.3-Linux文件系统
    自学Linux Shell1.2-Linux目录结构
    自学Linux Shell1.1-Linux初识
    03 自学Aruba之2.4GHz及5GHz无线信道
    02 自学Aruba之无线频段---ISM频段及UNII频段
    01 自学Aruba之功率单位和相对单位
    1.Zabbix报错信息:It probably means that the systems requires more physical memory.
    自学Aruba5.3.4-Aruba安全认证-有PEFNG 许可证环境的认证配置802.1x
    自学Aruba5.3.3-Aruba安全认证-有PEFNG 许可证环境的认证配置Captive-Portal
  • 原文地址:https://www.cnblogs.com/xingyun/p/5236913.html
Copyright © 2020-2023  润新知