蘇建忠,張華宇,朱海龍,2
(1.網(wǎng)絡(luò)通信與安全紫金山實(shí)驗(yàn)室,江蘇 南京 211111;2.北京郵電大學(xué)信息與通信工程學(xué)院,北京 100876)
在傳統(tǒng)以太網(wǎng)中,盡力而為的體系架構(gòu)已經(jīng)運(yùn)行多年,短視頻等移動(dòng)網(wǎng)絡(luò)數(shù)據(jù)流量的激烈增長(zhǎng),將帶來(lái)大量的瞬時(shí)擁堵和數(shù)據(jù)時(shí)延增大。同時(shí),更多的精細(xì)類網(wǎng)絡(luò)應(yīng)用,例如車載網(wǎng)絡(luò)、工業(yè)控制命令、5G 遠(yuǎn)程操作等[1-2],需要更低的端到端時(shí)延以及極低的時(shí)延抖動(dòng),但是傳統(tǒng)網(wǎng)絡(luò)目前無(wú)法提供保障。目前,由電氣和電子工程師協(xié)會(huì)和互聯(lián)網(wǎng)工程任務(wù)組提出的確定性網(wǎng)絡(luò)技術(shù)[3]成為當(dāng)前較成熟的實(shí)現(xiàn)局部確定性、保障時(shí)延和帶寬的網(wǎng)絡(luò)技術(shù),通過(guò)一系列網(wǎng)絡(luò)協(xié)議(IEEE 802.1AS 時(shí)鐘同步[4]、IEEE 802.1QBV 流量調(diào)度[5]、IEEE 802.1Qcc 資源配置管理[6]等)實(shí)現(xiàn)確定時(shí)延,其中IEEE 802.1Qcc 資源配置管理是整合TSN,包括帶寬預(yù)留規(guī)劃,通過(guò)集中式控制規(guī)劃與調(diào)度網(wǎng)絡(luò)流量以滿足確定性時(shí)延和抖動(dòng)。同樣,SDN 架構(gòu)將控制面與數(shù)據(jù)面分離[7-9],通過(guò)軟件靈活、合理地解決不同硬件的部署問(wèn)題,提高網(wǎng)絡(luò)利用率,因此引入基于SDN 的TSN 架構(gòu),通過(guò)SDN 集中式控制規(guī)劃和調(diào)度流量,能夠有效地支持確定性時(shí)延和抖動(dòng)。
當(dāng)前TSN 協(xié)議中與帶寬預(yù)留相關(guān)的主要是IEEE 802.1Qat 以及IEEE Qcc 協(xié)議,IEEE 802.1Qat包含帶寬預(yù)留協(xié)商確定過(guò)程,闡述從發(fā)出預(yù)留消息到接收者的詳細(xì)過(guò)程。同時(shí)在IEEE 802.1Qat(一種分布式方式的網(wǎng)絡(luò)需求與資源分配機(jī)制)基礎(chǔ)之上,IEEE 802.1Qcc 支持集中式的注冊(cè)與流預(yù)留服務(wù),稱為SRP 增強(qiáng)模式。在這種模式下,系統(tǒng)通過(guò)降低預(yù)留消息的大小與頻率(放寬計(jì)時(shí)器),以便在鏈路狀態(tài)和預(yù)留變更時(shí)觸發(fā)更新。IEEE 802.1Qcc 提供了一套工具,用于全局管理和控制網(wǎng)絡(luò),通過(guò)網(wǎng)絡(luò)集中控制器(CNC,central network controller)等交互以提供運(yùn)行資源的預(yù)留、調(diào)度以及其他類型的遠(yuǎn)程管理協(xié)議,如NETCONF 或 RESTCONF,同時(shí)與IETF YANG/NETCONF 數(shù)據(jù)建模語(yǔ)言兼容。而帶寬預(yù)留技術(shù)在無(wú)線通信領(lǐng)域已經(jīng)有所應(yīng)用,其根據(jù)接入QoS 需求可以實(shí)現(xiàn)時(shí)分多址等技術(shù)。當(dāng)前研究?jī)?nèi)容更多關(guān)注帶寬調(diào)度,包括路徑規(guī)劃、最大化總帶寬、最早完成時(shí)間和最短持續(xù)時(shí)間調(diào)度等研究方向[10-13]。
但是目前協(xié)議標(biāo)準(zhǔn)以及研究論文中沒(méi)有明確指出帶寬預(yù)留值計(jì)算方法,無(wú)法給出需要預(yù)留的準(zhǔn)確帶寬值,多數(shù)采用經(jīng)驗(yàn)值,同時(shí)預(yù)留的帶寬值始終占用或持續(xù)一段時(shí)間占用,在周期性網(wǎng)絡(luò)中可能導(dǎo)致此部分的帶寬通道浪費(fèi),而且復(fù)雜的預(yù)留確定過(guò)程在確定性網(wǎng)絡(luò)中實(shí)時(shí)性無(wú)法得到保障。
在此基礎(chǔ)上,本文提出結(jié)合SDN 控制器在控制面的整體流量以及轉(zhuǎn)發(fā)路徑的規(guī)劃能力[14],通過(guò)控制器下發(fā)更新配置實(shí)現(xiàn)動(dòng)態(tài)預(yù)留[15]和按時(shí)隙流預(yù)留的方式,在控制器端配置終端設(shè)備的流量參數(shù)(包括流量發(fā)送周期大小等流量模型參數(shù)),控制器整體調(diào)度規(guī)劃網(wǎng)絡(luò)數(shù)據(jù)流量轉(zhuǎn)發(fā)路徑等,結(jié)合高精度時(shí)鐘同步,計(jì)算出高精度周期性分時(shí)隙預(yù)留帶寬預(yù)留值,再通過(guò)控制器下發(fā)至交換設(shè)備執(zhí)行。首先通過(guò)分解目標(biāo)時(shí)延到每一跳鏈路中,根據(jù)時(shí)延計(jì)算數(shù)據(jù)流通過(guò)鏈路需要的帶寬值;然后結(jié)合相應(yīng)時(shí)隙內(nèi)其他預(yù)留值計(jì)算總預(yù)留值確認(rèn)是否預(yù)留成功,保障目標(biāo)數(shù)據(jù)流的傳輸帶寬,同時(shí)提高帶寬的利用率;最后在非使用時(shí)隙將帶寬留給其他數(shù)據(jù)流使用,保障BE 流的傳輸。本文方法首先保障低時(shí)延、可控抖動(dòng),然后及時(shí)釋放帶寬提升帶寬利用率,同時(shí)結(jié)合IEEE 802.1Qcc 網(wǎng)絡(luò)配置模式,滿足終端節(jié)點(diǎn)和數(shù)據(jù)流量的不同變化。
本文通過(guò)周期性預(yù)留帶寬,同時(shí)結(jié)合控制器來(lái)解決TSN 協(xié)議缺少帶寬預(yù)留值計(jì)算的問(wèn)題,通過(guò)對(duì)鏈路規(guī)劃計(jì)算在指定時(shí)隙內(nèi)預(yù)留特定的帶寬值,在保障傳輸時(shí)延的基礎(chǔ)上減小抖動(dòng),同時(shí)可以有效地提高帶寬利用率。該方法首先確定預(yù)留執(zhí)行周期,然后在周期內(nèi)計(jì)算傳輸路徑中每一跳需要的傳輸時(shí)隙以及帶寬值,確定該時(shí)隙內(nèi)是否有足夠的帶寬值可以預(yù)留,再確定傳輸路徑中每一跳的預(yù)留時(shí)隙以及預(yù)留值,最后得到整個(gè)周期內(nèi)的預(yù)留方案。TSN交換設(shè)備周期性執(zhí)行配置方案。
針對(duì)不同網(wǎng)絡(luò)拓?fù)洌疚慕o出2 種時(shí)延分配。1) 根據(jù)計(jì)算等式,本文將總的要求時(shí)延按照鏈路帶寬比平均分配到每一跳鏈路,確定每一跳的時(shí)延后即可計(jì)算出對(duì)應(yīng)的帶寬預(yù)留值;2) 結(jié)合可滿足性模理論(SMT,satisfy module theory)(SMT通過(guò)建立約束條件得到一系列一階邏輯等式,在滿足等式的基礎(chǔ)上得到一組未知數(shù)的解,可通過(guò)現(xiàn)有求解器求出)問(wèn)題原理,建立約束條件模型,利用Z3 求解器求得一組合適解。具體的求解場(chǎng)景見(jiàn)第3 節(jié)。
帶寬預(yù)留值的計(jì)算需要先確定每一跳鏈路的時(shí)延,因此本節(jié)將數(shù)據(jù)流的要求時(shí)延分配到每一跳中,采用的分配策略為除去第一跳所耗時(shí)延外,其他跳占用時(shí)延根據(jù)其鏈路帶寬與傳輸路徑鏈路帶寬之和的占比來(lái)分配。
網(wǎng)絡(luò)拓?fù)涫纠鐖D1 所示,包含6 個(gè)TSN 節(jié)點(diǎn),節(jié)點(diǎn)a與交換機(jī)sw1鏈路帶寬為100 Mbit/s,鏈路傳輸時(shí)延為30 ns;其他鏈路帶寬為1 Gbit/s,鏈路傳輸時(shí)延為10 ns;設(shè)備處理時(shí)延為100 ns;設(shè)備TSN 拓?fù)渲性垂?jié)點(diǎn)a、目的節(jié)點(diǎn)c的流量發(fā)出時(shí)間為0,大小為1 200 B,周期為310 μs,時(shí)延要求為160 μs;源節(jié)點(diǎn)b、目的節(jié)點(diǎn)d的流量發(fā)出時(shí)間為0,大小為2 000 B,周期為310 μs,時(shí)延要求為200 μs。

圖1 網(wǎng)絡(luò)拓?fù)涫纠?/p>
根據(jù)模型以及路徑規(guī)劃,a到c的流量中,鏈路[a,sw1]帶寬全占用,需要耗時(shí)98 350 ns(1 229 B÷100 Mbit·s-1+30 ns),去除設(shè)備sw1與sw2耗時(shí)200 ns之后剩余時(shí)延61 450 ns,鏈路[sw1,sw2]和鏈路[sw2,c]帶寬值相等且總帶寬值為 2 Gbit/s,因此鏈路[sw1,sw2]與鏈路[sw2,c]分配時(shí)延均為30 725 ns。
同理,可求得b到d流量的時(shí)延分配。
本節(jié)結(jié)合SMT 問(wèn)題原理[16],建立約束條件模型,利用Z3 求解器[17]求得時(shí)延分配以及帶寬預(yù)留值的一組合適解,為了建立整體約束條件,首先介紹網(wǎng)絡(luò)拓?fù)渲谢A(chǔ)變量以及下文需要使用的其他變量的定義,如表1 所示。

表1 系統(tǒng)參數(shù)或公式
結(jié)合SMT 問(wèn)題原理,本文算法將通過(guò)用戶約束、鏈路約束、以太網(wǎng)基礎(chǔ)約束和算法約束4 個(gè)方面建立約束條件。
1) 用戶約束。用戶約束主要包括數(shù)據(jù)流開(kāi)始發(fā)送時(shí)間、數(shù)據(jù)大小、數(shù)據(jù)流周期、數(shù)據(jù)流總體要求時(shí)延等約束。數(shù)據(jù)報(bào)文在網(wǎng)絡(luò)中的總體要求時(shí)延分為鏈路信道時(shí)延、設(shè)備處理時(shí)延和數(shù)據(jù)傳輸時(shí)延,計(jì)算式為

2) 鏈路約束。相同時(shí)隙內(nèi)所有預(yù)留值之和小于鏈路總帶寬值,單個(gè)預(yù)留值小于鏈路帶寬的50%(經(jīng)驗(yàn)值,避免不同跳之間預(yù)留帶寬值相差過(guò)大),保證帶寬預(yù)留值不超出真實(shí)物理帶寬值,計(jì)算式為

3) 以太網(wǎng)基礎(chǔ)約束。該約束遵循以太網(wǎng)報(bào)文傳輸基本準(zhǔn)則,包括3 個(gè)方面:流量整體時(shí)延為最后一位數(shù)據(jù)傳完的時(shí)延;后幀的發(fā)送需要在前一幀結(jié)束后;除第一幀報(bào)文不需要等待外,其他報(bào)文都需要等待前一幀傳輸結(jié)束。最后一幀時(shí)延為數(shù)據(jù)流的整體時(shí)延,即;發(fā)送設(shè)備的后一幀數(shù)據(jù)的發(fā)出時(shí)間等于前一幀數(shù)據(jù)的結(jié)束時(shí)間,即;第一幀傳輸時(shí)不需要等待,因此后一跳的發(fā)出時(shí)間等于前一跳的結(jié)束時(shí)間+設(shè)備時(shí)延,即
4) 算法約束。傳輸過(guò)程中單幀與多幀存在差異,主要表現(xiàn)為多幀中后幀存在排隊(duì)等待情況,因此需要進(jìn)行差異對(duì)待。滿足3.1 節(jié)和3.2 節(jié)計(jì)算方法,即當(dāng)γ=1時(shí),存在約束式

當(dāng)γ>1時(shí),存在以下3 種約束情況,滿足一種即可。


通過(guò)建立以上約束條件模型,再通過(guò)Z3 求解器計(jì)算,即可求解出每一跳鏈路的預(yù)留帶寬值以及傳輸時(shí)延,在此基礎(chǔ)上也可得出對(duì)應(yīng)鏈路的占用時(shí)隙,即可得到完整的帶寬預(yù)留配置文件。
TSN 帶寬預(yù)留主要分為2 種類型流量:?jiǎn)螏髁浚磾?shù)據(jù)流小于1 500 B 的流量(MTU 大小);多幀流量,即數(shù)據(jù)流大于1 500 B 需要切分為多幀的流。本節(jié)針對(duì)以上2 種類型流量的帶寬預(yù)留值計(jì)算方法進(jìn)行闡述。
單幀數(shù)據(jù)流量帶寬預(yù)留將數(shù)據(jù)流映射到對(duì)應(yīng)的周期時(shí)間軸中,數(shù)據(jù)幀在每一跳的傳輸時(shí)延確定之后就能確定其所需的預(yù)留帶寬值以及對(duì)應(yīng)預(yù)留時(shí)隙,假設(shè)幀到達(dá)當(dāng)前鏈路[Va,Vb]時(shí)間為t0時(shí)刻,此時(shí)可推出幀在下一跳鏈路的發(fā)出時(shí)間為,依次類推,可以計(jì)算出數(shù)據(jù)幀在每一跳鏈路所耗費(fèi)的時(shí)間,同時(shí)滿足傳輸耗時(shí)等式和時(shí)延要求等式

其中,μ和ω為未知解,其他為已知值。因此只需要求解出其中一個(gè),另一個(gè)值即可得出,同時(shí)還需要滿足對(duì)應(yīng)時(shí)隙的預(yù)留值之和小于對(duì)應(yīng)鏈路總帶寬值,即。通過(guò)以上求解可以得出,鏈路[Va,Vb]在時(shí)隙內(nèi)需要預(yù)留的帶寬值為
不同于單幀的情況,多幀帶寬預(yù)留主要面臨前后帶寬不一致問(wèn)題(多幀:當(dāng)需要發(fā)生的數(shù)據(jù)流大于MTU 時(shí),需要將數(shù)據(jù)流切分為多個(gè)小于MTU的數(shù)據(jù)幀發(fā)送,并且除最后一幀外按最大幀切分,其發(fā)送開(kāi)始時(shí)間相同),可分為兩類:1)假設(shè)當(dāng)前預(yù)留值大于或等于前一跳,此時(shí)當(dāng)前交換機(jī)不會(huì)出現(xiàn)數(shù)據(jù)包排隊(duì)等待情況,即前一跳發(fā)完一幀,當(dāng)前馬上可以轉(zhuǎn)發(fā)并且在下一幀到來(lái)之前發(fā)完,此時(shí)要求的時(shí)延就是最后一幀數(shù)據(jù)流產(chǎn)生的時(shí)延;2)假設(shè)當(dāng)前預(yù)留值比前一跳小,此時(shí)當(dāng)前交換機(jī)出現(xiàn)數(shù)據(jù)包排隊(duì)等待情況,即當(dāng)前交換機(jī)數(shù)據(jù)幀轉(zhuǎn)發(fā)還未完成時(shí),下一幀數(shù)據(jù)包已經(jīng)到來(lái),這樣最后一幀數(shù)據(jù)包到來(lái)之后還需要產(chǎn)生等待前一跳時(shí)延,此時(shí)要求的時(shí)延為最后一幀的發(fā)送時(shí)延加上等待時(shí)延。
為了解決上述兩類問(wèn)題,本文提出以下3 種假設(shè)。
1)假設(shè)預(yù)留帶寬小于前一跳帶寬值,此時(shí)鏈路的時(shí)延為整體數(shù)據(jù)在當(dāng)前鏈路[Va,Vb]的傳輸時(shí)延減去最后一幀的到達(dá)時(shí)間,即
靳春利[注]靳春利,耿村民間故事講演協(xié)會(huì)會(huì)長(zhǎng),耿村村民,耿村故事“報(bào)礦人”,采訪時(shí)間:2017年10月26日17:00,地點(diǎn):耿村村口。:在故事普查以前,我們耿村就說(shuō)是“講笑話”,不說(shuō)講故事,講故事是他們專家說(shuō)的,后來(lái)(我們)就對(duì)別人說(shuō)“講故事”,現(xiàn)在咱自己家里還說(shuō)是“講笑話”。在耿村這邊這樣說(shuō),到藁城靠外那片兒就說(shuō)是“講瞎話”。

2) 假設(shè)預(yù)留帶寬大于或等于前一跳[Va,Vb]帶寬值,同時(shí)小于前一跳帶寬值的1529 B/δ倍(1 529 B為傳輸?shù)淖畲髱L(zhǎng)度),此時(shí)最后一幀前面的數(shù)據(jù)包傳輸不產(chǎn)生等待時(shí)延,只有最后一幀數(shù)據(jù)包需要等待,因此要求當(dāng)前鏈路[Vb,Vc]產(chǎn)生的時(shí)延等于最后一幀數(shù)據(jù)包的等待時(shí)延加上最后一幀數(shù)據(jù)包的傳輸時(shí)延,即

3) 假設(shè)預(yù)留帶寬值大于或等于前一跳帶寬值的1529 B/δ倍,此種情況最簡(jiǎn)單,上一跳轉(zhuǎn)發(fā)的數(shù)據(jù)包會(huì)被及時(shí)轉(zhuǎn)發(fā)完,數(shù)據(jù)包的傳輸不產(chǎn)生等待時(shí)延,因此當(dāng)前鏈路[Va,Vb]要求時(shí)延即為最后一幀的傳輸時(shí)延,即

通過(guò)以上3 種方式,可分別計(jì)算出對(duì)應(yīng)鏈路的預(yù)留帶寬值。首先與各自的假設(shè)條件對(duì)比,符合假設(shè)條件的預(yù)留值為合適的預(yù)留值;然后根據(jù)預(yù)留值計(jì)算出對(duì)應(yīng)鏈路的通過(guò)時(shí)隙;最后校驗(yàn)每一跳鏈路對(duì)應(yīng)時(shí)隙的總預(yù)留值是否小于總帶寬值。由于在計(jì)算過(guò)程中存在精度取舍問(wèn)題,導(dǎo)致多幀預(yù)留后的計(jì)算時(shí)延與要求時(shí)延會(huì)出現(xiàn)偏差,使最后結(jié)果小于或等于要求時(shí)延。
當(dāng)需要多條流預(yù)留時(shí),需要遍歷每一條流,根據(jù)流量的優(yōu)先級(jí)優(yōu)先預(yù)留,針對(duì)優(yōu)先級(jí)高的流量,當(dāng)數(shù)據(jù)流量為單幀時(shí),使用3.1 節(jié)單幀預(yù)留方法處理;當(dāng)數(shù)據(jù)流量為多幀時(shí),使用3.2 節(jié)多幀預(yù)留方法處理。結(jié)合整個(gè)拓?fù)浜土髁績(jī)?yōu)先級(jí),在計(jì)算路由的基礎(chǔ)上預(yù)留帶寬,同時(shí)結(jié)合最短路徑原則確定路由,具體流程如下。
1) SDN 控制器中確定網(wǎng)絡(luò)拓?fù)鋮?shù),包括設(shè)備信息、信道信息、連接信息、流量信息(含時(shí)延要求、優(yōu)先級(jí)、是否需要預(yù)留)、確定各流量的超周期(各條流的周期最小公倍數(shù))。
2) 將流量信息按照是否需要預(yù)留以及優(yōu)先級(jí)排序。
3) 按順序循環(huán)處理每一條流。
3.1) 判斷是否已經(jīng)生成路由,如果沒(méi)有生成則先生成路由,選取最短路徑的一條,計(jì)算預(yù)留;
3.2) 如果已經(jīng)生成,直接計(jì)算預(yù)留;
3.3) 要求時(shí)延按照一定規(guī)則(第3 節(jié)中介紹)分配到每一跳上,計(jì)算的原則為發(fā)送端全部占用,其他鏈路按照規(guī)則預(yù)留;
3.4) 預(yù)留成功后將對(duì)應(yīng)時(shí)隙的預(yù)留帶寬值從鏈路中扣除;
3.5) 生成路由表配置信息。
4) 將剩余帶寬配置給不需要預(yù)留的流量。
5) 將路由和預(yù)留配置通過(guò)SDN 控制器下發(fā)至交換設(shè)備執(zhí)行。
為了驗(yàn)證算法的有效性,本文在OMNeT++仿真平臺(tái)環(huán)境中對(duì)幾組代表性數(shù)據(jù)進(jìn)行實(shí)驗(yàn),運(yùn)行環(huán)境為 8 核 32 G 處理器、ubuntu18 系統(tǒng)、OMNeT++5.4.1 版本。本節(jié)主要包括網(wǎng)絡(luò)拓?fù)涞认嚓P(guān)參數(shù)介紹和實(shí)驗(yàn)結(jié)果分析2 個(gè)部分。
4.1.1網(wǎng)絡(luò)拓?fù)?/p>
實(shí)驗(yàn)采用的網(wǎng)絡(luò)拓?fù)淙鐖D2 所示,模擬了7 個(gè)交換機(jī)、2 個(gè)高清攝像頭、2 個(gè)環(huán)視攝像頭、5 個(gè)激光雷達(dá)、2 個(gè)毫米波雷達(dá)和2 個(gè)超聲波雷達(dá)信號(hào)的數(shù)據(jù)發(fā)送量和發(fā)送周期,終端設(shè)備按照各自周期以及流量大小向設(shè)備DomainControllor 發(fā)送報(bào)文。同時(shí),拓?fù)渲庥幸慌_(tái) SDN 控制器,但其不在OMNeT++拓?fù)渲姓宫F(xiàn),因?yàn)楸疚耐ㄟ^(guò)SDN 控制器配置了網(wǎng)絡(luò)拓?fù)浜土髁浚⒂?jì)算出具體的預(yù)留值以及時(shí)隙,通過(guò)配置文件的形式加載到OMNeT++實(shí)驗(yàn)中,所以控制器沒(méi)有在拓?fù)渲畜w現(xiàn),屬于獨(dú)立模塊可單獨(dú)使用。

