萬曉蘭 李晶林 劉克彬
新華三技術有限公司 北京 100085
中國信息通信研究院發布的《中國數字經濟發展白皮書(2021)》顯示,2020年我國數字經濟規模達到39.2萬億元,占GDP比重為38.6%,數字經濟增速是GDP增速3倍多。由此可以看出,數字經濟有著巨大的發展潛力,已成為打造新發展格局的關鍵要素。國務院印發的《“十四五”數字經濟發展規劃》明確部署了八大重點任務,不斷做強做優做大我國數字經濟,為構建數字中國提供有力支撐。
數字經濟的發展離不開數字化這個基礎支撐,云計算已成為企業數字化轉型的必然選擇,為企業的數字化提供必需的計算力保障。因此當今數字時代,數字經濟的增長和計算力是有著密不可分的關系。根據IDC和浪潮信息聯合發布的《2020全球計算力指數評估報告》顯示,計算力與經濟增長緊密相關,計算力指數平均每提高1個百分點,數字經濟和GDP將分別增長3.3‰和1.8‰。業內研究顯示,計算力正在成為數字經濟發展的主要動力[1-3]。
算力的連接、承載和調配,離不開網絡的支撐和協同,云計算和網絡已成為數字經濟時代的數字基礎設施。數字化產生的海量數據只有承載在強大的算力之上,才可能得到加工、挖掘和分析處理,才會產生應有的價值。而網絡則是連接數據和算力的橋梁,是發揮云計算能力的關鍵支撐。只有云網協同才能把算力和數據有效地連接起來,才能讓數據得到算力的處理,從而推動數字化的進程,保證數字經濟的發展。
云網協同推動了企業的數字化轉型,隨著企業數字化的進一步發展,越來越多的數字化業務對算力的需求也逐漸變的多樣化,僅提供算力連接的云網協同已不能很好地滿足企業應用日益增長的個性化需求。
伴隨著數字化的發展,云網協同逐步演進到云網融合也就是算網一體,是發展的必然結果。算網一體就是通過網絡和云計算資源的深度結合,網中有云,網絡可以提供算力,云生網絡,云可以提供網絡功能,實現算網一體,完成用戶上云、業務上云,實現一云多網,協同服務。隨著邊緣計算和通信云的發展,網絡所連接的算力呈現出由集中向邊緣、由邊緣向泛在的趨勢,這一趨勢將通過算網一體的動態、敏捷、安全地調度各種異構算力資源,聚合公有云、通信云、邊緣云、行業云,乃至用戶終端等各種算力,實現算力一體供給、按需分配[4-6]。
云原生能帶來諸多優勢,大大改善應用開發運維迭代的效率,幫助企業業務創新迭代,改進資源彈性管理和遷移的效率,幫助企業降本增效。以容器、微服務、Serverless、DevSecOps等為代表的先進云原生技術和理念推動著云原生技術的蓬勃發展,企業應用走向全面云化。作為數字化基礎關鍵部分的網絡也需要云原生化才能更好地為數字化發展服務[7-8]。
算網一體要求網絡支持云原生,網絡功能實現容器化,不同的網絡功能可以由單獨的容器運行,這樣網絡功能就不需要專用設備來完成,可以由云計算資源中的容器來提供,這樣才能和計算資源完成統一編排,支持彈性擴容,發揮云原生的優勢,實現網由云生,從而真正實現算網一體。
1.1.1 云網業務層同構
算網一體的本質是云網融合,需要網絡與云深度結合,以便網絡能夠快速動態滿足云的需求,因此需要網絡業務具備動態生成和快速調度的能力,云計算天然具備這樣的能力,而網絡只有實現虛擬化和云化才能夠具備這樣的能力。
長期以來,云計算與網絡是獨立發展、割裂的,云計算對網絡的需求主要是基于Overlay方式實現,在業務層面進行協同,提供簡單的功能配合,無法進行算力的一體化編排和調度,也就無法根據不同的應用需求來提供相應的算力。
要實現一體化算力調度,需要云計算和網絡資源無縫對接、資源池化,同時形成統一的資源視圖,網絡的拓撲、帶寬、流量、云的計算和存儲能力等可實時呈現。網絡設備與云計算網元進行統一納管,實現自動化的開通、故障定位和排除,這就需要云計算和網絡功能同構,實現云化進而達到一體化算力調度。
云化網絡可以為算力網絡提供敏捷和開放的虛擬管道,用于云和端的互聯。運營商通過通信云的建設,充分利用現有機房,構建NFV統一資源池,支撐網絡云化演進。
1.1.2 云網資源共享
算網一體需要實現云邊協同、泛在計算協同,充分利用各種異構算力,實現算力統一編排。算力統一編排,是指對云和網絡的計算資源進行統一編排,從而進行算力的靈活調度。
傳統的網絡設備是專有設備,無法對外開放算力,而網由云生后,網絡的功能被云化,網絡設備的算力可以提供給用戶,網絡設備的算力開放,可以和云的算力進行資源共享,當網絡功能需求簡單時,網絡設備可以提供多余的算力與云的算力進行統一編排,進行一體化調度。當網絡設備的算力不足以支撐相應的網絡功能時,算力請求也會被統一編排,從云資源中申請相應的算力來完成網絡功能,這樣云和網絡資源共享,就能夠實現算力統一編排,推動算網一體發展。
1.1.3 云網控制統一
網絡實現云化后,可以在云上運行網絡功能,實現網由云生。這種情況下,云和網都基于算力進行控制,由于二者同構且資源共享,云管系統和網絡控制器可以很方便地實現統一控制,對算力進行統一編排和調度,可以實時感知算力,監控網絡狀態,真正做到算網一體,按需調配,統一運維,內生安全。
1.2.1 云對網絡業務按需賦能
以云為中心的網絡云化,演化出一張智能網絡。云集齊了“算力、算法、算料”,讓網絡本身擁有了前所未有的智能可能性。云有遍布全球的基礎設施,通過IoT技術,可以進一步為網絡加上感知能力和響應能力,也就是所謂的Sense-Think-Act(感知—思考—響應),到時候就不用分清楚哪里是端、哪里是網、哪里是云,能感受到的整個基礎設施融合在一起了。
1.2.2 滿足新產業應用場景
對于產業而言,數據的流向正在發生深刻變化。5G和物聯網潮流下,成百上千萬的機器和設備正首次接入互聯網:在工業領域,工程師需要實時了解工廠、礦區的運營情況;在智慧城市領域,更多的聯網設備正帶來智能高效的城市管理手段;在智能網聯汽車領域,如火如荼的自動駕駛潮流,正進一步推動綠色、便捷出行成為可能。這一變化正在對過去十幾年里為云計算設計的IT架構形成挑戰,數據洪流從云端向邊緣,實現網絡計算融合,極大有利于滿足新興產業應用場景。
1.2.3 支撐未來演進
隨著人工智能、區塊鏈、無線通信等信息技術的發展,可以預見類似元宇宙、全息通信等新應用將層出不窮,將會給現有網絡帶來巨大的挑戰,網絡云原生后,將從以設施為中心轉向以應用為中心演變,網絡變得更加彈性、智能、開放,實現SDX(軟件定義功能),可以支撐未來網絡需求的變化。
云計算和5G技術的發展,極大地推動了網絡云化的發展,也就是網絡的虛擬化和云化。
傳統網絡設備的虛擬化之路主要是NFV的發展,最成功的典型應用是實現了5G核心網的完全云化。傳統網絡通常采用專用硬件設備,軟硬件架構封閉,功能緊耦合,這種架構難以支撐和滿足日新月異的互聯網應用、業務快速部署、服務創新等方面的需求,SDN/NFV作為一種新型的網絡構建模型,應運而生,其代表的網絡軟件化和虛擬化思路,為傳統網絡創新和演進帶來了全新的啟發和方向,已成為未來網絡演進發展的重要趨勢和特征[9]。
NFV將網元功能以軟件的形式部署在通用的硬件資源池上,做到通用硬件層、軟件虛擬層、虛擬網元功能層間的三層解耦,這種架構使得網絡基礎設施(包括硬件和虛擬層)可以保持相對的標準化和穩定性,構建的虛擬化網絡提高了網絡的靈活性,降低了網絡頻繁變化帶來的成本壓力和運維復雜度。
NFV和虛擬化技術為5G網絡建設提供了良好的技術支撐,5G核心網采用服務器架構進行設計,實現了網絡功能的靈活組合、業務的敏捷提供。5G核心網借鑒軟件架構基于微服務進行組織的理念,通過模塊化實現網絡功能間的解耦和整合,解耦后的網絡功能(服務)可以獨立擴容、獨立演進、按需部署;各種服務采用服務注冊、發現機制,實現了各自網絡功能在5G核心網中的即插即用、自動化組網。
但是,NFV也存在不足,對于網絡的進一步云化發展帶來阻礙。NFV可以消除對專有硬件的需求,但它只是將復雜度從不同供應商的專有硬件轉移到不同供應商的專有軟件上,因此,NFV的部署難以管理且非常復雜。NFV技術需要進一步發展,目前在網絡虛擬化方面和持續云化方面有以下幾種趨勢。
2.1.1 NFV的云原生化
隨著云技術的發展,NFV也在不斷發展。以前通過VM部署的虛擬化網絡業務VNF,現在正逐漸向云原生容器中部署,容器可以托管VNF,以提供統一擴展和編排,這在管理方面將帶來極大的靈活性。
根據Statista的數據顯示,Verizon采用云原生、基于容器的EPC(演進分組核心)技術進行了測試,該EPC可以提供一個更有效的運營方式來運行新的寬帶服務,VNF部署在容器中,基于Kubernetes可以對VNF、CNF、VM和容器進行動態編排,可以輕松開發、擴展、更新和編排各種微服務,實現了使NFV向云原生演進。
2.1.2 邊緣計算與NFV的結合
產業數字化的發展,經常需要將應用部署在更靠近最終用戶的地方,邊緣計算有助于節省寶貴的帶寬并縮短響應時間,現在終端用戶智能手機、無線電發射塔以及本地數據中心等邊緣設備都具有在本地處理數據的能力。
邊緣計算與NFV的結合能夠加速應用程序和服務的部署,如借助NFVI和邊緣計算基礎設施來支持在邊緣同時部署虛擬化的VNF和第三方應用程序和服務,從而有效支撐應用盡量在靠近用戶的地方進行終結,減少網絡流量迂回,降低業務延時,提供更好的業務體驗。這些基礎設施包括vCPE/uCPE、5G MEC服務器等。5G的多接入邊緣計算(MEC)的體系架構已經非常類似于NFV,在某種程度上5G MEC提供了標準的虛擬化計算平臺,可以看作是微型數據中心,5G可以在邊緣利用這些計算能力來提供更低的應用服務延遲。如借助uCPE或MEC等設備,可以在邊緣(現場)進行實時計算,對網絡進行虛擬化和切片,為高要求的應用程序提供高吞吐量。
2.1.3 網絡開放
開放式白盒網絡交換機日益普及,白盒路由器初現端倪。這些白盒網絡設備允許部署不同的開源網絡操作系統(NOS)。白盒交換機在近些年間得到了快速發展,白盒網絡設備關鍵特征是開放,開放的網絡操作系統,打破軟件和硬件在網絡層面的固有特性,實現軟、硬件的分離,提供靈活、可擴展和可編程的網絡,以適應不同場景的應用需求。
這些白盒網絡設備的操作系統呈現明顯的云原生化發展趨勢。如SoNiC由多個容器組成,每個容器都包含用于部署特定網絡功能(例如BGP、LAG)的資源,因此,當某個功能存在更新或bug時,只需更新一個容器即可,而不是替換整個交換機軟件(這將導致數據平面停機)。
為了適應云網真正融合和算網一體的需求,需要網絡進一步向云原生化發展,目前業界已經有了一些嘗試和實踐,但依然存在許多技術挑戰。這些挑戰包括需要采用云原生、微服務化、容器化部署等資源供給方式,引入DevOps及CI/CD(持續集成/持續部署)等開發理念,對現有的網絡設備進行全新改造和重構,以更好地滿足快速多變的業務需求以及市場環境。
網絡設備的核心是網絡操作系統,因此主要是需要對網絡操作系統進行改造,概要說來,主要是在以下這些方面:軟件功能解耦,實現模塊化;業務部署容器化和輕量化;高可靠和高性能;開放性和繼承性;全自動化部署。
算網一體化的總體架構如圖1所示。從用戶端到云,我們可以簡單地把網絡分成兩段,一段是接入網絡,一段是服務網絡,接入網絡是寬帶、移動等各種接入方式,服務網絡是從POP點到云端的網絡。網絡的云原生化包括接入網絡和服務網絡,其中最主要的是服務網絡,在服務網絡中,網絡的控制面和業務面可以基于云架構,實現徹底的云化重構。
從用戶終端到云之間會經過CPE、PE、P等網絡設備,這些網絡設備需要實現統一的云原生化改造,與鄰近的計算、存儲等資源一起,共同組合成為一朵融合的云。
相對而言,在邊緣接入POP側(即CPE、PE上)實現網絡的云原生化,實現邊緣接入網絡與邊緣云的融合,比在骨干網上實現網絡的云原生化,應該更具普遍意義和實際價值。
在這些設備網元上,每個網元可以看作都是計算和網絡轉發融合的一體化網元,每個網元包括轉發平面、業務平面和控制平面,這些功能平面的實現可以是基于VM,也可以是容器,轉發平面可以基于硬件實現,也可以基于通用的x86或者ARM CPU實現。
算網一體的關鍵在于需要有一個全局的云網大腦。云網大腦是實現算網一體化的關鍵重點,如圖2所示,需要采集和匯聚云網各種基礎信息數據,借助大數據、人工智能等技術手段,結合場景化的應用需求,對云網基礎信息數據從不同緯度,不同視角進行深度挖掘與分析,為上層應用提供全自動化的服務編排,實現智能運營維護,提升客戶體驗,實現資產價值的最大化利用。
不同云網大腦可能有不同的實現思路,側重網絡業務視角,大致應該包括以下功能。
1)統一門戶:對外呈現統一的服務能力入口,包括統一的流程、統一的服務、統一的業務能力等;
2)場景化服務:針對實際應用場景,提供整合的統一網絡服務;
3)統一數字底盤:實現對底層網絡物理資源能力的抽象,對應用提供標準化的服務能力。
網絡的云原生化,關鍵在于傳統網絡設備的云化重構。
云原生的容器技術和微服務架構,提供了比虛擬機技術更好的快速迭代和彈性擴展能力,因此,H3C在Docker容器如火如荼發展的大背景下,對傳統網絡操作系統的演進進行了深入探索和研究,實現了跨越式發展,基于原生Linux內核,完美支持容器化,在模塊化、輕量化、高可靠、高性能、自動化、虛擬化、可視化、繼承性、開放性、可編程等方面相比傳統網絡設備平臺實現極大的增強,為算網一體化的發展奠定了良好的基礎。
3.2.1 容器化操作系統
新一代云化網絡操作系統基于標準Linux內核及定制的CentOS發行版基礎系統,集成了Docker Community版本及Kubelet(隨版本升級而更新),支持Docker原生命令,比如image、ps、pull、run等。
從邏輯架構上,支持新一代云原生網絡操作系統的設備網元,等同于一臺標準的計算設備,內部提供標準的K8s容器平臺,可以支持多個容器運行,可以加載多個第三方應用,這些應用可以是L3網絡業務,也可以是L4~L7應用,極大地拓展了網絡設備網元的業務能力,也使得網元設備的業務方式實現了與云業務同構同源。
容器化架構,為網絡業務和第三方應用提供獨立的容器運行環境。網絡業務容器和用戶創建的容器均運行在Linux內核之上,直接使用物理設備的硬件資源,利用Linux Namespace和Shankongge Cgroups等技術來實現容器間的隔離和資源分配控制。
云原生化的網絡操作系統集成了K8s和Docker Daemon,基本功能運行在網絡業務容器中,可作為一個節點接受Kubernetes Master的調度和管理,支持容器鏡像形式發布虛擬化產品,并通過K8s對設備上運行的第三方容器進行大規模、集群化部署和集中式管理,不需要將第三方軟件源碼通過交叉編譯環境編譯,即可直接部署運行,因此管理員可將設備作為類似服務器的產品進行部署和管理,實現應用快速發布。
支持用戶在物理設備上部署第三方應用,實現泛在計算,如圖3所示。這些應用包括基于RPM(Red-Hat Package Manager,RPM軟件包管理工具)技術打包的應用和基于Docker容器化的應用。
從業務架構角度講,云原生網絡操作系統平臺由基礎設施平面、數據平面、控制平面、管理平面等四個平面組成。
云原生網絡操作系統可為Host應用(Dockerd及Kubelet)和第三方容器提供網絡支持,運行在Host或者第三方容器中的應用程序,可以與加載在設備上的應用通信(東西向流量),或者與外界通信(南北向流量)。
3.2.2 云原生網絡設備能力與價值
1)網絡業務能力與云同構
基于容器化操作系統平臺,徹底實現了網絡業務能力與云同構,即網絡業務能力完全可以基于云平臺實現,天然具備了云原生的彈性擴展、快速迭代、持續演進等能力。
在當前容器化網絡操作系統平臺基礎上,未來可以進一步實現網絡業務能力拆分,引入輕量化數據庫和輕量化容器管理平臺,如圖4所示。同時,網絡設備把承載網絡功能的復雜單容器拆分為靈活輕巧多容器,包括控制容器(控制平面)、轉發容器(轉發平面)、場景化業務容器(業務平面)。多容器可以按需部署在多臺網絡設備上,對外呈現為一臺網絡設備,可實現網絡設備的云集群,簡化管理。轉發容器采用數據庫技術,實現無狀態,負載分擔,可動態擴展。場景化業務容器按需部署,靈活擴展,提升性能。
2)云網資源共享
在邊緣接入側,邊緣云與POP網元處于同一邏輯地理位置,算力資源可以接受統一云平臺納管,實現一體化共享。
對傳統網絡設備的容器化重構,徹底打通了網絡與云的算力/網絡資源共享。網絡設備云原生化重構以后,網元上的虛擬機資源、容器資源可以接受外部邊緣云容器管理平臺(OpenStack或K8s)統一進行納管和調度,實現最大效率的算力資源均衡利用。
3)全面的開放性
為了支持算網一體化調度,云原生網絡設備可以提供全面的開放性:提供可編程SDK,第三方使用SDK可以進行增值開發,支持C/python等語言;元支持網絡特性容器化部署,動態快速安裝,按需提供;網元可按需調整CPU和內存分配,釋放部分計算和存儲資源,集成第三方增值應用。
算網一體是算力網絡的全新發展階段,基于云原生架構實現,將打破云網邊界,彈性、靈活的微服務架構,云原生化、DevOps的應用開發,可滿足業務靈活多變,以及快速上線,敏捷迭代的需求。
實現算網一體,關鍵挑戰是網絡的云原生化,采用網由云生的理念實現網絡的重構和改造,通過全面引入云原生技術,實現業務邏輯和底層資源的完全解耦。H3C基于對網絡云原生化的深刻理解,對傳統網絡操作系統進行了跨越式發展和開發,實現了傳統網絡設備的全面容器化架構。
算網一體基于云網協同發展而來,是一個循序漸進的過程,需要分步進行技術攻關。