MPLS/IP與SRv6:困局與破局

2022.11.22

MPLS/IP與SRv6:困局與破局


隨著2C、2B業務升級以及5G業務的雲化趨勢,新業務在給用戶帶來極致體驗的同時,也給傳統網絡帶來了極大挑戰。在此背景下,SRv6應運而生,並隨著IPv6的規模化部署,得到推廣應用。

從1969年阿帕網的誕生到2019年IPv4地址的正式枯竭,多年來互聯網技術在不斷地更新迭代。運營商承載網經歷了SDH、PTN、IP RAN等多種技術演進,在移動基站全IP、大帶寬的發展趨勢下,IP MPLS技術得到了廣泛應用。

隨著2C(自動駕駛、雲VR/AR、雲遊戲、超高清)、2B(智能製造、遠程醫療)業務升級以及5G業務的雲化趨勢,新業務在給用戶帶來極致體驗的同時,也給傳統網絡帶來了極大挑戰。在此背景下,SRv6應運而生,並隨著IPv6的規模化部署,得到推廣應用。

傳統網絡困局

MPLS/IP 困局

MPLS在IP傳輸中發揮著重要作用,但它會造成網絡孤島化,使域間網絡互連複雜化。

更準確地說,MPLS統一了承載網,但是IP骨幹網、城域網、移動承載網之間是獨立的MPLS域,是相互分離的,需要使用跨域VPN等複雜的技術來互聯,導致端到端業務的部署非常複雜。因此,針對跨域MPLS VPN提出了多種跨自治系統(AS)解決方案,如Option-A、Option-B和Option-C,每一種的業務部署都較為複雜。

例如,在上圖中,從最終用戶到雲數據中心的流量需要經過多個網絡域。先通過基於MPLS 的固定移動融合(FMC) 傳輸網絡,然後流量通過本地IP網絡進入基於MPLS的IP骨幹網絡,再訪問數據中心邊緣的IP網絡,最後到達VXLAN網關。在VXLAN網關中,沿著VXLAN 隧道,到達VXLAN 隧道出口處的TOR交換機,最後訪問虛擬網絡功能(VNF) 設備。

如果要通過這些網絡域,可以想像得到整個服務訪問過程會有多複雜。

另外,可擴展性也是阻礙MPLS發展的主要因素,這涉及到標籤空間的可擴展性和封裝的可擴展性兩個方面。在MPLS 標籤空間中,如下圖所示,MPLS 標籤有20 位,相當於2^20 個標籤空間。

當前很多新業務需要在轉發平面加入更多的轉發信息,但IETF已經發表聲明,停止為IPv4制定更新的標準,另外MPLS只有20bit的標籤空間,且標籤字段固定、長度固定,缺乏可擴展性,導致很難滿足未來業務的網絡編程需求。

隨著網絡的發展和不斷承載更多新興業務,IP與MPLS的結合面臨著以下問題和挑戰:

  • 轉發優勢下降:隨著搜索路由算法的改進,特別是以網絡處理器(NP) 為代表的硬件升級,MPLS 在轉發性能方面不再具有明顯優勢。
  • 云網融合困難:在數據中心中使用MPLS提供VPN業務的嘗試有很多。然而,由於網絡管理邊界、管理複雜性和可擴展性等因素,這些嘗試大都以失敗告終。
  • 跨域部署困難:會涉及到相對複雜的服務部署。
  • 業務管理複雜:當多種業務(如L2VPN、L3VPN業務)共存時,設備上可能同時存在LDP、RSVP、IGP、BGP等協議。這導致業務部署困難、管理複雜,難以在5G和雲時代實現大規模業務部署。
  • 協議狀態復雜:隨著節點和隧道數量的增加,狀態的數量也會增加。狀態的指數增長給傳輸節點的性能帶來了巨大的壓力,阻礙了大規模網絡的建設。

IPv4 困局

IPv4 的最大問題之一是地址資源不足。隨著2019 年11 月25 日歐洲網絡信息中心(RIPE NCC)從可用池中進行最後的/22 IPv4分配,全球所有43 億個IPv4 地址都已分配完畢,意味著沒有更多的IPv4 地址可以分配給互聯網服務提供商(ISP)和其它大型網絡基礎設施提供商。

儘管網絡地址轉換(NAT) 等技術通過重用私有網絡地址塊可以緩解此問題,但這並不是最終的解決方案。NAT不支持IPv4地址溯源,隱藏了IPv4的實際地址,存在管理風險。

IPv4 還面臨另一個困境:數據包頭的可擴展性不足導致了可編程性的不足。鑑於此,IPv4 網絡很難支持許多需要對包頭進行擴展的新服務,例如源路由、SFC 和IOAM。

為了解決IPv4 地址枯竭和擴展性差的問題,業界設計了下一代IPv4 升級解決方案——IPv6。

SRv6如何破局?

利用通用硬件、軟件定義功能和計算機領域的開源模型,斯坦福教授Nick McKeown團隊提出了一種新的網絡架構SDN,SDN具有以下三個特點:

  • 開放網絡可編程性
  • 控制平面和數據平面的分離
  • 邏輯集中控制

