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

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

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