VxLan报文内部原始二层报头是否还可以保留VLAN信息
理论上来说可以支持,但常见的实现是不支持的。就像理论上以太网可以使用QinQ,但实际上许多设备不支持一样,出于各种考虑,硬件设备和软件驱动对协议的支持都是有一定限制的,对于VXLAN来说,如果解包之后还要进行802.1q的协议处理,至少在硬件交换机上会增加不小的复杂度。因为VXLAN已经支持了VNI,一般认为再封一层VLAN也是没有必要的。
■网友
先说结论:(一般)不可以。
参考RFC7348:
6.1. Inner VLAN Tag Handling Inner VLAN Tag Handling in VTEP and VXLAN gateway should conform to the following: Decapsulated VXLAN frames with the inner VLAN tag SHOULD be discarded unless configured otherwise. On the encapsulation side, a VTEP SHOULD NOT include an inner VLAN tag on tunnel packets unless configured otherwise. When a VLAN-tagged packet is a candidate for VXLAN tunneling, the encapsulating VTEP SHOULD strip the VLAN tag unless configured otherwise.翻译之后就是一句话:除非特殊的配置,否则VXLAN封装解封装都会丢弃对应的VLAN TAG信息。
但是题主的设想也很合理,为什么现实没有采用这种封装方式呢?
以下是个人观点:
首先要说的是网络虚拟化(Networking Virtualization)。我们说的VLAN,VXLAN是两种网络虚拟化技术。区别是VLAN是dot1q封装,说人话就是在ethernet header加4字节进行封装ethernet,VXLAN是在UDP内封装ethernet。虽然实现上差别很大,但是这两种网络虚拟化技术本质上是一样的:通过封装ethernet frame,在一个物理架构上虚拟出多个网络来。
如果在VXLAN里面也包含VLAN信息,那么从网络虚拟化的层面来说,这就是两层虚拟化。不是说两层虚拟化不可以,只是这两层虚拟化都要交由一套系统来处理。这要看合不合理,有没有必要。
必要性来看,目前是不必要的,VXLAN的VNI数量是够用了。
合理性来看,如果按照题主说的,租户\u0026lt;-\u0026gt;VXLAN,租户网络\u0026lt;-\u0026gt;VLAN。那么在一个物理主机内部,多个租户的网络包VXLAN解封装以后,多个租户的多个网络对应的VLAN要不要考虑VLAN ID重复的问题?
那两层网络虚拟化有没有?其实有,而且离我们也很近。不过通常是VLAN封装报文里面包含VXLAN。例如一个大型环境,物理主机的网络是VLAN网络,并且划分了好几个VLAN。对应的虚机网络是VXLAN。假设一个VXLAN1000的虚拟网络分布在多个物理主机上,其中包括了VLAN100和VLAN101的物理主机。那么VLAN100的物理主机里面的VXLAN1000网络,与VLAN101的物理主机里面的VXLAN1000网络,之间的通讯流程是这样的:
(VLAN100 (VXLAN1000)) -\u0026gt; Router -\u0026gt; (VLAN101 (VXLAN1000))
这里不同的是,外层的VLAN是交由物理网络设备处理,VXLAN交由虚拟网络处理。
Virtual eXtensible Local Area Network (VXLAN): A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks
■网友
应该可以,但是一般来说这样做没有意义 。
例如两个数据中心通过VxLAN互连,同一个VLAN ID对于不同的数据中心一般都有各自的规划,很难能保持一致,但是两边如果要通信,VxLAN的VNI必须是一致的。例如DC1的VLAN100内的虚机和DC2的VLAN200内的虚机属于同一个租户,那么将VLAN100或是VLAN200携带进VxLAN的payload中,就没有什么意义了。
■网友
上面的回答都不对,RFC也说了unless
configured otherwise,VXLAN当然可以保留原始报文的VLAN,华为、华三的核心交换机都支持保留原始报文的VLAN tag。
我做过交换机的VXLAN功能开发,在VTEP的业务接入点上决定是否剥掉原始报文的tag,业务接入点有两种模式:
推荐阅读
- 电饭锅内部铺一张纸,想不到这么厉害,大多人都不懂,早学早受益
- |南通海关提醒企业:建立健全出口管制内部合规制度
- 关于用phpfsocket 写Post, 模拟http 报文怎样写入要传输的处理数据
- 奚梦瑶|奚梦瑶豪宅罕曝光,内部杂乱似无人打扫?儿子万元玩具堆积如山
- 怎样做内部审计系统,用于数据泄漏后的回溯
- 汽车知识|嵘野“景韵”B型房车,集外观颜值与内部优质配置为一体
- qq空间非常火的gif图,是啥原理
- 咋在android软件内部接收网址传递过来的参数
- 品车闻百魅|全新一代奔驰S级晚间实拍,当内部氛围灯亮起时,网友:比老款香
- 哪些互联网公司在用RTX
