莫益軍,楊子涵,劉輝宇,何天流
(華中科技大學計算機科學與技術學院,湖北 武漢 430074)
隨著工業4.0、遠程駕駛和遠程手術等應用數量的不斷增長,對網絡超低時延和微小抖動要求越來越高[1]。其中工業物聯網要求端到端時延為微秒級到毫秒級,抖動為微秒級;觸覺互聯網(遠程手術)要求端到端時延為3~10 ms,抖動不超過2 ms;輔助駕駛要求端到端時延為100~250 μs,抖動為幾微秒。遠程駕駛不僅需要低時延抖動,還需要更高傳輸速率[2]。為滿足上述應用對網絡的要求,時間敏感網絡(time sensitive network,TSN)和確定性網絡(deterministic network,DetNet)分別對以太網的鏈路層和網絡層進行優化,提升其對時間敏感流傳輸的支撐能力。
為保障確定性業務需求,TSN主要從時間同步、資源預留、流量控制和排隊轉發等方面對以太網L2層進行優化,DetNet則從動態網絡配置、資源編排、路徑規劃、路由轉發和多徑轉發等方面對以太網L3層進行優化。考慮到業務流排隊轉發是L2層TSN和L3層DetNet共同關注的焦點,且DetNet中,即便做了路徑規劃和資源預留,也會因突發流量和過載流量競爭而產生不可預知的時延和抖動,本文后續的工作將圍繞流量整形和隊列排隊轉發展開。IEEE 802.1tsn標準中提出的流量整形調度包括IEEE 802.1Q中提出的基于信用的流量整形[3](credit based shaper,CBS)、IEEE 802.1Qbv中提出的時間感知整形[4](time aware shaper,TAS)、IEEE 802.1Qcr中提出的異步流整形[5](asynchronous traffic shaper,ATS)和IEEE 802.1Qbu中提取的幀內搶占整形(framepreemption shaper,FPS)等,IEEE 802.1Qch中設計的隊列和轉發機制包括CQF[6]、CQF-3、增強型循環排隊轉發(paternoster)、循環特定排隊轉發(cyclic special queuing and forwarding,CSQF)和可擴展確定性排隊轉發(scalable deterministic forwarding,SDF)。
分析流量整形和排隊轉發方案可知,CBS根據兩類隊列中的排隊幀數和傳輸幀數調整端口速率,導致平均隊列時延較高;TAS采用門控機制對輸出端口八隊列進行控制,每隊列可分別設置不同的傳輸策略,其時延抖動性能得到提升,其管理復雜度高,且抗過載流量能力較弱;CQF在TAS門控隊列基礎上選取最后兩個隊列用于時延敏感業務流量的循環排隊,其時延抖動性能得到進一步提升,但同樣存在抗過載流量能力弱,且對時間同步要求較高。上述排隊方案通過周期性控制節點自身門控隊列開關保障時延敏感業務服務質量,僅考慮了交換節點自身調度頻率和進出流量類型,只適用于小規模輕載局部網絡。而大規模DetNet傳輸距離遠、拓撲易變化和路徑的不確定,難以保證下游交換節點在兩倍時隙周期內接受到上游節點發出的數據報。另一方面,確定性時延敏感業務并非恒定速率,且存在流量微突發和流量過載情況。一旦流量過載,時間抖動性能急劇惡化[7]。鑒于此,TSN和DetNet研究者在CQF基礎上將出口隊列擴展至3~4個,分別承擔接收、暫存和門控等功能,并結合端到端的路徑分別確定各交換節點的排隊調度策略。
針對大規模DetNet拓撲和傳輸特點[8],確定性業務流存在的微突發現象和現有隊列機制保障過載確定性流量能力不足問題,本文在標準CQF方案基礎上提出了GCQF-3方案,對其進行了3項優化,首先,將標準CQF中服務于確定性流的雙隊列擴展為三隊列,增加的緩存隊列用于對微突發業務流進行整形,并暫存部分高負載數據報和未及時轉發數據報;其次,在對隊列進行門控時,綜合考慮端到端路徑途徑交換節點的出入度和流量負載分布,并在幀搶占式隊列基礎上,將周期性逐報文門控優化為逐幀門控;最后,通過增加確定性流隊列數量和全局狀態感知的靈活門控策略,降低了高負載情況的丟包率,提升時延抖動性能。
實現確定性網絡的過程中,單一VID難以滿足需求,邊緣節點生成的唯一DetNet流標識被用于確定性流的識別;同時周期性標識的嵌入使得全網精確的時間同步得以實現,這是DetNet和TSN的基礎。但是網絡中無序到達的流量對于業務的處理造成了困擾,引入的流量整形器保證確定性業務的優先級資源分配,使得流量在有界時間內進入下一跳。循環隊列排隊轉發作為一種流量整形機制,實現了特定流量需求的細粒度QoS服務。
大規模DetNet對確定性業務流的時延抖動進行保障,逐流確定其業務類別及確定性時延抖動屬性,并以此為基礎在交換節點上進行排隊轉發[9]。IEEE 802.1tsn中建議將以太網報頭的優先級碼點(PCP)字段和VLAN ID(VID)共同作為流標識。但遠距離大規模DetNet需跨多段網絡,VID難以穿越端到端所有網絡,需逐段進行VID的映射,且全網最大VLAN數不能超過4 096,意味著使用VID作為DetNet流標識將限制了確定性業務流并發數量。另一方面,諸如遠程駕駛和遠程手術之類的確定性業務涉及多流和多轉發路徑,單一VID難以滿足多流、多路徑需求。鑒于此,可在確定性業務進入網絡時,由邊緣節點生成唯一DetNet流標識,將其封裝在DetNet SRv6頭部,以用于確定性流識別和排隊。
DetNet和TSN需要全網具備精確的時間同步,以滿足時延和抖動需求[10]。毫秒級的網絡時間協議(network time protocol,NTP)因其時鐘偏移和時間配置無法滿足DetNet的時間同步要求。現有時間同步僅限于亞微秒級精度,跨網絡定時信息的全局共享需要網絡節點時間彼此精確地同步,大型對撞機通信網絡設置要求亞納秒級的時間精度。鑒于此,IEEE 802.1AS采用通用精確時間協議[11](gPTP)實現網絡設備時間同步。gPTP通過時間主機和時間從機之間的消息傳遞形成時間感知網絡(gPTP域),基于對等路徑延遲機制計算駐留時間和鏈路時延,以此校準時間實現本地時間與gPTP域的主時間同步,最終保證所有設備同步到全局時間,以用于門控隊列的開閉控制。該時間同步精度取決于主時間頻率、駐留時間和鏈路時延。各網絡實體保持高時鐘精度成本較高,且網絡設備間頻繁的定時信息周期性交換給控制面帶來較大負載壓力。為解決同步成本和網絡開銷問題,ATS和SDF都提出在數據報中嵌入周期標識,只需網絡節點頻率同步即可消除節點隊列控制對時間同步和時隙同步的苛刻要求。
DetNet和TSN中節點引入流量整形器對無序到達的各類流量進行平滑整形,保證在有界時間內進入下一跳[12]。其流量整形器需要保證確定性業務的優先級資源分配,確定性流與盡力而為流的隔離和排隊幀等待時間限制等。標準的流量整形方法包括CBS、脈沖限制整形器、TAS和ATS等。CBS引入信用機制進行特定流量的排隊整形,其信用隨空閑斜率增加,隨發送斜率降低,當信用大于或等于零時傳輸轉發流量,分散了CBS通信量,避免了下游節點的流量突發;TAS引入時分復用機制周期循環控制隊列開閉,根據門控列表(gate contorl list,GCL)循環轉發定時門打開狀態的隊列流量,節點出口流傳輸時選擇特定的傳輸策略;ATS則融合了逐跳逐流分類整形機制,引入令牌桶整形器控制流輸出速率,防止下游節點流量突發。
DetNet和TSN的標準流量調度和隊列管理方案分為分類隊列和逐流隊列[13]。分類隊列基于服務類別分配優先級,與以太網層優先級碼點(priority code point,PCP)3位相對應,分類隊列每個節點端口使用8個隊列來處理服務類。分類隊列QoS保障粒度較粗,共享相同PCP碼的業務流排隊時容易導致業務流突發,且傳遞到下游相應隊列;逐流隊列則在節點端口為每條流提供一個隊列,可逐流管理突發性及速率,實現特定流量需求的細粒度QoS服務。但隨著網絡規模擴大,逐流排隊成本高、擴展性差,難以實用。分類逐流混合隊列方式是平衡分類隊列和逐流隊列性能的首選。
針對DetNet和TSN的隊列控制,對CQF、CQF-3、Paternoster、SDF和CSQF的分析如下。
(1)CQF
循環排隊和轉發由蠕動整形器[14]發展而來,以循環方式調度節點業務流入出隊列。CQF將隊列按時隙劃分復用,使用8個隊列中的兩個對確定性業務流進行循環調度。兩個隊列中一個隊列在某時隙對到達幀排隊時,另一隊列將上個時隙排隊幀取出并轉發,即任何時隙內到達幀在下個時隙傳輸,且在兩個時隙內到達下一跳節點。這意味著上下游節點的傳播時延需小于時隙間隔時長,CQF門控時隙受制于網絡規模和鏈路距離。網絡規模越大,其時隙間隔越大,時延抖動越難保障,且當入口幀到達間隔小于時隙間隔時,容易引起累積流量突發。
(2)CQF-3
針對CQF存在的問題,尤其是上游節點到達幀傳輸到下游節點的時延因鏈路傳播和節點處理時延超過兩個時隙周期時,引入第3個分組隊列充當緩沖,以避免幀到達時隙錯誤或丟包。
(3)Paternoster機制
同樣針對標準CQF存在的問題,Paternoster機制在每個節點出口設置一個流保留計數器和先前、當、后續和最后4個輸出隊列。每個時間窗口中,先處理完先前隊列后,再選擇當前隊列進行傳輸,直至窗口期滿。在處理過程中,新接收幀在當前隊列排隊。追加幀在后續隊列和最后隊列排隊,直至超過隊列門限而被丟棄。每個時間周期內,4個隊列交替轉換狀態。該方案通過4個狀態隊列增強了CQF的容錯能力,降低了丟包率,但隨著DetNet跳數節點增加,維護成本快速增加,時延抖動性能有所下降。
(4)SDF
SDF在保證節點具有同步頻率基礎上,在數據報中增加周期標識符,以時隙方式異步轉發數據流,以消除節點間的苛刻時間同步需求。在入口節點和出口節點增加流量整形門控,僅在網關處進行逐流排隊,并為每類流量維護3個隊列,一個用于輸出排隊,兩個用于不同周期標識符的輸入排隊,一個隊列出列,兩個隊列入列(來自不同的周期標識符)。本節點根據接收到來自上游節點報文中的顯式周期標識符進行節點間的周期關系映射和轉發,SDF時延上限同CQF一樣節點間不超過兩倍時隙周期,全網不超過兩倍總跳數時隙周期。
(5)CSQF
CSQF針對標準CQF為滿足幀轉發時隙規則預留保護帶寬而損失帶寬利用率問題,借助段路由標識符(SID)協調循環傳輸時間,并明確在端到端路徑上指定每個DetNet節點的傳輸周期。此外,CSQF沿用了CQF的分類隊列思想,按流量分類在節點出口維護發送、接受和容忍3個隊列,且循環交替更換隊列角色和狀態。
綜上所述,為滿足大規模確定性時延抖動需求,在CQF基礎上不斷進行隊列演進嘗試,其研究趨勢主要體現為4點,并用于指導GCQF-3設計。
? 引入時隙周期性標簽降低時間同步要求。
? 采用混合分類排隊和逐流排隊機制以滿足不同規模拓撲的擴展性和管理需求。
? 采用狀態循環交替變換的多隊列機制解決隊列轉發時隙周期錯誤和突發流量問題。
? 采用端到端全路徑多跳排隊代替單跳排隊控制以及時響應網絡節點的狀態變化。
參考大規模DetNet中節點隊列設計的四大趨勢,為保證DetNet流時延抖動需求,本文提出GCQF-3排隊轉發框架如圖1所示,包括4個關鍵點。

