董永吉 胡宇翔 崔鵬帥
摘要:面向多模態(tài)網(wǎng)絡(luò)需求,提出了一種存轉(zhuǎn)算一體化的數(shù)據(jù)平面共性網(wǎng)絡(luò)平臺(tái),并介紹了該平臺(tái)的框架組成及關(guān)鍵技術(shù)。通過軟硬件協(xié)同、異構(gòu)融合的設(shè)計(jì)優(yōu)勢(shì),該平臺(tái)充分發(fā)揮了數(shù)據(jù)平面的靈活性與可擴(kuò)展性,支持多樣化業(yè)務(wù)可定義的轉(zhuǎn)發(fā)和處理,滿足多模態(tài)網(wǎng)絡(luò)發(fā)展中存儲(chǔ)、轉(zhuǎn)發(fā)與計(jì)算融合的需求。
關(guān)鍵詞:多模態(tài)網(wǎng)絡(luò);可編程數(shù)據(jù)平面;異構(gòu)融合
Abstract: For the multimodal network requirements, a data plane platform integrating storage, forwarding, and computing is proposed, and the framework composition and key technology are introduced . The platform further releases the flexibility and scalability of the data plane through the coordination of software processing and hardware processing . The advantages of heterogeneousness and integration support di? versified network applications with definable forwarding and processing, which can cope with the urgent needs of integration of storage, for? warding, and computing in the polymorphic networks .
Keywords: polymorphic network; programmable data plane; heterogeneous fusion
當(dāng)前互聯(lián)網(wǎng)發(fā)展進(jìn)入了新時(shí)代,隨路計(jì)算、確定性網(wǎng)絡(luò)、低時(shí)延網(wǎng)絡(luò)等新型網(wǎng)絡(luò)技術(shù)的出現(xiàn)加速了工業(yè)生產(chǎn)、社會(huì)生活與網(wǎng)絡(luò)的深層次融合。當(dāng)前互聯(lián)網(wǎng)的基礎(chǔ)架構(gòu)與技術(shù)體系,在智慧化、多元化、個(gè)性化、高魯棒、高效能等方面面臨重大挑戰(zhàn),亟須變革網(wǎng)絡(luò)基礎(chǔ)架構(gòu)并構(gòu)建全維可定義的多模態(tài)智慧網(wǎng)絡(luò)[1]。
然而,傳統(tǒng)單一面向盡力而為轉(zhuǎn)發(fā)功能的網(wǎng)元設(shè)備結(jié)構(gòu),既無法滿足5G、物聯(lián)網(wǎng)等的業(yè)務(wù)流量多樣化處理需求,也無法滿足低時(shí)延網(wǎng)絡(luò)、確定時(shí)延網(wǎng)絡(luò)等細(xì)粒度服務(wù)需求,以及網(wǎng)絡(luò)新業(yè)務(wù)的快速部署,更無法支持網(wǎng)絡(luò)體系創(chuàng)新,所以網(wǎng)元設(shè)備的困局成為網(wǎng)絡(luò)發(fā)展的瓶頸[2]。
為了應(yīng)對(duì)這一挑戰(zhàn),學(xué)術(shù)界和工業(yè)界不斷推出新技術(shù)和新理念。 2008年,斯坦福大學(xué)提出了軟件定義網(wǎng)絡(luò)(SDN)及 OpenFlow 技術(shù)[3],將傳統(tǒng)剛性封閉網(wǎng)元設(shè)備結(jié)構(gòu)中的數(shù)據(jù)平面與控制平面解耦。分離出的應(yīng)用平面和控制平面通過編程化來應(yīng)對(duì)不同場景的需求,并采用標(biāo)準(zhǔn)化的 OpenFlow 協(xié)議對(duì)網(wǎng)元設(shè)備進(jìn)行配置和管理,提升了網(wǎng)絡(luò)管控的靈活性,一定程度上增強(qiáng)了部署新業(yè)務(wù)的能力。但由于 OpenFlow 協(xié)議定義能力有限,導(dǎo)致為了支持新協(xié)議或新業(yè)務(wù),該協(xié)議需要向下兼容地?cái)U(kuò)展內(nèi)容。于是該協(xié)議從最早的1.0版本的12個(gè)匹配域,不斷擴(kuò)充到1.5版本的45個(gè)匹配域。這種剛性補(bǔ)丁擴(kuò)容式的協(xié)議支持方式,無法滿足靈活可定義的新協(xié)議需求。同時(shí),每一次協(xié)議版本的升級(jí)和擴(kuò)展,都會(huì)導(dǎo)致數(shù)據(jù)平面和控制平面設(shè)備的重新研制。這樣一來,新技術(shù)的應(yīng)用時(shí)間和開發(fā)成本則無法有效縮減。
針對(duì) SDN 數(shù)據(jù)平面網(wǎng)元設(shè)備協(xié)議處理可擴(kuò)展性差的問題,協(xié)議無關(guān)轉(zhuǎn)發(fā)(POF)研究引起業(yè)內(nèi)的廣泛關(guān)注, POF[4]、? P4語言及協(xié)議無關(guān)的交換機(jī)架構(gòu)(PISA) [5]先后被提出。其中, P4具有與協(xié)議無關(guān)、可重配置性和平臺(tái)無關(guān)性三大特點(diǎn),緩解了 SDN 編程能力不足以及可拓展性差的狀況。尤其是數(shù)據(jù)平面的可編程性,推動(dòng)了虛擬擴(kuò)展局域網(wǎng)(VxLAN)、基于用戶數(shù)據(jù)報(bào)協(xié)議(UDP)的低時(shí)延的互聯(lián)網(wǎng)傳輸層協(xié)議(QUIC)、網(wǎng)絡(luò)帶內(nèi)遙測(cè)等新協(xié)議與功能的快速定制與部署,但 P4技術(shù)規(guī)范[6]僅僅描述了數(shù)據(jù)轉(zhuǎn)發(fā)的模型。雖然支持面向轉(zhuǎn)發(fā)的功能可定義,但仍無法滿足數(shù)據(jù)包的存儲(chǔ)、轉(zhuǎn)發(fā)、計(jì)算協(xié)同處理復(fù)雜場景應(yīng)用需求。因此,為了提供更好的網(wǎng)絡(luò)傳輸服務(wù),業(yè)界開始在數(shù)據(jù)平面上整合現(xiàn)場可編程門陣列(FPGA)、圖形處理器(GPU)等異構(gòu)加速單元[7],通過本地的硬件加速技術(shù)實(shí)現(xiàn)業(yè)務(wù)功能的卸載,通過網(wǎng)元實(shí)現(xiàn)數(shù)據(jù)的加速,從而實(shí)現(xiàn)整個(gè)網(wǎng)絡(luò)性能和服務(wù)質(zhì)量。
雖然數(shù)據(jù)平面在硬件可編程方面不斷發(fā)展,但網(wǎng)元設(shè)備的設(shè)計(jì)卻依舊停留在封閉結(jié)構(gòu)上,沒有發(fā)揮可編程硬件靈活可擴(kuò)展的能力。針對(duì)此,底層可編程硬件與上層軟件功能和管理配置解耦的白盒結(jié)構(gòu)被廣泛采納。白盒設(shè)備的硬件兼容多種轉(zhuǎn)發(fā)芯片的接口,并遵循開放計(jì)算項(xiàng)目(OCP)標(biāo)準(zhǔn)化規(guī)范設(shè)計(jì)。同時(shí),軟件的平臺(tái)操作系統(tǒng)及承載的各種網(wǎng)絡(luò)應(yīng)用也采用規(guī)范化的接口,實(shí)現(xiàn)底層硬件與軟件的獨(dú)立設(shè)計(jì)。例如,微軟打造的開源網(wǎng)絡(luò)交換機(jī)操作系統(tǒng) SONIC[8],采用的交換機(jī)抽象接口(SAI),解耦了軟硬件的實(shí)現(xiàn)細(xì)節(jié),但是該系統(tǒng)接口與協(xié)議緊耦合,無法適配和部署新的業(yè)務(wù)。為了解決這個(gè)問題,谷歌提出了 Stratum 系統(tǒng)[9],旨在配合硬件的可編程特性,實(shí)現(xiàn)一個(gè)完全可編程的數(shù)據(jù)平面網(wǎng)元設(shè)備。為此,該系統(tǒng)集成了一個(gè)協(xié)議無關(guān)轉(zhuǎn)發(fā)接口 P4Runtime,在開放網(wǎng)絡(luò)操作系統(tǒng)(ONOS)控制器的管理下,可以靈活轉(zhuǎn)發(fā)部署新型協(xié)議;但是當(dāng)前網(wǎng)元操作系統(tǒng)僅可以實(shí)現(xiàn)對(duì)交換芯片的抽象,硬件異構(gòu)的加速單元沒有納入其管理范疇。
與此同時(shí),為了更好地支持?jǐn)?shù)據(jù)平面的可編程,業(yè)界開展了多種編譯器的研究工作,尤其針對(duì)交換芯片、FPGA 或軟件交換機(jī)的 P4語言編程,以及多種異構(gòu)芯片的整體硬件編譯方法設(shè)計(jì)[10]。? Intel 公司的tonifo芯片[11]支持基于商用的軟件開發(fā)環(huán)境(SDE)開發(fā),但是由于其不開源的特性,無法支持用戶可擴(kuò)展的、定制化的功能編譯。在基于 FPGA 的編譯器及結(jié)構(gòu)設(shè)計(jì)方面,業(yè)界提出了多種解決方案[12-13],但這些方案主要集中在轉(zhuǎn)發(fā)功能的實(shí)現(xiàn)上,沒有充分利用 FPGA 的可編程特性。另外,面向交換機(jī)軟件模型(BMv2)的軟件編譯結(jié)果限于性能瓶頸[14],無法直接應(yīng)用于高速流量場景。而當(dāng)一個(gè)網(wǎng)元設(shè)備同時(shí)包含多樣的可編程目標(biāo)器件時(shí),由于缺乏一個(gè)統(tǒng)一調(diào)度的協(xié)同編譯環(huán)境,編譯器無法有效糅合異構(gòu)資源的優(yōu)勢(shì),因此不能達(dá)到高效、靈活的編譯效果。
1多模態(tài)網(wǎng)絡(luò)的提出
針對(duì)現(xiàn)有網(wǎng)絡(luò)架構(gòu)存在的結(jié)構(gòu)僵化、IP 單一承載、難以抑制未知威脅等問題,我們從網(wǎng)絡(luò)構(gòu)造的角度來提升網(wǎng)絡(luò)的功能、性能、效能、安全等,將“結(jié)構(gòu)可定義”貫穿網(wǎng)絡(luò)的各個(gè)層面。鄔江興院士提出了一種網(wǎng)絡(luò)各層功能多模態(tài)呈現(xiàn)的網(wǎng)絡(luò)架構(gòu)——全維可定義的多模態(tài)智慧網(wǎng)絡(luò)(PINet) [2]。PINet是一種技術(shù)體制與物理平臺(tái)分離的網(wǎng)絡(luò)發(fā)展范式,如圖 1所示,PINet將各種網(wǎng)絡(luò)技術(shù)體制以模態(tài)的形式在多模態(tài)網(wǎng)絡(luò)環(huán)境上動(dòng)態(tài)加載并運(yùn)行,按照模態(tài)自定義的報(bào)文格式、路由協(xié)議、交換方式、轉(zhuǎn)發(fā)邏輯等進(jìn)行處理,實(shí)現(xiàn)多種模態(tài)在同一物理網(wǎng)絡(luò)平臺(tái)上的共存、演進(jìn)或變革發(fā)展。
在多模態(tài)網(wǎng)絡(luò)邏輯框架中,多模態(tài)網(wǎng)絡(luò)環(huán)境是多模態(tài)網(wǎng)絡(luò)的核心,而網(wǎng)元設(shè)備是支撐多模態(tài)網(wǎng)絡(luò)環(huán)境的基石。然而,當(dāng)前網(wǎng)元設(shè)備卻無法滿足多模態(tài)網(wǎng)絡(luò)環(huán)境的構(gòu)建需求。因此,我們需要一個(gè)共性平臺(tái)來重新整合數(shù)據(jù)平面中存儲(chǔ)、轉(zhuǎn)發(fā)和計(jì)算,支持自定義模態(tài)報(bào)文的解析、轉(zhuǎn)發(fā)及交換處理。
2多模態(tài)網(wǎng)絡(luò)共性平臺(tái)的技術(shù)特征
為應(yīng)對(duì)新協(xié)議和應(yīng)用部署的挑戰(zhàn),推動(dòng)新型網(wǎng)絡(luò)結(jié)構(gòu)的演進(jìn)發(fā)展,網(wǎng)元設(shè)備需要提供靈活可擴(kuò)展、高性能和安全的服務(wù)支撐。本文梳理出面向存轉(zhuǎn)算一體化的數(shù)據(jù)平面共性網(wǎng)絡(luò)平臺(tái)的技術(shù)特征,如圖2 所示。
(1)新型標(biāo)識(shí)和報(bào)文的自定義解析與處理
面向定制化、個(gè)性化服務(wù)承載的需求,共性網(wǎng)絡(luò)平臺(tái)需要支持用戶自定義接入標(biāo)識(shí)結(jié)構(gòu)和數(shù)據(jù)報(bào)文結(jié)構(gòu),并按照自定義邏輯進(jìn)行報(bào)文處理,進(jìn)而支撐傳輸協(xié)議、尋址路由等的全維度可定義。其中,尋址路由體現(xiàn)為基于互聯(lián)網(wǎng)協(xié)議(IP)、身份、內(nèi)容、地理空間等標(biāo)識(shí)的多種尋址路由方式與機(jī)制,傳輸協(xié)議體現(xiàn)為面向功能、場景、業(yè)務(wù)等需求的各種網(wǎng)絡(luò)協(xié)議。通過支持各種新型網(wǎng)絡(luò)機(jī)制的互聯(lián)互通、協(xié)同組合,可以提高網(wǎng)絡(luò)服務(wù)的多元化能力和對(duì)于用戶需求的個(gè)性化適應(yīng)能力。
(2)存儲(chǔ)、轉(zhuǎn)發(fā)與計(jì)算一體設(shè)計(jì)
網(wǎng)絡(luò)超融合、邊緣計(jì)算、隨路計(jì)算等日益多樣化的業(yè)務(wù)功能需求對(duì)共性網(wǎng)絡(luò)平臺(tái)提出了更大的挑戰(zhàn)。在滿足共性網(wǎng)絡(luò)平臺(tái)支持靈活轉(zhuǎn)發(fā)能力的基礎(chǔ)上,在數(shù)據(jù)平面引入存儲(chǔ)、轉(zhuǎn)發(fā)與計(jì)算一體的、可定義的復(fù)合流水線結(jié)構(gòu)設(shè)計(jì),實(shí)現(xiàn)存儲(chǔ)、轉(zhuǎn)發(fā)、計(jì)算3種資源在數(shù)據(jù)轉(zhuǎn)發(fā)的過程中靈活組合、調(diào)用,適配不同應(yīng)用場景下特質(zhì)化的處理需求。
(3)內(nèi)生安全構(gòu)造
在由內(nèi)生安全構(gòu)造的共性網(wǎng)絡(luò)平臺(tái)中,“動(dòng)態(tài)異構(gòu)冗余”的設(shè)計(jì)思想已被引入數(shù)據(jù)平面。該平臺(tái)以異構(gòu)處理組件構(gòu)成的元功能池為基礎(chǔ),生成多種等價(jià)異構(gòu)執(zhí)行體,并通過多模裁決和負(fù)反饋調(diào)度機(jī)制,實(shí)現(xiàn)內(nèi)生防御的安全機(jī)制,以應(yīng)對(duì)平臺(tái)在軟硬件設(shè)計(jì)過程中不可避免的后門及漏洞等安全威脅。該平臺(tái)能夠有效抵御各種病毒/木馬等已知或未知的威脅,并通過將網(wǎng)絡(luò)空間安全能力由“外掛”轉(zhuǎn)變?yōu)椤皟?nèi)生”,從而實(shí)現(xiàn)“高可信、高可用、高可靠”三位一體的網(wǎng)絡(luò)安全服務(wù)。
(4)面向異構(gòu)軟硬件資源的協(xié)同編譯
為了提供共性網(wǎng)絡(luò)平臺(tái)上多種異構(gòu)資源的可編程性和通用性,降低設(shè)備開發(fā)的難度,縮短面向特定場景的應(yīng)用部署時(shí)間,我們需要提供一個(gè)“自頂向下”的由高級(jí)編程語言和編譯器組成的編譯環(huán)境。該編譯環(huán)境能夠面向多種異構(gòu)軟硬件功能組件構(gòu)建統(tǒng)一編程模型,提供用戶高級(jí)語言編程接口,屏蔽底層硬件支持協(xié)同調(diào)度各類型軟硬件資源的細(xì)節(jié),并通過單純的數(shù)據(jù)包存儲(chǔ)、轉(zhuǎn)發(fā)、計(jì)算等處理邏輯的形式化描述,實(shí)現(xiàn)網(wǎng)絡(luò)處理性能和功能靈活性之間的平衡。
(5)多模態(tài)混合交換調(diào)度
在差異化的應(yīng)用場景下,特定業(yè)務(wù)流的突發(fā)性、包長度、流量大小和速率特性有所不同。與此同時(shí),不同的確定時(shí)延網(wǎng)絡(luò)、低時(shí)延網(wǎng)絡(luò)等新型網(wǎng)絡(luò)技術(shù)體制的數(shù)據(jù)報(bào)文交換指標(biāo)也不盡相同。每一種新型網(wǎng)絡(luò)技術(shù)體制可被視為一種新型的模態(tài)。多模態(tài)混合調(diào)度技術(shù)可以為每一種模態(tài)提供定制化服務(wù)與質(zhì)量保障,還可以均衡多種模態(tài)間的公平/優(yōu)先級(jí)交換的策略,提升交換帶寬資源利用率,保障網(wǎng)絡(luò)交換服務(wù)質(zhì)量。
3共性網(wǎng)絡(luò)平臺(tái)的分層結(jié)構(gòu)
共性網(wǎng)絡(luò)平臺(tái)的分層結(jié)構(gòu)模型如圖3 所示,整體上分為硬件層、系統(tǒng)層和編譯層。 3 個(gè)層面相互依存、相互支撐。其中,硬件層是整個(gè)平臺(tái)的底層支撐,通過多種異構(gòu)資源的疊加,支撐數(shù)據(jù)包存儲(chǔ)、轉(zhuǎn)發(fā)和計(jì)算的一體化處理;系統(tǒng)層實(shí)現(xiàn)異構(gòu)資源的協(xié)同,以及各種網(wǎng)絡(luò)功能的控制和管理;編譯層實(shí)現(xiàn)對(duì)整個(gè)共性網(wǎng)絡(luò)平臺(tái)功能的編譯,通過將高級(jí)語言描述的自定義功能映射到平臺(tái)上,實(shí)現(xiàn)多樣化業(yè)務(wù)的異構(gòu)接入、交換和傳輸。
3.1硬件層邏輯設(shè)計(jì)
硬件層的處理邏輯如圖4 所示,主要分為5 個(gè)組件:可定義解析、入口流水線、調(diào)度器、出口流水線和可定義逆解析。 5個(gè)組件都引入可編程能力,可根據(jù)高級(jí)語言形式化描述的編譯結(jié)果,靈活重構(gòu)出定制化的服務(wù)功能。
可定義解析/逆解析組件可通過編譯器接口進(jìn)行配置??啥x解析組件支持按照用戶定義的任意協(xié)議字段進(jìn)行解析,并提取對(duì)應(yīng)的字段作為入口/出口流水線中流表的關(guān)鍵詞進(jìn)行多域匹配;可定義逆解析組件支持按照用戶自定義的任意數(shù)據(jù)格式進(jìn)行封裝,實(shí)現(xiàn)協(xié)議包頭內(nèi)容的增添、修改和轉(zhuǎn)換功能。
入口/出口流水線組件采用融合異構(gòu)處理資源的多級(jí)流水線設(shè)計(jì),在支持類似 P4可定義的轉(zhuǎn)發(fā)流水線的基礎(chǔ)上,將計(jì)算和存儲(chǔ)功能掛載到并行的流水線上,再通過流水線的調(diào)用支持多種處理能力的融合,并采用協(xié)議無關(guān)的配置接口轉(zhuǎn)發(fā)流表和動(dòng)作信息,為不同的模態(tài)和協(xié)議流分配不同的流水線資源。這樣可使得不同的模態(tài)和協(xié)議相對(duì)獨(dú)立、并行地在平臺(tái)上運(yùn)行,而每種流表都可以基于用戶定義的關(guān)鍵詞進(jìn)行構(gòu)建,其匹配的動(dòng)作集為存儲(chǔ)、轉(zhuǎn)發(fā)以及計(jì)算3 種類別的操作集合。
調(diào)度器可以通過調(diào)度接口配置,實(shí)現(xiàn)面向流表的定制化的調(diào)度,并通過配置平臺(tái)流水線上各個(gè)隊(duì)列的屬性、帶寬保障、優(yōu)先級(jí)和調(diào)度策略,實(shí)現(xiàn)精細(xì)化、差異化的交換能力服務(wù)。
3.2系統(tǒng)層邏輯設(shè)計(jì)
系統(tǒng)層實(shí)現(xiàn)對(duì)硬件層異構(gòu)資源的管理,以及與控制器間的互通,系統(tǒng)邏輯如圖5 所示,主要包括編譯接口、北向接口、系統(tǒng)管理和南向接口4 個(gè)部分。編譯接口為編譯層與系統(tǒng)層的接口,支持編譯結(jié)果的配置與下發(fā),實(shí)現(xiàn)異構(gòu)資源的可定義重構(gòu)。北向接口為共性網(wǎng)絡(luò)平臺(tái)與控制器之間的配置管理接口,用于接收控制平面的控制器生成的各種流表信息,引導(dǎo)和決定共性網(wǎng)絡(luò)平臺(tái)的數(shù)據(jù)處理行為,并采用協(xié)議無關(guān)的協(xié)議交互機(jī)制,支持用戶自定義結(jié)構(gòu)和流表信息的傳遞。系統(tǒng)管理是形成共性網(wǎng)絡(luò)平臺(tái)能力的功能集,采用內(nèi)生安全構(gòu)造核心節(jié)點(diǎn)功能,以動(dòng)態(tài)、隨機(jī)改變核心功能的靜態(tài)性、確定性,進(jìn)而提供內(nèi)生安全的防護(hù)能力。系統(tǒng)管理由運(yùn)維管理和異構(gòu)多維資源管理兩部分功能組成,通過容器化構(gòu)建、模塊間聯(lián)動(dòng)解耦的方式,實(shí)現(xiàn)了對(duì)硬件層異構(gòu)多維資源的管理,以及控制器配置信息的維護(hù)。南向接口為硬件層和系統(tǒng)層的接口,是對(duì)交換芯片、FPGA、多核等異構(gòu)芯片接口的統(tǒng)一抽象,對(duì)上提供一系列標(biāo)準(zhǔn)化的應(yīng)用程序編程接口(API),使系統(tǒng)層功能不再關(guān)心硬件層中異構(gòu)芯片的硬件細(xì)節(jié),并采用統(tǒng)一的方式接口進(jìn)行管理和配置。
3.3編譯層邏輯設(shè)計(jì)
編譯層邏輯組成如圖6 所示,主要包括存儲(chǔ)、轉(zhuǎn)發(fā)、計(jì)算一體化的編譯器框架和高級(jí)可編程語言設(shè)計(jì)兩部分。針對(duì)存儲(chǔ)、轉(zhuǎn)發(fā)、計(jì)算一體化的異構(gòu)特點(diǎn),編譯層對(duì)數(shù)據(jù)平面關(guān)鍵要素進(jìn)行提取,抽象出一套融合存儲(chǔ)、轉(zhuǎn)發(fā)和計(jì)算的數(shù)據(jù)平面操作指令集,用于定義和描述數(shù)據(jù)平面的行為(包括控制原語、存儲(chǔ)原語、計(jì)算原語、轉(zhuǎn)發(fā)原語),更加靈活地描述數(shù)據(jù)平面,實(shí)現(xiàn)數(shù)據(jù)平面與控制平面的解耦和接口的標(biāo)準(zhǔn)化。
基于開放式結(jié)構(gòu)設(shè)計(jì),編譯器框架參考了 P4編譯器前后端解耦分離的設(shè)計(jì)。前端編譯器擴(kuò)展支持存儲(chǔ)、轉(zhuǎn)發(fā)和計(jì)算功能的統(tǒng)一編譯;而后端編譯器支持多樣化的編譯目標(biāo),以及可擴(kuò)展的目標(biāo)結(jié)構(gòu),并能設(shè)計(jì)編譯流程與仿真驗(yàn)證環(huán)境,更好地支持編譯器的發(fā)展與演進(jìn)。前端編譯器側(cè)重于通用基礎(chǔ)的編譯功能,主要實(shí)現(xiàn)編譯過程的結(jié)構(gòu)詞法分析、文件語法分析以及段落語義分析3 個(gè)功能:詞法分析主要將待編譯的源文件按照語法分割為獨(dú)立的標(biāo)記和單詞,而源文件中的制表符、空格等編碼無效字符會(huì)被替換并刪除,并根據(jù)注釋中的相關(guān)輔助類語法將語法標(biāo)記或詞組分類;根據(jù)語法模板,語法分析可以從語法角度判斷不同分組間代碼結(jié)構(gòu)的正確性,并生成抽象表達(dá);語義分析針對(duì)整個(gè)源文件的含義進(jìn)行分析,排查邏輯漏洞,展開嵌套循環(huán),并生成中間表達(dá)形式(IR)。后端編譯器面向獨(dú)立目標(biāo)器件構(gòu)建,基于前端生成的中間表達(dá)形式,結(jié)合具體的芯片屬性生成最終的目標(biāo)文件。后端編譯器支持多種芯片類型,如 ASIC 交換芯片、 FPGA 芯片、x86多核芯片、ARM 多核芯片等。所有類型的后端編譯器采用共享通用可擴(kuò)展的接口,支持新型編程器件的可擴(kuò)展和現(xiàn)有功能器件的可演進(jìn)。
面向該框架設(shè)計(jì),高級(jí)可編程語言統(tǒng)一抽象描述異構(gòu)編程對(duì)象的功能特征,主要包含5 個(gè)要素:解析器、查找表、匹配動(dòng)作、逆解析器和控制流程。其中,解析器通過定義并有序描述協(xié)議的特征,指導(dǎo)硬件層中可定義解析組件按照一定的邏輯解析數(shù)據(jù)報(bào)文;查找表用于構(gòu)建硬件層中入口/出口流水線組件流表的匹配關(guān)鍵詞和掩碼的長度以及匹配模式方法,如最長匹配、精確匹配范圍匹配等;匹配動(dòng)作定義查找表匹配之后的動(dòng)作模式,分別包括面向數(shù)學(xué)運(yùn)算的計(jì)算類動(dòng)作、面向本地存儲(chǔ)的存儲(chǔ)類動(dòng)作、面向可定義流轉(zhuǎn)的轉(zhuǎn)發(fā)類動(dòng)作;逆解析器通過定義有序的協(xié)議字段組合,指導(dǎo)可定義逆解析組件實(shí)現(xiàn)數(shù)據(jù)報(bào)文的協(xié)議的重組和封裝;控制流程定義數(shù)據(jù)報(bào)文在硬件層的順序及判斷跳轉(zhuǎn)執(zhí)行邏輯,進(jìn)而指導(dǎo)硬件層完成對(duì)進(jìn)入系統(tǒng)中數(shù)據(jù)報(bào)文的處理流程。
4結(jié)束語
本文提出了一種支持存儲(chǔ)、轉(zhuǎn)發(fā)、計(jì)算一體的多模態(tài)共性網(wǎng)絡(luò)平臺(tái)結(jié)構(gòu)。該結(jié)構(gòu)通過融合異構(gòu)芯片功能構(gòu)建數(shù)據(jù)平面的處理能力,采用可擴(kuò)展的操作系統(tǒng)管理異構(gòu)資源,從而提供統(tǒng)一的軟硬件協(xié)同編譯環(huán)境,形成存儲(chǔ)、轉(zhuǎn)發(fā)、計(jì)算一體的系統(tǒng)平臺(tái)能力,支撐多模態(tài)網(wǎng)絡(luò)中新型模態(tài)、協(xié)議和業(yè)務(wù)的融合、演進(jìn)與發(fā)展。
參考文獻(xiàn)
[1]李軍飛,胡宇翔,伊鵬, 等. 面向2035的多模態(tài)智慧網(wǎng)絡(luò)技術(shù)發(fā)展路線圖[J].中國工程科學(xué), 2020,22(3):141-147
[2]胡宇翔, 伊鵬, 孫鵬浩, 等. 全維可定義的多模態(tài)智慧網(wǎng)絡(luò)體系研究[J].通信學(xué)報(bào), 2019, 40(8):1-12
[3] MCKEOWN? N,? ANDERSON? T,? BALAKRISHNAN? H,? et? al.? OpenFlow : enabling? innovation? in? campus? networks [J]. ACM? SIGCOMM? computer communication review, 2008, 38(2):69-74. DOI:10.1145/1355734. 1355746
[4] SONG H . Protocol-oblivious forwarding : unleash the power of SDN through a? future-proof? forwarding? plane? [C]//Proceedings? of? the? Second? ACM SIGCOMM? Workshop? on? Hot? Topics? in? Software? Defined? Networking .ACM, 2013:127-132. DOI:10.1145/2491185.2491190
[5] BOSSHART? P,? DALY? D,? GIBB? G,? et? al.? P4:? programming? protocol-independent??? packet??? processors?? [J].?? ACM??? SIGCOMM??? computercommunication review, 2014, 44(3):87-95. DOI:10.1145/2656877.2656890
[6] P4 Language Consortium . P4[ EB/OL].(2003-07-31)[2021-12-15]. https://p4.org/
[7] WANG? S? H,? MENG? Z? L,? SUN? C,? et? al. SmartChain: enabling? high-performance? service? chain? partition? between? SmartNIC? and? CPU? [C]//Proceedings? of? ICC? 2020? -? 2020? IEEE? International? Conference? onCommunications . IEEE, 2020:1-7. DOI:10.1109/ICC40277.2020.9149136
[8] SCANO? D,? GIORGETTI A, SGAMBELLURI A, et al. Hierarchical control ofSONiC-based? packet-optical? nodes? encompassing? coherent? pluggablemodules? [C]//2021?? European? Conference? on? Optical? Communication( ECOC). USA: IEEE, 2021: 1-3. DOI:10.1109/ECOC52684.2021.9605850
[9] CONNOR O B, GHAFFARKHAH A, PUDELKO M, et al. Enabling the era ofnext? generation? SDN [ EB/OL]. [2021-12-10]. https://opennetworking . org/stratum
[10] SANTIAGO DA SILVA J, STIMPFLING T, LUINAUD T, et al. One for all, allfor? one : a? heterogeneous? data? plane? for? flexible? P4 processing [C]//Proceedings? of 2018? IEEE 26th? international? conference? on? networkprotocols . IEEE, 2018:440-441. DOI:10.1109/ICNP .2018.00063
[11] AGRAWAL? A,? KIM? C . Intel? Tofino2 – A 12.9 Tbps? P4-programmableethernet switch [C]//Proceedings of 2020 IEEE? Hot Chips 32 Symposium(HCS). IEEE, 2020:18-22. DOI:10.1109/hcs49909.2020.9220636
[12] LUINAUD? T,? SANTIAGO? DA? SILVA? J,? LANGLOIS? J? M? P,? et? al. Designprinciples for packet deparsers on FPGAs [C]//Proceedings of 2021 ACM/SIGDA? International? Symposium? on? Field-Programmable? Gate? Arrays .ACM, 2021: 280–286. DOI:10.1145/3431920.3439303
[13] CAO? Z,? SU? H? Y,? YANG? Q? M,? et? al. P4 to? FPGA-A? fast? approach? forgenerating efficient network processors [J]. IEEE access, 2020, 8:23440-23456. DOI:10.1109/ACCESS .2020.2970683
[14] LAKI? S,? HORPáCSI? D,? V?R?S? P,? et? al. High? speed? packet? forwardingcompiled? from? protocol? independent? data? plane? specifications? [C]//Proceedings of the 2016 ACM SIGCOMM conference . ACM, 2016:629-630. DOI:10.1145/2934872.2959080
作者簡介
董永吉,解放軍戰(zhàn)略支援部隊(duì)信息工程大學(xué)副研究員;長期從事路由與交換技術(shù)、網(wǎng)絡(luò)安全和新型網(wǎng)絡(luò)體系結(jié)構(gòu)方面的研究工作;先后主持了1項(xiàng)國家重點(diǎn)研發(fā)課題,參與多項(xiàng)國家重點(diǎn)研發(fā)計(jì)劃、“863”“973”項(xiàng)目,獲得3項(xiàng)科研成果獎(jiǎng);發(fā)表論文10余篇,申請(qǐng)國家發(fā)明專利14項(xiàng),出版專著2部。
胡宇翔,解放軍戰(zhàn)略支援部隊(duì)信息工程大學(xué)教授、博士生導(dǎo)師;主要研究方向?yàn)樾滦途W(wǎng)絡(luò)體系結(jié)構(gòu)、路由與交換技術(shù)。
崔鵬帥(通信作者),解放軍戰(zhàn)略支援部隊(duì)信息工程大學(xué)副研究員;主要研究方向?yàn)樾滦途W(wǎng)絡(luò)體系結(jié)構(gòu)、可編程數(shù)據(jù)平面。