0731-84728105
15116127200
基于FAST的(de)TSN交換(2)基于FAST的(de)TSN交換模型
發布時間:2019-1-14
     在802.1Q-2014定義的(de)以太網交換基本模型基礎上,針對TSN的(de)特定需求,802.1Qci和(hé)802.1Qbv修訂對交換模型中分組輸出緩存的(de)入隊列操作和(hé)出隊列調度機(jī)制進行(xíng)了擴展,通過使用門控時間列表等機(jī)制對時間敏感分組入隊和(hé)出隊操作進行(xíng)了限制。
     FAST 3.0的(de)流水線可(kě)以在保持現有(yǒu)模塊不變前提下,通過按需擴展插入新的(de)模塊支持用戶定制的(de)功能,因此可(kě)以方便地(dì)将TSN交換處理(lǐ)流程映射到FAST流水線上實現。
一(yī)、TSN交換處理(lǐ)流程
   (1)标準以太網交換流程
      802.1Q-2014定義了标準以太網的(de)交換流程,如(rú)下圖所示。處理(lǐ)流程主要包含10個模塊,每個模塊的(de)功能見下表。
     802.1Q規範沒有(yǒu)明确定義流量測量的(de)粒度,無法對進入網絡的(de)流量進行(xíng)細粒度的(de)測量和(hé)管控。雖然支持多種輸出調度算法,但更多是保證輸出調度的(de)優先級,或者按照預先确定的(de)權值分配不同優先級隊列占用的(de)輸出帶寬,在調度中沒有(yǒu)利用全局時間信息,無法實現确定性的(de)延時控制。軟件定義網絡技術的(de)應用可(kě)以簡化交換流程,将生成樹管理(lǐ)以及地(dì)址學(xué)習功能上載到控制器上實現,可(kě)以針對每條細粒度的(de)流定義交換行(xíng)為(wèi),但也難以實現确定性的(de)延時控制。

圖1 标準的(de)幀交換流程及其TSN擴展
   (2)TSN對以太網交換流程的(de)擴充
     針對确定性交換的(de)目标,TSN主要在時間同步(802.1AS)、單流的(de)過濾和(hé)管控(802.1Qci,Per-Stream Filtering and Policing),時間敏感流量的(de)調度(802.1Qbv Enhancement for scheduled traffic)以及幀剝奪(802.1Qbu)四個方面對标準以太網交換流程進行(xíng)增強,除了時間同步标準外,其他三個标準都成為(wèi)802.1Q的(de)修訂,并合并到最新的(de)802.1Q-2018中。
     時間同步機(jī)制采用IEEE 1588的(de)PTP協議,為(wèi)分組進入隊列和(hé)輸出調度的(de)時間門控邏輯提供精确的(de)全局同步時間。
     TSN在轉發流程中擴充的(de)單流過濾和(hé)管控(PSFP)機(jī)制主要實現三個功能,一(yī)是單流測量,使用令牌桶機(jī)制測量到達的(de)每條流得流量和(hé)最大幀長(cháng)度是否超過預定合約;二是時間門控隊列選擇機(jī)制,即将全局時間(分組到達的(de)時刻)加入隊列選擇算法中考慮,重新計算分組內(nèi)部優先級,并根據內(nèi)部優先級而不是分組VLAN頭或IP頭中攜帶的(de)外部優先級選擇輸出隊列号;三是入隊測量,基于令牌桶機(jī)制對進入特定隊列的(de)流量進行(xíng)測量,保證進入相應隊列緩存的(de)分組流量滿足一(yī)定的(de)合約。
     輸出時間門控機(jī)制将全局時間用于輸出調度,對于保存時間敏感幀的(de)特定隊列,是有(yǒu)在制定時刻才會打開。輸出門控機(jī)制實際上是為(wèi)每個輸出隊列設置了一(yī)個開關,隻有(yǒu)開關打開時,隊列調度請求才會發送到輸出調度模塊,該隊列中的(de)調度請求才能被響應。
     幀剝奪機(jī)制主要是避免低(dī)優先級的(de)長(cháng)幀在發送時占用輸出接口,影響高(gāo)優先級幀的(de)發送。例如(rú)在某個時刻,高(gāo)優先級隊列門的(de)狀态由關閉變成打開,因此輸出調度邏輯可(kě)調度該隊列中的(de)高(gāo)優先級幀發送。若在高(gāo)優先級隊列門打開前,一(yī)個低(dī)優先級的(de)幀剛剛被調度,則該幀的(de)發送可(kě)以立刻終止,在高(gāo)優先級幀發送完成後,低(dī)優先級的(de)幀可(kě)以繼續發送。為(wèi)了使以太網的(de)MAC層支持幀剝奪機(jī)制(支持一(yī)個幀分多次發送,MAC層負責這些分片的(de)重新組合),802.3工作組也推出了相應的(de)規範(802.3br)。
二、FAST-TSN實現模型
     FAST基本流水線包含協議解析(GPP),關鍵字提取(GKE),匹配查表(GME),通用動作(GAC)和(hé)通用輸出控制(GOE)五個基本的(de)模塊,可(kě)為(wèi)TSN交換提供基本的(de)分組處理(lǐ)功能。而時間同步,以及流的(de)測量整型、時間門控和(hé)輸出調度邏輯分别由用戶定義的(de)PTP UDA、CFQ UDO和(hé)PTPUDO模塊實現,如(rú)下圖所示。

圖2 基于FAST-TSN交換實現模型
      FAST-TSN模型的(de)特點是:
     1.在硬件流水線中插入PTP協議處理(lǐ)模塊,完全由硬件實現PTP同步幀(sync/delay-req/delay-resp幀)處理(lǐ),不需要軟件參與,因此支持頻率更高(gāo)的(de)時間同步操作,可(kě)獲取優于100ns的(de)同步精度。
     2.将TSN的(de)PSFP機(jī)制中的(de)流分類和(hé)單流測量映射到FAST基本流水線中實現,通過GME實現基于五元組的(de)流分類功能,為(wèi)每個分組分配一(yī)個flowID并填寫到分組的(de)元數據中,後續的(de)GAC、GOE和(hé)UDO模塊可(kě)以利用flowID進行(xíng)相關的(de)操作。
     3.采用獨立的(de)UDO模塊實現核心的(de)TSN門控和(hé)調度機(jī)制,通過UDO模塊的(de)重構可(kě)以支持多種TSN實現模型,滿足不同TSN交換場景的(de)需求。我們實現的(de)CQF-UDO模型可(kě)以保證确定性的(de)端到端交換延時。
     我們将在後續文章(zhāng)中,對TSN的(de)CQF轉發模型,以及PTP UDA、PTPUDO以及CFQ UDO模塊的(de)功能實現進行(xíng)詳細介紹。