當前,SDN作為一種新的網絡架構,已經成為行業高度關注的熱點。其倡導的開放式網絡,代表了從網絡應用適應網絡能力向網絡能力主動適配網絡應用需求這個網絡建設理念的改變。轉發與控制分離、集中的控制層面、開放的網絡編程接口是SDN網絡架構的主要特征。
OpenFlow作為最主要的SDN協議,希望以一種全新轉發協議顛覆現有以IP、MPLS網絡架構。但是,這種激進的演進方式沒有得到設備廠家及電信運營商的支持,通過對現有網絡協議進行擴展和優化,推動現有網絡平滑演進,實現網絡開放的目標才是更加可行的選擇。
Segment Routing就是這樣的背景下,由IETF推動的支持SDN架構的新型路由轉發協議。目前,Segment Routing還處於草案階段,但是已經形成了完整的體系架構,並得到了大部分設備廠家的支持。
1. Segment Rouging 介紹
Segment Routing 是一種源路由機制,用於優化IP,MPLS的網絡能力。可以使網絡獲得更佳的可擴展性,並以更加簡單的方式提供TE、FRR、MPLS VPN等功能。在未來的SDN網絡架構中,Segment Routing將為網絡提供和上層應用快速交互的能力。
2. Segment Rouging 工作原理
和MPLS的網絡類似,SegmentRouting也是以標簽交換為基礎的。但是和MPLS網絡需要依靠LDP,RSVP等外部協議實現標簽的分發、TE等功能不同,Segment Routing只是對現有的IGP協議進行簡單的擴展,就可以實現TE、FRR、MPLS VPN等功能。
在Segment Routing的網絡中,通過Segment表示網絡前綴。在當前的Segment Routing草案中,定義了兩種Segment:Nodal Segment和AdjacencySegment。
Nodal Segment是全局標簽,每一個節點都會分配全局唯一的Nodal Segment,通常使用Loopback接口的地址。
Adjacency Segment是本地標簽,在本地有效,用於表示特定的SR節點。(不需要全局唯一)
圖1 拓撲圖
在圖1所示的拓撲中,我們假定所有的路由器都啟用了IS-IS或者OSPF協議,鏈路都有相同的metric。每一個SR節點的都有自己的Nodal Segment,並通過IGP協議通告其他節點。一個SR節點,通過IS-IS或者OSPF協議,可以自動建立起表示到其它SR節點最短轉發路徑的一組segments(類似MPLS標簽棧)。Adjacency Segment則和通往某一鄰接設備的下一跳節點相關聯:
(1)每一個節點都會將loopback地址作為自己全局標簽(Nodal Segment),其他SR數據層面的節點都會接收這一信息。在圖1中,節點B的Nodal Segment是70,節點S和R就使用70來計算到達B的路徑。
(2)在圖1中,F為B-F之間的鏈路分配了Adjacency Segment10000(本地有效),並通過IGP通告出去。
我們可以這樣理解Nodal Segment和Adjacency Segment。管理者給網絡分配了一個Segment地址塊,我們從這個地址塊中為每一個SR節點分配Nodal Segment,以保證其全局唯一性。而Adjacency Segment是在這個地址塊之外的,由每個節點自行分配的。
通過上述的示例,我們可以看到:通過將Nodal Segment和路由前綴相關聯,我們可以通過最短路徑到達任意節點,而轉發路徑是一條還是等價多路徑負載分擔,則取決於網絡的IGP拓撲。
3.Segment Rouging 示例
我們通過兩個具體的示例來看SegmentRouging的工作原理:
示例1(圖2):節點R通告自己的Nodal Segment 70 給多有的節點。如果S要到達R, 使用 Segment 70進行選路(源路由),Segment 70代表的轉發路徑集成了IGP協議的ECMP屬性。在圖2所示的報文轉發過程總,S為報文標記了Segments 列表{70},在節B和D,因為R是他們的直連節點,Segment 70將從列表中彈出,然后按照IGP轉發路徑把報文發給R。
圖2 示例1
示例2(圖3):通過使用AdjacencySegment(Fig. 3),可以引導流量經過特定的節點和端口。在圖3所示的網絡拓撲中,如果S希望通過B和D之間的鏈路到達R,那么我們在轉發路徑的源節點使用{ 71, 10000, 70 }的Segments列表。首先S通過IGP路由把報文發給71所代表的B節點。當報文到達A節點時,因為B是A節點的下一跳,所以A節點會將71彈出,然后將報文發給B。B節點會根據adj. segment將報文發給D,然后D使用IGP路徑把報文轉發到R。
圖3 示例2
Segment Routing定義的Segment為32bit,在MPLS的環境中,使用最右側的20Bit最為標簽值,MPLS標簽棧代表了Segments列表。Segment Routing可以轉發IPv4/IPv6報文,並可以和LDP、RSVP等協議共同控制網絡。
4.Segment Rouging應用場景
(1)提供快速重路由保護:SR可以在獨立提供FRR保護,而不需要依靠RSVP協議(傳統的MPLS TE需要部署RSVP協議)。
(2)實施流量工程(Traffic Engineering),可以依據帶寬、時延等網絡參數,主流的定義基於CoS的服務策略。
(3)應用於SDN網絡架構:一個可編程的開放網絡,應該是易操作的、可擴展的。和LDP、RSVP等協議相比,Segment Routing在易操作和擴展性方面有明顯的優勢。
來源:中國移動設計院技術通訊
