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