什麼是EVPN?EVPN有哪些路由類型?

最初的VXLAN方案(RFC7348)中沒有定義控制平面,是手工配置VXLAN隧道,然後通過流量泛洪的方式進行主機地址的學習。這種方式實現上較為簡單,但是會導致網絡中存在很多泛洪流量、網絡擴展起來困難。

為了解決上述問題,VXLAN引入了EVPN(Ethernet VPN)作為VXLAN的控制平面。EVPN參考了BGP/MPLS IP VPN的機制,通過擴展BGP協議新定義了幾種BGP EVPN路由,通過在網絡中發佈路由來實現VTEP的自動發現、主機地址學習。

採用EVPN作為控制平面具有以下一些優勢:

  • 可實現VTEP自動發現、VXLAN隧道自動建立,從而降低網絡部署、擴展的難度。
  • EVPN可以同時發佈二層MAC和三層路由信息。
  • 可以減少網絡中泛洪流量。

BGP EVPN路由類型

傳統的BGP-4使用Update報文在對等體之間交換路由信息。一條Update報文可以通告一類具有相同路徑屬性的可達路由,這些路由放在NLRI(Network Layer Reachable Information,網絡層可達信息)字段中。

因為BGP-4只能管理IPv4單播路由信息,為了提供對多種網絡層協議的支持(例如IPv6、組播),發展出了MP-BGP(MultiProtocol BGP)。MP-BGP在BGP-4基礎上對NLRI作了新擴展。玄機就在於新擴展的NLRI上,擴展之後的NLRI增加了地址族的描述,可以用來區分不同的網絡層協議,例如IPv6單播地址族、VPN實例地址族等。

類似的,EVPN在L2VPN地址族下定義了新的子地址族——EVPN地址族,並新增了一種NLRI,即EVPN NLRI。EVPN NLRI定義了以下幾種BGP EVPN路由類型,通過在EVPN對等體之間發佈這些路由,就可以實現VXLAN隧道的自動建立、主機地址的學習。

  • Type2路由——MAC/IP路由:用來通告主機MAC地址、主機ARP和主機路由信息。
  • Type3路由——Inclusive Multicast路由:用於VTEP的自動發現和VXLAN隧道的動態建立。
  • Type5路由——IP前綴路由:用於通告引入的外部路由,也可以通告主機路由信息。

EVPN路由在發佈時,會攜帶RD(Route Distinguisher,路由標識符)和VPN Target(也稱為Route Target)。RD用來區分不同的VXLAN EVPN路由。VPN Target是一種BGP擴展團體屬性,用於控制EVPN路由的發佈與接收。也就是說,VPN Target定義了本端的EVPN路由可以被哪些對端所接收,以及本端是否接收對端發來的EVPN路由。

VPN Target屬性分為兩類:

  • Export Target:本端發送EVPN路由時,將消息中攜帶的VPN Target屬性設置為Export Target。
  • Import Target:本端在接收到對端的EVPN路由時,將消息中攜帶的Export Target與本端的Import Target進行比較,只有兩者相等時才接收該路由,否則丟棄該路由。


分享到:


相關文章: