徐博華,龐 冉,張學茹,王澤林,曹 暢(中國聯(lián)通研究院,北京 100048)
專用網絡設備的能力開放是軟件定義網絡(SDN)技術在專用設備層面的自然延伸,有別于網絡功能虛擬化(NFV),網絡設備能力開放并不追求將網絡功能部署在通用服務器上,而是強調通過一系列軟硬件解耦的技術手段,在提升軟件功能靈活性的同時兼顧專用硬件的高轉發(fā)性能,因此更加適用于交換機、路由器、傳輸設備等需要大吞吐量的應用場景。推動專用網絡設備能力開放的過程可分為灰盒和白盒2 個階段[1]?;液校?]是指網絡運營方對設備提出功能和性能要求,并定義統(tǒng)一接口規(guī)范,供應商遵循網絡運營方提出的規(guī)范進行設備開發(fā)和接口開放。白盒[3-4]則是一種更為徹底的解耦模式,網絡運營方基于開源或商用的網絡設備操作系統(tǒng)(Network Operate System,NOS)構建自己的系統(tǒng)平臺及上層應用,并通過標準接口適配白盒設備硬件。白盒模式要求網絡運營方具有較強的自主研發(fā)能力,同時也依賴產業(yè)鏈各方的深度合作。
數(shù)據(jù)中心白盒交換機是開放式網絡設備成功應用的典型案例,阿里巴巴基于開源Sonic操作系統(tǒng)增量開發(fā)了AliNOS,并實現(xiàn)了數(shù)據(jù)中心白盒交換機的規(guī)模部署。此外,隨著5G 網絡的規(guī)模建設,開放式城域網絡接入路由器也逐漸成為近年來業(yè)界關注的熱點[5]。
目前電信運營商在網絡領域的創(chuàng)新研發(fā)工作主要包含協(xié)議的標準化、新技術研究的需求輸入等。網絡設備研發(fā)是新技術研究的直接落地環(huán)節(jié),是網絡建設與運營管理的前置環(huán)節(jié),而該環(huán)節(jié)目前完全依賴于設備供應商,研發(fā)符合電信級高可靠性要求的開放的網絡設備具有重要意義。國內5G 承載網絡的建設在城域接入層引入了每年10萬端級的設備新建需求,且相較于核心匯聚層設備而言,其性能指標要求較低,有利于開展自研工作和生態(tài)合作。本文重點圍繞5G承載網絡接入層的場景,第2 章對開放網絡設備的上中下游產業(yè)鏈和相關開源生態(tài)進行了分析,第3 章總結了開放網絡設備所涉及的關鍵技術,第4 章介紹了中國聯(lián)通在5G 承載網絡接入層開展的開放網絡設備研發(fā)實踐,最后對下一步的工作方向進行了展望。
開放網絡設備產業(yè)鏈上游包含CPU、FPGA、CPLD、存儲器件、背板連接器、時鐘芯片、交換芯片、網絡處理器(Network Processor,NP)等元器件,以及電源、風扇等外圍器件。其中交換芯片和NP 是網絡設備的核心元器件[6],負責將數(shù)據(jù)流量進行線速轉發(fā),轉發(fā)過程中需要實現(xiàn)數(shù)據(jù)接收、轉發(fā)決策、報文存儲、報文編輯等操作,高速處理包括二層交換、三層路由、ACL、QoS 以及組播等在內的多種業(yè)務。交換芯片和NP作為網絡設備的專用元器件,是其區(qū)別于通用設備的主要特征。
在交換芯片方面,高端交換芯片市場的主要供應方為美國博通公司。博通的交換芯片產品分為StrataXGS Trident 系列、StrataXGS Tomahawk 系列和StrataDNX 系列,分別適用于企業(yè)園區(qū)網絡、超大型數(shù)據(jù)中心和電信運營商網絡等不同場景。在StrataDNX系列下,BCM88480 產品[7]適用于5G 承載網絡接入層設備,其最大交換容量為800 Gbit/s,同時支持FlexE、Segment routing、1588v2等新一代承載網絡特性。此外BCM88280 同樣適用于5G 承載接入層設備,提供360 Gbit/s的交換容量,用戶可根據(jù)組網場景進行選擇。
國內方面,盛科網絡公司的CTC7132 產品也可滿足5G承載接入層對端口、表項、特性的需求,同時內置ARM Dual Core A53 CPU,可以有效降低整機硬件成本,其新一代產品CTC8180 新增了對FlexE 和SRv6 特性的支持。
開放網絡設備的產業(yè)鏈中游是整機硬件。由于網絡設備屬于專用設備,沒有PC機和服務器等通用設備的開放性好,因此也更加需要開源生態(tài)的引導。OCP 社區(qū)為推動數(shù)據(jù)中心白盒交換機的發(fā)展做出了重要貢獻,通過制定OCP 規(guī)范,開放硬件的設計方案和驅動程序,得到了眾多ODM 廠商的支持。TIP 是由電信運營商主導的開放網絡設備社區(qū),其主導的分解式移動蜂窩基站網關(Disaggregated Cell Site Gateway,DCSG)搭載開源或商用的NOS 系統(tǒng),已在AT&T、Tele?fonica、BT 等國外運營商的移動回傳網絡中得到了一定規(guī)模的部署。國內方面,ODCC 先后成立了鳳凰項目、開放網絡硬件項目和S3IP項目[8],有效推動了國內交換機白盒化的發(fā)展。
在5G承載接入層設備領域,目前國內設備選型以插卡式設備為主,通常配備雙主控卡提高單臺設備的穩(wěn)定性,并配備不同類型的接口卡來提高組網的靈活性。然而插卡式設備的硬件復雜度相對較高,白盒化的產業(yè)生態(tài)還不成熟,有賴于國內運營商進行積極引導。近期,CCSA 下設的云網智聯(lián)產業(yè)推進委員會(TC610)成立了開放網絡設備工作組,將重點推進運營商場景下網絡設備的架構開放和硬件標準化。
開放網絡設備的產業(yè)鏈下游是網絡所有者,包含電信運營商、云商、政企用戶等,通過網絡設備操作系統(tǒng)的能力開放賦予最終用戶定制系統(tǒng)和上層網絡應用的權利。開放網絡設備操作系統(tǒng)包含商業(yè)操作系統(tǒng)和開源操作系統(tǒng)2 類。商用操作系統(tǒng)主要以DriveNets、Cumulus network、Big Switch、IP Infusion 等國外廠商的產品為代表。
在全球市場,白盒交換機操作系統(tǒng)以Microsoft、Facebook 和Google 主導的開源項目為主。Sonic 是微軟在2016 年3 月的OCP 峰會上正式發(fā)布的一款開源網絡操作系統(tǒng)[9]。借助其2015年向OCP貢獻的SAI以及基于docker 的設計方式,Sonic 的生態(tài)逐漸明朗,吸引了眾多公司參與,大型互聯(lián)網公司以及傳統(tǒng)設備廠商如Alibaba、Tencent、Baidu、Cisco、Juniper、Docker 公司向開源社區(qū)貢獻代碼或提供合作支持,大型芯片廠商如Broadcom、Barefoot、Marvell、Centec 等提供了對ASIC 的支持。經過多輪迭代,Sonic 已經擁有了豐富的業(yè)務功能以及優(yōu)良的平臺特性,不僅滿足數(shù)據(jù)中心的部署要求,更是吞噬著部分傳統(tǒng)交換機的市場。
Stratum 是開源網絡交換機操作系統(tǒng),目前由開源社區(qū)ONF 負責運營,是一個實現(xiàn)了軟件定義的數(shù)據(jù)平面平臺,被定義為符合SDN2.0 概念的項目[10]。Google是Stratum 首個版本的貢獻者,也是首個在生產網絡中部署的企業(yè)。除了谷歌,包括騰訊、中國聯(lián)通在內的許多運營商、CT 廠商、ODM 廠商和芯片廠商都加入到了該項目當中。Stratum 為白盒交換機構建一個開放的、最小化的、生產就緒的發(fā)行版。Stratum 公開了一組下一代SDN 接口,包括P4 Runtime 和OpenConfig,實現(xiàn)了轉發(fā)設備的可互換性和轉發(fā)行為的可編程性。
2017 年11 月,AT&T 發(fā)布了致力于開發(fā)白盒交換機操作系統(tǒng)的分布式網絡操作系統(tǒng)dNOS 項目。2018年3 月在開放網絡峰會上AT&T 宣布將dNOS 正式托管給Linux 基金會,并且將項目名稱改為DANOS[11]。AT&T 已經在自己的IPRAN 場景中部署了使用DANOS 的接入路由器,相較于Sonic 和Stratum 這2 種誕生于數(shù)據(jù)中心的網絡操作系統(tǒng)而言,DANOS 更適合運營商承載網絡的應用場景。2019年底,DANOS進行了操作系統(tǒng)框架的開源,但功能模塊并未全部開源,且由于其商業(yè)模式并不清晰,產業(yè)引導的效果不理想,DANOS 項目的前景不甚明朗。表1 從產業(yè)生態(tài)的角度比較了Sonic和DANOS操作系統(tǒng)的現(xiàn)狀。
表1 Sonic和DANOS產業(yè)生態(tài)現(xiàn)狀對比
在黑盒網絡設備模式下,傳統(tǒng)設備供應商提供的SDN 管控接口存在很多私有數(shù)據(jù)模型,導致運營商每引入一家新的設備供應商均需與自研的SDN 管控系統(tǒng)進行特異性適配,開發(fā)工作量大,設備上線周期長。在開放網絡設備模式下,由網絡運營商定義設備北向接口規(guī)范,設備操作系統(tǒng)集成標準的北向接口引擎與SDN管控系統(tǒng)對接,能有效避免接口重復適配問題。
操作系統(tǒng)架構開放是指系統(tǒng)能夠以靈活的方式集成網絡應用,網絡應用本身與系統(tǒng)解耦。由于網絡設備的硬件資源是有限的,因此通過部署虛機的方式對網絡應用進行隔離并不適用。以Sonic 為代表的操作系統(tǒng)使用了輕量級虛擬化技術,不僅很好地解決了網絡應用在操作系統(tǒng)上的隔離和調度問題,同時能夠節(jié)省大量專門用于系統(tǒng)開銷的硬件資源。
如圖1 所示,Sonic 的網絡應用能力基于docker 容器構建,具備較好的擴展性,無論是新增加功能,改變一個容器,還是開發(fā)新的特性,都只需要對局部做出改變,方便在生產環(huán)境實現(xiàn)不停機部署或升級應用,而不需更換交換機鏡像,最大限度簡化運維人員的管理和配置工作量。Sonic 將每個模塊放置在獨立的docker 容器中,在一類功能組件內保持了較高的內聚性,減少了相互分離組件之間的耦合,因而這些組件中每一個都可以完全獨立編寫,而不需了解與底層平臺基礎系統(tǒng)的交互細節(jié)。
圖1 Sonic開源操作系統(tǒng)架構
為實現(xiàn)硬件標準化和軟硬件解耦,網絡操作系統(tǒng)的基礎軟件平臺層需要具備較好的可移植性,ONL 和ONIE 是具備較好硬件生態(tài)支持的基礎系統(tǒng)平臺。ONL 是一種用于裸機交換機的Linux 發(fā)行版,是Debian Linux 的分支,包括一些系統(tǒng)基礎的驅動功能,如:USB、GPIO、Flash、PCIe、Serial、RTC、DMA 等,操作系統(tǒng)廠商可以基于ONL 來開發(fā)網絡功能的特性,不同白盒設備通過對ONLP API 的支持實現(xiàn)軟硬件的解耦。ONIE是一個網絡操作系統(tǒng)安裝程序,實際是一個基于Linux 的小型操作系統(tǒng),可以在交換機上啟動并發(fā)現(xiàn)本地網絡上可用的安裝程序映像,同時能夠將合適的映像傳輸?shù)浇粨Q機,然后提供一個安裝環(huán)境,以便安裝程序可以將NOS 加載到交換機。ONL 操作系統(tǒng)為上層提供基礎性平臺,通過ONIE/bootloader 加載NOS軟件[12]。
由于長久以來網絡行業(yè)一直被封閉的、專有的硬件和軟件所主導,同時標準化的需求導致協(xié)議設計的靈活性逐漸降低,網絡領域的創(chuàng)新步伐相對緩慢[13]。數(shù)據(jù)平面可編程技術通過創(chuàng)新硬件載體和數(shù)據(jù)平面高級編程語言,使最終用戶能夠對數(shù)據(jù)包在交換芯片的轉發(fā)行為進行自主定義。P4 是數(shù)據(jù)平面可編程語言的代表,其目標為協(xié)議無關性、目標無關性以及現(xiàn)場可重配置能力,它能夠解決OpenFlow 編程能力不足以及其設計本身所帶來的可拓展性差的難題[14],通過P4編程定義數(shù)據(jù)包的處理流程,然后利用編譯器在不受限于具體協(xié)議的交換機或網卡上生成具體的配置,從而實現(xiàn)用P4表達的數(shù)據(jù)包處理邏輯[15]。
目前的開源操作系統(tǒng)尚無適用于5G 承載網絡場景的方案,為推進開放網絡設備在運營商網絡場景下的部署,中國聯(lián)通研究院在開源社區(qū)成熟解決方案的基礎上,研發(fā)了主要面向電信運營商網絡場景的開放網絡設備操作系統(tǒng)CUNOS。CUNOS 的軟件系統(tǒng)分層架構如圖2所示。
圖2 CUNOS操作系統(tǒng)軟件分層架構
CUNOS 系統(tǒng)應用層提供了與外部OMC 系統(tǒng)進行通信的接口,接受SDN 管控系統(tǒng)對開放網絡設備的統(tǒng)一納管。應用層子系統(tǒng)內部主要包括DC 模塊、DB 模塊和NESVC 模塊。其中DC 模塊完成數(shù)據(jù)的接收處理,DB 模塊用于配置數(shù)據(jù)的存儲和狀態(tài)數(shù)據(jù)的組織,NESVC 模塊對于數(shù)據(jù)進行表校驗、表間校驗、數(shù)據(jù)下發(fā)以及異常回滾等操作。同時,結合IETF 和Opencon?fig 的相關標準,匹配5G 承載現(xiàn)網技術方案,制定了中國聯(lián)通白盒域Yang模型標準,并完成了與管控系統(tǒng)的對接測試。
在CUNOS系統(tǒng)業(yè)務層,需要根據(jù)應用層需求完成相應的業(yè)務邏輯功能,如模塊啟動運行、模塊參數(shù)設置、模塊資源分配、協(xié)議啟動、協(xié)議參數(shù)設置、協(xié)議狀態(tài)運行、模塊和協(xié)議數(shù)據(jù)維護等。業(yè)務層除了根據(jù)應用層需求完成相應的邏輯功能外,還會為應用層提供多方面的數(shù)據(jù)信息,如告警、性能統(tǒng)計、各個模塊和協(xié)議的運行狀態(tài)等。CUNOS 針對FRR 開源協(xié)議棧進行了二次開發(fā)與集成,同時集成了部分商用協(xié)議棧模塊,使CUNOS能夠很好地滿足5G承載網絡特性需求。
CUNOS 系統(tǒng)的中間層包含中間適配層和硬件驅動層。中間適配層完成上下層功能之間的轉換適配,將不兼容的參數(shù)、數(shù)據(jù)、行為動作根據(jù)實際情況進行融合拉通,使用戶的需求功能最終可以落到具體的硬件組件上完成執(zhí)行。中間適配層主要分為板卡適配、端口映射、業(yè)務層模塊適配、報文收發(fā)、中斷適配、SAI接口調用等。其中板卡適配主要完成對于白盒系統(tǒng)支持的硬件板卡進行啟動、初始化、運行、卸載、復位、狀態(tài)獲取和板卡屬性檢測管理等工作。端口映射主要完成對上層邏輯端口與底層芯片物理接口之間的映射轉換。報文收發(fā)和中斷主要完成協(xié)議報文或者上下CPU的報文的接收與發(fā)送。
SAI 接口主要對硬件驅動層芯片的SDK 進行屏蔽抽象,使得中間適配層針對不同廠家的芯片都可以完成功能特性的下發(fā)適配工作。SAI本身是OCP 推出的開源項目,但其主要特性集是面向數(shù)據(jù)中心交換機的場景需求。為滿足5G 承載網絡特性需求,CUNOS 針對5G 承載需求新增SAI 開發(fā)模塊,如MPLS L2 VPN/L3 VPN、BFD、PTP/1588、TWAMP 等,同時對OCP 社區(qū)已有的SAI 模塊針對5G 承載需求進行了增強,如ACL、HASH、ECMP、QoS、virtual route、routerinterface 等(見圖3)。
圖3 5G承載SAI接口特性集
硬件驅動層主要是對硬件組件進行軟件驅動,使其可以按照指定需求完成功能動作,包括對RAM、FLASH、FPGA、CPLD、RTC、ASIC 芯片、CPU 內外部總線的驅動軟件功能,以及OCP 的ONLP 軟件抽象功能(對SFP、LED、Sensor、Clock 等)。在基礎系統(tǒng)層,CUNOS 采用了ONL 作為Base OS,同時搭配ONIE 對上層NOS進行加載,確保CUNOS在開放網絡設備上的可移植性。
在硬件設計方面,國內5G承載接入層設備形態(tài)通常為雙主控卡+多種類型接口卡的框式設備,而在白盒路由器生態(tài)中此類設備形態(tài)較少。為此,中國聯(lián)通研究院聯(lián)合國內ODM 廠商設計了一款基于盛科網絡公司CTC7132 交換芯片的框式路由器。整機采用框式設計,主控、電源等功能模塊提供1+1 冗余保護,支持11 個業(yè)務線卡槽位,整機交換容量400G,IO 接口帶寬440G,可支持4路25G/10G,4路10G/GE,1路100G/2路50G 等多種接口板類型。該白盒路由器支持標準ONLP 接口功能,同時針對框式設備進行了ONLP API的擴展定義,主要包括物理層的時鐘同步以及主備同步相關功能的抽象。
目前,CUNOS 操作系統(tǒng)已與白盒框式路由器完成了軟硬件的系統(tǒng)集成,通過了實驗室測試并進行了試點驗證測試。
在算網一體發(fā)展趨勢下,傳統(tǒng)網絡設備正快速向ICT 融合的方向演進,對開放網絡設備的需求愈發(fā)強烈。CUNOS 操作系統(tǒng)將進一步開放系統(tǒng)上層架構,以輕量級虛擬化的能力集成更多的第三方網絡上層應用。同時,在白盒框式路由器上可集成算力增強型的接口卡,面向中小型企業(yè)提供就近的邊緣算力服務。后續(xù)將依托白盒設備的開放特性,與產業(yè)鏈合作伙伴進行聯(lián)合創(chuàng)新,盤活網絡邊緣設備能力,為差異化的業(yè)務需求提供更加靈活的解決方案。