寫給互聯(lián)網(wǎng)工程師的5G書 | 6. 參考實(shí)現(xiàn)

早就想寫一個系列,給互聯(lián)網(wǎng)行業(yè)的朋友介紹一下移動通信網(wǎng)絡(luò),特別是5G移動通信系統(tǒng),但一直沒想好怎么寫。最近看到ONF發(fā)布的開源書《5G Mobile Networks:A Systems Approach》,其目標(biāo)讀者正是互聯(lián)網(wǎng)從業(yè)者,因此打算將全書翻譯為中文,希望能讓有興趣的朋友們能夠了解移動通信網(wǎng)絡(luò)的一些基本概念、網(wǎng)絡(luò)架構(gòu)和演進(jìn)方向。原文:5G Mobile Networks: A Systems Approach[1]。中文版Github倉庫:https://github.com/yuff100/5GSystemApproachCHN。

6. 參考實(shí)現(xiàn)(Exemplar Implementation)

我們在前幾章中介紹了移動網(wǎng)絡(luò)的虛擬化、解耦、優(yōu)化、分布式和切片,不僅有助于我們理解5G的內(nèi)部工作,而且對于在實(shí)踐中簡化5G移動網(wǎng)絡(luò)的實(shí)現(xiàn)工作也是很有必要的。我們的目標(biāo)是做出具體的工程選擇,從而完成一個參考實(shí)現(xiàn)。這只是一個范例,不是唯一的可能性。

我們描述的系統(tǒng)被稱為CORD,如果你還記得,我們在引言中介紹過這是Central Office Re-architected as a Datacenter的首字母縮寫。具體來說,CORD是一份基于商用硬件和開源軟件組件構(gòu)建5G系統(tǒng)的藍(lán)圖。我們稱這種硬件/軟件組合為CORD POD,其想法是在蜂窩網(wǎng)絡(luò)的每個邊緣站點(diǎn)部署一個POD。下面從一組工程決策的角度來描述CORD。它不能代替安裝、開發(fā)和操作CORD的詳細(xì)文檔。還要記住,盡管CORD在其名稱中包含“Central Office”,但CORD POD是一種通用設(shè)計(jì),并不嚴(yán)格局限于部署在傳統(tǒng)的Central Office中。

延伸閱讀:
要了解如何安裝、操作CORD開源軟件平臺,并對其做出貢獻(xiàn),請參閱CORD指南[2]。

在討論細(xì)節(jié)之前,重要的是要了解,CORD是一個正在進(jìn)行中的工作,有一個相當(dāng)大的開源社區(qū)為它的代碼庫做出貢獻(xiàn)。其中許多組件相當(dāng)成熟,目前正在進(jìn)行運(yùn)營商測試并在生產(chǎn)網(wǎng)絡(luò)中運(yùn)行。其他的(主要對應(yīng)于上一章中描述的高級功能)是在“演示模式”中運(yùn)行的原型,還不夠完整,不足以包含在正式發(fā)布版本中。此外,正如前面關(guān)于部署選項(xiàng)的討論中所概述的,CORD從一個產(chǎn)品質(zhì)量的EPC開始實(shí)現(xiàn),并正在逐步向5G演進(jìn)(本章使用特定于EPC的組件進(jìn)行說明)。

6.1. 框架(Framework)

圖34給出了CORD POD的示意圖。它的下游連接到一組DU(以及相關(guān)的RU),并將上游連接到互聯(lián)網(wǎng)的其余部分。在內(nèi)部,它包括一組商用服務(wù)器(圖中顯示了四個機(jī)架,每個機(jī)架有三個服務(wù)器,但設(shè)計(jì)上可以支持從部分機(jī)架到16個機(jī)架的任何部署)和一組白盒交換機(jī),這些交換機(jī)以葉脊網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)排列(圖中顯示了兩個葉脊交換機(jī),但設(shè)計(jì)上既能夠支持單一的交換機(jī)或者每機(jī)架兩個葉交換機(jī),也能夠支持多個脊交換機(jī),只要能夠提供足夠的東西向帶寬)。

圖34. CORD實(shí)現(xiàn)的RAN和移動核心網(wǎng)。

軟件方面,圖34顯示了RAN(紅色)和移動核心網(wǎng)(藍(lán)色),以及定義CORD平臺的模塊(橙色)。我們將在本章后面介紹平臺組件,但您可以將它們看作是一個多租戶云的整體實(shí)現(xiàn),許多不同的可伸縮服務(wù)可以在其上運(yùn)行。RAN和移動核心網(wǎng)就是這樣的兩個租戶。CORD平臺還可以承載其他邊緣服務(wù)(這是CORD從一開始就使用云技術(shù)構(gòu)建的原因之一),但有哪些邊緣服務(wù)可以在CORD POD上運(yùn)行不在本書討論范圍之內(nèi)。

與RAN和核心網(wǎng)相關(guān)的組件在前面的章節(jié)中已經(jīng)介紹過了,分別包括CU和移動核心網(wǎng)的控制平面和用戶平面。為了簡化起見,我們將SGW和PGW合并為單個S/PGW。另一個值得關(guān)注的細(xì)節(jié)是CU控制面中包含的RAN控制組件,包括了4.3節(jié)介紹的近實(shí)時RIC,這意味著一個CORD POD包含兩個SDN控制器:控制RAN的RIC,控制網(wǎng)絡(luò)的ONOS(在CORD中運(yùn)行的RIC實(shí)際上是ONOS的第二個定制版本,不過這是實(shí)現(xiàn)細(xì)節(jié)了)。

接下來我們來看一下RAN和移動核心網(wǎng)組件是如何實(shí)現(xiàn)的。具體來說,圖中所示的功能組件有三種不同的表現(xiàn)形式:(1)CU-U和S/PGW-U的數(shù)據(jù)面以P4程序加載到可編程交換機(jī)中實(shí)現(xiàn);(2)CU-U和S/PGW-U的控制面(以及Trellis平臺模塊)作為加載到ONOS上的控制應(yīng)用實(shí)現(xiàn);(3)其余組件實(shí)現(xiàn)為Kubernetes管理的微服務(wù)(Kubernetes是隱含的,沒有在圖中顯示出來)。

為了擴(kuò)展這一思想,圖35給出了CORD POD的另一種視圖,舍棄了承載哪些服務(wù)的細(xì)節(jié),而關(guān)注于這些服務(wù)是如何在POD上實(shí)例化的。在該圖中,所有實(shí)例化到POD上的功能都是作為基于Kubernetes的微服務(wù)和基于ONOS的控制應(yīng)用程序組合實(shí)現(xiàn)的。

圖35. CORD的另一種視圖,通過CI/CD工具鏈管理平臺和服務(wù),這些服務(wù)是由基于ONOS的控制應(yīng)用程序和基于Kubernetes的微服務(wù)組合實(shí)現(xiàn)。

當(dāng)以這種方式進(jìn)行抽象時,我們可以將POD視為三個子系統(tǒng):

  • 平臺(Platform):通用的基礎(chǔ)層,包括作為容器管理系統(tǒng)的Kubernetes,作為SDN控制器的ONOS,每臺交換機(jī)上都會加載的Strata(開源交換機(jī)操作系統(tǒng))。ONOS和它托管的控制應(yīng)用程序都是Kubernetes管理的微服務(wù)。
  • 配置(Profile):特定部署的微服務(wù)和SDN控制應(yīng)用程序的集合,這些應(yīng)用程序被調(diào)度在特定的POD上運(yùn)行。這是一個可變的集合,還可以包括在其他地方描述的控制面和邊緣服務(wù)。
  • CI/CD工具鏈:用于封裝、部署、操作和升級特定的平臺/配置,它通過一系列處理流程,將一組分離的、虛擬化的組件轉(zhuǎn)換為能夠響應(yīng)運(yùn)維工程師的指令并承載實(shí)時流量的操作系統(tǒng)。

CI/CD工具鏈?zhǔn)褂脴?biāo)準(zhǔn)的DevOps工具將軟件部署到服務(wù)器和交換機(jī)集群上,并在需要的時候可以隔離/回滾單個微服務(wù)和控制應(yīng)用程序。它還可以基于POD配置自動生成管理POD的NBI(Northbound Interface,北向接口),運(yùn)維工程師可以在生產(chǎn)環(huán)境中通過NBI接口操作CORD POD。

6.2. 平臺組件(Platform Components)

現(xiàn)在我們回頭看一下圖34和35中所示的三個平臺相關(guān)組件。就其本身而言,每個組件都是一個開源項(xiàng)目,但就我們的目的而言,了解它們在支持CORD的5G配置中所扮演的角色就足夠了。

  • Stratum:輕量級白盒交換機(jī)操作系統(tǒng),提供硬件無關(guān)接口,用于對CORD中的交換機(jī)進(jìn)行管理和編程,支持通過P4定義交換機(jī)轉(zhuǎn)發(fā)管道的行為(可以視為控制面和數(shù)據(jù)面之間的契約),以及使用P4Runtime在運(yùn)行時控制轉(zhuǎn)發(fā)。
  • ONOS:網(wǎng)絡(luò)操作系統(tǒng),用于配置和控制由可編程白盒交換機(jī)組成的網(wǎng)絡(luò)。邏輯上它作為集中的SDN控制器運(yùn)行,并托管一組SDN控制應(yīng)用程序,每個應(yīng)用程序控制底層網(wǎng)絡(luò)的某些功能。由于ONOS在邏輯上是集中式的,因此被設(shè)計(jì)為高可用性和可伸縮的。
  • Trellis:ONOS托管的SDN控制應(yīng)用程序,用于在白盒交換機(jī)網(wǎng)絡(luò)上實(shí)現(xiàn)葉脊網(wǎng)絡(luò)。它支持多個應(yīng)用的控制,包括VLAN和L2橋接、IPv4和IPv6單播和組播路由、DHCP L3中繼、雙鏈接(dual-homing)服務(wù)器、上行路由器、QinQ轉(zhuǎn)發(fā)/終止、MPLS pseudowires等。此外,Trellis可以使整個網(wǎng)絡(luò)體現(xiàn)為一個單一的(虛擬的)路由器連接到上游路由器上,上游路由器使用標(biāo)準(zhǔn)的BGP與Trellis進(jìn)行通信。

