01
阿里云基礎網絡架構演進
我們先回顧一下阿里云基礎網絡架構的演進歷程,這有助于更好理解阿里云對自研平臺網絡操作系統的需求、AliNOS的設計理念及其發展方向。
在2017年以前,OTT作為最終網絡產品用戶看到的網絡設備及能力如下圖所示:
主要的痛點集中在以下四個方面。
● 商業網絡設備軟硬件設計對最終用戶不透明,作為網絡最重要的組成單元在規模化部署后,設備內部器件的成本、失效率都對整體網絡有著巨大規模化效應;
●設備的功能實現無法按需定制,復雜的系統特性排期長無法快速交付,無法滿足大規模數據中心要求;
●由于云規模化的特點,多廠商供應是客觀存在的,但不同廠商的運維管控方式各不相同,這對自動化管控造成非常大的挑戰;
●交付及設備修復需要通過廠商的運維體系,鏈條長,從而對時效滿足度低。
為解決上述痛點,從2017年始,阿里云數據中心網絡確立“基于全自研平臺,分布式超大規模數據中心建設”的宏偉目標。構建超大規模全自研數據中心,第一出發點是要解決HAIL架構中的“Highly Availability、Intelligence”,這樣才能滿足大規模部署要求下的自主可控節奏、規模化交付效率和運維高自動化。
阿里云自研白盒網絡設備,結合自研操作系統AliNOS,與后端的監控管控自動化作為一個整體進行設計和研發,從而得以全面解決架構、建設及運維各角度在超大規模數據中心的高可用、低成本、快速迭代及智能化的網絡訴求。通過白盒化,網絡產品用戶看到的網絡設備及能力,轉化成如下圖所示的特點。
白盒設備
標準化、模塊化白盒設備硬件組件與軟件集成,提高效率、降低成本,從而豐富生態,加速白盒規范化網絡發展。
DevOps
研發、架構、運營、自動化工具平臺等多個團隊參與基于自研交換機的體系建設,深度devops定制符合阿里云數據中心架構、交付邏輯和運維沉淀的重點需求,并能快速迭代,打造了專屬阿里云的企業版SONiC-AliNOS網絡操作系統。
IBN
通過一套網絡操作系統AliNOS的標準化南北向接口,從而使得IBN在阿里云網絡以更標準、更完整地規模化實現,提升網絡整體穩定性。
自動網絡
端到端全自研,讓阿里云大規模數據中心網絡實現了接近全自動化交付,和運維的自驅動自適應的高可用智能網絡。
互聯網重新定義了網絡系統,白盒化解決了HAIL架構中“HAI”代表的高可用和智能化運維。HAIL架構中“Low Latency”所代表的高性能,則成為了驅動阿里云數據中心網絡全棧深度自研的動力,給出了一個持續的發展方向。2019年,基于AliNOS構建的自研交換機及配合高性能網絡的RDMA技術正式大規模上線。這是一個通過可預期網絡架構中的端網融合技術及AliNOS創新,為上層業務打造的超越現有商業解決方案可提供能力的極致高性能、高穩定RDMA自研網絡。
在成功高效地部署百萬級端口,在數據中心內為業務提供高可用、高效率、智能化以及以RDMA為代表的高性能網絡后,阿里云基礎網絡為進一步服務到更多最終應用和客戶,提出了端網融合可預期網絡(Predictable Network)的新型技術體系,這也代表著AliNOS走出了數據中心,開始走向更廣闊的領域。
02
SONiC的前世今生
AliNOS是建立在SONiC基礎之上的,同時它還集成了阿里云業務和運營需求的一些功能優化,在介紹AliNOS之前,我們先來回顧一下SONiC的前世今生。
SONiC(Software for Open Networking in the Cloud)是一個開源的,以Linux為基礎的網絡操作系統。這個系統由三部分組成。
SONiC從FRR社區(Free Range Routing) 取得了一套完整的網絡協議棧,如BGP、BFD、LLDP。 SONiC通過OCP社區 (Open Compute Project)定義了一層軟硬件解耦合的APIs-SAI(Switch Abstraction Interface)。這層APIs使得軟件和交換芯片ASIC可以獨立演進迭代。這也使得自研平臺可以根據自身需求來選取適合的交換芯片ASIC,以達到最高性價比。
SONiC自身通過SONiC社區的努力把協議、配置及交換芯片ASIC組合起來,構成網絡設備的控制平面。
SONiC社區是為這個開源網絡操作系統的合作而成立的開源社區,現在社區有7個創始成員,幾十個貢獻組織和上千個做貢獻的活躍成員,阿里巴巴是早期創始成員之一。這個開源社區也不是一蹴而就的,SONiC最初從一個OCP旗下的項目成長起來,于2022年正式引入Linux基金會。
網絡操作系統是一個非常復雜的系統,不少設備廠商為了讓一個系統支持多種網絡設備、協議和不同客戶的需求,不得不提升設備廠商自身網絡操作系統的復雜度。如北美一家知名設備廠商為電信運營商支持IEFT YANG model,同時又要為云運營商支持Open Config YANG model,而不得不在一套網絡操作系統里支持兩個不同配置的YANG model做相同的事情。為了降低復雜度,SONiC最初的定位只是TOR的網絡操作系統,還做了不少簡化,即使這樣,SONiC也還是經歷了一個痛苦摸索和演進的過程,不少早期工作在SONiC上的人都有一本辛酸血淚史,大家都是一步一坑地通過摸索、完善,才逐漸爬出來的。
經過多年的積累,特別是包括阿里云在內的多個云廠商的實戰經驗打磨,SONiC已經成為業界認可的網絡操作系統,不少初創公司以SONiC為基礎很快建立起他們設備的網絡操作系統,快速推出自己的產品,從而推動了整個網絡新技術的快速發展,阿里云通過與社區的交流在不斷貢獻的同時也獲取了不少適合自身發展的網絡技術。
03
AliNOS的現狀
AliNOS是伴隨阿里云自研網絡平臺的成長而成長起來的,由于阿里云網絡的規模龐大,廠商難以保證他們的軟件能夠有效支持這么大規模的設備,并跟上運營、變更的節奏,因此可以讓廠商代工自研設備,但必須自己掌控整個軟件棧,才能有效實現問題的快速修復、需求的快速響應、新技術的快速推出及安全的驗證等要求。
“求真務實,簡單開放”是阿里云基礎設施團隊的工作理念,在這個理念的指導下,阿里云基礎網絡團隊選擇了以SONiC為基礎,研發AliNOS這款適合阿里云需求的網絡操作系統。AliNOS的軟件代碼主要分為三大部分:SONiC的軟件代碼、交換芯片供應商提供的SAI/SDK相關代碼,以及阿里云內部的監管控工具。SONiC的軟件代碼包括了FRR的網絡協議棧和SONiC的控制平面部分。阿里云基礎網絡團隊還在研發、運營過程中不斷對SONiC軟件代碼進行優化改進。
本著簡單開放的原則,阿里云也分期分批地將這些優化改進回饋社區,如去堆疊的想法及研發結果就是阿里云依據自身的運營經驗介紹給社區的,目前已成為行業的事實標準,大幅降低了服務器雙上連的網絡系統復雜度。
AliNOS已經支持了阿里云數據中心網絡5.2架構,6.0架構的大規模部署,現在AliNOS開始了7.0架構數據中心網絡開發。此外,AliNOS也開始用來支撐廣域網及邊緣網關設備,特別是對自研路由器的支持給AliNOS帶來了不少挑戰。不久的將來,AliNOS還將用來管理一些新型的網絡設備,如DPU等。AliNOS已經從數據中心的網絡設備拓展到了廣域網及邊緣網的網絡設備,這些新的機遇不可避免地也帶來了不少新的挑戰。
04
新的挑戰
從交換機到路由器
阿里云在完成數據中心網絡交換機全自研后,開始把成功的經驗拓展到數據中心互聯網絡上面,著手研發路由器并推動下一代廣域網架構變革。從交換機到路由器,不是一個簡單的路由規模增加的問題,這個問題其實有點兒像某著名大學的化學系教授按比例放大實驗室的實驗給化工廠釀成事故,被隔壁大學的化工系當作反面教材一樣,看似簡單但有很多實際問題需要考慮,路由器有很多復雜度是交換機沒有經歷過的。
首先路由器要支持L3VPN,而L3VPN的路由是百萬級別的,因而要在系統層面綜合考慮數據平面的速率,BGP loading time、BGP路由的收斂及IGP路由變化對BGP路由收斂的影響。L3VPN的路由處理也就不再能用像交換機那樣所見及所得的處理方式,L3VPN的路由轉發鏈的設計會根據交換芯片ASIC的能力而有所不同,特別是L3VPN的VPN信息存儲及處理,需要在SAI層面做適當的抽象,從而避免控制平面感知交換芯片ASIC的不同,這個抽象同時也不能綁定某個供應商的特殊處理,但又需要有前瞻性,符合交換芯片ASIC的演進道路。
其次由于L3VPN的路由是百萬級別的,BGP路徑的規模要到千萬級別,因而對于軟件內存的管理優化變得非常重要,FRR的協議棧在之前并沒有這種優化需求,寫代碼時對內存的使用也比較隨意。阿里云目前和社區在緊密合作,共同優化FRR BGP的代碼,從而把FRR BGP從交換機級別的支持提升到路由器級別的支持。
另外需要對FRR BGP增加一些路由器必需的功能,如BGP advertise delay、BGP VRF leaking、BFD硬件卸載等,使得協議棧整體達到路由器可部署的級別而不是單一功能的演示。
最后由于交換機路由在千或者萬級規模,交換機對路由的卸載速率沒有要求,現有SONiC控制平面的路由下發通道并沒有優化,這就需要AliNOS對控制平面做整體優化,讓百萬級別的L3VPN路由可以高速卸載到芯片ASIC,從而得到較好的BGP loading time,BGP loading time一直是各路由器廠商比拼的性能指標之一。
阿里云計劃把這些在FRR及SONiC代碼的優化改進在適當的時候反饋回社區。
利用IPv6簡化網絡協議棧
上面的L3VPN的復雜度來自于在IPv4上做多租戶的VRF。在數據中心內,我們也引進了VXLAN給overlay做多租戶,由于VXLAN的引進,我們又引進了BGP EVPN、OVS等協議,隨著協議的不斷引入,網絡的復雜度也日益增加,利用IPv6簡化網絡協議棧是阿里云網絡團隊定義下一代阿里云網絡架構的一個基本出發點。
IPv6技術已經存在了很長時間了,但網絡應用和網絡技術一直有著“雞生蛋,蛋生雞”的關系,因此在AliNOS上,我們不止要大力加強IPv6建設,還要加強對如何讓現有的IPv4應用平穩過渡到IPv6的技術上做研發投入。只有把這個過渡期處理好了,我們才有可能實現利用IPv6簡化網絡協議棧,從而讓網絡變得像水管一樣,簡單、好用且可靠。
通過SRv6實現流量可控
在利用IPv6簡化網絡協議棧的同時,我們還需要加強對流量可控的手段。SRv6是2014年左右提出來的,隨著芯片技術的成熟及協議發展的完善,越來越多的用戶意識到SRv6將不再僅僅是一個網絡協議,它將是一種面向應用業務的對網絡編程的語言,SRv6協議開始被采納,有人把SRv6的一些基本功能開發出來并貢獻給SONiC社區,但沒有人用SONiC的SRv6部署在生產網。阿里云開始在AliNOS里研發SRv6 VPN,并通過自研路由器在DCI部署這個技術,從而實現對于應用的流量調度。
SRv6 VPN的研發主要有三個部分:FRR里對于BGP協議的補充、SONiC的SWSS里對于SRv6 VPN的開發,以及SAI里增加SRv6 VPN相關的新的objects。由于SRv6 VPN是在阿里云生產網里部署的,AliNOS又增加了一些部署時必需的優化改進。阿里云基礎網絡團隊計劃把SRv6 VPN的研發成果及部署相關的改進上傳至SONiC的后續版本中。
這個應用也在Linux Foundation的Open Network & Edge大會上做了交流,得到了業界很多很好的反饋,若干云廠商已經計劃在阿里云上傳代碼到SONiC社區后,開始在它們的網絡里部署SRv6 for SONiC技術。我們可以預期在不久的將來,SRv6將成為一個事實標準被各云廠商所采用。
端網融合可預期網絡
云計算重新定義的網絡系統,是基于計算和網絡的協同設計。近幾年DPU的蓬勃發展,讓服務器里的智能網卡或DPU也更多地參與到了網絡里來。
AliNOS的應用范圍從網絡設備伸展到了網絡邊緣設備或DPU的SOC。隨著網絡邊界的延伸,許多問題可以通過端網融合的方式得到更好的解決,如傳統多打一擁塞的解決點在TOR或者SMART NIC上,但因為不了解服務器PCIe端的信息,不少設備廠商還提出了Smart Pipeline、Smart TOR的概念,由于沒有端的信息,很多方案只能隔山打牛,費力不討好。隨著DPU的引入,網絡可以開始感知到服務器PCIe端及其他更多的信息,很多問題可以利用這些新信息重新思考了。
SONiC社區也成立了DASH工作組(Disaggregated API for SONiC Hosts)來協調這個方向的工作,阿里云基礎網絡團隊也有不少同學參與了DASH的討論。
AliNOS作為一個端到端,各種網絡設備的統一平臺,可以通過telemetry讓計算能夠感知到整個網絡的狀態,一個實時的狀態。AliNOS還可以通過SRv6、HPCC高性能流控算法、uFAB新型架構及Solar多路徑等硬核技術與計算協同設計,讓整個網絡變成計算的編程平臺,可以任意調度所需資源,并實現帶寬和延遲(尤其是長尾延遲)的保證。
端網融合可預期網絡的核心思想是讓網絡更加透明,讓端側(計算/存儲等應用)更加方便靈活地利用網絡信息進行資源調度。這種透明度使業務可以充分利用CLOS無擁塞拓撲、Path規劃與調度,從而為業務提供更加高效的網絡帶寬資源。業務也可以通過對CLOS架構拓撲全透明感知,分布會話更合理,從而最小化單鏈路故障影響域,實現業務高穩定網絡,在出現單點故障時,業務可以進行有序遷移,100%成功率切換,保證了故障場景下依然滿足極致低長尾時延。
05
展望
阿里云基礎網絡團隊的工作理念是“求真務實,簡單開放”,AliNOS的研發也是本著這個信念進行的,從數據中心網絡拓展到了廣域網、邊緣網及DPU,AliNOS將遇到不少新的挑戰,這些新的挑戰也是動力,激勵阿里云基礎網絡團隊繼續做好AliNOS,讓AliNOS成為建設端網融合可預期網絡的基石。我們也希望通過和開源社區的合作交流,讓我們的網絡更加簡單開放,我們的工作更加求真務實,推動全球云網絡的共同發展。
審核編輯:劉清
-
RDMA
+關注
關注
0文章
78瀏覽量
8968 -
BFD
+關注
關注
0文章
9瀏覽量
5788 -
OTT
+關注
關注
3文章
61瀏覽量
24362
原文標題:AliNOS起源及演進—從數據中心到廣域網、泛邊緣及DPU
文章出處:【微信號:SDNLAB,微信公眾號:SDNLAB】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論