02.26 ”老當益壯“的MPLS緣何縱橫江湖二十年

MPLS多協議標籤交換技術從1997年被定義並廣泛部署,距今已經23年的時間。明明比我還年輕,為什麼我要說它“老當益壯”呢?

那是因為IT行業、互聯網行業的發展極快,瞬息萬變。


二十年,已然滄海桑田。


01

MPLS簡介及發展史

早在80年代末期,ITU國際電信聯盟定義並開始部署ATM(異步傳輸模式)作為電信網關鍵技術的時候,因特網也剛剛開始邁出自己商用的第一步,而後因特網快速發展,作為因特網關鍵技術的IP也從最初與ATM分庭抗禮,到後來一騎絕塵。

定義TCP/IP的IETF因特網工程任務組,其標準叫RFC(Request For Comments),翻譯一下就是“給點意見撒”,而相比於ITU“四年磨一劍”的行事風格,IETF明顯自由的多。

如果拋開IP和ATM的淵源、糾葛,單純談談技術的話,我們首先看一下以下兩張圖:

(1)ATM交換技術

”老當益壯“的MPLS緣何縱橫江湖二十年

”老當益壯“的MPLS緣何縱橫江湖二十年


注:傳統ATM採用信元交換,藉助VPI/VCI(虛擬路徑標識/虛擬通道標識)建立VC虛電路,此處簡化為幀中繼網絡的DLCI數據連接標識方便觀察。

(2)IP路由技術

”老當益壯“的MPLS緣何縱橫江湖二十年

”老當益壯“的MPLS緣何縱橫江湖二十年


通過上圖我們發現兩個技術各有千秋,技術優缺點我們簡單闡述一下:

ATM技術特點:

1、通過連接標識建立的邏輯虛電路轉發固定長度的信元,硬件交換極為高效;

2、虛電路的部署可以靈活的進行流量、帶寬規劃,端到端的QoS服務;

3、部署複雜、設備價格相對昂貴。

IP技術特點:

1、無連接的方式轉發IP報文,路由器逐跳查詢軟件路由表,對CPU等硬件性能要求較高;

2、無連接的IP協議無法靈活的進行流量、帶寬規劃,QoS實現複雜;

3、部署相對簡單、設備接入便利、價格便宜。

注:關於IP路由基礎的知識可以點最後的原文鏈接,參考我們之前的免費公開課


考慮到最初硬件性能有限,所以很多廠家希望將IP的便利性、ATM的高效轉發相結合,所以在1996年年底的時候,有一家名不見經傳的小公司IPSilon(後被NOKIA收購,你品,你細品……)開發了自己的協議和設備,將ATM交換機部署IP路由引擎並通過IP Switching的技術實現IP轉發。隨後思科、IBM等等巨頭也開發了Tag Swtiching、ARIS聚合路由IP交換等等技術,大有割據紛爭的態勢。

1997年,IETF(沒錯還是他,就是他,都是他)牽頭,拉了朗訊、思科等等一票大佬組了個局,MPLS多協議標籤交換技術也就這麼確定下來並開始廣泛部署。所謂以史為鑑可知興替,咱們學習技術也得跟著潮流,不斷進步,接下來就繼續探討MPLS技術細節。


02

MPLS架構及標籤格式


”老當益壯“的MPLS緣何縱橫江湖二十年

MPLS網絡的典型結構如圖所示,MPLS域(MPLS Domain)內的設備基於標籤進行數據轉發,

LSR(Label Switching Router)進行MPLS標籤交換和報文轉發的網絡設備稱為標籤交換路由器,位於區域內部;

LER(Label Edge Router)位於MPLS域邊緣、連接其他網絡比如IP網絡;

LSP(Label Switched Path)是指IP報文在MPLS網絡中經過的路徑稱為標籤交換路徑,LSP是一個單向路徑,與數據流的方向一致。


當IP報文進入MPLS域時,MPLS入口的LER分析IP報文的內容並且為這些IP報文添加合適的標籤(問題1),所有MPLS網絡中的LSR根據標籤轉發數據。當該IP報文離開MPLS網絡時,標籤由出口LER彈出。

LSP的入口LER稱為入節點(Ingress)執行標籤的壓入PUSH動作;

LSP中間的LSR稱為中間節點(Transit)執行標籤的交換SWAP動作;

LSP的出口LER稱為出節點(Egress)執行標籤的彈出POP動作;


問題1:如何分析IP報文的內容並且為這些IP報文添加合適的標籤?

比如我們奔著一個特定的目的IP地址或者某個特定的VPN虛擬專用網絡,那麼我們需要在入口添加合適的標籤以進入其對應的LSP隧道,

這就引出來一個特別重要的概念FEC轉發等價類(Forwarding Equivalence Class),FEC可以根據源地址、目的地址、源端口、目的端口、VPN等要素進行劃分,比如咱們華為設備認為目的地址是同一條32位主機路由,就是一個FEC轉發等價類。

其實通過上圖我們已經可以發現路由器如何為一個報文打上標籤的,而標籤格式細節可以參照下圖:

”老當益壯“的MPLS緣何縱橫江湖二十年

