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