圖2 實(shí)驗(yàn)網(wǎng)絡(luò)拓?fù)?/p>
4.1.2網(wǎng)絡(luò)參數(shù)表
設(shè)備流量參數(shù)如表2 所示。由表2 可知,高清攝像頭每33 ms 開(kāi)始產(chǎn)生26.5 MB 的數(shù)據(jù),需要17 667 幀切片發(fā)送(最大幀為1 500 B);環(huán)視攝像頭每40 ms產(chǎn)生5 MB 數(shù)據(jù),需要切片3 334 幀發(fā)送;激光雷達(dá)每300 μs 產(chǎn)生1 200 KB 數(shù)據(jù),只需要1 幀;毫米波雷達(dá)每50 ms 產(chǎn)生100 KB 數(shù)據(jù),需要切片為67 幀發(fā)送;超聲波雷達(dá)每1 ms 產(chǎn)生500 B 數(shù)據(jù),只需要1 幀。

表2 設(shè)備參數(shù)
4.1.3鏈路參數(shù)
對(duì)應(yīng)網(wǎng)絡(luò)拓?fù)洌x擇設(shè)備之間的連接參數(shù),具體如下。
switchA~switchE之間采用40 Gbit/s、10 ns 時(shí)延連接;接收端DomainController 采用40 Gbit/s、10 ns 時(shí)延連接switchE;高清攝像頭采用10 Gbit/s、10 ns 時(shí)延連接switchE;環(huán)視攝像頭采用10 Gbit/s、10 ns 時(shí)延連接;雷達(dá)等其他設(shè)備采用100 Mbit/s、30 ns 時(shí)延連接。
按照?qǐng)鼍暗牟煌竟?jié)實(shí)驗(yàn)分為6 組,分別驗(yàn)證單幀、多幀以及兩者相結(jié)合的場(chǎng)景下,通過(guò)均分和SMT 方法的不同計(jì)算方式產(chǎn)生的時(shí)延和抖動(dòng)效果,以下實(shí)驗(yàn)單幀均選取設(shè)備LiDAR2數(shù)據(jù)流、多幀均選取設(shè)備SVcamera2數(shù)據(jù)流驗(yàn)證,數(shù)據(jù)流周期大小等參數(shù)見(jiàn)4.1.2 節(jié),設(shè)備LiDAR2數(shù)據(jù)流時(shí)延要求為120 μs,設(shè)備SVcamera2數(shù)據(jù)流時(shí)延要求為5 ms,設(shè)備SVcamera2數(shù)據(jù)流優(yōu)先級(jí)高于設(shè)備LiDAR2數(shù)據(jù)流,實(shí)驗(yàn)數(shù)據(jù)中使用時(shí)延標(biāo)準(zhǔn)偏差表示實(shí)驗(yàn)抖動(dòng),單位均為s。
4.2.1單幀周期性預(yù)留-均分
本節(jié)針對(duì)設(shè)備LiDAR2單幀數(shù)據(jù)流周期性預(yù)留帶寬,預(yù)留值計(jì)算方式采用均分方法,部分結(jié)果如表3 所示。

表3 實(shí)驗(yàn)結(jié)果(單幀周期性預(yù)留-均分)
實(shí)驗(yàn)結(jié)果表明,均分方法可以有效地求解周期性單幀預(yù)留帶寬值,LiDAR2設(shè)備時(shí)延穩(wěn)定在120 μs,達(dá)到實(shí)驗(yàn)預(yù)期目的,同時(shí)其他背景流也全部發(fā)送和接收完畢,部分預(yù)留時(shí)隙帶寬利用率達(dá)100%。
4.2.2單幀周期性預(yù)留-SMT
本節(jié)針對(duì)設(shè)備LiDAR2單幀數(shù)據(jù)流周期性預(yù)留帶寬,預(yù)留值計(jì)算方式采用SMT 方法,結(jié)果如表4所示。

