3.2.2 VXLAN GPE封装 RFC7348中规定的VXLAN内部的载荷报文必须是以太网报文,这就限制了VXLAN协议的使用范围。为了让VXLAN能够更广泛的支持其他协议报文的Overlay传输,RFC草案正在探索VXLAN Generic Protocol Encapsulation (GPE)即VXLAN通用协议封装。
图4 VXLAN报文GPE封装 GPE封装使用了原FRC7348中规定的一些保留位。 • Version(Ver):指示VXLAN GPE协议版本。初始值为0。 • Next Protocol Bit (P bit): 如果P位为1,则Next Protocol域有效。 • BUM Traffic Bit (B bit): 如果B位为1,则表示VXLAN内部的封装报文为BUM报文。 • OAM Flag Bit (O bit): 如果O位为1,则表示VXLAN内部的封装报文为OAM报文。 • Next Protocol: 8位。表示VXLAN内部的封装报文的协议格式。 VXLAN的GPE封装还处于草案阶段,读者只需要了解VXLAN协议还在不断的发展中,暂时不必深究GPE封装的格式和应用。 3.3 BUM报文转发BUM(Broadcast, Unknown-unicast, Multicast)即广播、未知单播、组播流量。根据对泛洪流量的复制方式不同可分为单播路由方式(头端复制)和组播路由方式(核心复制)两种。 3.3.1 单播路由方式泛洪(头端复制)
图5 单播路由方式泛洪(头端复制) 在头端复制方式下,VTEP负责复制报文,采用单播方式将复制后的报文通过本地接口发送给本地站点,并通过VXLAN隧道发送给VXLAN内的所有远端VTEP。 如图5所示,当VTEP 1上的VM 1发出BUM报文后,VTEP 1判断数据所属的VXLAN,通过该VXLAN内所有本地接口和VXLAN Tunnel转发报文。通过VXLAN Tunnel转发报文时,封装VXLAN头、UDP头和IP头,将泛洪报文封装于单播报文中,发送到VXLAN内的所有远端VTEP。 远端VTEP收到VXLAN报文后,解封装报文,将原始数据在本地站点的VXLAN内泛洪。为避免环路,远端VTEP从VXLAN隧道上接收到报文后,不会再将其泛洪到其他的VXLAN隧道。 |