0731-84728105
15116127200
基于FAST的TSN交換(3)TSN循環隊列轉發(CQF)原理
發布時間:2019-1-15
     CQF為(wèi)了支持确定性的交換,TSN對802.1Q-2014标準進行了擴充。其中單流過濾和管控機(jī)制(PSFP)中的時間門(mén)控邏輯控制了時間敏感分組進入緩存隊列的時間,而時間敏感流增強調度(EST)機(jī)制中的輸出門(mén)控機(jī)制控制了分組離開(kāi)輸出隊列的時間。基于對PSFP和EST機(jī)制的不同配置,TSN交換機(jī)可以實現多(duō)樣的确定性轉發,滿足不同場景的需求。
     CQF是802.1Qch定義的一(yī)種對PSPF和EST機(jī)制的配置,可以通(tōng)過簡單的計算(suàn)實現确定性的轉發延時。CQF也是目前TSN規範中确定的唯一(yī)配置方式。
一(yī)、CQF工(gōng)作原理
      盡管對PSFP和ETS功能(néng)進行不同的配置可以實現不同的TSN控制,但CQF是目前TSN規範中給出的唯一(yī)一(yī)個(gè)實現模型,其最大特點是計算(suàn)和配置簡單,可以保證分組端到(dào)端交換的确定性延時。
   (1)延時保證
      CQF模型将全網時間劃分為(wèi)長(cháng)度為(wèi)d的連續時間槽,用i,i+1…,i+N表示,若交換機(jī)S0在時間槽i中的t1時刻從(cóng)鏈路(lù)上(shàng)接收到(dào)數據幀p,則必須在i+1時間槽中的某個(gè)時刻t2輸出到(dào)鏈路(lù)上(shàng),如下(xià)圖所示。

圖1 CQF對交換機(jī)轉發延時的要求
     假設t1和t2可在時間槽i和i+1中任意分布,因此幀p經S0交換的延時t2-t1上(shàng)限為(wèi)2d,下(xià)限為(wèi)0。同理,交換機(jī)S1必須在時間槽i+2中的某個(gè)點t3完成交換并輸出到(dào)鏈路(lù)上(shàng),因此p經S0和S1交換機(jī)的延時t3-t1最大為(wèi)3d,最小(xiǎo)為(wèi)d。更為(wèi)一(yī)般的,基于CQF模型,幀p在網絡中交換的最大延時為(wèi)(h+1)*d,最小(xiǎo)延時為(wèi)(h-1)*d,其中h為(wèi)傳輸路(lù)徑跳數。
   (2)時間敏感幀的處理      支持CQF模型的交換機(jī)隻要在輸出端口為(wèi)時間敏感幀設置兩個(gè)由時間門(mén)控制的隊列Q0和Q1。偶數時間槽,隊列Q0保存輸入端口接收的幀(接收模式,不發送幀),同時隊列Q1發送在上(shàng)一(yī)個(gè)奇數時間槽緩存的數據幀(發送模式,不接收幀);奇數時間槽,兩個(gè)隊列的操作正好相(xiàng)反。因此,兩個(gè)隊列循環的進行分組緩存和調度輸出操作,這也是CQF名稱的來由。

圖2 CQF定義的循環隊列結構及工(gōng)作原理
      針對CQF轉發模型,PSFP和EST機(jī)制定義的輸入門(mén)控表和輸出門(mén)控表示如圖所示。在偶數時間槽,按照(zhào)T0表項定義的動作執行,在奇數時間槽,按照(zhào)T1表項定義的動作執行,具體操作如下(xià)表所示。
     顯然,根據上(shàng)面操作,每個(gè)時間敏感分組在交換中的延時不超過2個(gè)時間槽。當然設備間時間同步精度,非時間敏感幀傳輸占用輸出鏈路(lù)對時間敏感幀的幹擾,鏈路(lù)上(shàng)分配的時間敏感業(yè)務量大小(xiǎo)等因素都會(huì)對CQF模型中時間槽大小(xiǎo),Q0/Q1隊列長(cháng)度等參數的選擇有影響,具體分析我們在後續文章中給出。
二、支持CQF的交換機(jī)輸出接口模型
   (1)隊列模型和入隊出隊控制      交換機(jī)每個(gè)輸出接口除了時間敏感流量外,還(hái)有其他非時間敏感流量,如best effort流量,帶寬預約流量等。為(wèi)此,802.1Q-2014 的Annex I(Priority and drop precedence)定義了8個(gè)優先級隊列,分别緩存不同類型和優先級的流量,其中Q7的優先級最高(gāo),其次是Q6,Q5…,優先級最低(dī)的是Q1。802.1Q-2014規範中解釋了Q0優先級高(gāo)于Q1的原因。主要是網卡默認發出的best effort流量采用默認優先級0,對應Q0,而Q1用于存儲優先級最低(dī)的背景流量,因此Q1的調度優先級低(dī)于Q0。
      為(wèi)支持CQF模型,可将其中的兩個(gè)最高(gāo)優先級隊列Q7和Q6設置緩存時間敏感流量。此時的交換機(jī)輸出接口模型如下(xià)圖所示。

圖3 支持CQF的交換機(jī)輸出接口模型
      由上(shàng)圖可以看(kàn)出以下(xià)幾點。
      一(yī)是優先級最高(gāo)的Q7和第二高(gāo)的Q6隊列用于存儲時間敏感流,而且隻有這兩個(gè)隊列需要入隊和出隊的時間門(mén)控機(jī)制。由于不同的時間敏感流數據可能(néng)具有不同的發送周期(例如第一(yī)個(gè)流的周期時125us,第二個(gè)流的周期是250us),因此入隊控制需要不同的門(mén)控邏輯。
      二是Q5,Q4和Q3保存預約帶寬的非時間敏感流量,其中Q5和Q4分别保存延時受限的音(yīn)頻和視頻流,因此調度優先級比Q3要高(gāo)。對于這些流量,在入隊控制時需要增加流量測量邏輯,避免由于來自(zì)多(duō)個(gè)輸入端口的多(duō)個(gè)單流彙聚後的流量超過輸出接口預約的流量,同時在出隊需要增加整型邏輯,減小(xiǎo)流量的突發。
      三是進出三個(gè)低(dī)優先級隊列Q2,Q0和Q1的流量沒有任何控制。當然,在隊列将滿時,隊列管理邏輯會(huì)根據一(yī)定的算(suàn)法選擇分組丢棄。由于優先級低(dī),這幾個(gè)隊列的流量也不會(huì)影響時間敏感流量和預約帶寬的流量。
      四是輸出調度可采用絕對優先級調度。由于對高(gāo)優先級隊列采用了輸出時間門(mén)控和輸出整型機(jī)制,因此不會(huì)因為(wèi)異常到(dào)達的高(gāo)優先級流量“餓死”低(dī)優先級的流量。
   (2)接口的配置管理       CQF交換的輸出接口是可管理的,即用戶可以對優先級分類、入隊門(mén)控,出隊門(mén)控、入隊測量和輸出整型邏輯進行配置管理。
      涉及的主要數據結構包括入隊/出隊門(mén)控列表,流量測量和整型的令牌桶參數,隊列管理參數等。我們将在後續文章中對CQF輸出接口的配置管理抽象進行進一(yī)步介紹。