引言:
時(shí)間敏感網(wǎng)絡(luò)(Time-Sensitive Networking,TSN)是基于以太網(wǎng)的新一代網(wǎng)絡(luò)標(biāo)準(zhǔn)。TSN在MAC層提供統(tǒng)一的時(shí)間敏感機(jī)制,為語(yǔ)音、視頻、工業(yè)控制等關(guān)鍵業(yè)務(wù)數(shù)據(jù)提供低時(shí)延、高可靠性的確定性傳輸。TSN標(biāo)準(zhǔn)體系涵蓋時(shí)鐘同步、流量調(diào)度、可靠性和安全等關(guān)鍵領(lǐng)域。
IEEE 802.1Qbv(流量調(diào)度增強(qiáng))協(xié)議是TSN流量調(diào)度機(jī)制的核心。該協(xié)議允許網(wǎng)絡(luò)管理員根據(jù)關(guān)鍵業(yè)務(wù)流的特征和時(shí)序需求進(jìn)行配置,將特定業(yè)務(wù)流映射到專用轉(zhuǎn)發(fā)隊(duì)列,并依據(jù)預(yù)定義的門控列表(Gate Control List,GCL)進(jìn)行周期性調(diào)度,從而優(yōu)先保障關(guān)鍵流量,有效避免其在設(shè)備轉(zhuǎn)發(fā)時(shí)因擁塞而丟包。在TSN網(wǎng)絡(luò)中部署802.1Qbv,可實(shí)現(xiàn)關(guān)鍵業(yè)務(wù)流端到端轉(zhuǎn)發(fā)時(shí)延的精確控制與高度確定性。
壹 802.1Qbv協(xié)議測(cè)試必要性
IEEE 802.1Qbv是TSN網(wǎng)絡(luò)的核心調(diào)度機(jī)制,為工業(yè)控制、自動(dòng)駕駛等實(shí)時(shí)業(yè)務(wù)提供確定性低時(shí)延保障。該協(xié)議通過(guò)TAS和GCL精確控制流量發(fā)送時(shí)機(jī),若實(shí)現(xiàn)不當(dāng),可能導(dǎo)致關(guān)鍵數(shù)據(jù)延遲或丟失,引發(fā)嚴(yán)重事故。因此,進(jìn)行IEEE 802.1Qbv協(xié)議功能測(cè)試是驗(yàn)證設(shè)備能否嚴(yán)格按策略調(diào)度流量、保障高優(yōu)先級(jí)業(yè)務(wù)的關(guān)鍵。
貳 802.1Qbv協(xié)議核心機(jī)制
➽ TAS機(jī)制與門控原理
TSN中,802.1Qbv協(xié)議為識(shí)別出的關(guān)鍵流量提供基于精確時(shí)間點(diǎn)的確定性調(diào)度,其核心機(jī)制是通過(guò)預(yù)配置的802.1Qbv門控列表(Gate Control List,GCL)來(lái)控制隊(duì)列的發(fā)送時(shí)機(jī)。用戶配置時(shí),需在TSN調(diào)度策略(或TSN配置)中定義GCL的關(guān)鍵參數(shù)(如周期、各隊(duì)列門控狀態(tài)與時(shí)長(zhǎng))。隨后,將該策略應(yīng)用到網(wǎng)絡(luò)設(shè)備的出接口(egress port)上。部署成功后,該接口即能依據(jù)GCL的時(shí)序規(guī)則,對(duì)TSN流量執(zhí)行嚴(yán)格的確定性調(diào)度,確保其在預(yù)定時(shí)間窗口內(nèi)無(wú)沖突地發(fā)送。