”老當益壯“的MPLS緣何縱橫江湖二十年


路由器直接在報文的二層頭部和三層頭部之間增加一個32bit的MPLS標籤頭,所以我們也經常稱MPLS為2.5層協議。無論數據鏈路層採用以太網、PPP點到點還是Frame-Relay幀中繼等協議、網絡層採用IP還是IPX等協議,統統可以通過查看2.5層標籤實現數據轉發,這也體現了多協議的特性,其對應字段作用如下:

LABEL:該標籤用於報文轉發,長度為20bits,路由器根據自身標籤空間分配並告知給自己的上游路由器

EXP:通常用來承載IP報文中的優先級,長度為3bits,用於實現QoS

S:標識棧底用來表明是否是最後一個標籤(MPLS標籤可以多層嵌套---後續MPLS-VPN詳細探討),長度為1bit;

TTL:類似IP頭部的TTL,用來防止報文環路等,長度為8bits;

其實當今網絡設備性能已經足夠強大,硬件轉發、報文交換已經不是部署MPLS等技術的唯一理由,那麼我們當今骨幹網絡廣泛部署MPLS的原因究竟為何?接下來我們分析一個場景。


03

BGP路由黑洞問題及MPLS轉發


”老當益壯“的MPLS緣何縱橫江湖二十年


如圖所示,這是一個典型的BGP路由黑洞問題的場景。

控制層面:

AS65001將100.1.1.1路由藉助EBGP傳遞給AR4,AR4藉助IBGP直接將路由傳遞給AR1,AR1繼續將路由傳遞給AS65000。

轉發層面:

AR65000將目標地址為100.1.1.1的IP數據報文發送給下一跳也就是AR1,而AR1如何處理呢?我們來查看一下AR1的路由表:


”老當益壯“的MPLS緣何縱橫江湖二十年


”老當益壯“的MPLS緣何縱橫江湖二十年

AR1目標地址為100.1.1.1的路由表,其下一跳為4.4.4.4(控制層面AR4藉助IBGP將路由通過TCP會話傳遞過來),

AR1發現路由下一跳為非直連下一跳4.4.4.4,繼而進行路由迭代查表,去往4.4.4.4需要將報文轉發給AR2,


”老當益壯“的MPLS緣何縱橫江湖二十年

”老當益壯“的MPLS緣何縱橫江湖二十年


而AR2收到IP報文繼續查詢IP路由表,發現根本不存在100.1.1.1對應的路由條目,則丟棄報文

”老當益壯“的MPLS緣何縱橫江湖二十年

”老當益壯“的MPLS緣何縱橫江湖二十年


而如果AR1上存在去往4.4.4.4的LSP,AR1壓入標籤進入到對應的LSP隧道,AR2、AR3、AR4直接通過標籤轉發,是不是問題就解決啦?

沒錯!我們看下配置了MPLS之後的轉發信息表(通過路由表、標籤信息表整合的指導數據轉發的表項)

”老當益壯“的MPLS緣何縱橫江湖二十年

”老當益壯“的MPLS緣何縱橫江湖二十年

注:[R1]route recursive-lookup tunnel--------AR1需要配置路由迭代查表優選隧道(MPLS-VPN默認開啟該命令)


接下來我要表演一名靈魂畫手的功底,是時候展現真正的技術了!


前方高能!


”老當益壯“的MPLS緣何縱橫江湖二十年

”老當益壯“的MPLS緣何縱橫江湖二十年

怎麼樣?有沒有被我的畫工折服?


設想在電信的骨幹網絡中已經部署了MPLS,那麼我們直接藉助BGP傳遞客戶的私網路由實現VPN業務,然後沿途設備都可以通過標籤轉發,是不是可以順利達到你快樂的彼岸?這也就是為什麼我們上文說的“比快我們不落下風,比穩我們更勝一籌“…(說過嗎?)


04

MPLS控制層面建立LSP過程


有一個重要的點我們必須交代清楚,運行MPLS不代表路由器上可以沒有路由表,我們本質上是為了特定的目標路由去手拉手、心連心的建立一條LSP,所以IGP內部網絡協議諸如OSPF、IS-IS還是必須運行!路由表還是得存在!MPLS是對轉發方式的優化,更像疊加的隧道技術!

而部署MPLS LDP標籤分發協議等協議就可以為特定的目標路由分配標籤並且通過相應的消息把標籤和目標路由的映射關係發送給自己上游的設備,這個過程從下游出口設備逐段的進行,一直到LSP的入口設備。

控制層面鋪路:


”老當益壯“的MPLS緣何縱橫江湖二十年

”老當益壯“的MPLS緣何縱橫江湖二十年

轉發層面上路:

”老當益壯“的MPLS緣何縱橫江湖二十年

”老當益壯“的MPLS緣何縱橫江湖二十年


篇幅有限,我沒有辦法通過一篇文章把MPLS控制層面、轉發層面的所有問題一一解釋清楚,如果需要了解上述實驗的配置、具體的技術原理以及後續高級技術諸如VPN、SR等,可以關注我們後續的公開課。


”老當益壯“的MPLS緣何縱橫江湖二十年


分享到:


相關文章: