一文讀懂網絡界新貴Segment Routing技術化繁為簡的奧秘

關鍵字 :Segment Routing

追蹤朔源——MPLS

一、MPLS介紹

MPLS(Multi-Protocol Label Switching,多協議標籤交換)是一種在開放的通信網上利用標籤引導數據高速、高效傳輸的技術。(定義來自:維基百科)



簡單說MPLS採用標籤分發技術,將IP位址映射為簡單的具有固定長度的標籤(如圖1, MPLS頭部包含20bits的標籤位),MPLS網絡是利用標籤進行數據轉發的。

二、Segment Routing的「繼往&開來」

MPLS在廣域網等場景已經得到了大量部署。ISP/OTT/大企業通過部署LDP、RSVP-TE等協議,為廣域網業務提供VPN隔離以及差異化的流量調度方案。隨著MPLS技術的廣泛應用,其優勢和劣勢也都更加凸顯。被稱為「下一代MPLS」的Segment Routing技術很好地繼承了MPLS的優勢,同時也對MPLS的劣勢進行了顛覆和創新。

1.SR繼往

傳統MPLS的數據平面既保持了標籤轉發的簡單高效,還能支持顯式路徑從而提供強大的流量調度能力。這使得MPLS的數據平面成為經典,Segment Routing聰明地繼承了MPLS的數據平面。

2.SR開來

與MPLS數據平面大受好評不同,MPLS的控制平面卻因為協議複雜、擴展性差、部署&運維困難等問題深受詬病。MPLS的控制面依賴的主要技術是LDP(Label Distribution Protocol,標籤分發協議),以及RSVP-TE(Resource Reservation Protocol - Traffic Engineering,基於流量工程擴展的資源預留協議)。接下來我們重點分析一下LDP和RSVP-TE存在哪些問題,SR又是如何解決的?

三、LDP標籤分發協議

通過LDP協議,MPLS設備可以把路由信息映射到標籤信息上,並通過協議通告建立起標籤交換路徑。關於LDP的詳細介紹,限於篇幅原因,不在這裡展開。我們只需要知道:LDP是依賴IGP路由信息為IP網絡中的目的地址分配標籤(本身不維護狀態信息),並通過鄰居間的LDP信令周知不同目的IP的標籤信息。

1.LDP的優勢

• 部署簡單:只需要接口使能LDP功能即可。

• 易擴展:目前OSPF/IS-IS等IGP協議都支持LDP,擴展性較好。

• 天然的ECMP能力:LDP本質上依賴IGP的路由轉發,因此可以直接復用IGP的負載均衡能力。

2.LDP的劣勢

• 沒有流量工程機制:和IP網絡一樣,LDP也無法指定轉發路徑,也就無法做到基於業務要求(時延、帶寬、丟包等)的流量調度。

• 交互複雜:LDP重度依賴IGP,導致交互複雜,詳見LDP-IGP synchronization issue,RFC 5443&RFC 6138。當LDP和IGP狀態不一致時,還可能產生流量黑洞的問題。

四、RSVP-TE技術

為了解決LDP不支持流量工程的問題,MPLS中引入了RSVP-TE控制面。

傳統路由是依據目的IP進行查找轉發,且只關心下一跳怎麼走,而並不關心流量的完整路徑。而RSVP-TE引入了源路由的概念:當流量進入RSVP網絡後,在源節點就會計算出完整的每一跳路徑(顯式路徑)

如同導航軟體在計算行駛路線前需要收集道路信息並知曉當前路況,計算源路由的先決條件則是需要收集全網拓撲信息及鏈路狀態信息。RSVP-TE通過擴展IGP協議收集了這些信息(IS-IS擴展了TLV欄位,OSPF則是用特定的LSA)

知曉路況信息是第一步,具體選擇走哪條線路,還要取決於選路算法。一如導航軟體根據我們的要求(時間優先,距離優先,不走高速等)選擇最優路線,RSVP-TE流量調度也可以依據業務的要求:如延時低於50ms、帶寬大於10G等規劃出最優的轉發路徑。

1.RSVP-TE優勢

相比於傳統的路由協議基於目的IP的簡單轉發,RSVP-TE最大的優勢在於收集了整網拓撲和鏈路狀態信息,因此可以根據業務的需要靈活地選擇流量的轉發路徑(為流量指定一條顯式路徑)

2.RSVP-TE劣勢

RSVP-TE聽上去是一個完美的流量調度解決方案,應該大受歡迎。然而現實很骨感:部署RSVP-TE的案例並不多,並且在為數不多的RSVP-TE案例中,大部分也只用到了RSVP-TE的快速重路由功能,而非流量調度功能。究其原因,無外乎以下三點:

• 過於複雜:RSVP信令非常複雜,每個節點都需要維護一個龐大的鏈路信息資料庫;