圖1 Transmission selection with gates
如圖1所示各隊(duì)列的門的開/關(guān)狀態(tài)由GCL精確控制。GCL可以有多行,GCL根據(jù)基準(zhǔn)時(shí)間BaseTime,循環(huán)執(zhí)行,每CycleTime執(zhí)行一次。
將不同流量等級(jí)(Traffic Class)的流量映射到獨(dú)立的轉(zhuǎn)發(fā)隊(duì)列,是實(shí)施802.1Qbv門控調(diào)度的基礎(chǔ)前提,這種隊(duì)列隔離機(jī)制使得GCL能夠?qū)Σ煌?duì)列實(shí)施差異化的調(diào)度策略:即在任意給定時(shí)刻,允許某些隊(duì)列開門發(fā)送數(shù)據(jù),同時(shí)保持其他隊(duì)列關(guān)門阻塞。
流量分類入隊(duì)可通過(guò)多種方式實(shí)現(xiàn),例如:
• 基于VLAN優(yōu)先級(jí)(PCP):利用VLAN報(bào)文頭中的3位PCP字段區(qū)分8種優(yōu)先級(jí),映射到不同隊(duì)列。
• 基于IP DSCP:根據(jù)IP報(bào)文頭的DSCP字段值,將其映射到特定的流量等級(jí)和隊(duì)列。
• 基于精細(xì)化流分類:通過(guò)配置策略,依據(jù)報(bào)文頭信息(如源/目的MAC地址、源/目的IP地址、協(xié)議類型等)顯式指定報(bào)文的流量等級(jí)。
➽ GCL配置邏輯
門控列表(GCL)精確控制每個(gè)隊(duì)列的發(fā)送狀態(tài),其兩種基本狀態(tài)為:
• Open(開門):根據(jù)與隊(duì)列相關(guān)的傳輸選擇算法的定義,選擇要發(fā)送的排隊(duì)幀;
• Close(關(guān)門):不會(huì)選擇排隊(duì)的幀進(jìn)行傳輸。
每個(gè)隊(duì)列的“開”或“關(guān)”狀態(tài)由GCL精確控制。GCL包含多個(gè)條目,定義了每個(gè)隊(duì)列在特定時(shí)間段內(nèi)的門控狀態(tài)。GCL基于基準(zhǔn)時(shí)間(Base Time)啟動(dòng),并周期性循環(huán)執(zhí)行,每個(gè)周期的時(shí)長(zhǎng)稱為周期時(shí)間(Cycle Time),隊(duì)列通常根據(jù)其優(yōu)先級(jí)進(jìn)行調(diào)度(優(yōu)先級(jí)數(shù)值越高表示優(yōu)先級(jí)越高,范圍通常為7到0)。在門控狀態(tài)為“開”的前提下,設(shè)備嚴(yán)格按照優(yōu)先級(jí)從高到低(7->6->...->0)的順序發(fā)送隊(duì)列中的報(bào)文。

圖2 GCL表象
以節(jié)點(diǎn)0為例,設(shè)備會(huì)先發(fā)送隊(duì)列7中的報(bào)文,隊(duì)列7中報(bào)文發(fā)送完成后發(fā)送隊(duì)列6中的報(bào)文,隊(duì)列6中報(bào)文發(fā)送完成后發(fā)送隊(duì)列5中的報(bào)文,然后再發(fā)隊(duì)列3中的報(bào)文依次類推。
802.1Qbv中定義的時(shí)間感知整形器(time aware shaper,TAS),利用時(shí)間周期的概念來(lái)調(diào)度數(shù)據(jù),可通過(guò)循環(huán)計(jì)時(shí)器中的循環(huán)計(jì)時(shí)器開始時(shí)間確定一個(gè)GCL執(zhí)行周期開始的時(shí)間。
➽ 循環(huán)計(jì)時(shí)器狀態(tài)機(jī)

圖3 計(jì)時(shí)器狀態(tài)機(jī)