圖1 面向DetNet的全局循環排隊轉發框架
? 當新發起確定性流進入入口網關時,節點向控制平面注冊DetNet流速率和時延抖動等網絡資源需求和QoS需求,以進行路徑選擇和資源預留。當DetNet流進行排隊轉發時,攜帶DetNet流標識。
? 端到端路徑上的交換節點向控制平面報告自身節點在途流標識、確定性流總速率及確定性流的入度和出度,以指導全局循環排隊轉發。
? 每個交換節點為確定性流分配三隊列,分別用于接收、緩存和傳輸。
? 出口節點根據時隙周期標識計算測量確定性流的端到端時延和抖動,將異常差錯報告給控制平面,以調整全局循環排隊轉發策略。
考慮到PCP位數限制,全局循環排隊沿用標準CQF的八隊列設計,其中兩隊列用于確定性業務流量排隊轉發,伴隨確定性雙隊列的,額外引入一個共享緩存隊列。該隊列不直接從輸入端口接收數據,僅接收兩個確定性隊列溢出時擬丟棄數據報進行排隊,用以實現對突發業務流的緩存和平滑調度。并與對應隊列門控進行聯動,調節出口報文轉發速率。隨著確定性流量的增加,可按兩確定性隊列加伴隨緩存隊列的配置成組增加用于確定性業務流量排隊的隊列。全局三隊列循環排隊轉發機制如圖2所示。