Stratum(運(yùn)行在交換機(jī)上)和ONOS(運(yùn)行在交換機(jī)外部,管理整個交換機(jī)網(wǎng)絡(luò))通過以下接口進(jìn)行通信:

  • P4:定義可編程交換芯片的轉(zhuǎn)發(fā)行為,以及對功能固定的ASIC管道建模。P4程序定義了一個由控制面通過編程定義,并由數(shù)據(jù)面實(shí)現(xiàn)的契約。
  • P4Runtime:為SDN準(zhǔn)備的接口,用于控制運(yùn)行時的轉(zhuǎn)發(fā)行為,是用于配置轉(zhuǎn)發(fā)表和控制轉(zhuǎn)發(fā)狀態(tài)的關(guān)鍵模塊,其工作方式與硬件無關(guān)。
  • OpenConfig模型:定義了設(shè)備配置和管理的最小集。這些模型通過可編程的方式擴(kuò)展特定于平臺的功能,其目標(biāo)是最小化模型之間的差異,從而支持與供應(yīng)商無關(guān)的管理平面。
  • gNMI(gRPC網(wǎng)絡(luò)管理接口,gRPC Network Management Interface):為SDN準(zhǔn)備的接口,通過使用二進(jìn)制接口和雙向流來改進(jìn)現(xiàn)有配置接口,與OpenConfig模型配合使用。
  • gNOI(gRPC網(wǎng)絡(luò)運(yùn)維接口,gRPC Network Operations Interfaces):一組用于支持特定交換機(jī)操作的微服務(wù),如證書管理、設(shè)備測試、軟件升級和網(wǎng)絡(luò)故障排除等。gNOI提供了語義豐富的API,取代現(xiàn)有的基于CLI的方式。

Trellis作為運(yùn)行在ONOS上的SDN控制應(yīng)用程序,可以控制從內(nèi)部交換網(wǎng)絡(luò)到CORD POD的包轉(zhuǎn)發(fā)(在單個站點(diǎn)內(nèi))。但是Trellis也可以通過多個層級的脊柱網(wǎng)絡(luò)擴(kuò)展到多個站點(diǎn),如圖36所示。這意味著Trellis具有在RAN的中傳和后傳網(wǎng)絡(luò)中發(fā)揮作用的潛力,也可以幫助將RAN擴(kuò)展到客戶現(xiàn)場(圖中“On Site”域)。

圖36. Trellis控制應(yīng)用程序管理(可能是分布式的)葉棘網(wǎng)絡(luò)。

我們剛才介紹的軟件棧非常龐大,有可能會破壞蜂窩網(wǎng)絡(luò)現(xiàn)有的構(gòu)建和運(yùn)行方式。特別需要注意的是,圖34所示的RAN智能控制器是作為ONOS的一組擴(kuò)展實(shí)現(xiàn)的,這種架構(gòu)將基于ONOS的RIC置于設(shè)計(jì)的中心,位于SDN和5G世界的交界處。

本次討論雖然只聚焦于部署5G網(wǎng)絡(luò)的一種選擇,但這也說明了為什么5G被視為電信行業(yè)轉(zhuǎn)型的原因之一。5G架構(gòu)充分利用了幾個重要的、廣泛的行業(yè)趨勢,遠(yuǎn)超以往任何電信網(wǎng)絡(luò)。融合了SDN的崛起、開源軟件的力量及其在網(wǎng)絡(luò)中日益廣泛的使用,當(dāng)然還有以云技術(shù)作為提供創(chuàng)新服務(wù)的基礎(chǔ)。

延伸閱讀:
關(guān)于SDN軟件棧的更多信息,推薦閱讀:《軟件定義的網(wǎng)絡(luò):一種系統(tǒng)方法(Software-Defined Networks: A Systems Approach)》[3]。

Reference:
[1] https://5g.systemsapproach.org/index.html
[2] https://guide.opencord.org/
[3] https://sdn.systemsapproach.org/

你好,我是俞凡,在Motorola做過研發(fā),現(xiàn)在在Mavenir做技術(shù)總監(jiān),對通信、網(wǎng)絡(luò)、后端架構(gòu)、云原生、DevOps、CICD、區(qū)塊鏈、AI等技術(shù)始終保持著濃厚的興趣,平時喜歡閱讀、思考,相信持續(xù)學(xué)習(xí)、終身成長,歡迎一起交流學(xué)習(xí)。
微信公眾號:DeepNoMind

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容