張杰 蔣林濤 許都 田野 蔣雪蓮 孫亞樓
(1.中國信息通信研究院,北京 100191;2.電子科技大學(xué)信息與通信工程學(xué)院,成都 611731;3.北京郵電大學(xué)網(wǎng)絡(luò)與交換技術(shù)全國重點(diǎn)實(shí)驗(yàn)室,北京 100876)
經(jīng)濟(jì)社會(huì)發(fā)展對網(wǎng)絡(luò)提出新需求,需要網(wǎng)絡(luò)持續(xù)的演進(jìn)與創(chuàng)新,以解決網(wǎng)絡(luò)特別是數(shù)據(jù)承載網(wǎng)絡(luò)在確定性、安全性、廣域虛擬網(wǎng)、廣域組播等多方面的能力缺失問題。數(shù)據(jù)承載網(wǎng)絡(luò)的創(chuàng)新活動(dòng)既有面向單個(gè)技術(shù)點(diǎn)的創(chuàng)新,又包含網(wǎng)絡(luò)體系架構(gòu)的探索,將會(huì)涉及網(wǎng)絡(luò)層的數(shù)據(jù)面、控制面和管理面。針對網(wǎng)絡(luò)層體系架構(gòu)的創(chuàng)新,通常需要產(chǎn)學(xué)研用多實(shí)體聯(lián)合創(chuàng)新,創(chuàng)新技術(shù)的部署與應(yīng)用需要實(shí)驗(yàn)驗(yàn)證,規(guī)模性、可信服是重要指標(biāo)。因此構(gòu)建一個(gè)具有規(guī)模性、異構(gòu)適應(yīng)性、敏捷性以及資源確定性供給的實(shí)驗(yàn)驗(yàn)證環(huán)境,可以有效降低創(chuàng)新門檻,支撐來自產(chǎn)學(xué)研用多實(shí)體構(gòu)建的創(chuàng)新活動(dòng)。
在現(xiàn)有IP網(wǎng)絡(luò)協(xié)議基礎(chǔ)上,網(wǎng)絡(luò)5.0產(chǎn)業(yè)和技術(shù)創(chuàng)新聯(lián)盟基于“以網(wǎng)絡(luò)為中心、能力內(nèi)生”的核心主旨,通過打造新型網(wǎng)絡(luò)協(xié)議體系,賦予網(wǎng)絡(luò)確定性、可信度、空間主權(quán)等屬性,連通分散的計(jì)算、存儲(chǔ)及網(wǎng)絡(luò)等資源,使網(wǎng)絡(luò)具備按需可達(dá)、就需服務(wù)、確權(quán)管理、安全可信等內(nèi)在能力[1]。
為有效支撐網(wǎng)絡(luò)5.0在體系架構(gòu)、網(wǎng)絡(luò)協(xié)議與關(guān)鍵技術(shù)、網(wǎng)絡(luò)設(shè)備與系統(tǒng)等多層面的創(chuàng)新,利用未來網(wǎng)絡(luò)試驗(yàn)設(shè)施中國網(wǎng)絡(luò)創(chuàng)新試驗(yàn)環(huán)境(China Environment for Network Innovations,CENI)的全國性資源以及網(wǎng)絡(luò)5.0產(chǎn)業(yè)和技術(shù)創(chuàng)新聯(lián)盟成員開放的網(wǎng)絡(luò)試驗(yàn)設(shè)施,建設(shè)了網(wǎng)絡(luò)5.0創(chuàng)新實(shí)驗(yàn)平臺(tái)(簡稱“平臺(tái)”)。平臺(tái)雖被稱為網(wǎng)絡(luò)5.0創(chuàng)新實(shí)驗(yàn)平臺(tái),驅(qū)動(dòng)和前期的主要服務(wù)對象是網(wǎng)絡(luò)5.0的創(chuàng)新活動(dòng),然而其設(shè)計(jì)與建設(shè)的目標(biāo)是面向網(wǎng)絡(luò)層創(chuàng)新的通用平臺(tái)。平臺(tái)具有可以支持持續(xù)演進(jìn)的、多樣化的網(wǎng)絡(luò)創(chuàng)新活動(dòng)的如下能力。
一是底層異構(gòu)資源確定性供給能力。確定性成為創(chuàng)新網(wǎng)絡(luò)的重點(diǎn)特征,因此確定性也成為網(wǎng)絡(luò)5.0創(chuàng)新實(shí)驗(yàn)平臺(tái)的基礎(chǔ)能力,平臺(tái)必須具備確定的底層資源供給能力,這些資源不僅包括IT資源,如CPU核、內(nèi)存、存儲(chǔ)等,還必須包括網(wǎng)絡(luò)資源,特別是虛擬資源的連接保障能力。
二是多樣性能力。伴隨著網(wǎng)絡(luò)創(chuàng)新活動(dòng),針對體系架構(gòu)、網(wǎng)絡(luò)協(xié)議與關(guān)鍵技術(shù)、網(wǎng)絡(luò)設(shè)備與系統(tǒng)等多層面的驗(yàn)證需求也是多樣性的,體現(xiàn)在驗(yàn)證網(wǎng)絡(luò)的網(wǎng)絡(luò)規(guī)模、拓?fù)漕愋汀⒕幹贩桨?、網(wǎng)元設(shè)備種類、協(xié)議種類、標(biāo)識(shí)機(jī)制以及驗(yàn)證工具等方面,而驗(yàn)證過程中的組合方式也呈現(xiàn)出多樣性。這種多樣性還表現(xiàn)為隨著基礎(chǔ)設(shè)施層的不斷擴(kuò)展,平臺(tái)環(huán)境中的基礎(chǔ)設(shè)施的種類也會(huì)越來越多,并且隨著聯(lián)合創(chuàng)新的深入,過程與軟件/系統(tǒng)的集成與管理更是加劇了這種多樣性。平臺(tái)應(yīng)具備這種異構(gòu)多樣性的適應(yīng)與支撐能力。
三是用戶定制化能力。平臺(tái)的最終目的是服務(wù)于用戶,如何快速方便地幫助用戶構(gòu)建驗(yàn)證環(huán)境是實(shí)驗(yàn)平臺(tái)的關(guān)鍵服務(wù)能力。平臺(tái)需要提供用戶的定制功能,支持多樣化需求表達(dá)的用戶接口和界面功能,接收多樣化的需求,調(diào)度資源,完成自動(dòng)化的部署。用戶可以定制網(wǎng)絡(luò)拓?fù)洹⒕W(wǎng)元功能及接口、驗(yàn)證工具,以及之間的連接等。
四是持續(xù)創(chuàng)新能力。網(wǎng)絡(luò)創(chuàng)新具有研發(fā)與驗(yàn)證的反復(fù)迭代特征,平臺(tái)提供這種循環(huán)迭代的過程管理支持,匯集多方創(chuàng)新結(jié)果,可以極大地減少創(chuàng)新者繁瑣的重復(fù)性工作,有效地支持網(wǎng)絡(luò)創(chuàng)新。
網(wǎng)絡(luò)5.0創(chuàng)新實(shí)驗(yàn)平臺(tái)采用3層架構(gòu)(見圖1),包括基礎(chǔ)設(shè)施層、實(shí)例資源倉庫、創(chuàng)新服務(wù)層,最終服務(wù)于網(wǎng)絡(luò)創(chuàng)新,支持體系架構(gòu)、網(wǎng)絡(luò)協(xié)議與關(guān)鍵技術(shù)、網(wǎng)絡(luò)設(shè)備與系統(tǒng)等多層面的驗(yàn)證[1]。
圖1 網(wǎng)絡(luò)5.0創(chuàng)新實(shí)驗(yàn)平臺(tái)基礎(chǔ)架構(gòu)[2]
基礎(chǔ)設(shè)施層中主要包含IT基礎(chǔ)設(shè)施以及多類型的鏈路資源,提供IT資源和基礎(chǔ)的本地與長距連接。這些長距資源中除了實(shí)驗(yàn)室提供的室內(nèi)長距光纖,更多的是CENI提供的長途光鏈路資源。這些本地和長距鏈路經(jīng)由交叉連接設(shè)備連接,在系統(tǒng)中被稱為拓?fù)溥B接器,可以提供接口允許在線配置端口的交叉連接關(guān)系。基礎(chǔ)設(shè)施層還包括用于測驗(yàn)的第三方物理或虛擬的應(yīng)用/測試設(shè)備等。最終,形成種類豐富的基礎(chǔ)資源池,滿足實(shí)驗(yàn)驗(yàn)證過程中在地理空間、資源類型、實(shí)驗(yàn)規(guī)模等方面的多樣化需求。基礎(chǔ)設(shè)施層提供開放接口用于對外提供資源管理。
實(shí)例資源倉庫主要用來匯集網(wǎng)絡(luò)創(chuàng)新的相關(guān)虛擬網(wǎng)元功能集,并提供實(shí)驗(yàn)驗(yàn)證活動(dòng)中用到的通用/特色測試工具、網(wǎng)絡(luò)實(shí)驗(yàn)數(shù)據(jù)以及典型應(yīng)用等。實(shí)例資源倉庫提供軟件集的存儲(chǔ)、管理,并對外提供接口以上傳、下載、標(biāo)注等。
創(chuàng)新服務(wù)層是平臺(tái)的核心,通過用戶界面及接口等多種方式允許用戶對網(wǎng)絡(luò)拓?fù)?、虛擬網(wǎng)元、驗(yàn)證活動(dòng)以及結(jié)果分析等進(jìn)行定制,將用戶的復(fù)雜需求綜合起來,進(jìn)行基礎(chǔ)資源、實(shí)例倉庫的調(diào)度,實(shí)現(xiàn)自動(dòng)化加載。如何有效地選擇、編排這些資源是創(chuàng)新服務(wù)層必須解決的基本問題。
虛擬化/云技術(shù)是當(dāng)前實(shí)驗(yàn)驗(yàn)證環(huán)境基礎(chǔ)設(shè)施層的常用技術(shù)。在網(wǎng)絡(luò)創(chuàng)新平臺(tái)中大部分設(shè)施將用于虛擬網(wǎng)絡(luò)設(shè)備(以下稱為虛擬網(wǎng)元),傳輸能力是虛擬網(wǎng)元的主要能力體現(xiàn),由這些虛擬網(wǎng)元和物理網(wǎng)元混合構(gòu)建的網(wǎng)絡(luò),其端到端通信資源的確定性供給成為平臺(tái)需要重點(diǎn)解決的問題。
通常云平臺(tái)的目標(biāo)是最大化利用資源,資源會(huì)超量配置,即便不采用超配,資源(特別是通信資源)競爭也仍然存在,成為環(huán)境中不確定性的一個(gè)重要原因[3]。表1列出了傳統(tǒng)虛擬網(wǎng)元通信方案??傮w而言,方案(1)和方案(2)靈活且支持程度高,質(zhì)量無法保障;方案(3)和方案(4)的通信性能有保障;方案(3)需軟硬件支持,配置復(fù)雜。然而,方案(3)和方案(4)的最大問題是網(wǎng)元間拓?fù)溥B接受限表現(xiàn)為物理資源數(shù)量受限,降低了外部連接的靈活性。
表1 虛擬網(wǎng)元通信方式
在組網(wǎng)架構(gòu)方面,伴隨著應(yīng)用體量和服務(wù)質(zhì)量(Quality of Service,QoS)要求,Google數(shù)據(jù)中心10年時(shí)間增長100+倍交換容量,當(dāng)前云數(shù)據(jù)中心主要還是采用Clos架構(gòu)及其改進(jìn)架構(gòu)[4]。數(shù)據(jù)中心網(wǎng)絡(luò)主要通過持續(xù)提升服務(wù)器連接速率和網(wǎng)絡(luò)設(shè)備交換容量滿足數(shù)據(jù)中心網(wǎng)絡(luò)的流量需求。然而,不同于常規(guī)云數(shù)據(jù)中心,實(shí)驗(yàn)環(huán)境中網(wǎng)絡(luò)架構(gòu)不僅要考慮擴(kuò)展性和無阻塞,模擬現(xiàn)網(wǎng)通信環(huán)境也是平臺(tái)中必不可少的目標(biāo)。因此,在實(shí)驗(yàn)環(huán)境中不再追求一致性,而是會(huì)特意引入一些特殊資源如長延時(shí)鏈路、特定的驗(yàn)證設(shè)備,而這些資源在環(huán)境中相較于其他資源表現(xiàn)出稀缺性,因此需要重新審視組網(wǎng)架構(gòu)及資源調(diào)度。
另外,在跨域組網(wǎng)方面,現(xiàn)有技術(shù)方案中多是提供L1VPN、L2VPN以及L3VPN。例如,利用光傳輸網(wǎng)絡(luò)(Optical Transport Network,OTN)電路直通提供L1VPN,可以提供強(qiáng)確定性能力,由于獨(dú)占廣域電路資源,引入擴(kuò)展性問題;L2VPN可以提供更復(fù)雜的拓?fù)?連接更多數(shù)量的實(shí)驗(yàn)網(wǎng)元,擴(kuò)展性更強(qiáng),然而在骨干網(wǎng)鏈路的統(tǒng)計(jì)復(fù)用中,可能引入不確定性;L3VPN由于直接由IP技術(shù)構(gòu)建,通常用來驗(yàn)證IP技術(shù)相關(guān)的技術(shù)與應(yīng)用。
在網(wǎng)絡(luò)5.0創(chuàng)新實(shí)驗(yàn)平臺(tái)設(shè)計(jì)中,為了保障從虛擬網(wǎng)元到虛擬網(wǎng)元的通信資源的確定性供給,在域內(nèi)和域間基礎(chǔ)設(shè)施層面避免使用IP技術(shù),通過將物理網(wǎng)卡、域內(nèi)組網(wǎng)物理連接和域間的L1/L2連接進(jìn)行池化,統(tǒng)一通過拓?fù)溥B接器進(jìn)行連接,由拓?fù)溥B接器提供鏈路的交叉連接,實(shí)現(xiàn)鏈路資源的統(tǒng)一可定制。這些拓?fù)溥B接器群采用了類似分域布設(shè),邏輯域內(nèi)則采用層次化或近似全連接等多方式進(jìn)行組織,邏輯域間引入長延時(shí)鏈路,如50 km長距連接,這樣在一期工程中形成了仿3個(gè)域的物理網(wǎng)絡(luò)拓?fù)?見圖2)。
圖2 物理資源連接拓?fù)涫疽鈭D
如何將用戶多樣化的需求映射為平臺(tái)環(huán)境中的資源并連接起來,是平臺(tái)的關(guān)鍵工作。傳統(tǒng)數(shù)據(jù)中心(Data Center,DC)調(diào)度是指將計(jì)算資源(例如CPU、內(nèi)存)分配給作業(yè),以達(dá)到資源效率、任務(wù)放置延遲和可擴(kuò)展性方面的一些設(shè)定要求[5]。相關(guān)學(xué)者在單類型和多類型資源的資源調(diào)度方面開展了很多工作[6-7]。
網(wǎng)絡(luò)5.0創(chuàng)新實(shí)驗(yàn)驗(yàn)證環(huán)境不再追求資源一致性,而是特意引入多類型資源以滿足多樣化的實(shí)驗(yàn)驗(yàn)證需求。這些資源不僅表現(xiàn)出性能差異,而且由于其所在基礎(chǔ)設(shè)施層的組網(wǎng)關(guān)系引發(fā)位置約束,這就要求平臺(tái)在資源調(diào)度中必須考慮這些異構(gòu)資源帶來的復(fù)雜性。
性能異構(gòu)性。在平臺(tái)中除了常用的linux bridege/ovs方式,還有為了提升傳輸性能和隔離性而采用的直通網(wǎng)卡模式,在資源調(diào)度中為了更進(jìn)一步發(fā)揮直通網(wǎng)卡的性能提升作用,需要感知物理服務(wù)器的非一致性內(nèi)存訪問架構(gòu)(Non Uniform Memory Access,NUMA)配置,進(jìn)行物理網(wǎng)卡與CPU、內(nèi)存的NUMA-aware聯(lián)合調(diào)度。另外,鏈路資源在性能上也體現(xiàn)出了多級(jí)別傳輸能力如短距、城域(如50 km)、廣域(如500 km+)等不同距離的鏈路,以及具有不同切片能力(如FlexE)的鏈路等。
位置約束。大多數(shù)異構(gòu)資源都會(huì)引入位置約束。用戶在選擇了特定的網(wǎng)卡、特定的鏈路資源或者是特定的物理網(wǎng)元之后,必然會(huì)直接影響對其他資源的選擇。例如用戶選擇了平臺(tái)提供的工控端系統(tǒng)作為實(shí)驗(yàn)拓?fù)渲袘?yīng)用,由于該工控端系統(tǒng)在北京花園北路站點(diǎn),平臺(tái)將會(huì)優(yōu)先選擇同站點(diǎn),甚至是同拓?fù)溥B接器連接的虛擬資源來構(gòu)建用戶實(shí)驗(yàn)拓?fù)渲械奶摂M網(wǎng)元。因此,針對這些異構(gòu)性能資源調(diào)度需要更準(zhǔn)確的調(diào)度和更細(xì)粒度的感知。例如對于性能敏感的資源要求,調(diào)度系統(tǒng)需要考慮CPU、網(wǎng)卡等在NUMA節(jié)點(diǎn)中的分布,以及當(dāng)前基礎(chǔ)資源是否支持NUMA等。
因此在創(chuàng)新服務(wù)器層,網(wǎng)絡(luò)5.0創(chuàng)新實(shí)驗(yàn)平臺(tái)構(gòu)建了一個(gè)新的資源調(diào)度系統(tǒng),將用戶定制要求作為復(fù)合資源請求(可能包括常規(guī)虛擬資源、性能要求、特定的鏈路資源、特定的物理網(wǎng)元),確定請求關(guān)鍵元素,引入約束策略,分解網(wǎng)絡(luò)資源,實(shí)現(xiàn)用戶復(fù)合請求到資源的映射。
針對網(wǎng)絡(luò)5.0創(chuàng)新實(shí)驗(yàn)平臺(tái)中資源構(gòu)成復(fù)雜且受限、大量資源位置綁定、用戶需求多樣、能力確定性供給等問題,同時(shí)為了充分利用平臺(tái)資源以盡可能服務(wù)更多的創(chuàng)新服務(wù)請求,平臺(tái)資源調(diào)度系統(tǒng)設(shè)計(jì)尤為重要。圖3給出了該系統(tǒng)的整體架構(gòu),功能主要圍繞資源調(diào)度分配展開。
圖3 創(chuàng)新實(shí)驗(yàn)平臺(tái)資源調(diào)度系統(tǒng)總體架構(gòu)
通過圖形化Web界面,獲取并處理來自用戶瀏覽器的實(shí)驗(yàn)請求;對請求參數(shù)的解析和映射,產(chǎn)生當(dāng)前實(shí)驗(yàn)所需細(xì)分資源列表;然后核心資源調(diào)度模塊基于當(dāng)前平臺(tái)的資源狀態(tài),在給定策略下通過優(yōu)化算法給出相應(yīng)的資源分配方案;最后通過虛擬機(jī)控制接口和拓?fù)溥B接器控制接口,控制平臺(tái)服務(wù)器和拓?fù)溥B接器/交換機(jī)構(gòu)建出完整的、符合用戶參數(shù)要求的實(shí)驗(yàn)網(wǎng)絡(luò)。
其中,Web服務(wù)采用Flask框架實(shí)現(xiàn),向用戶提供包括實(shí)驗(yàn)節(jié)點(diǎn)、節(jié)點(diǎn)間互連的放置、增刪、拖拽、屬性調(diào)整等的圖形化編輯界面,以方便用戶通過其本地瀏覽器輸入實(shí)驗(yàn)網(wǎng)絡(luò)拓?fù)?。?shí)驗(yàn)平臺(tái)雖然集成少量高性能或特殊的網(wǎng)元設(shè)備資源,如入侵檢測系統(tǒng)、P4交換機(jī)等,但大量用戶實(shí)驗(yàn)節(jié)點(diǎn)的能力是通過虛擬化網(wǎng)絡(luò)功能(Virtual Network Function,VNF)技術(shù)在通用x86服務(wù)器上實(shí)現(xiàn)的。因此用戶在前端界面上給出的網(wǎng)絡(luò)拓?fù)渲行杳鞔_定義各個(gè)節(jié)點(diǎn)的資源需求,如CPU核數(shù)、隨機(jī)存取存儲(chǔ)器(Random Access Memory,RAM)空間大小、親和性要求等;同時(shí)指定該節(jié)點(diǎn)VNF的鏡像文件,如路由功能、防火墻功能、Net5.0網(wǎng)元功能等。節(jié)點(diǎn)間鏈路也需通過屬性參數(shù)聲明,包括帶寬、硬件時(shí)戳能力、網(wǎng)卡的CPU親和性、本地或跨域連接等。
實(shí)驗(yàn)用戶可以在過程中的拓?fù)漭斎?、部署等階段保存當(dāng)前實(shí)驗(yàn)拓?fù)?平臺(tái)定義了完整的平臺(tái)實(shí)驗(yàn)拓?fù)鋵?dǎo)入/導(dǎo)出文件格式,并提供文件和版本管理能力,使得離線編輯實(shí)驗(yàn)拓?fù)洹⒒謴?fù)原有實(shí)驗(yàn)或在某個(gè)版本實(shí)驗(yàn)的基礎(chǔ)上做調(diào)整的工作更為便捷。用戶拓?fù)湮募邪▽?shí)驗(yàn)拓?fù)涿Q、節(jié)點(diǎn)、連邊及其完整的屬性參數(shù)等,不僅可讀取后再次圖形化地呈現(xiàn)給用戶,而且可快速部署到平臺(tái)上開始下一次實(shí)驗(yàn)。
平臺(tái)在用戶身份管理方面也做了嚴(yán)格設(shè)計(jì),以確保平臺(tái)穩(wěn)定運(yùn)行和資源的合理使用。嚴(yán)格區(qū)分管理員身份和用戶身份,且不同用戶等級(jí)對應(yīng)不同的可用平臺(tái)資源上限。使用管理員身份登錄系統(tǒng)后,能夠查看完整的平臺(tái)資源狀態(tài)、調(diào)整普通用戶資源配給、設(shè)置不同平臺(tái)資源分配策略,同時(shí)能夠干預(yù)、終止出現(xiàn)異常的用戶實(shí)驗(yàn)。
平臺(tái)資源初始化是管理員通過平臺(tái)配置文件導(dǎo)入的。類似一般數(shù)據(jù)中心采用的ToR(Top of Rack)形式實(shí)現(xiàn)服務(wù)器的網(wǎng)絡(luò)互連,創(chuàng)新實(shí)驗(yàn)平臺(tái)的特殊之處在于單物理服務(wù)器所提供的網(wǎng)卡和網(wǎng)口數(shù)更多,如大于16個(gè)網(wǎng)口,這使得ToR間的連接端口數(shù)成為用戶拓?fù)洳渴饡r(shí)的關(guān)鍵約束條件之一。因此,在資源狀態(tài)初始化時(shí),以Pod為基本單元,即同一臺(tái)交換機(jī)下連接的服務(wù)器作為一個(gè)對象,并將Pod交換機(jī)間的連接關(guān)系顯式定義并存入數(shù)據(jù)庫,以方便后續(xù)的資源調(diào)度計(jì)算處理。
平臺(tái)數(shù)據(jù)庫中不僅保存了完整的系統(tǒng)資源狀態(tài)信息,如每個(gè)Pod中資源占用數(shù)/總量、細(xì)分的每臺(tái)服務(wù)器資源(包括CPU核、RAM、磁盤、網(wǎng)卡、圖像等)狀態(tài),還包括拓?fù)溥B接器可用端口、活動(dòng)端口及連接對象,同時(shí)存有完整的用戶實(shí)驗(yàn)拓?fù)湫畔?包括拓?fù)浼胺指钭油負(fù)湫畔ⅰ⒂?jì)算分配資源預(yù)留、實(shí)際資源占用、實(shí)驗(yàn)運(yùn)行時(shí)間等。因此,平臺(tái)數(shù)據(jù)庫是整個(gè)資源調(diào)度系統(tǒng)的核心模塊,調(diào)度算法、用戶交互、跨越部署、平臺(tái)監(jiān)控等均涉及對數(shù)據(jù)庫的頻繁操作。
在用戶繪制、定義完成實(shí)驗(yàn)拓?fù)洳⒋_認(rèn)部署后,所有當(dāng)前實(shí)驗(yàn)相關(guān)數(shù)據(jù)自動(dòng)存入平臺(tái)數(shù)據(jù)庫,并啟動(dòng)資源分配算法。需注意的是平臺(tái)支持多用戶并發(fā)使用平臺(tái)啟動(dòng)實(shí)驗(yàn),因此資源分配模塊采用任務(wù)隊(duì)列方式對并發(fā)請求做串行化處理,以避免資源分配過程中可能出現(xiàn)的狀態(tài)不一致性。
資源分配模塊首先進(jìn)行的是實(shí)驗(yàn)拓?fù)湫r?yàn),即確認(rèn)用戶下發(fā)的拓?fù)涫欠窈戏?包括拓?fù)渫暾?、?jié)點(diǎn)屬性參數(shù)合法性、邊參數(shù)合法性等,同時(shí)確認(rèn)當(dāng)前用戶身份是否有相應(yīng)的資源使用資格,由此避免用戶下發(fā)不合理的、不滿足條件的部署請求。
然后是資源預(yù)分配,基于當(dāng)前域資源狀態(tài)計(jì)算實(shí)驗(yàn)拓?fù)洳渴鹫埱蟮目尚匈Y源分配方案。由于用戶需部署的拓?fù)鋸?fù)雜度/資源需求可能超過當(dāng)前可用資源,因此預(yù)分配的目的在于確認(rèn)當(dāng)前請求是否可在該域完整部署,若不滿足則進(jìn)行拓?fù)浞指?發(fā)起跨域部署請求。
基于上述定義,虛擬網(wǎng)元部署優(yōu)化問題對應(yīng)的數(shù)學(xué)模型表達(dá)式為
(1)
(2)
(3)
(4)
其中,公式(1)中的第一項(xiàng)和第二項(xiàng)分別表示完成所有網(wǎng)元部署占用的Pod數(shù)量和服務(wù)器數(shù)量,π為0到1之間的實(shí)數(shù),用于權(quán)衡對兩者的側(cè)重,某種程度上反映了資源碎片化限制;公式(2)限制任何網(wǎng)元部署且只能部署在一臺(tái)服務(wù)器上;公式(3)包括多重約束,要求任何服務(wù)器上所承載網(wǎng)元的資源量總需求不超過該服務(wù)器的可用資源總量,含CPU、RAM、網(wǎng)卡等,同時(shí)跨Pod的邊數(shù)量不大于當(dāng)前可用Pod間剩余端口數(shù);公式(4)表示決策變量只能取值0或1。對該模型的近似求解有多種方法,考慮到系統(tǒng)響應(yīng)時(shí)間要求決定了算法復(fù)雜度不可過高,且單域資源(Pod、Pod中服務(wù)器、Pod間連接資源等)有限,采用貪婪搜索快速得到趨優(yōu)解較為合理。
上述算法得到的實(shí)驗(yàn)拓?fù)洳渴鹳Y源分配方案,決定了拓?fù)渲忻總€(gè)網(wǎng)元和每條邊在平臺(tái)中的物理位置,在平臺(tái)數(shù)據(jù)庫中對相應(yīng)資源進(jìn)行預(yù)更新后做鎖定,在后續(xù)部署請求到達(dá)時(shí)這些預(yù)分配資源呈不可用狀態(tài)。同時(shí)啟動(dòng)具體的部署操作,如調(diào)用openstack接口和拓?fù)溥B接器驅(qū)動(dòng),分別在所分配的服務(wù)器上創(chuàng)建各網(wǎng)元對應(yīng)的虛擬機(jī)并加載相應(yīng)的鏡像,通過服務(wù)器網(wǎng)卡、拓?fù)溥B接器端口直通建立網(wǎng)元間連接關(guān)系。由于該部署過程較長,如虛機(jī)的創(chuàng)建、啟動(dòng),采用阻塞等待其完成會(huì)導(dǎo)致系統(tǒng)中其他用戶等待時(shí)間過長,因此采用預(yù)分配方式先鎖定資源,允許后續(xù)部署請求的其他操作,等實(shí)際部署操作完成并返回確認(rèn)后再更新數(shù)據(jù)庫狀態(tài),使得系統(tǒng)處理能力加強(qiáng),請求響應(yīng)時(shí)間縮短。
若算法給出的結(jié)果表明當(dāng)前域資源無法滿足部署要求,將對實(shí)驗(yàn)拓?fù)溥M(jìn)行迭代分割,使得子拓?fù)錆M足資源限制,并將另一部分子拓?fù)浒l(fā)送到跨域平臺(tái)協(xié)調(diào)器Orchestrator,嘗試在其他可能的域進(jìn)行跨越實(shí)驗(yàn)部署。后續(xù)的操作與單域部署類似,只是在預(yù)部署和部署環(huán)節(jié)需分別等待協(xié)調(diào)器返回的預(yù)部署和部署完成確認(rèn)信息。
跨域?qū)嶒?yàn)部署分兩種情況:一是單域資源不足所導(dǎo)致的子拓?fù)淇缭讲渴?二是實(shí)驗(yàn)拓?fù)浔旧硪蟛糠志W(wǎng)元間互連是跨域鏈路。后者同樣需對請求部署的拓?fù)溥M(jìn)行分割,只是該分割是基于用戶所定義的邊進(jìn)行的,相對前者更為簡單明確。
跨域資源部署功能的設(shè)計(jì)如圖4所示,其中域A/B分別為域A和域B的資源調(diào)度系統(tǒng),平臺(tái)A/B分別為域A和域B的域內(nèi)平臺(tái)資源,平臺(tái)A和平臺(tái)B間的紅色連線表示這兩個(gè)域之間有一條可用的物理跨域鏈路;Orchestrator同步獲取所有域的最新資源狀態(tài),維護(hù)一個(gè)完整的多域資源數(shù)據(jù)庫,其本身并不運(yùn)行資源調(diào)度算法,而是接收、轉(zhuǎn)發(fā)來自各個(gè)域的拓?fù)?子拓?fù)?部署請求。因此,從跨域全平臺(tái)的角度看,這種結(jié)構(gòu)下的資源分配并非是一個(gè)最優(yōu)解問題,而是可行解問題--只要來自某個(gè)域A的子拓?fù)洳渴鹫埱笤诹硪粋€(gè)域B得到滿足,則表明域A的部署請求是可滿足的。這在很大程度上是以資源效率換取了整個(gè)系統(tǒng)的松耦合和高可用性。
圖4 創(chuàng)新實(shí)驗(yàn)平臺(tái)跨域部署
單域資源調(diào)度系統(tǒng)與跨域多平臺(tái)協(xié)調(diào)器Orchestrator的接口同樣由Web服務(wù)提供,因?yàn)樵瓌t上其他域的實(shí)驗(yàn)拓?fù)洳渴鹫埱笈c本地用戶的實(shí)驗(yàn)請求是一致的,即點(diǎn)、邊及屬性。通過Web前后端的restful調(diào)用,當(dāng)前平臺(tái)無論是處理本地請求還是來自協(xié)調(diào)器的遠(yuǎn)端請求,抑或是需通過協(xié)調(diào)器發(fā)往其他域的請求,均采用統(tǒng)一的json格式,解析/映射后從資源分配模塊部分看并無差異。這在很大程度上簡化了域間控制交互的設(shè)計(jì)復(fù)雜度,大量單域控制邏輯在跨域部署時(shí)可重用。
在圖1所描述的創(chuàng)新實(shí)驗(yàn)平臺(tái)基礎(chǔ)架構(gòu)中,平臺(tái)提供了包含網(wǎng)絡(luò)軟件功能池等在內(nèi)的實(shí)例資源倉庫,在實(shí)驗(yàn)平臺(tái)中對此部分實(shí)例資源進(jìn)行了開發(fā)實(shí)踐,資源池內(nèi)部結(jié)構(gòu)如圖5。
圖5 實(shí)例資源池內(nèi)部結(jié)構(gòu)
實(shí)例資源池中的實(shí)例按照軟件定義網(wǎng)絡(luò)(Software Defined Network,SDN)進(jìn)行組織,并依據(jù)其職能的不同劃分為控制與管理層實(shí)例、轉(zhuǎn)發(fā)層實(shí)例。其中,網(wǎng)絡(luò)管理系統(tǒng)實(shí)例負(fù)責(zé)對網(wǎng)絡(luò)整體資源使用狀態(tài)進(jìn)行監(jiān)控,執(zhí)行智能接納決策;控制層中的路由控制實(shí)例資源主要負(fù)責(zé)域內(nèi)各個(gè)實(shí)例間的路由計(jì)算,根據(jù)網(wǎng)絡(luò)資源狀態(tài)動(dòng)態(tài)調(diào)整路由計(jì)算策略;轉(zhuǎn)發(fā)層中的實(shí)例資源,可選實(shí)例資源包括IP實(shí)例資源、分組通信數(shù)據(jù)網(wǎng)(Public Telecommunication Data Networks,PTDN)實(shí)例資源與網(wǎng)絡(luò)5.0(Network 5.0,N5)實(shí)例資源。其中IP實(shí)例資源包含IPv4與IPv6實(shí)例資源,以及具備實(shí)現(xiàn)IP協(xié)議棧相關(guān)能力的各類網(wǎng)元。PTDN與N5實(shí)例資源則主要包含邊緣接入網(wǎng)實(shí)例,提供邊緣接入網(wǎng)絡(luò)能力,負(fù)責(zé)隧道封裝、安全接入與接納策略執(zhí)行,核心網(wǎng)絡(luò)中的路由實(shí)例負(fù)責(zé)處理核心網(wǎng)的報(bào)文基礎(chǔ)轉(zhuǎn)發(fā)與路由策略執(zhí)行。此外,地址翻譯實(shí)例支持對PTDN與N5報(bào)文中的地址字段,按照前綴長度等翻譯為實(shí)際轉(zhuǎn)發(fā)層面使用的網(wǎng)絡(luò)地址。
圖5中提到的所有類型實(shí)例資源,均可通過本文提到的資源調(diào)度系統(tǒng)進(jìn)行動(dòng)態(tài)加載,由于實(shí)例形態(tài)靈活、組網(wǎng)便捷,支持實(shí)驗(yàn)用戶快速搭建自定義拓?fù)?驗(yàn)證相關(guān)路由策略、資源管理機(jī)制。
面對高性能架構(gòu),如何進(jìn)行合理的技術(shù)選擇和優(yōu)化成為了開發(fā)實(shí)踐過程中的關(guān)鍵任務(wù)。傳統(tǒng)網(wǎng)絡(luò)元件采用的Linux內(nèi)核網(wǎng)絡(luò)協(xié)議棧,作為一個(gè)經(jīng)過多年積累和優(yōu)化的成熟技術(shù),提供了豐富的網(wǎng)絡(luò)功能和廣泛的兼容性。然而在處理大量并發(fā)數(shù)據(jù)包時(shí),由于涉及的系統(tǒng)調(diào)用、緩沖區(qū)管理、上下文切換等因素,可能出現(xiàn)性能“瓶頸”。此外,基于內(nèi)核的開發(fā)也面臨著更為嚴(yán)格的限制和更高的復(fù)雜性,這在某種程度上限制了開發(fā)的靈活性和創(chuàng)新性。因此實(shí)例資源開發(fā)中采用了數(shù)據(jù)平面開發(fā)套件(Data Plane Development Kit,DPDK)這樣的用戶態(tài)數(shù)據(jù)包處理框架,與傳統(tǒng)內(nèi)核網(wǎng)絡(luò)協(xié)議棧不同,DPDK在用戶態(tài)運(yùn)行,極大降低了上下文切換的開銷。這不僅提升了數(shù)據(jù)包處理效率,還為開發(fā)者提供了更加靈活的編程環(huán)境。DPDK的輪詢模式避免了頻繁的中斷,確保數(shù)據(jù)包能夠連續(xù)、高效地被處理。此外,DPDK提供了先進(jìn)的內(nèi)存管理,結(jié)合大頁內(nèi)存技術(shù)和無鎖環(huán)形緩沖區(qū),DPDK實(shí)現(xiàn)了低延遲、高吞吐量的內(nèi)存訪問。
實(shí)例資源開發(fā)中,針對內(nèi)存、計(jì)算資源的合理配置與高性能I/O做了相關(guān)性能優(yōu)化。
(1)NUMA優(yōu)化:通過在單一NUMA節(jié)點(diǎn)上綁定CPU、內(nèi)存和網(wǎng)卡,確保了實(shí)例中數(shù)據(jù)訪問的局部性,大大降低了資源之間的訪問延遲。
(2)網(wǎng)卡的直通與虛擬功能IO(Virtual Function I/O,VFIO):直通模式為虛擬機(jī)提供了接近物理硬件的性能,而VFIO技術(shù)進(jìn)一步簡化了用戶態(tài)與硬件之間的交互,實(shí)現(xiàn)了高效的數(shù)據(jù)包傳輸。
(3)線程的細(xì)粒度調(diào)度:利用Linux的調(diào)度器,可以將DPDK的處理線程綁定到特定的CPU核心上,確保了數(shù)據(jù)處理的并發(fā)性。
平臺(tái)在2021年開始一期系統(tǒng)搭建,在中國信息通信研究院搭建了30+物理服務(wù)器構(gòu)建的本地環(huán)境,環(huán)境中包含了50 km等特征鏈路,并同期開展了實(shí)例開發(fā)工作。在2022年借助CENI以及科學(xué)技術(shù)部專項(xiàng)的支持,開展了二期跨域建設(shè),在二期建設(shè)中覆蓋南京、深圳、貴陽、武漢等地。在建設(shè)過程中,充分利用已建成部分支撐科技部和聯(lián)盟的多項(xiàng)網(wǎng)絡(luò)創(chuàng)新實(shí)踐,不斷改善平臺(tái)系統(tǒng)功能與易用性。實(shí)驗(yàn)平臺(tái)的應(yīng)用案例如下。
關(guān)于N5P協(xié)議驗(yàn)證的應(yīng)用案例。國家重點(diǎn)研發(fā)計(jì)劃“基于全維可定義的新型網(wǎng)絡(luò)體系架構(gòu)和關(guān)鍵技術(shù)”項(xiàng)目組實(shí)現(xiàn)了網(wǎng)絡(luò)5.0協(xié)議(Network 5.0 Protocols,N5P),除了進(jìn)行4站點(diǎn)的原型設(shè)備組網(wǎng)實(shí)驗(yàn),利用一期平臺(tái)構(gòu)建了20個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)拓?fù)?進(jìn)行了相關(guān)規(guī)模性驗(yàn)證工作。該實(shí)驗(yàn)驗(yàn)證了平臺(tái)的基礎(chǔ)功能,包括網(wǎng)絡(luò)功能鏡像管理、用戶拓?fù)淅L制、資源分配以及拓?fù)鋵?shí)例加載等。
關(guān)于確定性網(wǎng)絡(luò)的應(yīng)用案例。平臺(tái)在進(jìn)行設(shè)計(jì)和搭建過程中得到國家重點(diǎn)研發(fā)計(jì)劃“大規(guī)模確定性骨干網(wǎng)絡(luò)示范驗(yàn)證”項(xiàng)目支持,建設(shè)成果同時(shí)也支撐了該項(xiàng)目的確定性骨干網(wǎng)絡(luò)搭建和實(shí)驗(yàn)驗(yàn)證工作。如圖6所示,在實(shí)驗(yàn)驗(yàn)證中,平臺(tái)除了提供骨干10 G鏈路資源,更為重要的是通過提升平臺(tái)虛擬網(wǎng)元與物理設(shè)備(即項(xiàng)目原型設(shè)備)混合組網(wǎng)能力,充分利用拓?fù)潇`活定制和資源調(diào)度能力,補(bǔ)充項(xiàng)目骨干實(shí)驗(yàn)網(wǎng)絡(luò)和業(yè)務(wù)之間的城域和接入組網(wǎng)空缺(圖6中虛線),提供業(yè)務(wù)在不同確定性平面(即項(xiàng)目中MB級(jí)切片確定性技術(shù)平面和DIP確定性技術(shù)平面)的接入調(diào)度。最終,平臺(tái)很好地支撐確定性網(wǎng)絡(luò)實(shí)驗(yàn)驗(yàn)證工作。
圖6 實(shí)驗(yàn)驗(yàn)證案例拓?fù)涫疽鈭D
網(wǎng)絡(luò)5.0產(chǎn)業(yè)和技術(shù)創(chuàng)新聯(lián)盟正在開展多域建設(shè),引入更多類型的資源,完善北京、南京、武漢、深圳、貴陽五城市七站點(diǎn)的網(wǎng)絡(luò)5.0創(chuàng)新實(shí)驗(yàn)平臺(tái)。平臺(tái)已經(jīng)成為一個(gè)規(guī)模性、異構(gòu)適應(yīng)性、敏捷性以及資源確定性供給的實(shí)驗(yàn)驗(yàn)證環(huán)境,能夠提供底層資源確定性供給,實(shí)現(xiàn)虛擬網(wǎng)元與物理網(wǎng)元聯(lián)合組網(wǎng)、網(wǎng)絡(luò)拓?fù)浜万?yàn)證活動(dòng)的可定制化管理與編排。未來平臺(tái)將繼續(xù)豐富網(wǎng)絡(luò)資源類型、實(shí)例類型和驗(yàn)證工具,優(yōu)化調(diào)度算法,簡化開發(fā)和使用流程,服務(wù)于網(wǎng)絡(luò)創(chuàng)新活動(dòng)。