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

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

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