圖2 GCQF-3循環排隊轉發機制
交換節點完成選路和交換后,基于以太網幀中的VLAN標簽、PCP分類碼和流標識區分流量優先級,對流量數據進行分類,并將確定性流輸出至相應的優先級隊列進行排隊。其中,確定性業務進入分發至兩個確定性隊列進行排隊。各交換節點的確定性隊列控制單元定期對兩個確定性隊列和緩存伴隨隊列的忙閑狀態和流標識進行監控,將監控狀態匯報至確定性控制器。確定性控制器對其計算確定性流的端到端路徑,并對各交換節點承載的確定性業務流屬性、數量和流量進行估計,并將與其反饋至與其相關聯的交換節點。各交換節點根據各自隊列狀態、確定性流需求和路徑各節點狀態,控制緩存伴隨隊列的存取順序和速度,調節確定性隊列門控打開閉合時長。當排隊的數據報未超出確定性隊列容量時,GCQF-3與CQF相同,兩隊列在奇偶周期輪流打開。當排隊數據報超出確定性隊列容量,GCQF-3并不會將數據報丟棄,而是進入緩存伴隨隊列進行緩存,確定性隊列中當前數據報轉發結束后,按序逐流分等級轉發緩存伴隨隊列中確定性等級高的數據報,其門控周期保持與CQF一致,但其數據報調度轉發頻次取決于端到端傳播路徑和路徑節點狀態。
(1)GCQF-3時序
大規模確定性網絡完成路徑規劃、資源切片和路由選擇后,端到端路徑和拓撲相對固定,單跳往返時延和端到端往返時延相對固定,但因兩個確定性隊列循環開閉周期和上游報文發送時間與下游報文接收時間與與上下游往返時間相關,隨著端到端路徑傳播距離和節點數量增加,節點排隊時延和端到端時延都將增大。為降低確定性流時延,GCQF-3針對數據報到達排隊和門控轉發需占用兩個時隙周期的問題,直接將端到端傳播距離較長的確定性流的數據報同時通過兩個確定性隊列進行排隊,保證長距確定性流數據報無須耗費等待周期,一直處于可發送狀態,但發送時機仍受排隊長度和報文轉發速度影響。
如圖3所示,標準CQF以T為單位周期性輪流開閉隊列門控。隊列6奇數時隙打開,偶數時隙關閉;隊列7奇數時隙關閉,偶數時隙打開。若平均每跳傳輸時延為P,則數據報每跳時延為[T+P, 2T+P],端到端N跳的時延為[NT+NP, 2NT+NP],端到端時延隨跳數二倍增加。當隊列負載較重和端到端路徑跳數較長時,GCQF-3除了在奇數時隙打開隊列6門控,偶數時隙打開隊列7時隙,將未傳輸的數據通過緩存伴隨隊列HQ轉發,HQ保持與打開狀態的門控連接,則除首跳外,數據報每跳時延為[P,P+δ],則端到端N跳的時延為[T+P+δ,T+NP+δ],即時延僅與傳播時延相關。

圖3 GCQF-3循環排隊轉發機制
(2)門控策略
為簡單起見,上述GCQF-3時序僅介紹了網絡拓撲和流量恒定狀態下的端到端隊列轉發時序。真實網絡受節點加入退出、負載分布和服務能力影響,其端到端路徑跳數和距離也隨之變化。另一方面,確定性業務碼流并非恒定速率,且受路徑變化和確定性流非均勻到達的影響,高負載確定性網絡中端到端路徑上中間節點不可避免地存在流量突發。為降低長距轉發的時延,且兼顧平滑抑制流量突發問題,GCQF-3綜合平衡周期循環、快速轉發和狀態感知3類門控策略。
(1)周期循環策略
周期循環門控策略適用于網絡規模較小和端到端跳數較少的情況,GCQF-3退化為CQF,在奇偶周期交替分別打開確定性隊列6和7。
(2)快速轉發策略
快速轉發策略是為適應GCQF-3時序描述中提到的大規模確定性網絡轉發而制定的策略,相對長距鏈路和多跳路徑,GCQF-3通過緩存伴隨隊列保證到達報文持續有機會被轉發,無須等待,但其轉發調度頻率受制于隊列長度及隊列讀取最小調度周期,該策略相當于以更細顆粒度執行周期循環策略。快速轉發策略僅與三隊列的排隊順序和時間戳有關,不區分確定性流的類型和網絡狀態的變化。
(3)狀態感知策略
狀態感知策略是為適應拓撲變化、重載流量和流量突發制定的隊列轉發策略。重載流量和突發流量情況下,不考慮網絡狀態進行快速轉發,將加劇排隊擁塞和丟包,時延抖動難以保障。針對此問題,各交換節點的GCQF-3根據確定性控制器返回的端到端路徑上逐跳往返傳播時延,交換節點相應端口的入度、出度、流量和隊列負載比,以及本節點相應端口的待轉發流量,確定其轉發調度頻率,若感知的上述狀態未超過門限值,其策略將簡化為快速轉發策略,甚至周期循環策略。
針對上述3種情況,GCQF-3的排隊轉發策略算法的相關流程如算法1所示,其中涉及的參數符號見表1。

表1 GCQF-3排隊策略相關參數
算法1GCQF-3隊列門控策略
輸入Sid, Pidi
輸出T,Repeatk
獲取確定性流的Sid, Pidi
通過Pidi計算Hopi
計算Lengthi

else

else

else

return result
不同網絡規模拓撲和確定性流量負載對循環轉發機制的端到端時延與抖動性能影響較大,為快速評估循環轉發隊列的時延抖動性能,在事件驅動的OMNeT++(objective modular network tested in C++)仿真平臺[15]基礎之上,構建承載確定性流量排隊轉發的驗證環境,其仿真驗證框架如圖4所示,包括流量拓撲構建、時隙分配映射、排隊轉發控制和仿真參數控制4個部分。

圖4 確定性網絡排隊轉發仿真框架
(1)流量拓撲構建
工業互聯網業務在確定性網絡應用中占比較高,而本地工業網絡存在線形、環形和星形3種拓撲。鑒于此,本仿真框架將生成線形拓撲、環形拓撲和星形拓撲3種以驗證不同拓撲下的確定性流量排隊轉發性能。
(2)時隙分配映射
時隙分配是確定性網絡排隊門控的基礎,本仿真框架中不區分同步時鐘和異步時隙映射,但將時隙劃分為確定性周期、非確定性周期及保護周期,其周期占比分別為70%、25%、5%。
(3)排隊轉發控制
本仿真控制框架在OMNeT++的NeSting中實現了CQF、CQF-3和GCQF-3等多種框架,為保證GCQF-3的正常運行,還對路徑和狀態進行測量、監控和感知,對排隊等級和周期調度參數等進行修改和控制。
(4)仿真參數控制
為全面評估各種參數對確定性網絡中排隊轉發策略的影響,該模塊對表1中所示參數提供調整接口,并組合確定性流量、非確定性流量、背景流量和突發流量等各種流量進行打流仿真測試。
在上述確定性網絡轉發仿真框架下,對本文提出的GCQF-3排隊機制與CQF和CQF-3等現有排隊轉發機制的時延抖動性能進行如下對比。此外,不同機制在網絡通信開銷、確定性流擴展性和調度復雜度等方面也相去甚遠,本文還將從網絡通信開銷、靈活擴展性和調度復雜度等方面展開定性分析和總結。
(1)不同拓撲下排隊策略的平均時延
確定性網絡拓撲結構對排隊轉發性能影響較大,如圖5所示,在相同策略下,環形拓撲下排隊轉發性能最差,星形拓撲下排隊轉發性能最優。在相同拓撲下,本文提出的GCQF-3排隊轉發性能最優,以線形拓撲為例,GCQF-3相對CQF平均時延縮短27%,而相對CQF-3平均時延縮短33.5%。其主要原因是CQF-3通過增加的隊列增加了抗突發能力,保證了包丟失,但未改變轉發頻率和周期,反而增加了排隊長度,導致時延增加。GCQF-3雖增加了緩存伴隨隊列,同時根據網絡狀態加快了轉發頻率,在不突破節點流量負載和隊列容量的條件下,大幅降低排隊轉發時延。

