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

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

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