阿基米德說(shuō):“給我一個(gè)杠桿我能翹起整個(gè)地球!”
曾有人說(shuō):“給我一臺(tái)OpenBox設(shè)備,我能改變整個(gè)網(wǎng)絡(luò)!”
今天,我們嘗試講講如何構(gòu)建一個(gè)全新理念的未來(lái)網(wǎng)絡(luò),這當(dāng)然是在兼容現(xiàn)有網(wǎng)絡(luò)的基礎(chǔ)之上,不然這個(gè)網(wǎng)絡(luò)是無(wú)法演進(jìn)的。未來(lái)網(wǎng)絡(luò)不應(yīng)該受困于ETH、IP、TCP、UDP!P4是目前可支持網(wǎng)絡(luò)架構(gòu)創(chuàng)新、演進(jìn)、部署和實(shí)施最可行的軟硬件聯(lián)合解決方案。
確定性混式模網(wǎng)(Deterministic mix-Multmodal Network,DMN)是一種可以支持不同模態(tài)數(shù)據(jù)進(jìn)行混合處理、轉(zhuǎn)發(fā)和通信,并具備確定性、可靠性傳輸屬性的網(wǎng)絡(luò)。
A)網(wǎng)絡(luò)本質(zhì)
網(wǎng)絡(luò)的本質(zhì)是聯(lián)通和傳遞,是兩個(gè)以上不同時(shí)空節(jié)點(diǎn)的信息交流。網(wǎng)絡(luò)能夠?qū)⒉煌墓?jié)點(diǎn)聯(lián)通起來(lái),通過(guò)有線(xiàn)、無(wú)線(xiàn)或其他媒體介質(zhì)互聯(lián)互通。節(jié)點(diǎn)是任何可以產(chǎn)生數(shù)據(jù)或消費(fèi)數(shù)據(jù)的對(duì)象,節(jié)點(diǎn)也可以具備傳遞功能,即數(shù)據(jù)分發(fā)能力,涉及對(duì)數(shù)據(jù)的相關(guān)行為處理。傳遞的網(wǎng)絡(luò)信息由某個(gè)時(shí)刻在某個(gè)位置產(chǎn)生,在另一時(shí)間的另一位置接收。節(jié)點(diǎn)間通過(guò)收發(fā)和傳遞網(wǎng)絡(luò)信息來(lái)完成交流。
B)網(wǎng)絡(luò)屬性
網(wǎng)絡(luò)信息具備的屬性有長(zhǎng)度、收發(fā)時(shí)間、傳輸時(shí)長(zhǎng)、抖動(dòng)和路徑等。網(wǎng)絡(luò)節(jié)點(diǎn)的屬性有端口、速率、轉(zhuǎn)發(fā)延時(shí)、抖動(dòng)和緩存大小等。
C)網(wǎng)絡(luò)行為
完成一次網(wǎng)絡(luò)信息交互,可能包含多方面的行為描述。描述內(nèi)容攜帶的網(wǎng)絡(luò)信息內(nèi)部,有結(jié)構(gòu)有層次的存儲(chǔ)。具體行為的執(zhí)行在包括在生產(chǎn)節(jié)點(diǎn)、傳輸節(jié)點(diǎn)和消費(fèi)節(jié)點(diǎn)發(fā)生,主要包括信息查詢(xún)、修改、丟棄和轉(zhuǎn)發(fā)等。
D)網(wǎng)絡(luò)模態(tài)
具有同質(zhì)結(jié)構(gòu)的網(wǎng)絡(luò)信息模式稱(chēng)為一種網(wǎng)絡(luò)模態(tài),即就是通常理解的一種具體的網(wǎng)絡(luò)協(xié)議格式。網(wǎng)絡(luò)模態(tài)的定義通常由一組標(biāo)向量描述,記為M{V}。M表示一種模態(tài),V表示描述模態(tài)的標(biāo)向量合集。標(biāo)向量可分為兩種類(lèi)型,一種是域類(lèi)型,標(biāo)記為Vf(俗稱(chēng)協(xié)議字段),另一種為標(biāo)向量合集類(lèi)型,也稱(chēng)為子模態(tài),標(biāo)記為Vv(俗稱(chēng)協(xié)議負(fù)載)。當(dāng)V的集合中只有一個(gè)Vf的時(shí)候,即為協(xié)議的凈負(fù)載(俗稱(chēng)消息內(nèi)容體)。V的集合中Vf的定義,確定了一個(gè)網(wǎng)絡(luò)模態(tài)的具體形態(tài),這些Vf的值序列稱(chēng)為該模態(tài)的特征向量,類(lèi)似生物的基因編碼序列。看個(gè)例子:
ETH子模態(tài)(俗稱(chēng)協(xié)議頭)表示為:
M{eth} = M{48,48,16},特征向量表示為V(48,48,16)。
ARP子模態(tài)表示為:
M{arp} = M{16,16,8,8,16,48,32,48,32},特征向量表示為V(16,16,8,8,16,48,32,48,32)。
ARP協(xié)議模態(tài)(完整協(xié)議分組)表示為:
M{Parp} = M{M{eth},M{arp}}。此處ARP協(xié)議模態(tài)由兩個(gè)Vv組成。
ARP與IPv4屬于不同協(xié)議模態(tài),但它們共模ETH子模態(tài)。
TCP與UDP屬于不同協(xié)議模態(tài),但它們共模ETH和IPv4子模態(tài)。
以上描述純屬瞎扯,這不就是協(xié)議頭與協(xié)議負(fù)載的內(nèi)容與關(guān)系嗎?
是的,我們想通過(guò)這種描述引出多模態(tài)、混模態(tài)的一般定義。一種獨(dú)特的模態(tài)網(wǎng)絡(luò)就是一組該模態(tài)的特征向量序列(擁有各自的基因編碼),那不同的特征向量序列便是不同的網(wǎng)絡(luò)模態(tài)。混合多模態(tài)網(wǎng)絡(luò)就是能支持一系列這樣的模態(tài)特征向量序列的網(wǎng)絡(luò)信息獨(dú)立通信與交互的網(wǎng)絡(luò)。
混式多模態(tài)網(wǎng)絡(luò)不應(yīng)該全建立在以太網(wǎng)基礎(chǔ)上,MAC地址也不是必須的字段,模態(tài)信息交互網(wǎng)絡(luò)可以根據(jù)自身的特點(diǎn)來(lái)構(gòu)建和適應(yīng)。在混合多模態(tài)網(wǎng)絡(luò)中,ARP協(xié)議模態(tài)、TCP或UDP僅是三種不同模態(tài)的具體表現(xiàn)形式,或者可以統(tǒng)稱(chēng)為以太網(wǎng)模態(tài)合集。
除了以太網(wǎng)模態(tài)合集,我們還可以將工業(yè)總線(xiàn)以此定義引入到混合多模態(tài)網(wǎng)絡(luò)中,也可以將無(wú)線(xiàn)通信、光纖通信等各種一切可數(shù)字化交互的場(chǎng)景抽象為混合多模態(tài)網(wǎng)絡(luò)中的一種具體模態(tài)。
E)模態(tài)轉(zhuǎn)換
每個(gè)模態(tài)都是由一組獨(dú)特的特征向量定義,并具有自己的獨(dú)特屬性和行為。在不同模態(tài)之間存在某些域類(lèi)型數(shù)據(jù)的交互,可以通過(guò)模態(tài)轉(zhuǎn)換的功能來(lái)實(shí)現(xiàn)。實(shí)現(xiàn)前提是必須相互遵守各自模態(tài)的必要約束。
D)網(wǎng)絡(luò)模態(tài)
通過(guò)以上幾個(gè)概念,定義一種模態(tài)網(wǎng)絡(luò)要把模態(tài)特征向量定義出來(lái),行為動(dòng)作規(guī)劃出來(lái),需要符合的網(wǎng)絡(luò)屬性提取出來(lái)。比如TSN網(wǎng)絡(luò)是一種具備時(shí)間敏感屬性的以太網(wǎng)模態(tài)網(wǎng)絡(luò)。
全新理念的未來(lái)網(wǎng)絡(luò)構(gòu)想應(yīng)該是:可以支持不同網(wǎng)絡(luò)模態(tài)的獨(dú)立通信,每個(gè)模態(tài)數(shù)據(jù)具有其獨(dú)特的網(wǎng)絡(luò)屬性與模態(tài)行為,在遵守模態(tài)約束條件下,可以實(shí)現(xiàn)多模態(tài)之間的數(shù)據(jù)互轉(zhuǎn)互通。
說(shuō)人話(huà)概括就是:萬(wàn)物互聯(lián)互通!不僅聯(lián)通,還可通信。
混式模網(wǎng)即是實(shí)現(xiàn)萬(wàn)物互聯(lián)互通,但萬(wàn)物皆有個(gè)性,如何一一滿(mǎn)足?
首先,從模態(tài)行為考慮,模態(tài)數(shù)據(jù)的主要處理功能主要包括封裝、拆裝、查表匹配、修改數(shù)據(jù),丟棄、轉(zhuǎn)發(fā)等等。通過(guò)P4可編程的指令或擴(kuò)展其他模態(tài)特有指令可以實(shí)現(xiàn)對(duì)各種模塊數(shù)據(jù)的行為處理。
其次,從模態(tài)的屬性考慮,模態(tài)數(shù)據(jù)的傳輸有時(shí)延、抖動(dòng)、限速與保速、高可靠(冗余與消除)和多路徑傳輸?shù)纫蟆Mㄟ^(guò)確定性網(wǎng)絡(luò)的保障機(jī)制可以實(shí)現(xiàn)這些要求。
確定性網(wǎng)絡(luò)的保障機(jī)制有多種方式,TTE、TSN、DIP等都可以作為選擇方案。確定性的網(wǎng)絡(luò)保障機(jī)制是整個(gè)網(wǎng)絡(luò)通信中的一種屬性保障手段,不能影響混合多模態(tài)數(shù)據(jù)的處理與轉(zhuǎn)發(fā)。
我們選擇的技術(shù)路線(xiàn)是:FAST架構(gòu)、P4可編程、TSN確定時(shí)間機(jī)制和SDN控制器。提供一種支持不同模態(tài)內(nèi)和之間的數(shù)據(jù)進(jìn)行混合處理、轉(zhuǎn)發(fā)和通信,并具備確定性、可靠性傳輸屬性的網(wǎng)絡(luò)。
混式模網(wǎng)目前顯然還不適合放到核心網(wǎng)使用,我們建議大家在邊緣網(wǎng)進(jìn)行測(cè)試和驗(yàn)證。一是邊緣網(wǎng)絡(luò)相對(duì)封閉,不易對(duì)其他網(wǎng)絡(luò)造成影響;二是小規(guī)模網(wǎng)絡(luò)可以自建、自毀,自主可控;
由于以太網(wǎng)、IP是目前所有網(wǎng)絡(luò)的基礎(chǔ),故在構(gòu)建混式模網(wǎng)的第一步是將標(biāo)準(zhǔn)以太網(wǎng)和IP等模態(tài)的網(wǎng)絡(luò)業(yè)務(wù)進(jìn)行加載,確保所有傳統(tǒng)網(wǎng)絡(luò)的互聯(lián)互通正常,也方便對(duì)其他設(shè)備節(jié)點(diǎn)進(jìn)行管理和配置。然后再根據(jù)科研和學(xué)習(xí)的目的,有針對(duì)性的開(kāi)發(fā)和配置設(shè)備模態(tài),進(jìn)行各種模態(tài)的網(wǎng)絡(luò)驗(yàn)證。比如在如下網(wǎng)絡(luò):
A)企業(yè)網(wǎng)
在正常加載IPv4和IPv6模態(tài)的網(wǎng)絡(luò)后,大家的互聯(lián)網(wǎng)通信正常。企業(yè)內(nèi)部的生產(chǎn)網(wǎng)絡(luò)、科研網(wǎng)絡(luò)均可以采用不同模態(tài)網(wǎng)絡(luò)來(lái)構(gòu)建,如此可以有效防止外網(wǎng)入侵攻擊。
B)校園網(wǎng)
網(wǎng)絡(luò)專(zhuān)業(yè)或安全專(zhuān)業(yè)的各年級(jí)學(xué)生可以利用現(xiàn)有校園網(wǎng)規(guī)模,構(gòu)建較大的真實(shí)網(wǎng)絡(luò)驗(yàn)證實(shí)驗(yàn)床,進(jìn)行新型協(xié)議設(shè)計(jì)與驗(yàn)證和網(wǎng)絡(luò)攻防演練。
C)物聯(lián)網(wǎng)
可將不同形態(tài)、不同廠商和不同協(xié)議模態(tài)的各類(lèi)設(shè)備相互連通,并通過(guò)P4編程的方式提取不同模態(tài)業(yè)務(wù)的有效數(shù)據(jù)進(jìn)行分析處理,有效減輕不同類(lèi)型、型號(hào)設(shè)備間的組網(wǎng)難度和控制器管理難度。
D)工業(yè)互聯(lián)網(wǎng)
將傳統(tǒng)以太網(wǎng)與工業(yè)總線(xiàn)進(jìn)行混模互聯(lián),可在交匯處設(shè)置混模設(shè)備,支持不同模態(tài)功能及轉(zhuǎn)換功能。辦公司網(wǎng)絡(luò)依然是傳統(tǒng)以太網(wǎng),工廠設(shè)備間依然是總線(xiàn)或?qū)崟r(shí)以太網(wǎng)。原有架構(gòu)的設(shè)備、應(yīng)用等均不發(fā)生改變。(當(dāng)然,我們認(rèn)為總線(xiàn)向?qū)崟r(shí)以太網(wǎng)轉(zhuǎn)化是一種必然)
可以想象,現(xiàn)在的IPv4和IPv6只是兩種不同的網(wǎng)絡(luò)模態(tài),我們只需要為設(shè)備加載了該模態(tài)行為的功能,即可實(shí)現(xiàn)v4與v6網(wǎng)絡(luò)的互通。在此基礎(chǔ)上,我們還可以任意發(fā)布自己設(shè)計(jì)的不同模態(tài)網(wǎng)絡(luò),交互不同的消息內(nèi)容。有了模態(tài)轉(zhuǎn)換,可以實(shí)現(xiàn)模態(tài)隔離和互通,網(wǎng)絡(luò)的安全性也就變得更高。從網(wǎng)絡(luò)演進(jìn)與網(wǎng)絡(luò)自主架構(gòu)創(chuàng)新角度來(lái)看,這無(wú)疑是一條非常可行的道路。
A)FAST架構(gòu)
FAST架構(gòu)是一種支持交換與端系統(tǒng)的通用架構(gòu)。其IO框架模型中可包含多個(gè)IO接口和CPU的DMA接口,基于硬件底層IO進(jìn)行交換功能開(kāi)發(fā)即可滿(mǎn)足交換需求。旁路交換功能并引入DMA接口即可實(shí)現(xiàn)多端口網(wǎng)卡功能需求。FAST架構(gòu)提供了一套完備的外圍IO收發(fā)框架(FPGA OS)和業(yè)務(wù)相關(guān)核心邏輯處理(UM)。
B)P4多模態(tài)處理轉(zhuǎn)發(fā)
協(xié)議無(wú)關(guān)意味著可以處理任何網(wǎng)絡(luò)模態(tài)的數(shù)據(jù),并能根據(jù)不同模態(tài)的模態(tài)行為與特征進(jìn)行相應(yīng)的動(dòng)作處理,達(dá)到混合多模態(tài)業(yè)務(wù)的處理轉(zhuǎn)發(fā)能力。基于FPGA架構(gòu)實(shí)現(xiàn)的P4功能可根據(jù)模態(tài)特征擴(kuò)展開(kāi)發(fā)不同的動(dòng)作指令。
基于P4的編程,可讓用戶(hù)非常方便的在軟件層面設(shè)計(jì)模態(tài)網(wǎng)絡(luò),并對(duì)設(shè)計(jì)代碼進(jìn)行編譯、下發(fā)與配置。可支持動(dòng)態(tài)加載模態(tài)功能、動(dòng)態(tài)卸載模態(tài)功能和動(dòng)態(tài)配置模態(tài)參數(shù)等。各模態(tài)的加載與卸載不影響其他模態(tài)數(shù)據(jù)處理。
C)TSN同步與調(diào)度
面對(duì)不同模態(tài)數(shù)據(jù)的時(shí)間、帶寬和可靠性等特征要求,比如對(duì)時(shí)間傳輸延時(shí)、抖動(dòng)等具備較高和敏感特性的模態(tài)業(yè)務(wù),在設(shè)備中增加時(shí)間確定性保障功能。并與P4編程相結(jié)合,允許用戶(hù)在模態(tài)編程中引入時(shí)間特征控制,如獲取模態(tài)數(shù)據(jù)的時(shí)間字段,編程配置模態(tài)數(shù)據(jù)的輸出調(diào)度隊(duì)列,控制模態(tài)數(shù)據(jù)進(jìn)行冗余復(fù)制和消除處理等。通過(guò)確定性時(shí)間屬性的加持,確保用戶(hù)對(duì)時(shí)間屬性有較高要求的模態(tài)業(yè)務(wù)傳輸?shù)玫接行ПU稀?
D)SDN控制器
通過(guò)SDN控制器對(duì)全網(wǎng)各個(gè)節(jié)點(diǎn)進(jìn)行拓?fù)錁?gòu)建、為不同模態(tài)網(wǎng)絡(luò)提供在線(xiàn)編譯、配置和為節(jié)點(diǎn)加載和卸載模態(tài)行為功能,為時(shí)間確定性模態(tài)業(yè)務(wù)配置TSN相關(guān)屬性參數(shù)。
A)OpenBox平臺(tái)
混式模網(wǎng)的原型建構(gòu)依然采用OpenBox平臺(tái),包括端系統(tǒng)(含網(wǎng)卡)和交換設(shè)備。在基于原來(lái)軟件定義時(shí)間敏感網(wǎng)絡(luò)的基礎(chǔ)上,將硬件SDN交換功能流表與動(dòng)作處理模塊替換為P4可編程模塊,增加P4編譯與配置。原有TSN屬性功能與配置功能依然保持。
B)混合多模態(tài)交互(待驗(yàn)證)
擬構(gòu)建一種混合多模態(tài)傳輸示例場(chǎng)景——將富文本頁(yè)面內(nèi)的不同類(lèi)型數(shù)據(jù)劃分到不同網(wǎng)絡(luò)模態(tài)進(jìn)行交互傳輸。
在服務(wù)器一側(cè)構(gòu)建WEB服務(wù)器,頁(yè)面內(nèi)容包括HTML文本內(nèi)容、圖片、音視頻和文件等4種不同類(lèi)型數(shù)據(jù)。該四種類(lèi)型數(shù)據(jù)分配通過(guò)4種不同模態(tài)網(wǎng)絡(luò)進(jìn)行傳輸,其中文本內(nèi)容采用IPv4模態(tài),圖片采用IPv6模態(tài),音視頻采用自定義標(biāo)簽分發(fā)模態(tài),文件采用自定義端口轉(zhuǎn)發(fā)鏈模態(tài)。在客戶(hù)端請(qǐng)求該網(wǎng)頁(yè)內(nèi)容時(shí),將首先通過(guò)文本內(nèi)容的IPv4獲取全部HTML頁(yè)面內(nèi)容,然后根據(jù)內(nèi)容檢索,向其他幾個(gè)不同模態(tài)獲取各自所需要的數(shù)據(jù)。文件的內(nèi)容由用戶(hù)點(diǎn)擊后觸發(fā)獲取。
在此驗(yàn)證場(chǎng)景中,文本內(nèi)容量小,對(duì)網(wǎng)頁(yè)構(gòu)建至關(guān)重要,可以將該數(shù)據(jù)引入時(shí)間保障特性,確定及時(shí)響應(yīng),快速構(gòu)建顯示頁(yè)面。音視頻內(nèi)容對(duì)傳輸延時(shí)和抖動(dòng)都有較高要求,可以走非IP化的單獨(dú)分發(fā)方式模態(tài)網(wǎng)絡(luò)進(jìn)行傳輸。文件內(nèi)容的實(shí)時(shí)性要求不高,并不需要實(shí)時(shí)保證,采用一種自定義模態(tài)的網(wǎng)絡(luò)傳輸使其以較小網(wǎng)絡(luò)開(kāi)銷(xiāo)的方式下載到本地。既快速高效的下載了數(shù)據(jù),又有效節(jié)約了網(wǎng)絡(luò)帶寬資源。
C)實(shí)時(shí)模態(tài)保障(移植中)
由于混合模態(tài)傳輸中文本傳輸延時(shí)要求高,故將其通過(guò)流表映射到TSN的最高優(yōu)先級(jí)隊(duì)列。若要進(jìn)一步提供可靠性,可將該數(shù)據(jù)開(kāi)啟CB功能,由控制器下發(fā)CB指令和路徑規(guī)則到節(jié)點(diǎn),實(shí)現(xiàn)模態(tài)數(shù)據(jù)的冗余復(fù)制和消除操作。
D)多模仿真驗(yàn)證環(huán)境(等完善)
用軟件方式模擬不同網(wǎng)絡(luò)模態(tài)的行為交互(隨機(jī)生成網(wǎng)絡(luò)模態(tài)特征向量,生成隨機(jī)處理指令,并根據(jù)特征向量生成測(cè)試數(shù)據(jù))。可用戶(hù)定義一個(gè)拓?fù)浣Y(jié)構(gòu),并為不同節(jié)點(diǎn)賦能多種模態(tài)行為功能,然后構(gòu)建不同模塊的測(cè)試數(shù)據(jù),從不同節(jié)點(diǎn)位置輸入和輸出,用軟件計(jì)算測(cè)試數(shù)據(jù)每流經(jīng)節(jié)點(diǎn)的內(nèi)容,并將數(shù)據(jù)記錄保存。可通過(guò)保存數(shù)據(jù)分析不同模塊的處理行為是否正確,最終可將測(cè)試數(shù)據(jù)導(dǎo)入真實(shí)環(huán)境進(jìn)行驗(yàn)證,通過(guò)抓取不同節(jié)點(diǎn)的測(cè)試內(nèi)容與軟件仿真模擬的數(shù)據(jù)進(jìn)行比對(duì),驗(yàn)證真實(shí)環(huán)境的模態(tài)行為是否完全正確。
A)確定性多模設(shè)備(可定制)
確定性多模設(shè)備支持交換設(shè)備與端網(wǎng)卡,設(shè)備形態(tài)和接口可根據(jù)用戶(hù)要求定制。目前可以支持的接口包括:1G、10G、40G和100G類(lèi)型。FPGA和CPU可以用非國(guó)產(chǎn)與國(guó)產(chǎn)(復(fù)旦微、飛騰)。
B)確定性多模系統(tǒng)(待開(kāi)發(fā))
開(kāi)發(fā)適配多模系統(tǒng)的相關(guān)驅(qū)動(dòng)、內(nèi)核模態(tài)處理應(yīng)用和用戶(hù)模態(tài)處理應(yīng)用。
C)確定性多模控制器(待開(kāi)發(fā))
自研輕量級(jí)SDN控制器,更好適配多模編譯、配置、加載與卸載、拓?fù)錁?gòu)建、TSN配置等功能。
原型驗(yàn)證中的部分功能還尚未完成,未來(lái)規(guī)劃中的多模系統(tǒng)與控制器也只是初步規(guī)劃,具體實(shí)施思路與可行性分析已經(jīng)完成。整個(gè)大環(huán)境還需要一定的時(shí)間開(kāi)發(fā)和驗(yàn)證,如果有感興趣的朋友,歡迎聯(lián)系我們(15116127200微信同號(hào))。
閱讀更多FAST相關(guān)文章請(qǐng)進(jìn)入以下公眾號(hào)。