0731-84728105
15116127200
OpenBox:軟件定義時間敏感網絡SD-TSN
發布時間:2021-05-18
      軟件定義時間敏感網絡:SD-TSN。融合了軟件定義網絡技術與時間敏感網絡技術的(de)綜合系統網絡。該網絡既具備軟件定義網絡的(de)組網靈活性、協議無關轉發的(de)高(gāo)适應性、轉發控制分離(lí)的(de)高(gāo)效性與可(kě)控性,同時又具有(yǒu)低(dī)延時、低(dī)抖動的(de)時間敏感特性。通過軟件流表與隊列映射的(de)靈活定義,極大放寬了全網流規劃調度的(de)難度,增強了TSN網絡的(de)适用範圍和(hé)行(xíng)業兼容性。
     TSN的(de)時間敏感特征到底是誰的(de)屬性?毋庸置疑,這是業務的(de)屬性。TSN的(de)技術标準起源于音視(shì)頻行(xíng)業,其核心特性要求是高(gāo)實時和(hé)同步傳輸。為(wèi)什麽是高(gāo)實時與同步傳輸這兩個特性呢(ne)?因為(wèi)這确實是屬于現代多媒體業務發展的(de)必然需求,比如(rú)說實況賽事直播。随着現代工業互聯網的(de)發展和(hé)生産規模的(de)擴大及協同要求,TSN所提供的(de)網絡特性逐漸被工業界各行(xíng)業所關注和(hé)吸引,特别是在IT與OT融合和(hé)5G技術的(de)商(shāng)用背景下,TSN技術的(de)重要性越發變得明顯。
     萬物皆有(yǒu)宿命,技術在特定領域下所擁有(yǒu)的(de)優勢也必然成為(wèi)它在适應其他領域的(de)不足。我們深入研究技術的(de)核心與本質,不迷信技術,善于結合技術的(de)優勢來解決業務的(de)痛點。
      1.确定的(de)網絡需要确定的(de)環境
     在當前時代與技術背景下,TSN确實變得很重要。但它并不是靈丹妙藥,也不是萬能解藥。TSN技術的(de)重要性主要體現在其技術規範要求的(de)網絡環境下,可(kě)以确保業務的(de)分組數據以确定的(de)延時和(hé)較小的(de)抖動到達業務對端。TSN的(de)核心特征是保證确定的(de)延時(範圍),可(kě)以規劃出較小延時。抖動大小跟具體網絡業務流量、調度策略相關。為(wèi)保障上述特征,在TSN網絡系統中網絡環境的(de)各種參數,如(rú)時間、流特征以及調度控制都是其正确運行(xíng)的(de)先決條件,确定因素。
     1.1 全局時間同步
     時鍾同步比較好理(lǐ)解,就好比全中國(guó)都使用北(běi)京時間對自(zì)己的(de)生産和(hé)生活進行(xíng)安排參考。TSN網絡運行(xíng)的(de)前提條件就是時間同步,隻有(yǒu)所有(yǒu)節點全都同步到了一(yī)個全局的(de)時鍾刻度,才有(yǒu)可(kě)能為(wèi)其進行(xíng)業務流的(de)規劃,各流之間才不會碰撞。例如(rú)高(gāo)鐵網絡,各個站點之間如(rú)果不都是基于北(běi)京時間來進行(xíng)列車調度,肯定無法完成整個高(gāo)鐵網絡的(de)正确運轉,甚至帶來嚴重後果。時間同步是基于時間信息做(zuò)規劃調度的(de)前期和(hé)基礎。
     1.2 時間敏感流參數明确
     TSN對流的(de)要求一(yī)是确定且固定的(de)周期性;二是分組長(cháng)度盡量固定;三是有(yǒu)可(kě)接受的(de)延時與抖動指标。TSN網絡隻能保障時間敏感流的(de)實時性和(hé)可(kě)靠性,其關鍵原因就是這些時間敏感流的(de)業務特征是明确的(de),先知的(de)。不具備周期性的(de)流,調度程序無法為(wèi)其做(zuò)出無限期的(de)門控規劃。分組長(cháng)度随機(jī)的(de)流則隻能按最壞情況(最大MTU)大小為(wèi)其規劃,造成該分組轉發後的(de)調度時隙資源的(de)浪費,為(wèi)其他更多流的(de)規劃帶來限制和(hé)困難。延時和(hé)抖動本身就是時間敏感流自(zì)備的(de)屬性,同時也是做(zuò)規劃調度需要計算考慮的(de)因素。
     隻有(yǒu)這些流屬性參數都明确,才能為(wèi)其進行(xíng)統一(yī)的(de)規劃調度。否則,流的(de)周期不确定,或是分組長(cháng)度随機(jī),都将無法為(wèi)其提供TSN流的(de)服務,隻能當作BE流來處理(lǐ)。
     1.3 全網統一(yī)規劃調度
     TSN流一(yī)定是先規劃調度再上線運行(xíng)。在全局時鍾同步和(hé)時間敏感流的(de)各項屬性參數都明确的(de)條件下,可(kě)以準備做(zuò)全網流量轉發的(de)規劃調度,生成各節點各端口的(de)門控列表。規劃調度的(de)輸入參數非常多,求解過程也非常複雜。有(yǒu)無解或最優解生成取決于規劃程序對完整系統的(de)方方面面因素的(de)考慮與算法的(de)合理(lǐ)性。随着TSN流數量的(de)增加、流周期的(de)沖突增加和(hé)最小公倍數變大,規劃調度的(de)計算結果會程指數性變化,可(kě)能甚至無法求解。
     綜上所述,TSN網絡需要在全局同步在同一(yī)個時鍾刻度基礎上運行(xíng),所有(yǒu)時間敏感流需要具備明确的(de)周期性、固定分組長(cháng)度和(hé)可(kě)接受的(de)延時與抖動值。
     2.行(xíng)業需求與TSN要求之間的(de)磨合
     TSN網絡的(de)時間特征優勢與高(gāo)帶寬優勢被許多使用傳統總線的(de)行(xíng)業所關注,這些行(xíng)業正在考慮向TSN網絡轉移,如(rú)車載網絡、工業制造控制網絡等。在我們對TSN業務調研中發現,大多數的(de)客戶應用場景中,隻存在較少完全符合TSN特征要求的(de)流,不管從數量上還是流量上來看,10%都不到,另外80%的(de)流對實時都有(yǒu)要求,但并不完全符合TSN流的(de)特征要求,特别是周期性。剩下的(de)BE流數量不多,流量也不大。可(kě)能是想上TSN技術的(de)行(xíng)業考慮更多的(de)主要還是有(yǒu)實時要求的(de)業務,或是BE業務仍較龐大,依然保留現網的(de)運營模式。
     2.1 流特征
     TSN整個網絡系統的(de)正确運行(xíng)是基于所有(yǒu)數據IO與轉發節點都同步在一(yī)個時鍾基準上,并基于全局的(de)時鍾進行(xíng)規劃的(de)統一(yī)調度,為(wèi)每一(yī)條流都指定一(yī)個進入網絡的(de)時間槽位置。核心內(nèi)容就是全網時鍾同步和(hé)統一(yī)規劃調度。那非周期性流是否可(kě)以當作TSN流使用呢(ne)?非固定長(cháng)度分組是否也可(kě)以呢(ne)?答案是不确定的(de)。首先,非周期性流的(de)不确定性主要是看非周期性流産生的(de)方式,如(rú)果是純随機(jī)發生,也不存在産生的(de)最小間隔,或者說可(kě)能的(de)最小間隔非常小,那這樣的(de)流确實很難放進TSN網絡進行(xíng)規劃。其次,非固定長(cháng)度可(kě)以在規劃時統一(yī)成最大長(cháng)度進行(xíng)規劃。但是會造成一(yī)些實時調度時隙的(de)空閑。若存在調度能接受的(de)最小時間間隔和(hé)随機(jī)長(cháng)度所帶來的(de)不穩定抖動,則可(kě)以考慮按照其最小間隔方式規劃該流,其最大抖動會是該流的(de)最小間隔長(cháng)度加上系統抖動的(de)最大值。若規劃結果符合TSN流的(de)預期則可(kě)以部署實施,若無法規劃或最優解無法滿足流的(de)延時與抖動要求,則無法完成此類型流的(de)規劃部署要求。
     2.2 協議特征
     轉移到TSN網絡的(de)行(xíng)業場景裏,存在大部分的(de)總線節點,其傳輸協議并不是标準的(de)以太網和(hé)IPv4等網絡标準協議,更多的(de)是一(yī)些專有(yǒu)協議,并不完全滿足802.1Q規範。這些節點通常又需要實時性,是完成業務實時功能需求的(de)必要組成。如(rú)何讓這些節點能快速接入到TSN網絡中是行(xíng)業轉網的(de)一(yī)大挑戰。可(kě)行(xíng)的(de)方案有(yǒu)很多,無非是從兩邊入手。要麽讓這些節點全部按照标準協議來轉換,要麽TSN網絡能支持協議無關的(de)轉發。二者總要有(yǒu)一(yī)方妥協才能組合到一(yī)起正常工作。
     2.3 延時與抖動保障
     任何存在數據交互的(de)行(xíng)業應用對數據傳輸的(de)要求都少不了低(dī)延時和(hé)低(dī)抖動。就TSN技術而言,Qch标準解決的(de)是延時确定化,而Qbv是提供實現延時最小化的(de)可(kě)能。在傳統的(de)BE網絡,分組進入鏈路完全靠運氣,憑借着一(yī)股執念終成正果的(de)精神在網絡空間橫沖直撞。而在TSN網絡中,所有(yǒu)的(de)時間敏感流分組都要求按規劃的(de)時間槽進入,避免大家出現碰撞。換個技術詞彙可(kě)以用時分網絡來形容一(yī)下。在時分網絡中,時間的(de)規劃是至關重要的(de)。
     Qch以乒乓隊列形式進行(xíng)調度,其流的(de)規劃策略相對簡單,流在每個節點至少等待一(yī)個調度周期,故其到達目标節點的(de)時間是在固定範圍之內(nèi)的(de)。這種調度方式固然實現确定延時,但無法有(yǒu)效降低(dī)延時,也不适應不同周期、延時和(hé)抖動差異化要求的(de)混合業務調度。
     Qbv可(kě)以實現多個不同隊列,每個隊列可(kě)映射不同的(de)TSN流進行(xíng)轉發。舉個更為(wèi)形象的(de)例子(zǐ),TSN網絡就好比是多車道(dào)交通網絡,每個分組為(wèi)一(yī)輛小車。每輛車都會行(xíng)駛在一(yī)條指定的(de)車道(dào)上,在通過交叉路口的(de)時候根據紅(hóng)綠(lǜ)信号燈通行(xíng)。不同車道(dào)都有(yǒu)一(yī)個信号燈指示其可(kě)否通行(xíng)。Qbv的(de)調度跟上述模型基本一(yī)緻,當我們規劃某輛車在某條車道(dào)上行(xíng)駛,規劃好其進入車道(dào)的(de)時間,行(xíng)進到路口時,将其車道(dào)亮(liàng)起綠(lǜ)燈,并且确保直至目的(de)地(dì)的(de)每個路口都在車輛到達時刻為(wèi)綠(lǜ)燈,則該車輛将以最短(duǎn)時間通過該交通網絡。這種開車體驗隻有(yǒu)與你在路口沒亮(liàng)交通信号燈也沒有(yǒu)交通警察指揮(BE網絡)的(de)情況下開車對比後才能夠得到。這麽美好的(de)開車體驗是不是人人想要?整個交通網絡都按照這種方式來控制信号燈是否可(kě)行(xíng)?是不是可(kě)以一(yī)條道(dào)車開到終點?人工智能與自(zì)動駕駛技術的(de)到來會加速這一(yī)可(kě)能,但并不是所有(yǒu)交通網絡都會這樣運行(xíng)。回到TSN網絡上,如(rú)果TSN的(de)流很少,很明顯可(kě)以比較容易做(zuò)到這一(yī)點。但是随着TSN流的(de)數量增加,其周期性、延時與抖動要求互不讓步的(de)情況下,這種規劃調度的(de)難度會越來越來大,甚至變得不可(kě)能。
     所以,在TSN網絡系統中最難的(de)事情既不是時鍾同步、也不是Qbv調度,而是全系統TSN流的(de)調度規劃。特别是在現有(yǒu)TSN的(de)規範标準和(hé)現有(yǒu)行(xíng)業需求背景下,其靈活度、适應性和(hé)普适性是很難滿足各行(xíng)各業特有(yǒu)時間敏感需求的(de)功能場景。
     宿命并非終點,命運是通往終點的(de)過程。任何技術都是為(wèi)了解決行(xíng)業需求産生的(de),在具體行(xíng)業場景下,技術能力必須适用本行(xíng)業特征,支持行(xíng)業特性的(de)定義與定制。
     1.SDN是網絡架構,TSN是網絡屬性
     在TSN技術規範定義的(de)時候,SDN的(de)概念剛剛興起。SDN的(de)出現,打破了對傳統網絡的(de)管理(lǐ)與調度方式,其數控分離(lí)理(lǐ)念與流表定義的(de)方式使得網絡轉發更具規劃性與可(kě)控性。SDN是一(yī)種網絡架構及管理(lǐ)層面的(de)突破,是為(wèi)了讓網絡數據平面更專注、控制平面更靈活。而TSN的(de)時間敏感特征應該是網絡分組的(de)一(yī)個專有(yǒu)屬性,是對網絡流特征的(de)一(yī)種規範和(hé)定義,參考其規範要求實現傳輸則可(kě)以滿足時間敏感特性,與網絡架構、拓撲組成以及分組轉發方式等無關。其核心調度規劃和(hé)門控輸出其實也符合SDN思想,可(kě)以通過軟件方式來靈活定義不同的(de)門控數據以控制流的(de)精确傳輸。
     2.将SDN架構網絡賦予TSN屬性
     從網絡架構與功能特性上分析,将TSN的(de)流特性加入到SDN網絡中應該會是一(yī)個更好的(de)網絡解決方案。同時具備時間敏感特性和(hé)網絡靈活定義,其應用範圍與适應能力會得到更好的(de)擴大和(hé)強化。
     結合目前行(xíng)業需求與TSN規範中存在的(de)問題,我們分析認為(wèi),網絡的(de)轉發行(xíng)為(wèi)及方式需要由我們自(zì)己靈活定義,并且是可(kě)以為(wèi)每個節點不同隊列定義不同的(de)行(xíng)為(wèi)與方式。TSN通過VLAN的(de)優先級字段映射到不同調度隊列,是屬于類流調度。SDN的(de)流表匹配及隊列映射也可(kě)以實現将不同流映射到不同調度隊列,這二者其實差異不大,無非是SDN的(de)流表可(kě)以用更多元組字段表示,最終都是将流映射到了某個指定隊列。但SDN的(de)流表可(kě)以在不同交換機(jī)上設置不同的(de)映射隊列,錯開某個産生碰撞的(de)隊列和(hé)時間。在複雜的(de)調度規劃中,部分交換機(jī)的(de)流量可(kě)能會比較大,隊列的(de)不同時間槽會排得比較滿,導緻某些流按同一(yī)優先級隊列調度輸出可(kě)能産生碰撞。那麽在延時和(hé)抖動允許的(de)條件下,我們可(kě)以在适當節點為(wèi)其換個隊列,繼續轉發,以保證系統可(kě)以調度規劃更多的(de)流。SDN的(de)靈活定義在此顯得格外重要,當然,我們也可(kě)以通過SDN流表定義該流走網絡中的(de)另一(yī)條路徑來躲避這種可(kě)能。SDN技術可(kě)以為(wèi)全系統的(de)流量調度規劃帶來更大、更多的(de)可(kě)能性。
     3.軟件定義更多可(kě)能
     軟件定義時間敏感網絡沒有(yǒu)從根本上解除時間敏感網絡流的(de)本質要求,隻是将其時間調度模型的(de)條件限制變得更加寬松,适應範圍變得更加廣泛,以滿足更多不同行(xíng)業對時間敏感流的(de)規劃調度需求。同時再加上SDN的(de)軟件定義能力和(hé)網絡綜合管理(lǐ)配置功能,能極大的(de)簡化用戶使用和(hé)管理(lǐ)網絡的(de)複雜度。如(rú)靈活自(zì)組網、協議無關轉發、在線規劃調度、增量規劃調度、實時流路徑遷移和(hé)交換節點熱切換等等。
     TSN的(de)時間敏感特性是屬于業務的(de),業務數據的(de)生産與消費通過TSN網絡來聯通。這從系統架構層對整個TSN網絡提出的(de)全實時的(de)要求,主要包括業務數據的(de)生産消費、數據在系統中的(de)傳遞、接入TSN網絡的(de)網卡、中間的(de)網絡交換機(jī)等所有(yǒu)業務數據流經的(de)每個環節。首先,端節點與交換機(jī)需要都支持全局時鍾同步,端節點不僅是網卡還包括主機(jī)系統。即使主機(jī)系統不進行(xíng)時鍾同步,也需要實時感知網絡的(de)時鍾刻度。其次,所有(yǒu)的(de)業務流産生、傳輸都需要嚴格按照全網的(de)規劃調度進行(xíng)。TSN流的(de)規劃是從網卡接入開始的(de),業務數據的(de)産生和(hé)傳輸到網卡的(de)時間則交給應用自(zì)己控制。應用精準控制的(de)前提就需要實時感知網絡時鍾刻度和(hé)系統提供實時服務。
     1)實時應用
     TSN網絡的(de)業務都是實時應用,實時應用需要運行(xíng)在實時系統之上,而且應用可(kě)以對網絡全局時鍾實時感知。實時業務流都需要通過全網規劃調度後确定其準入網絡的(de)具體時間槽位置,流的(de)調度起點從網卡開始。故業務需要将數據內(nèi)容在其網卡調度時間槽位置時刻前送達網卡,以确保準時進入網絡。業務流到網卡的(de)時間主要由系統調度模型決定,非實時調度系統無法保障用戶數據到達網卡時間的(de)确定性。
     2)實時系統
     實時系統為(wèi)實時應用提供實時數據IO服務,該服務不僅要求系統調度模型是實時,同時還需要包含實時網絡協議棧、實時網絡驅動等。實時調度系統可(kě)以提供較小抖動和(hé)較低(dī)延時的(de)分組IO能力,不是完全時間确定的(de)。實時系統還可(kě)以分為(wèi)軟實時系統和(hé)硬實時系統。通過與普通系統的(de)實驗測試發現,延時排名是:硬實時系統<><><><普通系统。根据用户对业务流延时和抖动的允许差值可以选择软实时系统或硬实时系统。允许误差范围较大的甚至也可以使用普通系统。若对延时与抖动要求极低,则可以考虑使用裸cpu运行实时应用或采用转用硬件实现业务功能。>
     3)TSN網卡
     TSN網卡必須和(hé)其TSN網絡中的(de)時間主節點進行(xíng)時鍾同步,并提供實時的(de)網絡時刻給上層應用。網卡是實時流調度的(de)起點,TSN流必須在其規劃調度的(de)确定時間槽位置發送進入網絡。提前到達則會引發其他流的(de)抖動,占用交換機(jī)緩沖區時間較長(cháng),影響交換機(jī)吞吐率。滞後到達影響更大。TSN的(de)技術規範中有(yǒu)輸入檢查,判斷數據輸入的(de)有(yǒu)效性與合法性,以确保整網的(de)調度正常。
     4)TSN交換機(jī)
     TSN交換機(jī)是整個TSN網絡的(de)核心,各交換節點中必須有(yǒu)一(yī)台是時鍾主節點,其他節點向主節點進行(xíng)時鍾同步。交換機(jī)的(de)輸入檢查、隊列映射、門控列表和(hé)調度方式也是其核心內(nèi)容。Qbv是一(yī)種高(gāo)靈活性的(de)調度方式,适應不同周期性流的(de)靈活映射與實時控制。
     5)網絡控制器
     采用軟件定義時間敏感網絡的(de)系統,其網絡管理(lǐ)配置功能由SDN的(de)控制器完成。為(wèi)支持控制器對TSN交換機(jī)的(de)門控等一(yī)系列參數的(de)配置,需要擴展北(běi)向REST API接口、控制器支撐模塊、南向協議支持規範等,滿足對TSN特性的(de)功能的(de)配置。
     本文是作者結合多年(nián)SDN研究、TSN研究和(hé)客戶需求分析交流的(de)一(yī)些總結。受知識、經驗和(hé)行(xíng)業了解的(de)限制,一(yī)些觀點不一(yī)定都正确。行(xíng)業調查數據及測試數據都隻在特定行(xíng)業和(hé)場景下獲得。敬請理(lǐ)性看待。
     任何技術都有(yǒu)優缺點,在不同應用場景下其表現形式也不同。采用軟硬件全可(kě)編程平台和(hé)軟件定義方案隻是能更多的(de)适應場景變化,在不同場景應用下,其軟硬件功能和(hé)定義方法也不盡相同,都隻是為(wèi)了更好的(de)适應場景要求。
      好在這樣的(de)平台和(hé)方法可(kě)以支持各行(xíng)業用戶場景的(de)編程和(hé)定義的(de)要求。

關注FAST開源社區
FAST一(yī)一(yī)開源、開放、高(gāo)速、高(gāo)效、可(kě)編程、可(kě)定義!軟硬件協同并行(xíng)處理(lǐ)。