SetCycleStartTime()過(guò)程確定下一個(gè)GCL執(zhí)行周期開始的時(shí)間。該過(guò)程根據(jù)Current Time、Oper Base Time、Oper Cycle Time、Oper Cycle Time Extension、Config Change Time和Config Pending的值,將Cycle Start Time變量設(shè)置為起始時(shí)間,具體規(guī)則如下:
1、Config Pending=FALSE,且Oper Base Time>=Current Time,(例如Oper Base Time指定當(dāng)前時(shí)間或未來(lái)時(shí)間)那么Cycle Start Time=Oper Base Time;
2、Config Pending=FALSE,且Oper Base Time<Current Time,(例如Oper Base Time指定過(guò)去的時(shí)間)那么Cycle Start Time=(Oper Base Time+N*Oper Cycle Time)其中N是滿足關(guān)系式的最小整數(shù);
3、Config Pending=TRUE,且Config Change Time>(Current Time+Oper Cycle Time+Oper Cycle Time Extension)那么Cycle StartTime=(Oper Base Time+N*Oper Cycle Time)其中N是滿足關(guān)系式的最小整數(shù);
4、Config Pending=TRUE,且Config Change Time<=(Current Time+Oper Cycle Time+Oper Cycle Time Extension)那么Cycle Start Time=Config Change Time。
叁 信而泰802.1Qbv協(xié)議測(cè)試方案與能力
➽ 測(cè)試方案
通過(guò)測(cè)試儀對(duì)TSN交換機(jī)的802.1Qbv協(xié)議進(jìn)行全面驗(yàn)證,基于IEEE 802.1AS高精度時(shí)間同步,配置流量調(diào)度表、GCL及Bucket List策略,結(jié)合VLAN與目的MAC過(guò)濾規(guī)則,可精準(zhǔn)驗(yàn)證交換機(jī)在復(fù)雜場(chǎng)景下的確定性調(diào)度能力。測(cè)試結(jié)果量化關(guān)鍵流量時(shí)延抖動(dòng)(達(dá)納秒級(jí)精度)、帶寬保障及門控觸發(fā)準(zhǔn)確性,確保設(shè)備符合實(shí)時(shí)通信的嚴(yán)格標(biāo)準(zhǔn),為協(xié)議可靠性提供權(quán)威測(cè)試。
➽ 核心測(cè)試能力
信而泰BigTao220+TSN特性板卡的IEEE802.1QBV測(cè)試能力:
• 支持流量調(diào)度表手動(dòng)配置;
• 支持門控列表配置;
• 支持過(guò)濾器(VLAN、目的MAC地址最后三個(gè)字節(jié))配置;
• 支持Bucket List配置;
• 支持使用IEEE 802.1AS進(jìn)行時(shí)間同步。
肆 測(cè)試實(shí)踐:用例設(shè)計(jì)與配置詳解
為驗(yàn)證上述理論機(jī)制,本節(jié)將詳細(xì)闡述一個(gè)典型的測(cè)試用例及其在信而泰RENIX測(cè)試平臺(tái)上的核心配置。
測(cè)試用例設(shè)計(jì)
1.用例描述:
驗(yàn)證TSN交換機(jī)Qbv行為。配置3個(gè)GCL,周期時(shí)間(Cycle Time)為3 ms,每個(gè)時(shí)隙1ms;第一個(gè)表項(xiàng)放行優(yōu)先級(jí)為0的流量,第二個(gè)表項(xiàng)放行優(yōu)先級(jí)為1的流量,第三個(gè)表項(xiàng)放行優(yōu)先為3、4、5、6的流量。
2.測(cè)試目的:驗(yàn)證DUT(TSN交換機(jī))是否根據(jù)配置的GCL正確、準(zhǔn)時(shí)地執(zhí)行門控調(diào)度。
3.測(cè)試拓?fù)洌?/STRONG>

圖4 拓?fù)?/P>
測(cè)試儀配置詳解
門控中依次添加三個(gè)GCL列表項(xiàng),門狀態(tài)中指定門狀態(tài),0為關(guān)門,1為開門。列表0放行優(yōu)先級(jí)0流量、列表1放行優(yōu)先級(jí)1流量、列表2放行3、4、5、6優(yōu)先級(jí)流量。門狀態(tài)持續(xù)時(shí)長(zhǎng)設(shè)置每個(gè)列表的持續(xù)時(shí)間,所有列表持續(xù)時(shí)間之和為Oper Cycle Time此例設(shè)置每個(gè)GCL持續(xù)時(shí)間為1ms,Oper Cycle Time為3ms;過(guò)濾器索引為測(cè)試儀統(tǒng)計(jì)不同GCL放行流量的落點(diǎn)情況。(門控規(guī)則與DUT保持一致)

圖5 測(cè)試儀配置1
配置Qbv流量,點(diǎn)擊自動(dòng)創(chuàng)建流量會(huì)自動(dòng)生成對(duì)應(yīng)優(yōu)先級(jí)的Qbv流,也可以點(diǎn)擊“添加”手動(dòng)創(chuàng)建其他流量,配置測(cè)試類型為Continuous。

