作者 | J
小編 | CACTUS


前言
我們在以往的文章中介紹了TSN相關的各個內容,包括《TSN(時間敏感網絡)純干貨分享》、《TSN(Time-Sensitive Networking)時間敏感網絡 協議導讀:時間同步 | 延時 | 802.1Qav | 802.1Qch | 802.1Qbv | 802.1Qbu》、《基于TSN 802.1AS協議的時間同步分析(7種延時,1次厘清)》等等。
本次將介紹TSN Qav的相關內容。

什么是Qav
IEEE 802.1Qav 是時間敏感網絡(TSN)標準族中的重要組成部分,全稱為"Forwarding and Queuing for Time-Sensitive Streams"(時間敏感流的轉發和排隊),其核心在于引入了基于信用的整形器(Credit-Based Shaper, CBS),確保時間敏感流和普通流能夠獲得預期的整形流量。
在談到流量整形時,我們先看一下基礎的數據轉發方式。在二層VLAN數據的VLAN tag中,我們定義了不同數據使用了不同的優先級,在交換機的目標端口進行多個源端口的數據轉發時,會根據緩存隊列中數據的優先級進行發送,高優先級數據會持續使用發送資源。
最終的數據情況如圖所示

上圖表示了一段1ms窗口內的數據(紅框為放大圖),其中高優先級數據占據了所有的帶寬資源,形成了蜂擁的現象。
這一情況可能會存在2個問題,一是低優先級數據被完全阻塞無法發送(雖然數據的優先級低,但還是希望能有一部分帶寬用于低優先級數據發送),二是高優先級數據蜂擁浪費了帶寬資源且增加數據丟失的風險(即雖然數據優先級高,但并不期望蜂擁到達目標終端)。
Qav為了優化這部分的流量整形,一是限定了高優先級流量的最大帶寬來保證可以發送低優先級的數據,二是使用CBS算法來離散高優先級的數據發送。CBS算法為基于信用的計算方式,簡單來說,數據想要發送就需要支付信用點,當信用點小于0則不允許被發送,信用點會隨時間恢復。

如上圖所示,數據1、2、3需要轉發到目標端口,數據1發送后信用點降低,當數據1發送完畢,需要等待信用點恢復到0后才可以發送數據2,蜂擁的數據1、2、3就被整形成了間隔均勻的目標數據。

使用TSN Systems公司的TSN CoreSolution進行數據分析后,即可獲得上述的流量圖,in的那一行是源端口的蜂擁數據,out那一行是經過Qav整形后的目標端口的數據,可以直觀地看到,源端口的蜂擁數據在目標端口轉發后被整形為間隔均勻的目標數據。
設置不同的帶寬限制就可以獲得不同的信用點上升和下降速率(即idleSlope和sendSlop),就能控制相應數據的發送頻率。結合低優先級數據的發送行為,就會形成特定的數據流。

如上圖所示,在低優先級數據發送過程中,接收到發送數據1的指令,則信用點會增加,當低優先級數據發送完畢后可以發送數據1,同時消耗信用點,數據1發送完畢后由于還有信用點,則可以開始發送數據2,數據2 發送完畢后信用點小于0,需要等待信用點恢復后才能發送數據3。
由此我們可以知道,當數據延遲在可接受范圍內,可以通過Qav的方式進行流量整形,以達到平緩數據和保證低優先級數據不被長時間阻塞的目的。

怎么測試Qav
理清了Qav基本內容后,我們來說明一下如何進行Qav的測試。我們把Qav測試分為一致性測試和自定義測試,一致性測試是基于AVnu發布的一致性測試規范,而自定義測試則是需要基于OEM的需求以及Qav相關的流量配置來進行測試。
(1)Qav一致性測試
Qav的一致性測試主要包含3個章節的內容,分別是轉發機制驗證、CBS算法驗證、AVB及非AVB的交換機特殊性驗證。測試環境大部分是基于一個源端口轉發到一個目標端口。
如下圖所示

