基于FAST的TSN交換(2)基于FAST的TSN交換模型
發布時(shí)間:2019-1-14
在802.1Q-2014定義的以太網交換基本模型基礎上(shàng),針對(duì)TSN的特定需求,802.1Qci和(hé)802.1Qbv修訂對(duì)交換模型中分組輸出緩存的入隊列操作(zuò)和(hé)出隊列調度機制進行了(le)擴展,通過使用(yòng)門(mén)控時(shí)間列表等機制對(duì)時(shí)間敏感分組入隊和(hé)出隊操作(zuò)進行了(le)限制。
FAST 3.0的流水(shuǐ)線可以在保持現(xiàn)有模塊不變前提下(xià),通過按需擴展插入新的模塊支持用(yòng)戶定制的功能(néng),因此可以方便地将TSN交換處理(lǐ)流程映射到(dào)FAST流水(shuǐ)線上(shàng)實現(xiàn)。
一、TSN交換處理(lǐ)流程
(1)标準以太網交換流程
802.1Q-2014定義了(le)标準以太網的交換流程,如下(xià)圖所示。處理(lǐ)流程主要包含10個模塊,每個模塊的功能(néng)見下(xià)表。
802.1Q規範沒有明(míng)确定義流量測量的粒度,無法對(duì)進入網絡的流量進行細粒度的測量和(hé)管控。雖然支持多種輸出調度算(suàn)法,但(dàn)更多是保證輸出調度的優先級,或者按照預先确定的權值分配不同優先級隊列占用(yòng)的輸出帶寬,在調度中沒有利用(yòng)全局時(shí)間信息,無法實現(xiàn)确定性的延時(shí)控制。軟件定義網絡技術的應用(yòng)可以簡化交換流程,将生成樹管理(lǐ)以及地址學習功能(néng)上(shàng)載到(dào)控制器上(shàng)實現(xiàn),可以針對(duì)每條細粒度的流定義交換行爲,但(dàn)也(yě)難以實現(xiàn)确定性的延時(shí)控制。
圖1 标準的幀交換流程及其TSN擴展
(2)TSN對(duì)以太網交換流程的擴充
針對(duì)确定性交換的目标,TSN主要在時(shí)間同步(802.1AS)、單流的過濾和(hé)管控(802.1Qci,Per-Stream Filtering and Policing),時(shí)間敏感流量的調度(802.1Qbv Enhancement for scheduled traffic)以及幀剝奪(802.1Qbu)四個方面對(duì)标準以太網交換流程進行增強,除了(le)時(shí)間同步标準外(wài),其他(tā)三個标準都成爲802.1Q的修訂,并合并到(dào)最新的802.1Q-2018中。
時(shí)間同步機制采用(yòng)IEEE 1588的PTP協議(yì),爲分組進入隊列和(hé)輸出調度的時(shí)間門(mén)控邏輯提供精确的全局同步時(shí)間。
TSN在轉發流程中擴充的單流過濾和(hé)管控(PSFP)機制主要實現(xiàn)三個功能(néng),一是單流測量,使用(yòng)令牌桶機制測量到(dào)達的每條流得流量和(hé)最大(dà)幀長度是否超過預定合約;二是時(shí)間門(mén)控隊列選擇機制,即将全局時(shí)間(分組到(dào)達的時(shí)刻)加入隊列選擇算(suàn)法中考慮,重新計(jì)算(suàn)分組内部優先級,并根據内部優先級而不是分組VLAN頭或IP頭中攜帶的外(wài)部優先級選擇輸出隊列号;三是入隊測量,基于令牌桶機制對(duì)進入特定隊列的流量進行測量,保證進入相應隊列緩存的分組流量滿足一定的合約。
輸出時(shí)間門(mén)控機制将全局時(shí)間用(yòng)于輸出調度,對(duì)于保存時(shí)間敏感幀的特定隊列,是有在制定時(shí)刻才會(huì)打開(kāi)。輸出門(mén)控機制實際上(shàng)是爲每個輸出隊列設置了(le)一個開(kāi)關,隻有開(kāi)關打開(kāi)時(shí),隊列調度請(qǐng)求才會(huì)發送到(dào)輸出調度模塊,該隊列中的調度請(qǐng)求才能(néng)被響應。
幀剝奪機制主要是避免低(dī)優先級的長幀在發送時(shí)占用(yòng)輸出接口,影響高(gāo)優先級幀的發送。例如在某個時(shí)刻,高(gāo)優先級隊列門(mén)的狀态由關閉變成打開(kāi),因此輸出調度邏輯可調度該隊列中的高(gāo)優先級幀發送。若在高(gāo)優先級隊列門(mén)打開(kāi)前,一個低(dī)優先級的幀剛剛被調度,則該幀的發送可以立刻終止,在高(gāo)優先級幀發送完成後,低(dī)優先級的幀可以繼續發送。爲了(le)使以太網的MAC層支持幀剝奪機制(支持一個幀分多次發送,MAC層負責這(zhè)些(xiē)分片的重新組合),802.3工(gōng)作(zuò)組也(yě)推出了(le)相應的規範(802.3br)。
二、FAST-TSN實現(xiàn)模型
FAST基本流水(shuǐ)線包含協議(yì)解析(GPP),關鍵字提取(GKE),匹配查表(GME),通用(yòng)動作(zuò)(GAC)和(hé)通用(yòng)輸出控制(GOE)五個基本的模塊,可爲TSN交換提供基本的分組處理(lǐ)功能(néng)。而時(shí)間同步,以及流的測量整型、時(shí)間門(mén)控和(hé)輸出調度邏輯分别由用(yòng)戶定義的PTP UDA、CFQ UDO和(hé)PTPUDO模塊實現(xiàn),如下(xià)圖所示。
圖2 基于FAST-TSN交換實現(xiàn)模型
FAST-TSN模型的特點是:
1.在硬件流水(shuǐ)線中插入PTP協議(yì)處理(lǐ)模塊,完全由硬件實現(xiàn)PTP同步幀(sync/delay-req/delay-resp幀)處理(lǐ),不需要軟件參與,因此支持頻率更高(gāo)的時(shí)間同步操作(zuò),可獲取優于100ns的同步精度。
2.将TSN的PSFP機制中的流分類和(hé)單流測量映射到(dào)FAST基本流水(shuǐ)線中實現(xiàn),通過GME實現(xiàn)基于五元組的流分類功能(néng),爲每個分組分配一個flowID并填寫到(dào)分組的元數據中,後續的GAC、GOE和(hé)UDO模塊可以利用(yòng)flowID進行相關的操作(zuò)。
3.采用(yòng)獨立的UDO模塊實現(xiàn)核心的TSN門(mén)控和(hé)調度機制,通過UDO模塊的重構可以支持多種TSN實現(xiàn)模型,滿足不同TSN交換場景的需求。我們實現(xiàn)的CQF-UDO模型可以保證确定性的端到(dào)端交換延時(shí)。
我們将在後續文(wén)章中,對(duì)TSN的CQF轉發模型,以及PTP UDA、PTPUDO以及CFQ UDO模塊的功能(néng)實現(xiàn)進行詳細介紹。