表4 實(shí)驗(yàn)結(jié)果(單幀周期性預(yù)留-SMT)
實(shí)驗(yàn)結(jié)果表明,SMT 方法可以有效地求解單幀周期性預(yù)留帶寬值,實(shí)驗(yàn)中LiDAR2設(shè)備時(shí)延穩(wěn)定在120 μs,達(dá)到實(shí)驗(yàn)預(yù)期目的,同時(shí)其他背景流也全部發(fā)送和接收完畢,時(shí)延比預(yù)期多2 ns,這是由于計(jì)算精度取舍導(dǎo)致的。同時(shí)滿足本文2.2 節(jié)中采用的4 個(gè)約束條件,總體時(shí)延不超出120 μs,預(yù)留帶寬值不超出鏈路實(shí)際帶寬(本節(jié)實(shí)驗(yàn)鏈路[交換機(jī)B,交換機(jī)A]預(yù)留值為19 Gbit/s 左右,實(shí)際帶寬為40 Gbit/s),單幀傳輸無(wú)等待時(shí)延,符合3.1 節(jié)預(yù)留方式。
4.2.3多幀周期性預(yù)留-均分
本節(jié)針對(duì)設(shè)備SVcamera2多幀數(shù)據(jù)流周期性預(yù)留帶寬,預(yù)留值計(jì)算方式采用均分方法,結(jié)果如表5 所示。

表5 實(shí)驗(yàn)結(jié)果(多幀周期性預(yù)留-均分)
實(shí)驗(yàn)結(jié)果表明,均分方法可以很好地求解多幀周期性預(yù)留問(wèn)題,其中SVcamera2設(shè)備時(shí)延穩(wěn)定在4.97 ms,低于目標(biāo)值5 ms,達(dá)到實(shí)驗(yàn)預(yù)期目的,同時(shí)其他背景流也全部發(fā)送和接收完畢。
4.2.4多幀周期性預(yù)留-SMT
本節(jié)針對(duì)設(shè)備SVcamera2多幀數(shù)據(jù)流周期性預(yù)留帶寬,預(yù)留值計(jì)算方式采用SMT 方法,結(jié)果如表6 所示。

表6 實(shí)驗(yàn)結(jié)果(多幀周期性預(yù)留-SMT)
實(shí)驗(yàn)結(jié)果表明,SMT 方法可以很好地求解多幀周期性預(yù)留問(wèn)題,其中SVcamera2設(shè)備時(shí)延穩(wěn)定在4.98 ms,低于時(shí)延要求5 ms,達(dá)到實(shí)驗(yàn)預(yù)期目的,同時(shí)其他背景流也全部發(fā)送和接收完畢。但是相比4.2.3 節(jié),背景流的整體時(shí)延和抖動(dòng)均有所增加,抖動(dòng)增長(zhǎng)2 個(gè)數(shù)量級(jí)。本節(jié)挑選設(shè)備LiDAR1和設(shè)備SVcamera3兩組數(shù)據(jù)進(jìn)行對(duì)比,圖3 為L(zhǎng)iDAR1設(shè)備的時(shí)延對(duì)比,均分方法的時(shí)延抖動(dòng)小于SMT 方法的時(shí)延抖動(dòng);圖4 為SVcamera3設(shè)備的時(shí)延對(duì)比,同樣,SMT 方法時(shí)延抖動(dòng)均高于4.2.3 節(jié)的均分方法。通過(guò)兩組對(duì)比圖也可以看出,均分方法對(duì)其他背景流的影響更小,其他數(shù)據(jù)流的時(shí)延和抖動(dòng)更低,同時(shí)滿足2.2 節(jié)中采用的4 個(gè)約束條件,總體時(shí)延不超出5 ms,預(yù)留帶寬值不超出鏈路實(shí)際帶寬(本節(jié)實(shí)驗(yàn)鏈路[switchB,switchA]預(yù)留值約為8 Gbit/s,實(shí)際帶寬為40 Gbit/s),本節(jié)屬于多幀預(yù)留,因此采用最后一幀的時(shí)延作為整體流時(shí)延,符合3.2 節(jié)多幀預(yù)留方式,其中在交換機(jī)B 前后段存在前后帶寬不一致情況(鏈路[SVcamera2,switchB]帶寬為10 Gbit/s,鏈路[switchB,switchA]預(yù)留值為8 Gbit/s)。

圖3 LiDAR1 設(shè)備的時(shí)延對(duì)比

圖4 SVcamera3 設(shè)備的時(shí)延對(duì)比
4.2.5單幀多幀結(jié)合周期性預(yù)留-均分
本節(jié)針對(duì)設(shè)備 LiDAR2單幀數(shù)據(jù)流和設(shè)備SVcamera2多幀數(shù)據(jù)流周期性預(yù)留帶寬,預(yù)留值計(jì)算方式采用SMT 方法,結(jié)果如表7 所示。

