從MPLS到SR,再到SRv6,到底發生了什麼?

鐵打的數據,流水的技術。

 

這也許會是多年從事ICT行業老兵對IP技術最深的感受,長江後浪推前浪,技術的波浪那是一波一波的,稍有不慎,前浪已躺在沙灘上。

 

今天我們就來聊一聊承載傳輸網絡中IP數據傳輸技術從MPLS到SR技術,再到SRv6,到底都發生了什麼。

 


 

 

MPLS

 

 

MPLS全稱是Multi-Protocol Label Switching,直譯過來就是多協議標籤交換,它是操作在OSI的2層(數據鏈路層)和3層(網絡層)之間的數據轉發技術。

 

 

 

 

那麼MPLS能風靡至今,靠的是什麼?簡單來說,它靠的是兩把主要的刷子。

 

 

 

第一把刷子:LDP標籤分發協議,解決傳統路由技術剝洋蔥式的繁瑣;

 

通過LDP協議,MPLS把路由信息映射到標籤信息上,而數據被封裝在了盒子裏,上面貼了標籤,每個經手的人只需要讀標籤就知道盒子該送到哪。而傳統的路由網絡裏面,每個經手的人都需要打開盒子,看看裏面的內容,再決定送往哪。如同我們生活中的快遞包裹標籤,LDP自身不維護狀態,轉發是無連接的,跟着IGP走到哪算哪。

 

 

 

 

第二把刷子:RSVP-TE基於流量工程擴展的資源預留協議,靈活選擇轉發路徑;

 

相比於傳統的路由協議基於目的IP的簡單轉發,RSVP-TE最大的優勢在於收集了整網拓撲和鏈路狀態信息,可以根據業務的需要靈活地選擇流量的轉發路徑。RSVP如同我們開車用的導航軟件,它在計算行駛路線前需要收集道路信息並知曉當前路況,然後基於你的要求,上不上高速,是否避開擁堵,爲選擇一條合適的轉發路徑。

 

 

 

 

看上去MPLS很完美,但是現實很骨感!

 

MPLS的兩把刷子雖然解決了很多問題,但MPLS對技術是做了加法,MPLS是通過在原有IGP協議基礎上增加LDP協議來實現標籤的分發,又因爲LDP不具有流量工程,增加RSVP-TE。然而RSVP信令非常複雜,同時還得維護龐大的鏈路信息,因此信息交互效率低下,擴展也非常困難。

 

也正是在這樣的背景下,SR(Segment Routing)技術應運而生。

 


 

SR

 

偉大的達芬奇老師曾經這樣教導我們:"Simplicity is the ultimate sophistication."即,"大道至簡"。

 

 

 

人類天生的惰性總是希望事情簡單化,Segment Routing(簡稱SR),就是帶着這樣一種使命,對MPLS做了革命性的顛覆和創新。

 

 

 

 

 

那麼SR到底做了什麼?簡單總結就是“一減一集中”,有點一花一世界的感覺。

 

減:既然LDP不維護狀態信息,只對IGP中的目的IP和MPLS標籤做了一層映射,本質上是依靠IGP協議制定標籤轉發,SR技術乾脆直接使用對IGP協議擴展SR屬性,不再部署LDP協議,由IGP來分發標籤(這怎麼感覺就像快遞員小哥也要被淘汰一樣)。

 

集中:既然每個節點都要通過RSVP進行大量的交互以維護全網的狀態信息,乾脆把RSVP功能集中起來,不用每個節點都計算交互。這也正諳合了SDN的思想,集中控制管理,可以說SR天然的支持SDN。

 

我們引用一個視頻來說明SR,相信更容易理解:

 

如何在全球50,000個機場運送行李?_騰訊視頻​v.qq.com圖標

 

在這個例子中我們不難理解SR的幾個特點:

  • 源路由:在始發機場西雅圖貼上標籤路徑。

  • 無狀態:中間機場不需要知道行李從哪來,最終去往哪裏,而只需要根據標籤轉發。

  • 集中控制:機場代碼由航空運輸系統集中分配和維護(當然在SR世界裏,表達的路徑標籤也是集中計算和下發的)。

 

 

但在這需要強調的是,上面的SR在數據平面仍然是基於MPLS的,無論控制面分發標籤是基於IPv4還是IPv6,從本質上來說還是MPLS下的Segment Routing,也就是SR-MPLS。

 

當網絡全面由IPv4向IPv6演進時,我們能不能擺脫MPLS ?

 

答案是肯定的,這也就是我們最後要聊的SRv6,也就是IPv6下的Segment Routing(SRv6)。

 


 

SRv6

 

我們先看一看SRv6與SR-MPLS在幀結構上作了哪些改變。

 

 

 

可以看得出,SRv6在IPv6報文中新增了SRH擴展,來替代傳統的MPLS下的標籤轉發功能,並使用128位的IPv6地址作爲網線節點標識SID。

 

當傳輸數據時,SRv6在首節點傳輸路徑上和各節點的SID集合起來以Segment List的形式放在SRH中,並通過SL(Segment Left)來表示中間節點的數量,以此修改SL值來實現下一跳。

 

 

 

 

與SR-MPLS相比,傳統的SR-MPLS是在MPLS的基礎上運用了減法和集中的思想,減去LDP集中RSVP,而SRv6則是在傳統SR-MPLS基礎上,給我們帶來了大一統和編程的思想。

 

  • 爲什麼要說SRv6有大一統的思想:

 

從上面的幀結構對比中我們可以看得出,與傳統SR-MPLS的3層類型標籤(VPN/BGP/SR)相比,SRv6在標籤分層上更爲簡單,只有一種IPv6頭,以此實現統一的轉發。

 

 

 

 

另外,由於SRv6幀頭的標準性,使得它更能兼容現網的IPv6設備,當中間節點不支持SRv6功能時,也可以根據IPv6路由方式來轉發報文。

 

給我們感覺就是,全網都可以採用統一的數據轉發技術,這也是爲什麼說SRv6具有大一統的思想。

 

  • 那爲什麼又說SRv6具有編程的思想?

 

這主要是SRH擴展中128位SID特殊的幀結構中定義的Function字段。

 

 

 

 

Function字段支持編程自定義,可以根據業務需要靈活地定義任意功能和業務。比如說,可以定義Function爲END,表示此SID標識的是一個節點,當定義爲END.X時,表示此SID標識的是一段路徑信息。

 

這就使得SRv6融合了編程的思想,可以提供更加靈活多樣化的服務,這是傳統的SR-MPLS所不具備的。

 


 

最後總結一下,從MPLS到SR(SR-MPLS),通過IGP擴展SR屬性省略了LDP協議,並實現基於源地址標籤轉發的集中控制。從SR到SRv6,通過在IPv6中增加SRH字段,實現基於IPv6的標籤轉發,替代傳統的MPLS下的標籤轉發功能。

 

至少在目前來說,SRv6提供了可預見的網絡業務變革的最終形態。

 

本期就聊到這兒了,感覺您的閱讀,謝謝!

 

部分圖片來源於網絡,若侵權,請聯繫,將及時替換!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章