EVPN作为控制层,平日可以对接三种数据层,MPLS,PBB和NVO。NVO(Network Virtualization Overlay),这一分类包含了VXLAN(Virtual eXtensible LAN)。
所以,在有BGP RR的情况中,收集拓扑如下图所示,是不是跟Spine-Leaf的收集构造很像?
传统的VXLAN工作方法
VXLAN是一种Overlay收集技巧,我信赖大年夜家对Overlay和VXLAN已经有必定的懂得了,所以,我不在这对Overlay和VXLAN做解释。我们直接看一下VXLAN收集是若何工作的。
VTEP
起首看看VXLAN收集中的重要构成部分,VTEP(VXLAN Tunnel Endpoint)。VTEP是一个收集设备VXLAN数据是在VTEP之间传递。大年夜逻辑上看,VTEP包含了两个接口:uplink和downlink。Uplink连接Underlay收集,原始数据封装成VXLAN格局经由过程uplink在Underlay收集上传输;downlink连接Overlay收集,原始数据大年夜downlink传入传出。所以,VTEP可以算作是一个连接Overlay和Underlay收集的edge设备。
举个例子,当Overlay中VLAN100数据包经由过程downlink发送至VTEP,起首会映射到VXLAN ID 1001。在这之后,VTEP根据原始数据包的目标MAC地址和方才转换获得的VXLAN ID,在VTEP L2 Table中查找对应的Remote VTEP,如不雅能找到,就原始的Ethernet Frame封装成VXLAN数据包,再经由过程uplink发送出去。
对端VTEP的uplink收到了VXLAN数据包,解封装获得原始的Ethernet Frame,再将VXLAN ID与VLAN ID做映射,参加VLAN100的信息,最后数据包再经由过程downlink发送出去。如许,两个VTEP下的VLAN 100收集相当于是连通的。(注:固然这里都是VLAN 100,然则实际上两个VTEP下对同一个VXLAN ID对应的VLAN ID可以不一样)
原始的Ethernet Frame被封装成了一个IP/UDP packet,数据的传输变成了VTEP之间的IP/UDP packet传输,VTEP之间可所以二层收集,三层收集,甚至更复杂,然则这对VLAN100是透明的。
flood-learn
前面的例子中,如不雅VTEP L2 Table中没有找到对应的Remote VTEP,那就要经由过程flood-learn来获得对端的VTEP。
为了更好的描述flood-learn,我们假设最左侧虚机已经知道目标MAC了(VTEP中的L2 Table已经老化,虚机中的ARP cache还没老化)。当最左侧虚机想ping最右侧虚机,ping包送到VTEP,因为在VTEP中找不到对应的Remote VTEP,VTEP会做如下操作:
原始的Ethernet Frame被封装成VXLAN格局,VXLAN包的外层目标IP地址为组播地址。
VXLAN数据包被发送给组播内所有其他VTEP。
其拭魅这就是flood过程。因为组播内所有VTEP都是接收方,最右侧虚机可以受到组播的ping包。最右侧的VTEP起首大年夜ping包中进修到了最左侧虚机的MAC地址,VXLAN ID和对应的VTEP。因为有了这些信息,当最右侧虚机返回时,会直接发送到最左侧VTEP。如许最左侧VTEP也能大年夜返回包中进修到最右侧虚机的MAC地址,VXLAN ID和对应的VTEP,并记录在本身的L2 Table中,这就是learn过程。与交换机中的flood-learn不一样的是,交换机中记录的是对应的交换机端口和MAC的关系,这里记录的是Remote VTEP(IP Address)和MAC的关系。
下次最左侧虚机想拜访最右侧虚机,不须要再flood,直接查VTEP L2 Table就能找到对应的remote VTEP。
所以大年夜这里看出,VXLAN的转发信息,也是经由过程数据层的flood-learn获取,VXLAN不须要一个控制层也能工作,这与VPLS的情况很像啊!
EVPN control plane
VXLAN由RFC7348定义,在RFC中,只定义了数据层的行动,并没有指定VXLAN控制层。在VXLAN技巧早期,经由过程数据层的来获取转发信息,在实现上较为简单,响应的技巧门槛较低,有利于厂商实现VXLAN。然则跟着收集范围的成长,完全依附数据层做控制会造成收集中广播组播风暴,是以VXLAN也须要有一个控制层。
SDN controller也可以作为VXLAN的┞菲握层,OpenStack中广泛用SDN controller控制OpenVSwitch,VTEP直接经由过程OVSDB和OpenFlow流表进行治理。这些内容很有意思,功能也很强大年夜,不过跟本文昵嘟件工作,本文只评论辩论EVPN作为控制层的情况。
EVPN是近几年最热点的收集技巧之一。如不雅你还没听过EVPN,你的收集技能可能已经落后了,赶紧看看之前的《EVPN简介》吧!EVPN全称是Ethernet VPN,大年夜名字上看是一个L2 VPN的实现。实际上在最开端提出时,也是用作L2 VPN,号称是next generation L2 VPN,对原有的VPLS(Virtual Private LAN Service)进行改进。所以最开端的EVPN,是一套跨WAN(Wide Area Network)的L2 VPN的┞菲握层和数据层技巧,数据层特指的就是MPLS。所有的┞封些在EVPN简介中都有介绍,今天我们来看一个EVPN应用的变更,将EVPN的┞菲握层与VXLAN结合。
EVPN作为NVO的┞菲握层由IETF草案:draft-ietf-bess-evpn-overlay定义。上一篇讲了EVPN的实现是参考了BGP/MPLS L3 VPN,那么EVPN作为VXLAN的┞菲握层时,仍然采取雷同的架构,只是架构的构成元素产生了改变。
推荐阅读
几个世纪以来,处罚罪犯最常见的办法就是将他们锁在“铁窗”之中。丹·亨特传授是监牢罪犯心中的恶梦,但他并不是一个“狠心”的人。作为斯温伯恩大年夜学法学>>>详细阅读
本文标题:VXLAN与EVPN的结合使用
地址:http://www.17bianji.com/lsqh/36735.html
1/2 1