圖6 測(cè)試儀配置2
配置AS協(xié)議并點(diǎn)擊完成,在配置導(dǎo)航欄中可看到生成的AS協(xié)議,點(diǎn)擊啟動(dòng)所有協(xié)議,能看到測(cè)試儀Telkerd端口AS時(shí)鐘狀態(tài)為Slave,Listener端口AS時(shí)鐘狀態(tài)為Master,統(tǒng)計(jì)中能看到時(shí)間偏移量及協(xié)議包交互數(shù)量均正常,時(shí)間同步是Qbv調(diào)度基準(zhǔn)時(shí)間的基石,需優(yōu)先確保其建立成功。

圖7 測(cè)試儀配置3
在端口中設(shè)置基準(zhǔn)時(shí)間,此時(shí)間為未來(lái)某個(gè)絕對(duì)時(shí)間戳,并換算成秒,配置基準(zhǔn)時(shí)間為未來(lái)時(shí)間,以滿足協(xié)議規(guī)則a的要求,確保調(diào)度周期從預(yù)定時(shí)間開始。

圖8 基準(zhǔn)時(shí)間

圖9 測(cè)試儀配置4
伍 測(cè)試結(jié)果分析
啟動(dòng)Qbv流量后,測(cè)試儀將在設(shè)定的基準(zhǔn)時(shí)間到達(dá)后開始發(fā)送流量。通過(guò)查看測(cè)試儀提供的詳細(xì)統(tǒng)計(jì)信息,可進(jìn)行如下分析:

圖10 測(cè)試結(jié)果時(shí)延性能
查看流量統(tǒng)計(jì)中的平均時(shí)延,可達(dá)納秒級(jí)精度,驗(yàn)證低時(shí)延保障。
調(diào)度準(zhǔn)確性
在Qbv流量統(tǒng)計(jì)中,觀察優(yōu)先級(jí)0、1的流量是否僅在第一個(gè)和第二個(gè)1ms時(shí)間窗內(nèi)成功通過(guò),優(yōu)先級(jí)3-6的流量是否在第三個(gè)1ms時(shí)間窗內(nèi)通過(guò)。此結(jié)果可證明DUT嚴(yán)格遵循了配置的門控規(guī)則。
完整性檢查
確保無(wú)預(yù)期之外的丟包,所有關(guān)鍵流量均在其調(diào)度時(shí)間窗內(nèi)被成功轉(zhuǎn)發(fā)。
陸 結(jié)語(yǔ)
IEEE 802.1Qbv協(xié)議作為TSN網(wǎng)絡(luò)實(shí)現(xiàn)確定性傳輸?shù)暮诵,依托時(shí)間感知整形器(TAS)和門控列表(GCL)為關(guān)鍵業(yè)務(wù)提供納秒級(jí)調(diào)度保障,但其配置復(fù)雜且對(duì)時(shí)序高度敏感,測(cè)試驗(yàn)證難度極大。信而泰TSN測(cè)試平臺(tái)直面該挑戰(zhàn),提供從GCL策略仿真、多優(yōu)先級(jí)流量生成到基于IEEE 802.1AS的高精度時(shí)間同步的一體化測(cè)試方案,全面驗(yàn)證設(shè)備在真實(shí)業(yè)務(wù)場(chǎng)景下的調(diào)度準(zhǔn)確性與時(shí)序合規(guī)性,這一切能力的背后,離不開高性能硬件平臺(tái)的支撐。

圖11 TSN測(cè)試板卡
信而泰自主研發(fā)的TSN模塊基于高性能FPGA實(shí)現(xiàn)100%線速流量生成與納秒級(jí)精度統(tǒng)計(jì),確保每一幀數(shù)據(jù)都可被精確發(fā)送、捕獲,為Qbv測(cè)試的可靠性與權(quán)威性奠定堅(jiān)實(shí)的硬件基礎(chǔ),為工業(yè)自動(dòng)化、車載網(wǎng)絡(luò)等領(lǐng)域的TSN技術(shù)落地提供強(qiáng)有力的測(cè)試保障。