天天看點

基于FAST的TSN交換(3)TSN循環隊列轉發(CQF)原理 基于FAST的TSN交換(3)TSN循環隊列轉發(CQF)原理

基于FAST的TSN交換(3)TSN循環隊列轉發(CQF)原理

    為了支援确定性的交換,TSN對802.1Q-2014标準進行了擴充。其中單流過濾和管控機制(PSFP)中的時間門控邏輯控制了時間敏感分組進入緩存隊列的時間,而時間敏感流增強排程(EST)機制中的輸出門控機制控制了分組離開輸出隊列的時間。基于對PSFP和EST機制的不同配置,TSN交換機可以實作多樣的确定性轉發,滿足不同場景的需求。

    CQF是802.1Qch定義的一種對PSPF和EST機制的配置,可以通過簡單的計算實作确定性的轉發延時。CQF也是目前TSN規範中确定的唯一配置方式。

一、CQF工作原理

     盡管對PSFP和ETS功能進行不同的配置可以實作不同的TSN控制,但CQF是目前TSN規範中給出的唯一一個實作模型,其最大特點是計算和配置簡單,可以保證分組端到端交換的确定性延時。

(1)延時保證

    CQF模型将全網時間劃分為長度為d的連續時間槽,用i,i+1…,i+N表示,若交換機S0在時間槽i中的t1時刻從鍊路上接收到資料幀p,則必須在i+1時間槽中的某個時刻t2輸出到鍊路上,如下圖所示。

基于FAST的TSN交換(3)TSN循環隊列轉發(CQF)原理 基于FAST的TSN交換(3)TSN循環隊列轉發(CQF)原理

    假設t1和t2可在時間槽i和i+1中任意分布,是以幀p經S0交換的延時t2-t1上限為2d,下限為0。同理,交換機S1必須在時間槽i+2中的某個點t3完成交換并輸出到鍊路上,是以p經S0和S1交換機的延時t3-t1最大為3d,最小為d。更為一般的,基于CQF模型,幀p在網絡中交換的最大延時為(h+1)*d,最小延時為(h-1)*d,其中h為傳輸路徑跳數。

(2)時間敏感幀的處理

    支援CQF模型的交換機隻要在輸出端口為時間敏感幀設定兩個由時間門控制的隊列Q0和Q1。偶數時間槽,隊列Q0儲存輸入端口接收的幀(接收模式,不發送幀),同時隊列Q1發送在上一個奇數時間槽緩存的資料幀(發送模式,不接收幀);奇數時間槽,兩個隊列的操作正好相反。是以,兩個隊列循環的進行分組緩存和排程輸出操作,這也是CQF名稱的來由。

基于FAST的TSN交換(3)TSN循環隊列轉發(CQF)原理 基于FAST的TSN交換(3)TSN循環隊列轉發(CQF)原理

CQF定義的循環隊列結構及工作原理

    針對CQF轉發模型,PSFP和EST機制定義的輸入門控表和輸出門控表示如圖所示。在偶數時間槽,按照T0表項定義的動作執行,在奇數時間槽,按照T1表項定義的動作執行,具體操作如下表所示。

偶數時間槽(T0) 奇數時間槽(T1)
入隊門控邏輯 所有到達時間敏感分組進入Q0隊列,關閉Q1隊列入口 所有到達時間敏感分組進入Q1隊列,關閉Q0隊列入口
出隊門控邏輯 将Q1輸出請求發送給輸出排程邏輯,屏蔽Q0的輸出排程請求 将Q0輸出請求發送給輸出排程邏輯,屏蔽Q1的輸出排程請求

    顯然,根據上面操作,每個時間敏感分組在交換中的延時不超過2個時間槽。當然裝置間時間同步精度,非時間敏感幀傳輸占用輸對外連結路對時間敏感幀的幹擾,鍊路上配置設定的時間敏感業務量大小等因素都會對CQF模型中時間槽大小,Q0/Q1隊列長度等參數的選擇有影響,具體分析我們在後續文章中給出。

二、支援CQF的交換機輸出接口模型

(1)隊列模型和入隊出隊控制交換機每個輸出接口除了時間敏感流量外,還有其他非時間敏感流量,如best effort流量,帶寬預約流量等。為此,802.1Q-2014 的Annex I(Priority and drop precedence)定義了8個優先級隊列,分别緩存不同類型和優先級的流量,其中Q7的優先級最高,其次是Q6,Q5…,優先級最低的是Q1。802.1Q-2014規範中解釋了Q0優先級高于Q1的原因。主要是網卡預設發出的best effort流量采用預設優先級0,對應Q0,而Q1用于存儲優先級最低的背景流量,是以Q1的排程優先級低于Q0。為支援CQF模型,可将其中的兩個最高優先級隊列Q7和Q6設定緩存時間敏感流量。此時的交換機輸出接口模型如下圖所示。

基于FAST的TSN交換(3)TSN循環隊列轉發(CQF)原理 基于FAST的TSN交換(3)TSN循環隊列轉發(CQF)原理

支援CQF的交換機輸出接口模型

由上圖可以看出以下幾點。

    一是優先級最高的Q7和第二高的Q6隊列用于存儲時間敏感流,而且隻有這兩個隊列需要入隊和出隊的時間門控機制。由于不同的時間敏感流資料可能具有不同的發送周期(例如第一個流的周期時125us,第二個流的周期是250us),是以入隊控制需要不同的門控邏輯。

    二是Q5,Q4和Q3儲存預約帶寬的非時間敏感流量,其中Q5和Q4分别儲存延時受限的音頻和視訊流,是以排程優先級比Q3要高。對于這些流量,在入隊控制時需要增加流量測量邏輯,避免由于來自多個輸入端口的多個單流彙聚後的流量超過輸出接口預約的流量,同時在出隊需要增加整型邏輯,減小流量的突發。

    三是進出三個低優先級隊列Q2,Q0和Q1的流量沒有任何控制。當然,在隊列将滿時,隊列管理邏輯會根據一定的算法選擇分組丢棄。由于優先級低,這幾個隊列的流量也不會影響時間敏感流量和預約帶寬的流量。

    四是輸出排程可采用絕對優先級排程。由于對高優先級隊列采用了輸出時間門控和輸出整型機制,是以不會因為異常到達的高優先級流量“餓死”低優先級的流量。

(2)接口的配置管理

    CQF交換的輸出接口是可管理的,即使用者可以對優先級分類、入隊門控,出隊門控、入隊測量和輸出整型邏輯進行配置管理。

    涉及的主要資料結構包括入隊/出隊門控清單,流量測量和整型的令牌桶參數,隊列管理參數等。我們将在後續文章中對CQF輸出接口的配置管理抽象進行進一步介紹。

繼續閱讀