值得注意的是,SDN只是一種網絡架構,目前已經提出了多種技術來實現它,例如OpenFlow、SR(分段路由,Segment Routing)等。OpenFlow由於其局限性,沒有被廣泛部署。

2013年,Segment Routing被提出,它是在現有網絡基礎上的過渡性擴展,提供網絡可編程性。SR的核心思想是將報文轉發路徑切割為不同的分段,並在路徑起始點往報文中插入分段信息,中間節點只需要按照報文裡攜帶的分段信息轉發即可。這樣的路徑分段,稱之為“Segment”,並通過SID(Segment Identifier,段標識)來標識。

目前,SR 有兩個數據平面:MPLS 和IPv6。當SR應用於MPLS數據平面時,稱為SR-MPLS,SID被編碼為MPLS標籤。SR應用於IPv6數據平面時,稱為SRv6,SID編碼為IPv6地址。

SR-MPLS通過復用現有的MPLS轉發機制,提供網絡編程能力。它可以支持從現有的MPLS網絡平滑升級到SR-MPLS網絡。這樣可以更容易被行業採用。此外,SR保留了網絡的分佈式智能,同時引入了SDN控制器的全局流量優化。

SR-MPLS雖然可以提供良好的可編程性,但由於MPLS封裝的可擴展性較差,無法滿足SFC、IOAM等需要承載元數據的業務。與SR-MPLS相比,基於IPv6數據平面的SRv6不僅繼承了SR-MPLS的所有優點,而且提供了更好的可擴展性。

SRv6技術概述

IPv6 擁有網絡可編程性,它允許快速輕鬆地部署新服務。雖然IPv4 也提供了可編程的Options 字段,但這個字段並不常用。而IPv6 從一開始就考慮了包頭的可擴展性,許多擴展包頭,包括逐跳選項、目的地選項和路由標頭,都支持進一步的擴展。

隨著5G、雲等新業務的興起,以及網絡可編程技術的發展,業務需要網絡的轉發平面提供更強的編程能力和更簡單的融合網絡解決方案。這就是SRv6 發揮作用的地方。

SRv6 全稱為Segment Routing IPv6,是一種基於IPv6 數據平面的SR 網絡範式,它通過利用在SR擴展標頭(SRH) 中編碼的分段,攜帶網絡指令的IPv6 數據包明確告訴網絡它應該遍歷的路徑,以及要在每個SRv6 節點上執行的功能。

SRv6中通過SID標識每個分段,SID是一種特殊的IPv6地址,既有普通IPv6地址的路由能力,又有SRv6特有的行為能力。每個SRv6節點都會維護一張SID表(實際上是路由表的一部分),由許多128bit的SID組成,SID標準格式為Locator+Function(Args),如下所示:

Locator標識SRv6節點的定位器,每個節點起碼有一個全局唯一的Locator值,作為本地SID的共享前綴,其他節點通過Locator路由訪問本節點SID。Function(Args)標識SRv6節點內不同的行為,比如END、END.X等,少數行為還需要傳遞Args參數。

SRv6節點收到IPv6報文之後,會根據IPv6 DA(Destination Adddress)查找全局路由表,如果匹配到某個SID,則交由SID定義的行為處理,否則執行常規的路由轉發動作。

為基於IPv6轉發平面實現SR技術,在IPv6路由擴展頭新增SRH(Segment Routing Header)擴展頭,該擴展頭指定一個IPv6的顯式路徑,存儲IPv6的Segment List信息。Segment List即對段和網絡節點進行有序排列得到的一條轉發路徑。報文轉發時,依靠Segments Left和Segment List字段共同決定IPv6目的地址(IPv6 DA)信息,從而指導報文的轉發路徑和行為。其格式如下圖所示。

IETF SRv6網絡編程草案定義了一組可以與SID 關聯的功能,包括:

基於SRv6 的VPN是SRv6 部署的用例。SRv6 VPN 草案定義了基於BGP SRv6 的L3 VPN 和以太網VPN 的流程和消息。下圖說明瞭如何通過SRv6 網絡交付L3 VPN 服務,以及如何在網絡中的各個節點進行數據包封裝:

從SRv6網絡編程草案提交給IETF到現在,SRv6已被全球多家運營商部署了,如此快速的發展在知識產權技術中並不多見。

SRv6破局關鍵

綜上所述,基於MPLS的傳輸雖然取得了巨大的成功,但如今也深陷困局,而SRv6 技術就是破局之法:

SRv6直接使用IPv6地址作為轉發標籤,在控制面和數據面實現了統一承載。雲、管、端基於統一的IPv6標準協議實現端到端可管可控。

SRv6基於SRH,支持在報文中封裝更多的信息,滿足新業務的多樣化需求。

SRv6 與IPv6 的親和性使其能夠將IP 傳輸網絡與支持IPv6 的應用程序無縫集成,並通過應用感知網絡為運營商提供更多潛在的增值服務。

如上圖所示,隨著5G、雲、物聯網(IoT)等業務的發展,越來越多的網絡設備需要更多的地址和網絡可編程性。SRv6能夠更好地滿足這些業務的需求,助力網絡業務的發展,推動網絡進入一個全新的All IP時代,即基於IPv6萬物互聯的智能IP時代。