圖5 不同拓撲下排隊策略的平均時延
(2)線形拓撲下各種排隊策略的平均抖動
由確定性網絡排隊策略時延分析可知,線形拓撲因其路徑長度和排隊時序的特點,最能代表排隊策略對確定性流性能的影響。主要以線形拓撲為主進行分析,CQF、CQF-3和GCQF-3的平均抖動性能如圖6所示。其中GCQF-3平均抖動介于CQF和CQF-3之間,鑒于CQF對流量突發和重載流量性能支撐不佳,而CQF-3通過三隊列聯動加大了隊列緩存,進一步實現了對流量突發的平滑。而QCQF-3雖加大了隊列緩存,但在門控打開周期增加了轉發頻率,導致下游節點流量匯聚突發的可能性加大。

圖6 線形拓撲下不同排隊策略的平均抖動
(3)線形拓撲下各種排隊策略的平均丟包率
與確定性網絡排隊策略抖動分析類似,CQF、CQF-3和GCQF-3的平均丟包率如圖7所示。 GCQF-3由于加快了隊列轉發頻率,三隊列出現擁塞情況較少,大大降低了丟包率,在重載情況下(非過載),GCQF-3相對CQF丟包率降低了78%,相對CQF-3其丟包率降低61%。

圖7 線形拓撲下不同排隊策略的平均丟包率
綜合上述對比結果,GCQF-3除了抖動略有增加之外,時延和丟包率都優于CQF和CQF-3。
(1)網絡通信開銷
該開銷主要來源隊列轉發決策時進行網絡隊列監控和狀態傳遞的開銷,不僅包括控制平面開銷,也包括數據平臺的開銷。受測量控制分布式和集中式的影響,其網絡通信開銷各不相同,但總體趨勢一致。因GCQF-3排隊轉發機制需獲取端到端全局隊列狀態,而另外兩種隊列轉發機制屬于獨立節點自調節方式,GCQF-3的網絡通信開銷則遠大于CQF和CQF-3,針對時間敏感長距離通信,后續將需進一步研究在低開銷和時延及丟包率之間找到平衡的方法。
(2)靈活拓展性
CQF和CQF-3在解決時延和抖動問題時,并未充分考慮可伸縮性,尤其是隨著確定性流增加時。GCQF-3考慮流量增加的適應性和擴展性,但其狀態監控和傳遞隨著網絡的增長呈指數增長,對于排隊轉發的時效性和擴展性帶來新的挑戰。
本文針對確定性業務需求分析了確定性網絡的關鍵技術需求,并對工業界和學術界的過濾整形和隊列轉發控制方進行了簡單綜述。針對大規模確定性網絡存在的時延抖動挑戰,本文在CQF基礎上,引入端到端網絡狀態對隊列門控機制進行了優化,提出GCQF-3排隊機制。并基于OMNeT++搭建一套事件驅動的確定性網絡性能評估仿真系統,分析了線形、環形和星形拓撲下CQF、CQF-3和GCQF-3的隊列轉發控制機制的時延抖動性能。雖3種方式各有優缺點,總體來說,GCQF-3在滿足抖動需求的情況,時延和丟包率都優于其他兩種機制。但GCQF-3網絡和隊列狀態監控的粒度及消息傳遞的時機和策略還需進一步優化,以平衡網絡開銷和時延抖動性能,并進一步提升擴展性。除此之外,后續還將進一步細化排隊轉發策略中流量負載率和出入度對GCQF-3排隊轉發策略的影響,以及通過增強學習來提高其排隊轉發策略的及時性和準確性。