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