愛伊米

技術寶庫 | BGP EVPN 1 —— VPLS原理

技術寶庫 | BGP EVPN 1 —— VPLS原理

▲作者:楊誠

最近有看到關於BGP EVPN技術的知識點,想給大家分享一下。

因為BGP EVPN是在VPLS這個技術上發展而來,所以此處會先給大家講解VPLS的技術原理。

而VPLS跟MPLS VPN很類似,以下文章中講到很多的專業術語都跟MPLS VPN有關,所以學完MPLS VPN技術的同學再來學習VPLS會更容易上手。

本著高效的原則,本文中就不再講解MPLS VPN這個技術,而以下的知識點在學習完MPLS VPN技術的基礎上閱讀會更友好些。好了,讓我們開始吧。

說起BGP EVPN這個技術,學習過VXLAN的同學會比較清楚,它可以作為VXLAN控制平面的路由協議幫助VXLAN傳遞VNI號、IP路由及MAC資訊,它還有一個作用就是作為一種二層VPN技術來完成分處於不同地理位置的區域網互聯。

BGP EVPN以VPLS的替代版本出現,優化了VPLS的一些不足之處。為了更能深入研究BGP EVPN,所以首先我們得掌握VPLS的原理。

01

VPLS的基本概念

VPLS全稱Virtual Private LAN Service(虛擬專用區域網業務),是公用網路中提供的一種點到多點的二層VPN。

以前可能有小夥伴聽過MPLS VPN可以是作為三層VPN來使用,也可以作為二層VPN來使用,而需要作為二層VPN使用時就是指VPLS,所以VPLS就是MPLS VPN的L2VPN。

既然它是一種二層VPN,所以分處於不同地理位置的區域網用VPLS互聯,其效果就相當於各區域網之間連線了一臺巨大的交換機一樣,各區域網的出口裝置之間相處於同一個廣播域。

VPLS同時作為MPLS VPN的二層VPN,它像我們之前學習過的三層MPLS VPN基於MPLS中的標籤來實現資料轉發的,也同樣有私網標籤和公網標籤之分。

講到這可能有小夥伴問,

有了三層VPN技術為什麼還需要二層VPN?

這要跟它的應用場景掛鉤。

分處於不同地理位置的site(站點)需要進行私網互通,可以採用專線或者VPN技術來實現。而專線又可以分為裸光纖、SDH、MSTP(

注意,此處的MSTP不是我們路由交換課程中學習的生成樹協議,而是多業務傳送平臺,專線的一種

)、WDM等(此塊知識會在華為接入網和傳輸網課程中講到),但專線價格昂貴,為了節省成本就只能採用VPN。

VPN從層次上可以劃分為二層VPN、三層VPN以及應用層VPN,常見的二層VPN有PPTP、L2TP、VPLS、BGP EVPN等;常見的三層VPN有GRE、IPsec、MPLS VPN等;而應用層VPN有SSL等。

site之間互聯如果沒特殊需求採用二層或三層VPN都行,但有的場景必須用二層VPN,例如,分處於異地的資料中心做災備(學路由交換的小夥伴可能對災備不是很清楚,簡單理解就是做冗餘),且要求伺服器之間處於同一個廣播域,那此時就只能用二層VPN了。接下來我們學習下VPLS的基本原理。

02

VPLS的實現原理

如圖1,需要實現企業A分部1和分部2之間的互聯,企業B分部1和分部2之間的互聯;

技術寶庫 | BGP EVPN 1 —— VPLS原理

▲圖1

VPLS與MPLS VPN一樣,裝置角色同樣有CE、PE、P之分,在此基礎上多了些概念,如AC、PW、VSI等:

▲AC

(Attachment Circuit)

接入電路,即連線CE與PE的鏈路;

▲VSI

(Virtual Switch Instance)

虛擬交換例項,同MPLS VPN一樣,PE上也需要建立例項,並繫結AC線路,而這個例項則稱之為VSI;

▲PW

(Pseudo Wire)

偽線,兩個PE裝置上VSI之間的一條虛擬連線;

▲PW Signal

PW信令協議,用於建立和維護PW,PW信令協議主要有LDP;簡單理解即分發私網標籤的協議,這裡和MPLS VPN不同,MPLS VPN中採用MP-BGP分發;

實現VPLS需要配置的內容:

(1) 運營商網路需要配置IP、IGP及LDP協議;

(2) PE上建立VSI例項,並繫結介面;例項下需要指定PW的信令協議為LDP,以及VSI的對等體;

第一步配置目的

:保證公網互通,及PE之間有相互去往對端的公網路由及標籤。

第二步配置目的

:例項之間有相互去往對端的私網標籤,LDP能夠為例項分發私網標籤,並且傳遞到對端PE。MPLS VPN中實現的時候是採用BGP協議分發私網標籤並傳遞私網路由,而VPLS為二層VPN,不需要相互傳遞私網路由,只需要傳遞私網標籤即可,所以採用LDP即可完成。

LDP基本發現機制只能在直連裝置之間發現鄰居,而PE之間一般是非直連的,所以此處PE之間需要用到LDP的擴充套件發現機制來發現鄰居,即兩個PE之間直接跨裝置建立LDP鄰居,併為對端分發傳遞私網標籤。相互有對方的私網標籤表示PW建立完成,接下來就可以進行資料轉發。

技術寶庫 | BGP EVPN 1 —— VPLS原理

▲圖2

如圖2,我們以該圖講解資料轉發過程。

假設三臺CE裝置都為同網段,且現在CE1需要訪問CE2,則CE1會向外傳送ARP請求廣播報文,PE1收到此報文首先會學習MAC地址表,如表1,然後向其它埠泛洪此廣播幀,此時PW1和PW2可認為是其它埠。

▲表1

在泛洪出去之前,會在ARP廣播幀前面封裝上私網標籤、公網標籤以及新的二層幀頭,如圖3所示。

▲圖3

PW1上私網標籤則是由PE2為自己的VSI例項分發給PE1的,PW2上私網標籤則是由PE3為自己的VSI例項分發給PE1的,而公網標籤則是中間的運營商網路透過LDP協議逐跳分發的,新的二層頭部中目的MAC則是PE直連下一跳P裝置的MAC。

由此資料包可分別轉發至PE2和PE3,PE2和PE3收到資料包拆除公網標籤,根據私網標籤轉發進相應例項,即轉發給CE2和CE3。當然同時也會學習MAC地址表,如表2、表3所示。

▲表2

▲表3

CE2收到ARP請求則會立即回覆ARP響應,此時為單播響應,目的MAC為CE1,資料包來到PE2時,PE2查MAC地址錶轉發,只需要轉發給PE1即可,不再需要轉發給PE3。

轉發過程中同時學習MAC地址表,回程單播資料封裝過程、轉發過程和來程相似,不再贅述。以上即為VPLS轉發BUM幀(廣播、未知單播、組播幀)和已知單播幀的過程。

本篇文章最後再給大家分享下關於VPLS的防環機制,即水平分割,意思就是從公網側PW收到的資料包不再轉發到這個VSI關聯的其它PW上,只能轉發到私網側,即從PE收到的報文不轉發到其他PE。

好了,以上即為VPLS的原理,MPLS VPN的二層VPN——VPLS技術原理我們就分享到這了,希望大家閱讀後有所收穫。

未完待續,敬請期待!