• 擴展性受限:為了準確預留帶寬,RSVP-TE要求所有IP流量都需要通過隧道轉發,節點之間建立Full-mesh隧道導致擴展性差,大規模部署幾無可能;

• 不支持ECMP(Equal-Cost Multipath Routing,等價多路徑):現代IP網絡中,ECMP是一個最基礎的需求。而從源路由的機制我們可以看到,RSVP-TE只會選擇一條最優路徑進行轉發。如果想要實現流量分擔,還需要在相同的源和目的之間預先建立多條隧道。

註:關於ECMP的技術文章可以參考【技術盛宴】第十二期:數據中心網絡等價多路徑(ECMP)技術應用研究

大道至簡——Segment Routing

綜上所述,MPLS雖然解決了很多問題,但其本身也有待優化,尤其是在流量工程方面複雜性亟待改善。在這樣的背景下,一種保留了MPLS能力,且更為簡單易用的技術架構——Segment Routing,恰如其時地出現了。

Segment Routing,這項號稱「下一代MPLS」的技術,從其被設計之初就堅持了對網絡協議做減法的原則。那麼對比MPLS,Segment Routing到底「減」在哪裡?

一、減法一:去掉RSVP複雜的信令機制

RSVP-TE是一種分布式的架構,每台設備只能看到自身的狀態。想要獲取其他設備的狀態信息,就必須依賴RSVP的信令來進行頻繁的、大量的交互,這也就造成了RSVP協議的複雜性。我們不妨設想下,如果有一種集中控制平台負責交互這些信息,那這一切是否就迎刃而解了?

提到集中式,大家一定會首先想到轉控分離的SDN。沒錯,SDN集中式控制思想和源路由可謂是天作之合。

2015年開源的SDN控制器Open Daylight支持Segment Routing是一個標誌性的事件,這使得Segment Routing演進成集中式/分布式混合架構成為可能。事實上,目前落地的SR項目中也幾無例外地都使用了SDN來收集拓撲信息以及下發隧道路徑。

二、減法二:去掉 LDP,直接由IGP分發標籤

LDP實際上不維護任何的狀態信息,僅僅是對IGP中的目的IP和MPLS標籤做了一層映射,那麼這樣的標籤分發和同步是否可以通過拓展IGP協議的方式來實現,從而減少部署LDP協議呢?

