VxLAN知识点总结
一、VxLAN概念
VxLAN是一个非常重要的Overlay技术,由SDN概念发展引出
SDN
Software Defined Network / 软件定义网络
其核心技术是通过将网络设备控制面与数据面分离开来,从而实现了网络流量的灵活控制,为核心网络及应用的创新提供了良好的平台。
管理平面、控制平面、数据平面意义与作用:
管理平面:管理设备(SNMP)
管理平面主要包括两种系统:设备管理、业务管理
设备管理用于设备硬件的管理,例如,网络拓扑,设备端口以及下发配置脚本。
业务管理用于对业务的管理,例如,业务性能监控、业务告警管理等。
控制平面:路由协议(IGP、BGP)
控制平面负责协议处理与计算。计算路由信息生成路由表。
数据平面:转发表(FIB)
数据平面是指设备根据控制平面的指令完成对用户业务流的转发和处理。路由器根据路由表将数据包从相应的端口转发出去。
传统数据中心架构
虚拟机的迁移只能局限一个二层区域内。如果跨二层迁移,需要更改VM的IP地址,应用会中断。
新一代数据中心架构
服务器之间存在大量横向流量,要求支持无阻塞转发数据报文,网络链路资源需得到充分的利用
STP存在以下主要缺陷:
1、收敛时间长,通常不超过50个网络节点,不适宜云数据中心大规模组网。
2、构建无环网络时, 需要阻断一半的链路;带宽利用率低。
因此STP或CSS+iStack传统二层技术不适合构建大规模二层网络, 因此引入VxLAN技术构建大二层网络。
学习VxLAN必须了解的概念
Overlay 网络的定义:将一个计算网络构建在另一个网络之上;
VxLAN的核心是实现封装,将网络业务与底层设施解耦;
1、NVO3和NVE
Network Virtualization Over Layer 3 / 3层之上的网络虚拟化,
Network Virtualization Edge / 网络虚拟化边界,
基于IP Overlay的虚拟局域网络技术统称为NVO3。
运行NVO3的设备叫做NVE,它位于Overlay网络的边界,实现二、三层的虚拟化功能。
3、VxLAN
Virtual Extensible LAN / 虚拟扩展局域网
VxLAN是目前NVO3中影响力最为广泛的一种。它通过MAC in UDP的报文封装方式,实现基于IP Overlay的虚拟局域网。
4、VTEP
Vxlan Tunnel End Point / Vxlan隧道终点
VxLAN网络中的NVE以VTEP进行标识;每一个NVE至少有一个VTEP,VTEP用NVE的IP地址表示;
两个VTEP可以确定一条VxLAN隧道,VTEP间的这条VxLAN隧道将被两个NVE间的所有VNI所公用。
5、VNI
VxLAN Network Identifier / VxLAN网络标识符
24比特,用于标识虚拟网络,最大支持16M。
这16M 怎么来的? 2的24次方等于16 777 216≈16M
二、VxLAN报文格式
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|
DA | SA | DIP | SIP | UDP Header | VxLAN Header | Eth Header | PayLoad |
第1-6段为 VxLAN Encapsulation / VxLAN封装
第7-8段为 Original Ethernet Frame / 原始以太网帧
简写报文格式如下
1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|
OuterEthernet Header | OuterIP Header | UDP Header | VxLAN Header | Inner Ethernet Frame |
VxLAN L2 类似于VLAN, 可实现相同VxLAN内部流量互访。
VxLAN L3 Gateway:类似于 VLAN IF 实现不同VxLAN直接互访,或者VxLAN与非VxLAN网络互访。
EVC模型:
Ethernet Virtual Connection / 以太网虚连接模型构件主要包含:
BD、VNI、NVE、L2 Subif、VxLAN Tunnel
BD(Bridge-Domain):标识一个二层广播域,BD和VNI 1:1映射。所有广播域功能基于BD支持,如MAC学习、二层查表、广播复制等;
NVE:主要用于本地VTEP地址管理,VXLAN隧道管理,头端复制列表管理;
L2-Subif:二层子接口用于用户接入,子接口上可以配置一层tag接入或者不配置tag接入;
VxLAN Tunnel:VxLAN隧道用于VxLAN报文的转发,用本地VTEP地址+远端VTEP地址标识 ;
BDIF:BD域的三层路由接口,用于二层流量进入三层进行路由转发;
全局VLAN接入模型:
主要应用在L2VPN服务场景,VLAN绑定BD;局限性:因为携带VLAN 信息所以最大4096个。
三、VxLAN报文转发
1、VxLAN同子网数据转发流程
A、B属于同一VNI 1。不考虑ARP广播优化使能。
A发送ARP Request广播报文到B。
B回应ARP Reply单播报文到A。
A发送单播数据报文到B。
A发送ARP Request广播报文到B:
1、NVE1发现是广播报文,在VNI1内广播ARP request报文;报文做隧道封装;向所有VNI1的peer转发;
2、若有中间节点,IP透传Overlay报文;
3、NVE2/3/4/5 接收报文,解隧道封装,NVE2/3/4/5都学习到A的MAC地址。
B回应ARP Reply单播报文到A:
1、NVE2查找A mac转发表,命中出接口为隧道(NVE2至NVE1隧道);报文封装后三层转发;
2、若有中间节点,IP透传Overlay报文;
3、NVE1接收报文并解封装,在本地转发;NVE1学习到B的MAC地址。
A到B的单播数据报文
NVE1 和 NVE2都学习到了A和B的MAC地址;后续查找MAC则命中;单播流程和VLAN一样;
唯一不同的是外层封装了隧道;Underlay是IP转发。
2、VxLAN跨子网数据转发总体流程
NVE5作为三层网关,A属于VNI 1, E属于VNI 2,默认主机与网关都互相学习到ARP表, 各个节点MAC都已学习。A发送单播数据报文给D。
1、NVE1查找网关mac转发表,封装隧道;使用VNI1;
2、网关解封装报文,根据内层IP头查路由,替换内层以太头,封装VXLAN头部,使用VNI2;
3、NVE6 接收报文并解封装,内层报文根据目的MAC转发。
CSDN-Ada助手: 非常感谢你的分享,这篇博客对RSTP知识点进行了很好的总结。我觉得你可以继续写一篇关于网络协议方面的技术文章,比如TCP/IP协议栈的应用场景或者网络安全方面的技术实践,这样的技术文章对其他用户也会很有帮助。相信你的写作能力会吸引更多的读者。继续加油! 为了方便博主创作,提高生产力,CSDN上线了AI写作助手功能,就在创作编辑器右侧哦~(https://mp.csdn.net/edit?utm_source=blog_comment_recall )诚邀您来加入测评,到此(https://activity.csdn.net/creatActivity?id=10450&utm_source=blog_comment_recall)发布测评文章即可获得「话题勋章」,同时还有机会拿定制奖牌。