作者:蔣星
思科解決方案架構(gòu)師 蔣星
思享家
是一個介紹如何利用思科先進技術(shù)解決客戶難題的欄目。每期聚焦一個技術(shù)熱點或應用場景,邀請資深思科技術(shù)專家深入淺出地介紹,為讀者提供實用性強的建議。
SRv6 是什么?
Segment Routing( 以下簡稱 SR )指由思科院士 Clarence Filsfils 發(fā)明,并主要由 IETF SPRING ( Source Packet Routing In Networking )工作組進行標準化的新一代網(wǎng)絡傳送技術(shù)。SR 基于源路由并且只在網(wǎng)絡邊緣維持狀態(tài),這使得 SR 非常適合于超大規(guī)模 SDN 部署,現(xiàn)已成為支持 5G 、物聯(lián)網(wǎng)、多云、微服務發(fā)展的標準網(wǎng)絡傳送技術(shù)。
SRv6 代表了全新的思考、設計、運營網(wǎng)絡的方式——網(wǎng)絡即計算機。使用 IPv6 數(shù)據(jù)平面,基于 IPv6 路由擴展頭進行擴展,可以在現(xiàn)有 IPv6 網(wǎng)絡上增量部署。
SRv6 實現(xiàn)了網(wǎng)絡極簡:控制平面是支持 IPv6 的 IGP / BGP ,轉(zhuǎn)發(fā)平面則是純 IPv6 。“ 簡單即力量 ”,SRv6 無疑在降低 OPEX / CAPEX 方面有著非常好的前景。
SRv6 極簡和可編程兩大特性得到了業(yè)界的廣泛認可。SRv6 滿足未來固移、云網(wǎng)技術(shù)統(tǒng)一,是實現(xiàn)業(yè)務差異化、網(wǎng)絡實時感知、業(yè)務隔離的關(guān)鍵技術(shù),能夠更好滿足未來業(yè)務發(fā)展需求。
隨著中國新基建的政策推進,作為下一代寬帶互聯(lián)網(wǎng)核心技術(shù)的 Segment Routing v6 ( 簡稱 SRv6 )正在步入技術(shù)和應用創(chuàng)新的快車道。SRv6 賦能網(wǎng)絡真正的智能調(diào)度優(yōu)化能力, 可以讓游戲更順暢,使金融交易更加快速并避免網(wǎng)絡問題帶來的交易失敗和中斷, SRv6 還可以通過將流量調(diào)度到空閑鏈路上從而提升鏈路利用率,降低網(wǎng)絡費用。SRv6 已經(jīng)被越來越多的運營商、互聯(lián)網(wǎng)企業(yè)和大型企業(yè)所認可,并開始積極研究與部署。
誰吃掉了我的帶寬?
除了極簡和可編程兩大特性, SRv6 還可以通過將流量調(diào)度到空閑鏈路上從而提升鏈路利用率,降低網(wǎng)絡費,優(yōu)勢十分明顯。作為一家中型股份銀行的網(wǎng)工,我卻吃驚地發(fā)現(xiàn),原來平穩(wěn)順暢的網(wǎng)絡,部署 SRv6 后,很多線路發(fā)生擁塞,核心業(yè)務發(fā)生卡頓,網(wǎng)絡流量大增,金融客戶投訴電話如暴風驟雨般呼嘯而入……
經(jīng)過排查,所有線路都工作正常,設備也沒有發(fā)生故障,一切硬件相關(guān)的問題經(jīng)過檢查都被排除,難道這是 SRv6 造成的嗎?
原來,為了保持和 IPv6 地址的兼容性, SRv6 用于流量調(diào)度的路徑 Segment 標識 ( SID )都采用了 128 比特的報文長度。相比較于 SR MPLS 的每個標識 32 比特報文長度,足足多出來了 96 比特。在我的網(wǎng)絡中需要設定 10 跳路由器節(jié)點, 這使我的 SRv6 的報文總體長度比 SR MPLS 多出 960 比特( = 120 字節(jié) )??紤]到我的業(yè)務平均包長約為 256 字節(jié),部署 SRv6 后我的每條線路有效帶寬減少了 25 %。( 如下圖 )
不算不知道一算嚇一跳,難怪現(xiàn)在流量激增,鏈路紛紛擠爆!按照我所在的某中型股份銀行當前每年 1 個億的通訊鏈路費用的小目標計算,要保持和之前相同的業(yè)務承載能力,每年需要新增通訊費用 2500 萬。按照目前的 SRv6 協(xié)議實現(xiàn),運營商,互聯(lián)網(wǎng)公司和大型銀行這樣的帶寬消耗大戶則需要更大的設備和帶寬的投入。
產(chǎn)生這一問題的根源在于:
在 SR-MPLS 下,協(xié)議引入的開銷較小,因此現(xiàn)有的大多數(shù)網(wǎng)絡設備硬件均可以在一個處理周期內(nèi)讀取完 SR 報頭信息,完成轉(zhuǎn)發(fā),意味著現(xiàn)有的硬件無須替換,只需升級軟件即可支持 SR-MPLS 。
SRv6 引入的協(xié)議開銷遠大于 SR-MPLS , Segment 所對應的操作也比 SR-MPLS 復雜,因此 SRv6 對網(wǎng)絡設備提出了非常高的要求。
所以 SRv6 雖然有千般好,但按照目前的協(xié)議配置網(wǎng)絡,要么需要替換掉絕大多數(shù)的網(wǎng)絡設備,要么網(wǎng)絡吞吐降低一半( Recycle )—— 這成為了 SRv6 的阿喀琉斯之踵。
拿什么拯救你 —— 帶寬?
SRv6 在網(wǎng)絡可編程性和負載均衡方面有著巨大的優(yōu)勢,但要發(fā)揮其優(yōu)勢,需要迫切解決在協(xié)議開銷、承載效率、 MTU 和對硬件要求方面的問題。有沒有一種方案能夠切實提高 SRv6 Segment 效率?
思科聯(lián)合業(yè)界眾多領先的運營商、 OTT 、設備廠商和芯片廠商,在 2019 年 7 月 8 日提交了 IETF 草案 draft-filsfils-spring-srv6-net-pgm-extension-usid-08 。這個草案對現(xiàn)有 SRv6 框架做了擴展,定義了新的 Segment 類型 uSID ( Micro Segment ID )—— SRv6 包頭壓縮技術(shù) ( 簡稱 SRv6 uSID )。
思科包頭壓縮的技術(shù)非常聰明又很簡單。
一個正常的 SRv6 包頭( SRH ),每一個 SID 都需要保存相同的公共前綴,但這些相同的部分實在是多余。把 SID List 中相同的公共前綴( 網(wǎng)段 )提取作為壓縮包頭的前綴塊,將 Node ID 和 Function ID 作為壓縮 SID( uSID )與公共前綴一起形成壓縮后的 SID 列表。( 如圖 )
一個典型的 uSID( 如下圖 )
一個 128 bit 的 IPv6 地址被分為 7 份,第 1 份( 本文中采用 32 bit ,實際可靈活選定 )用于表示 IPv6 網(wǎng)絡公共前綴( 網(wǎng)段 )信息, 該網(wǎng)絡地址可以從已有的公網(wǎng) IP 地址中分配,也可以采用私網(wǎng)地址段( FC00::/8 )。后續(xù)的 6 份( 本文采用 16 bit )每份用于表示一個 uSID ,壓縮后效率可提升 6 倍!
思科 SRv6 uSID 包頭壓縮機制的高效率,還表現(xiàn)在下面的場景:
小于 6 跳的 uSID 壓縮包頭( 如下圖 )
當 uSID 小于 6 跳, uSID 甚至不需要額外的 SRH 包頭,只需要將 IPv6 目的地址( DA )重新規(guī)劃和定義,即可實現(xiàn) Segment Routing 的功能。
這非常有利于主機和存量網(wǎng)絡設備的硬件處理,大幅度的簡化了 SRv6 實現(xiàn)難度,數(shù)據(jù)包的長度和原有 IPv6 包長等。SRv6 數(shù)據(jù)包完全沒有產(chǎn)生額外的包頭開銷,帶寬完全被節(jié)約下來了。
大于 6 跳的 uSID 壓縮包頭( 如下圖 )
當 uSID 大于 6 跳,只需要增加 SRH 即可實現(xiàn)更多的 SID , SRH 中的 SID 即可以采用壓縮格式, 也可以用非壓縮格式,甚至支持混合編排,在獲得包頭壓縮的好處的同時,也可靈活兼容非壓縮設備與原有 SR 網(wǎng)絡的分階段升級。
思科 SRv6 uSID 高效率的包頭壓縮機制可以顯著提升每條鏈路有效使用帶寬 5 %~ 15 %,進一步通過 SRv6 uSID 全網(wǎng)流量的智能調(diào)度能力,保障了關(guān)鍵業(yè)務運行質(zhì)量,并進一步提升了全網(wǎng)鏈路利用率。還以網(wǎng)絡帶寬費用 1 個億的小目標測算,僅這一項技術(shù)創(chuàng)新,就可為我司降低了企業(yè)運營最高 1500 萬的線路帶寬成本。
思科 SRv6 包頭壓縮技術(shù) SRv6 uSID 可以徹底解決協(xié)議開銷、承載效率、MTU 和對硬件要求高方面的問題。uSID 將極大加速 SRv6 在網(wǎng)絡側(cè)的部署,并成為 SRv6 新范式。