也存在特殊的環境,如一進二出和二進一出的場景。
如下圖所示


一致性測試的過程中通常需要根據不同的測試要求,修改交換機以及Qav的配置,如設置特定的預留帶寬、配置特定的轉發流等。
(2)Qav自定義測試
Qav的自定義測試通常需要OEM的需求和配置作為前提,比如在設計階段,需要拆解存在哪些流量,每個流量應該如何分類到Qav的配置中,對應的預留帶寬應該是多少,有哪些端口需要啟用Qav等等。
有了這些定義之后,我們就可以對需要測試的流量進行拆解分析,設計合適的用例來驗證Qav的機制實現情況、流量偏差情況、流量沖突處理行為是否正常等等。
(3)測試工具的選擇
由于Qav的測試更多地需要流量分析而不是單一數據的判斷處理,我們更推薦TSN CoreSolution來進行這部分的測試。TSN CoreSolution可以實現在交換機的源端口打入特定的流量,然后對于流量的轉發關系進行記錄和檢查,同時結合其Data Flow中用戶自定義的配置和分析規則,形成直觀的數據流量表現,簡單操作可見如下示例。
(4)測試示例
我們選擇一項測試來進行說明。首先我們配置了Qav中的高優先級和低優先級數據,同時分配高優先級數據的預留帶寬為20Mb/s,在交換機的源端口打入高優先級數據80Mb/s,并在高優先級數據間隔中插入低優先級數據,期望在目標端口只有20Mb/s的高優先級數據。
我們需要的分析規則如下:

首先在真實環境或者LOG分析中,過濾源端口數據和目標端口數據,需要展示源端口的整體數據和帶寬,在目標端口中過濾出高優先級數據和低優先級數據并展示,同時展示高優先級數據的帶寬。
在TSN CoreSolution的Data Flow具體配置如下

然后在TSN CoreSolution的輸出頁面,可以查看到總輸入帶寬大約100Mb/s,輸出的高優先級數據帶寬大約20Mb/s
見下圖總覽

將展示的結果進行放大,可以看到輸入的高優先級數據每幀1000字節,低優先級數據每幀100字節,均勻間隔穿插發送,而輸出端限制了高優先級的數據,此發送行為受CBS算法控制而形成預期帶寬的數據輸出。
見下圖

我們再放大數據展示并進行時間戳的標注,就可以直觀地看到當Qav機制生效后的數據延遲表現,如下圖示例,蜂擁的高優先級數據被整形為間隔300多μs的目標端數據。


總結
本次為大家介紹了TSN Qav的相關基礎知識和測試內容,了解了其優劣勢和相關特點,后續會帶來更多關于TSN協議的測試實踐內容,敬請關注。
北匯信息是TSN Systems在中國的獨家合作伙伴,借助其專業的TSN工具TSN Coresolution,能夠為下一代E/E架構中時間敏感網絡提供系統級測試解決方案,包括系統設計測試、系統性能測試以及系統魯棒性測試等
注:文中圖片來源于TSN CoreSolution、AVnu
-
測試
+關注
關注
9文章
6201瀏覽量
131343 -
時間同步
+關注
關注
1文章
226瀏覽量
10631 -
TSN
+關注
關注
3文章
294瀏覽量
17981
發布評論請先 登錄
六大工業互聯場景的TSN+OPC UA智能制造測試床
如何做好TSN落地前的最后一步:TSN組網測試
虹科教您 | 虹科RELY-TSN-KIT操作指南(3)——基于Linux系統進行TSN協議測試
虹科干貨|TSN標準
TSN便攜式測試工具TESTBASE-ATT
虹科方案 僅需4個步驟!輕松高效搭建虹科TSN測試網絡
車載以太網自動化測試套件—AETP.TSN
虹科干貨 | 信用整形機制Qav:如何平衡流量整形和緩存大小?
TSN Qav測試實踐
評論