Segment Routing實現了這一點,它擴展了IGP協議的SR屬性(IS-IS通過TLV實現,OSPF通過不透明LSA攜帶,具體可以參考http://www.segment-routing.net/),並用於直接分發和同步標籤信息。當然,引入SDN控制器後,這部分工作也可以交給控制器完成。

三、什麼是Segment Routing

讀到這裡,相信大家對SR技術已經有了基本的認識,下面我們通過一個舉例再來理解一下。

《Segment Routing詳解第一卷》中,用了一個很形象的比喻來解釋SR:機場行李標籤。設想某人要把行李從西雅圖發送到柏林(TXL),途徑墨西哥城(MEX)和馬德里(MAD)。航空運輸系統並不會為這件行李產生一個單獨的ID並維護它,而是採用了一種更具擴展性的方法:在始發機場給行李貼上一個標籤「先到墨西哥城,再到馬德里,最後到柏林」。這樣一來,航空傳輸系統不需要識別行程中的單個行李,而只需要識別機場代碼,就會知道怎麼按照行李標籤把行李從一個機場發送到另一個機場。比如剛才的例子,只需要在始發機場西雅圖為行李箱貼上{MEX;MAD;TXL}的標籤,機場依據行李標籤發送即可。

SR的做法其實完全相同,在SR的世界裡,始發機場西雅圖就是源節點,機場代碼就是中間節點標籤。SR會在源節點壓入轉發標籤路徑,中間節點只需要根據標籤轉發。

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

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

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

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

四、SR標籤分類

理解完SR是什麼後,我們再具體學習下SR技術中最重要的概念:SR標籤。SR標籤具體分類如下:





另外兩個需要知曉的、密切相關的概念:

• Segment Routing Domain:一組SR節點的集合

• SRGB:為全局SR預留的本地標籤集合,生成的Segment需在SRGB範圍內。

五、前綴/節點標籤(Prefix/Node Segment)


1.Prefix-SID

是為目的地址前綴分配的標籤,標籤在SR域內全局唯一,標識的方式為SRGB+Index。如圖2,如果SRGB從16000起始,10.2.2.0/24網段被分配的Index為1,那麼10.2.2.0/24的Prefix-SID為16001。

2.Node-SID

可以簡單理解為一種特殊的Prefix-SID, 如:將設備 Loopback接口下配置的IP位址作為前綴,其對應的 Prefix SID實際就是Node SID 。

六、鄰接標籤(Adjacency Segment)

鄰接標籤(Adjacency Segment)表示設備上某條鏈路的單跳路徑,僅在設備本地有效。每個設備向與自己相鄰一跳的設備通過IGP擴展通告鄰接標籤。當然,也可以通過SDN控制器直接為SR域內的每條鏈路進行標籤分配。



如圖3所示,9001、9002、9003表示的是為每條鏈路分配的鄰接標籤。

了解完SR標籤的分類和作用後,我們不難理解:利用Prefix/Node Segment的組合,網絡中很容易形成多條轉發路徑(條件寬鬆)。當需要對流量進行精細化調度時,加入Adj-Segment可以指定一條顯式路徑(條件嚴格)

七、SR轉發流程

接下來我們看一個典型的SR轉發流程:




①控制器收集全網的拓撲信息,鏈路狀態信息,並分配SR標籤(也可以設備上生成通告給控制器)

②如圖4所示,10.1.1.0/24與10.6.6.0/24主機互訪,默認情況下網絡中會有非常多的路徑,比如ABCF,ADEF,ABCEF等等。如果不需要對流量做調度,按照默認的多路徑轉發即可。

③應用驅動網絡:如果應用對網絡提出了要求,比如需要一條帶寬大於8G,延時少於30ms的轉發路徑。那麼源節點A設備會向控制器發起路徑計算請求。

④控制器已經掌握了全網的拓撲信息、狀態信息、標籤信息,因此可以計算出符合條件的顯式路徑。

⑤如圖4所示,假設紅色鏈路出現了擁塞,不滿足業務的帶寬要求。最終計算的結果黃色的箭頭路徑是滿足需求的,控制器會給源節點A下發符合路徑的標籤棧{16021,16031,323,16032,16041}來引導流量按指定路徑轉發。

⑥源節點A收到標籤棧後,會壓入到轉發數據包。

⑦接下來,就是常規的標籤轉發。可以參考圖4的標籤列表:節點A收到標籤棧後,發現第一個標籤16021對應B節點,於是查找路由將報文轉發給B;B節點收到後,發現頂層標籤16021是自己,於是將標籤彈出,並將標籤發往16031對應的鏈路…最終數據表會依據指定的路徑轉發到目的地F。

八、SR優勢總結

最後簡單總結下SR技術的優勢:

• 簡化的控制平面(去除LDP/RSVP-TE)

• 可擴展性好:SR的源路由和無狀態特性決定了其良好的擴展性;

• 戰術型流量工程:對於普通流量不指定路徑,自動負載;對於需要調度的流量計算出顯式路徑,並下發Segment執行;

• 與SDN結合,繼承集中控制帶來的好處;

• 與拓撲無關且針對IP優化的FRR(快速重路由)

• 標準化,多廠商支持。

展望

一、場景演進

Segment Routing目前在一些運營商和OTT公司已經得到試點部署,但大多數應用場景還集中在骨幹網的流量調度。SR在其他場景譬如數據中心是否也有用武之地呢?Segment Routing優異的流量調度機制以及轉控分離的架構,或許可以解決數據中心的一些難題:比如大量ECMP路徑帶來的轉發路徑不確定性、傳統網絡設備黑盒不可見等。另外,2017年發布的Linux內核4.10已經正式支持SR,這意味著從主機甚至是容器開始就可以調度其對應的業務流在全網的端到端路徑,端到端的SR部署成為可能。

二、技術演進

IPv4向IPv6演進是時下熱點話題,SR同樣也需要向IPv6演進。SR支持IPv6有兩種方式,一種是仍然採用MPLS數據面,控制面為IPv6地址分發MPLS標籤。但更好的方式是直接採用SRv6技術, SRv6是一項更具顛覆性的技術,它直接利用IPv6地址作為標籤尋址(Locator),並融入編程思想,加入了指令(Function)欄位。我們甚至可以把網絡類比為計算平台,而SRv6 Segment是CPU指令,通過SDN有機調度將應用需求自動映射到網絡基礎設施上執行,進而實現端到端的網絡配置及調度。相信SRv6的極簡和編程的理念,將引發全新的設計和運營網絡的思考。

銳捷網絡成立了SRv6專項研發團隊,持續跟進SRv6技術的進展。基於商用晶片,預計在2019年完成SRv6功能的開發,並已有計劃推動SRv6的商用部署落地。

2018-10-31 由 銳捷網絡 發表于科技

Segment Routing(直譯為分段路由,縮寫為SR)技術,脫胎於MPLS,但是又做了革命性的顛覆和創新,它代表的是一種新的網絡理念——應用驅動網絡。自從誕生那一刻起,SR技術便被譽為網絡領域最大的黑科技,因其與SDN天然結合的特性,也逐漸成為SDN的主流網絡架構標準。本文為大家梳理了SR技術的起源,引出SR技術的基本概念和優勢,並展望SR下階段的演進方向。


★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論