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