- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Vxlan基础理解全解
Vxlan基础理解-新的三层overlay技术的浅析一 . 为什么需要Vxlan1. vlan的数量限制? ?4096个vlan远不能满足大规模云计算数据中心的需求2. 物理网络基础设施的限制? ?基于IP子网的区域划分限制了需要二层网络连通性的应用负载的部署3. TOR交换机MAC表耗尽? ? 虚拟化以及东西向流量导致更多的MAC表项4. 多租户场景? ? IP地址重叠?二. 什么是Vxlan1. Vxlan报文? ? vxlan(virtual Extensible LAN)虚拟可扩展局域网,是一种overlay的网络技术,使用MAC in UDP的方法进行封装,共50字节的封装报文头。具体的报文格式如下:(1) vxlan header? ? 共计8个字节,目前使用的是Flags中的一个8bit的标识位和24bit的VNI(Vxlan Network identifier),其余部分没有定义,但是在使用的时候必须设置为0x0000。(2) 外层的UDP报头? ? ?目的端口使用4798,但是可以根据需要进行修改。同事UDP的校验和必须设置成全0。(3) IP报文头? ? ?目的IP地址可以是单播地址,也可以是多播地址。单播情况下,目的IP地址是Vxlan?Tunnel End Point(VTEP)的IP地址。在多播情况下引入VXLAN管理层,利用VNI和IP多播组的映射来确定VTEPs。???protocol:设置值为0x11,显示说明这是UDP数据包Source ip: 源vTEP_IP;Destination ip: 目的VTEP IP。(4) Ethernet HeaderDestination Address:目的VTEP的Mac 地址,即为本地下一跳的地址(通常是网关Mac 地址);VLAN: VLAN Type被设置为0x8100, 并可以设置Vlan Id tag(这就是vxlan的vlan 标签)。Ethertype:设置值为0x8000,指明数据包为IPv4的。补充:VTEP的作用? ? ?? ? ?用于对VXLAN报文进行封装/解封装,包括ARP请求报文和正常的VXLAN数据报文,在一段封装报文后通过隧道向另一端VTEP发送封装报文,另一端VTEP接收到封装的报文解封装后根据封装的MAC地址进行装法。VTEP可由支持VXLAN的硬件设备或软件来实现。? ?从封装的结构上来看,VXLAN提供了将二层网络overlay在三层网络上的能力,VXLAN Header中的VNI有24个bit,数量远远大于4096,并且UDP的封装可以穿越三层网络,比VLAN有更好的扩展性。2. Vxlan的数据和控制平面? (1) 数据平面---隧道机制? ? ?已经知道,VTEP为虚拟机的数据包加上了层包头,这些新的报头之有在数据到达目的VTEP后才会被去掉。中间路径的网络设备只会根据外层包头内的目的地址进行数据转发,对于转发路径上的网络来说,一个Vxlan数据包跟一个普通IP包相比,出了个头大一点外没有区别。? ? ?由于VXLAN的数据包在整个转发过程中保持了内部数据的完整,因此VXLAN的数据平面是一个基于隧道的数据平面。(2) 控制平面----改进的二层协议? ? ?VXLAN不会在虚拟机之间维持一个长连接,所以VXLAN需要一个控制平面来记录对端地址可达情况。控制平面的表为(VNI,内层MAC,外层vtep_ip)。Vxlan学习地址的时候仍然保存着二层协议的特征,节点之间不会周期性的交换各自的路由表,对于不认识的MAC地址,VXLAN依靠组播来获取路径信息(如果有SDN Controller,可以向SDN单播获取)。? ? 另一方面,VXLAN还有自学习的功能,当VTEP收到一个UDP数据报后,会检查自己是否收到过这个虚拟机的数据,如果没有,VTEP就会记录源vni/源外层ip/源内层mac对应关系,避免组播学习。3. VxlanARP请求(1) vxlan初始化?VM1和VM2连接到VXLAN网络(VNI)100,两个VXLAN主机加入IP多播组239.119.1.1(2) ARP请求? ?1) VM1以广播的形式发送ARP请求;? ?2) VTEP1封装报文。打上VXLAN标识为100,外层IP头DA为IP多播组(239.119.1.1),SA为IP_VTEP1.? ?3) VTEP1在多播组内进行多播;? ?4) VTEP2解析接收到多播报文。填写流表(VNI, 内层mac地址,外层Ip地址),并在本地VXLAN标识为100的范围内? ? ? ?广播(是VXLAN的用武之地)。? ?5) VM2对接收到的ARP请求进行响应;(3) ARP应答??1) VM2准备ARP响应报文后向VM1发送响应报文? ?
文档评论(0)