概念:
全稱為Ethernet Virtual Private Network,是一種用于實現(xiàn)網(wǎng)絡二層互通的vpn技術(shù)。通過擴展BGP協(xié)議的NLRI,新增了幾種類型的BGP EVPN路由類型,用于在不同站點之間通告主機的mac地址和ip地址信息。
EVPN在vxlan中的應用:
vxlan作為一種數(shù)據(jù)封裝技術(shù),其本身沒有控制平面,其在轉(zhuǎn)發(fā)數(shù)據(jù)前的表項學習,如arp表、VNI、VTEP地址等都是通過數(shù)據(jù)包的泛洪來完成,如果網(wǎng)絡中存在大量的泛洪流量,勢必對網(wǎng)絡的性能有所影響,因此為了減少vxlan數(shù)據(jù)轉(zhuǎn)發(fā)前表項學習的泛洪流量,特使用EVPN作為vxlan的控制平面,來完成在vxlan轉(zhuǎn)發(fā)數(shù)據(jù)報文前arp表項學習,主機路由學習和VTEP自動發(fā)現(xiàn)。
BGP EVPN路由:
BGP通過以下幾種路由來完成vxlan控制平面的表項通告工作
type2 路由--MAC/IP路由:
報文格式

作用
mac地址通告:
??要實現(xiàn)VTEP之間相同VNI之間的互相訪問,VTEP之間必須互相學習主機mac地址。BGP EVPN通過相互通告type2類型的路由,在type2 類型路由的MAC address length 和MAC address字段中通告MAC地址。
ARP表項通告:
??type2類型路由除了能通告mac地址外,還可以通過ip address length 和ip address 字段通告主機ip地址,同mac地址一同形成arp表現(xiàn)的通告,也叫ARP型路由的通告;
- 形成ARP廣播抑制表:
當VXLAN三層網(wǎng)關(guān)完成arp表項的學習后,BGP EVPN將arp信息通過ARP型路由通告給各個二層網(wǎng)關(guān),當二層網(wǎng)關(guān)使能了arp廣播抑制功能后,主機發(fā)出的arp廣播請求報文如果匹配到了二層網(wǎng)關(guān)的arp廣播抑制表,廣播報文將被轉(zhuǎn)換為單播報文發(fā)送,如果沒有匹配上,將進行頭端復制。 - 完成分布式網(wǎng)關(guān)場景下的網(wǎng)關(guān)的遷移:
當一個VTEP下的虛擬機遷移到另外一個VTEP后,主機發(fā)送免費ARP報文,遷移后的網(wǎng)關(guān)感知到虛擬機的上線行為,因而將主機ARP條目通告type2類型的路由通告給所有VTEP,當原網(wǎng)關(guān)收到此路由后,感知到虛擬機已經(jīng)發(fā)生了遷移,從而觸發(fā)ARP探測,探測不成功后發(fā)送BGP 撤銷跟新,撤銷自己之前通告的ARP型路由。 - 主機ip路由通告:
在分布式網(wǎng)關(guān)場景下,為了實現(xiàn)網(wǎng)絡的三層互通,VTEP之間必須互相通告主機路由和三層VNI,及type2類型中的ip address length和ip address字段、MPLS LABLE2字段。此路由也叫IRB型路由。
??注意??!ARP型路由的有效字段為主機mac地址+主機地址+二層VNI,IRB型路由的有效字段為主機mac地址+主機地址+二層vni+三層vni,因此可以看出,IRB類型路由包含ARP型路由,因此在BGP EVPN通告時只通告IRB型路由即可
type3 路由--inclusive multicast路由:
報文格式

作用
該類型路由主要用來完成VTEP地址的自動發(fā)現(xiàn)和VXLAN隧道的動態(tài)建立,主要用來通告二層VNI信息和VTEP ip地址信息。通過ip address length和originating router ip address 字段通告VTEP ip,通過MPLE LABLE 字段通告二層vni。從而動態(tài)形成vxlan隧道和頭端復制列表。
type5 路由--ip前綴路由:
報文格式

作用
如果攜帶的是主機路由通告,作用同type2類型路由相同;
如果攜帶的是網(wǎng)段路由,主要用來實現(xiàn)vxlan網(wǎng)絡和外部網(wǎng)絡的通信;