表7 實(shí)驗(yàn)結(jié)果(單幀多幀結(jié)合周期性預(yù)留-均分)
實(shí)驗(yàn)結(jié)果表明,均分方法可以很好地求解單幀多幀結(jié)合的周期性預(yù)留問(wèn)題,其中SVcamera2設(shè)備時(shí)延穩(wěn)定在4.97 ms,低于目標(biāo)值5 ms,LiDAR2設(shè)備時(shí)延穩(wěn)定在120 μs,達(dá)到實(shí)驗(yàn)預(yù)期目的,同時(shí)其他背景流也全部發(fā)送和接收完畢。
4.2.6單幀多幀結(jié)合周期性預(yù)留-SMT
本節(jié)針對(duì)設(shè)備 LiDAR2單幀數(shù)據(jù)流和設(shè)備SVcamera2多幀數(shù)據(jù)流周期性預(yù)留帶寬,預(yù)留值計(jì)算方式采用SMT 方法,結(jié)果如表8 所示。

表8 實(shí)驗(yàn)結(jié)果(單幀多幀結(jié)合周期性預(yù)留-SMT)
LiDAR2設(shè)備時(shí)延穩(wěn)定在120 μs,SVcamera2設(shè)備的平均時(shí)延為4.98 ms,抖動(dòng)為0.000 35 ms,同時(shí)其他背景流也全部發(fā)送和接收完畢。結(jié)合圖5 可以發(fā)現(xiàn),在超周期(各條流的周期最小公倍數(shù))內(nèi),出現(xiàn)兩次4.980 336 ms 時(shí)延、一次4.979 583 ms 規(guī)律性時(shí)延。查看預(yù)留配置發(fā)現(xiàn),SMT 算法產(chǎn)生的結(jié)果為相同規(guī)律的預(yù)留值,因此也符合實(shí)驗(yàn)預(yù)期。同樣,如圖6 和圖7 所示,均分方法相比SMT 方法數(shù)據(jù)流產(chǎn)生的時(shí)延和抖動(dòng)更低。

圖5 SVcamera2 設(shè)備的時(shí)延對(duì)比

圖6 SVcamera3 設(shè)備的時(shí)延對(duì)比

圖7 LiDAR1 設(shè)備的時(shí)延對(duì)比
通過(guò)以上對(duì)比實(shí)驗(yàn)可以發(fā)現(xiàn),本文算法首先能夠計(jì)算出周期內(nèi)具體的預(yù)留值和預(yù)留時(shí)隙,其次保障數(shù)據(jù)流能夠在要求時(shí)延內(nèi)到達(dá),并且不同周期內(nèi)時(shí)延抖動(dòng)可控,最后便于帶寬預(yù)留的思想落地實(shí)現(xiàn)。同時(shí)使用SMT 方法針對(duì)單幀和多幀單條流周期性預(yù)留可以達(dá)到實(shí)驗(yàn)預(yù)期,但是在多流不同周期時(shí)可能會(huì)產(chǎn)生抖動(dòng),由于本文的方式是不同周期分開(kāi)計(jì)算的,因此在不同周期內(nèi)可能會(huì)產(chǎn)生不同的帶寬預(yù)留值,這也是本文的遺留問(wèn)題,當(dāng)前通過(guò)設(shè)置預(yù)留值取值空間范圍,避免差距過(guò)大的問(wèn)題,但是還不能消除抖動(dòng)。除此之外,如何確定帶寬預(yù)留值之和與鏈路總帶寬的占比也是本文未來(lái)的研究方向之一,目的是更好地平衡背景流的傳輸和目標(biāo)流之間的沖突。
帶寬預(yù)留值計(jì)算方法還需要參考其他在網(wǎng)的數(shù)據(jù)流,在一定范圍內(nèi)預(yù)留帶寬值,防止預(yù)留占據(jù)大部分的帶寬空間,同時(shí)預(yù)留方式適合小數(shù)據(jù)流量、時(shí)延要求不是非常高的數(shù)據(jù)流。
在使用本文周期性帶寬預(yù)留之后,預(yù)留的流量能夠在要求的時(shí)延內(nèi)傳輸完畢并且基本沒(méi)有抖動(dòng),同時(shí)也保障其他不需要預(yù)留流量的傳輸,及時(shí)地釋放預(yù)留帶寬。相比以太網(wǎng)音頻視頻橋接技術(shù)固定帶寬比預(yù)留情況提高帶寬利用率,經(jīng)過(guò)本文預(yù)留之后的帶寬利用率可達(dá)到100%。