VXLAN技术学习笔记

1、概述

     (1)VXLAN是建立在物理IP(overlay)网络之上的虚拟以太网

             使用UDP封装完整的内层以太帧,封装报文头共五十个字节

     (2)VXLAN使用24位VXLAN网络标识符(VLAN为12位)

             最大支持16,000,000个逻辑网络

     (3)VXLAN可跨越物理三层网络

             使用UDP封装能在三层物理网络上建立二层逻辑网络

     (4)VXLAN利用ip多播封装广播和多播报文

             在VXLAN网内广播或多播的报文被封装在ip多播中,如ARP报文

     (5)VXLAN利用ECMP(等价多路径负载均衡)

             对不同数据流使用不同UDP源端口

     (6)VXLAN已提交到ITEF,启动标准化进程

             与Cisco, Citrix, Red Hat, Broadcom,Arista等厂商协作

2、VXLAN解决的具体技术问题

     (1)VLAN的数量限制:4094个VLAN远不能满足大规模云计算中心的需求,XVLAN最大支持  16,000,000个逻辑网络

     (2)物理网络基础设施的限制:基于IP子网的区域划分限制了需要二层网络连通性的应用负载   的部署

     (3)ToR交换机MAC表耗尽:虚拟化以及东西向流量导致更多的MAC表项

     (4)汇聚层STP(生成树协议)高负荷:由于大量VLAN配置在大量接口,汇聚层交换机的压力大

              增。

3、VXLAN报文格式



     Outer header:封装VXLAN的UDP报文头,VXLAN封装在UDP报文的数据部分。

     VXLAN Header:VXLAN报文头,包括:

          F:未使用

          I:表示VXLAN Network ID有效

          Reserved:未使用

         VXLAN Network ID:24bit,标识VXLAN网络标识,类似VLAN的ID,

         只是必VLAN所表示的范围大很多

4、VXLAN网络的初始化

     VTEP :VXLAN隧道终端 (VXLAN Tunneling End Point),用于多VXLAN报文进行封装/解封    装,包括mac请求报文和正常VXLAN数据报文,在一端封装报文后通过隧道向另一端VTEP发送封装报文,另一端VTEP接收到封装的报文解封装后根据被封装的MAC地址进行转发。VTEP可由支持VXLAN的硬件设备或软件来实现。

     VM1及VM2连接到VXLAN网络100, 两个VXLAN主机加入IP多播组239.119.1.1

5、VXLAN网络交互过程

     以ARP交互为例,其他数据报的交互类似

     ARP请求:

     (1)VM1以广播的形式发送ARP请求

     (2)VTEP1把ARP请求报文被封装在IP多播报文中,并打上VXLAN标识为100

     (3)VTEP1在ip多播组内里进行多播

     (4)VTEP2接收到ip多播报文后对内层MAC地址到外层ip地址的映射进行学习,并解封装后
             本地VXLAN标识为100的虚拟局域内广播(这也是VXLAN ID的用武之地)

     (5)VM2接收到请求自己MAC的ARP请求后做出响应

     ARP响应:    



     (1)VM2准备ARP响应报文后向VM1发送响应报文

     (2)VTEP2接收到VM2的响应报文后把它封装在ip单播报文中(VXLAN标识依然为100),然 后向VM1发送单播

     (3)VTEP1接收到单播报文后,学习内层MAC到外层ip地址的映射,解封装并根据被封装内容              的目的MAC地址转发给VM1

     (4)VM1接收到ARP应答报文,ARP交互结束

6、VXLAN网络和非VXLAN网络连接

      必须使用VXLAN的网关才能把VXLAN网络和外部网络进行桥接和完成VXLAN ID和VLAN ID之间的映射和路由,和VLAN一样,虚拟局域网之间的通信需要三层设备的支持,即VXLAN虚拟局域网之间的通信也需要VXLAN路由的支持。同样,网关可由硬件或软件来实现。

猜你喜欢

转载自blog.csdn.net/gongjun12345/article/details/53640629