通訊網路進入5G之後的世代,各類高可靠度、高服務品質且低延遲性的應用服務,是主要發展趨勢。因應此趨勢,高速可靠的無線網路通訊技術,亦即5G,必然需要整合可滿足低延遲性需求的有線網路技術,而時間敏感網路(TSN)正是目前最能滿足此需求的技術。本文將介紹TSN技術架構,以及其中的核心角色—中央網路控制器(CNC)的主要功能,以及工硏院資通所目前在TSN串流排程方面的研發成果。

工業技術研究院 資訊與通訊研究所 許名宏 李育緯

通訊網路進入5G之後的世代,各類高可靠度、高服務品質且低延遲性的應用服務,是主要發展趨勢。因應此趨勢,高速可靠的無線網路通訊技術,亦即5G,必然需要整合可滿足低延遲性需求的有線網路技術,而時間敏感網路(TSN)正是目前最能滿足此需求的技術。本文將介紹TSN技術架構,以及其中的核心角色—中央網路控制器(CNC)的主要功能,以及工硏院資通所目前在TSN串流排程方面的研發成果。

精彩內容

  1. TSN搭配5G實現低延遲應用服務
  2. TSN保證重要流量的確定性低延遲傳輸
  3. TSN串流路由及排程技術

TSN搭配5G實現低延遲應用服務

5G網路有三大主要目標,分別是增強型行動寬頻(enhanced Mobile Broadband),eMBB、高可靠度和低時延通訊(ultra-Reliable Low-Latency Communication,uRLLC)、大規模機器型通訊(massive Machine-Type-Communications,mMTC),也就是 5G「高速度」、「低時延」、「多連結」的三大特性。其中高可靠度與低時延通訊技術有機會應用於工業自動化製造、遠程醫療手術、智慧電網配電自動化、無人駕駛等各式場域。

不難想見,近期將會有越來越多樣化的、具備低延遲性需求的應用服務在各種場域被提出。然而,為了實現端到端(end-to-end)的低延遲通訊,除了5G行動網路的低延遲保證外,也需要整合有線網路即乙太網路的低延遲傳輸協定,如IEEE乙太網路標準定義的時間敏感網路,Time-Sensitive Networking (TSN)。TSN是網路第二層的協定[1],透過集中管理與排程規劃,可以確保即時應用服務的傳輸延遲與效能,因此能運用在需要即時性與高可靠性通訊的應用場域,例如5G回傳網路(5G backhaul)。

TSN保證重要流量的確定性低延遲傳輸

為了滿足應用服務的低延遲性需求,在一個時間敏感網路的領域(domain)中,存在著一個集中式掌控全局的軟體,即中央網路控制器(Central Network Controller,CNC)。如圖1所顯示的 TSN 基本架構,發送流量的終端稱為發話端(Talker),接收流量的終端為收話端(Listener);多播(multicast)的應用會有多個收話端。

TSN 交換器及終端設備會定期向 Grand Master (GM) 進行時間同步、校正,使得網路中任兩個設備之間的時間誤差越低越好,一般標準的要求是時間誤差低於1微秒。CUC (Centralized User Configuration) 負責蒐集 「TSN 流量需求資訊」,再將這些資訊傳送給 CNC 以進行排程規劃,而 CNC 會在計算、確認流量的傳輸排程後,實際將對應的網路資源組態設定佈署在TSN交換器上。由於 CNC掌握了TSN網路在物理上的規格、限制,以及描述流量特性的足夠資訊,使得CNC有能力計算出可滿足流量低延遲需求的排程方案,甚至可讓特定流量端到端的延遲逼近物理上最低值(依網路規模而異,通常是數十至數百微秒)。

具體描述TSN串流需求的參數

在TSN網路中,那些需要保證低延遲性、較重要且週期性發出的流量,一般稱作 TSN 串流 (stream);用來定義 TSN 串流需求(stream requirement)的參數通常包括發話端、收話端、串流識別碼(stream identifier)、最大資料幀(frame)的大小、發送週期、一個週期內送出的資料幀數量、最大可接受延遲、送達接收端的期限(deadline)、實際發送時間的變異度(jitter)、是否需要資料幀複本(frame replication)備援。

CNC 可掌握所有的TSN串流需求資訊以及網路拓樸資訊,包括可使用於排程的佇列數量、設備之間的最大可能時間誤差、處理不同大小的封包所造成的延遲以及鏈路的傳遞延遲(propagation delay),因而能夠搜尋、計算出一個保證滿足串流需求的確定性傳輸排程方案(deterministic transmission schedule)。


圖1 TSN中央網路控制器實現集中式的全局佈署,來滿足低延遲

TSN相關標準

IEEE TSN工作小組為了實現、推廣TSN,到目前為止已制訂的相關標準有很多項目,而各家TSN交換器產品通常會選擇性地支援部份標準功能[2]。下表一簡要列出我們認為比較重要的幾項標準,其中 802.1AS及802.1Qbv可說是TSN交換器必備的功能。802.1AS 定義了交換器時間同步的機制,而802.1Qbv 則定義了交換器出口埠的佇列(queue) 封包排隊暫存及送出的機制—意即,運用經過精準校時的閘門開關(Time-Triggered Gate,TT-Gate),依據 CNC所設定的閘門控制列表(Gate-Control List,GCL)來照表按時開關特定佇列的閘門,使得特定佇列的封包會按照CNC所排程、設定於GCL的時間送出 (如圖2),因而實現標準所定義的「時間感知整流器」(Time-Aware Shaper,TAS)。

另外,802.1CB 標準所定義的「封包的複製及冗餘複本的消除」(Frame Replication and Elimination for Reliability,FRER),使得特定的、特別關鍵的串流,可在網路出現小幅度的意外狀況時 (例如少數鏈路或交換器發生故障),獲得多一層的保障;此標準也被視為是增加TSN應用可靠度而重要的功能,可預期市場上將會有越來越多廠牌的TSN交換器有支援此標準。


表1 IEEE制訂的TSN 主要相關標準


圖2 802.1Qbv標準定義的TSN交換器出口埠佇列封包排隊傳輸機制

TSN串流路由及排程技術

本團隊在近兩年持續研發CNC應具備的核心技術,包括規劃TSN串流路徑的路由演算法,以及以 802.1Qbv TAS為基礎的串流封包傳輸排程技術等等。當使用者提出一批多個TSN串流需求時 (請參考前述的 “TSN 串流需求的參數”),CNC會先計算各個串流的路徑,接著再排程、計算各串流在其路徑上的每一台交換器出口埠的傳輸時間位移(offset),此時間位移是相對於一個絕對的時間點,例如一個智慧工廠裡的各個終端設備同時啟動的時間。

TSN串流路由技術

在路由演算法方面,本團隊開發及實作了因應兩個不同目標的兩種演算法。

第一種路由演算法的目標是為了避免TSN網路中存在特別高負載的鏈路,造成後續TSN串流排程計算的難度變高,或是使得該鏈路成為非TSN串流的一般流量的傳輸瓶頸;因此,本團隊開發的第一種串流路由方法,是一個可逐條新增串流需求的鏈路負載平衡路由(load-balancing routing) 演算法。此演算法會以一個串流需求定義的週期、資料幀的數量及尺寸,來換算出該串流需求對於所經過的單向鏈路造成的頻寬負載有多大,單位是每秒傳輸的位元數(bps)。而一個單向鏈路的負載成本,就是經過該單向鏈路的所有串流的頻寬負載總和。在逐條為新進的串流需求規劃路徑時,此演算法會先找出多個可行的候選路徑,將新進串流所造成的頻寬負載,投射到已經為既有串流規劃好路徑的網路上,再選擇投射後成本最低的候選路徑為該新串流的傳輸路徑。

本團隊開發的第二個串流路由技術,目標是為了切合起初 802.1CB標準功能被提出的動機,使得「TSN網路所提供的複本備援傳輸效益可最大化」。針對有提出「複本備援需求」的TSN串流,此路由技術會依據串流發話端及各個收話端的位置,找出網路拓樸中可最大化互相備援的兩個樹狀傳輸路徑[3]。一個簡單的範例如圖3,可以看出當「任一條連接兩個交換器的鏈路」故障時,發話端與任一收話端之間至少存在一條路徑連接,通訊皆不會中斷。


圖3 (a)範例拓樸及串流的發/收端;(b)第一條備援傳輸路徑;(c)第二條備援傳輸路徑

TSN 串流排程的考量及限制

在確定各TSN串流的傳送路徑之後,CNC的串流排程模組需要根據各TSN串流需求、串流路徑、交換器的規格等資訊,來求出可行或最佳的排程方案。一個可行的排程方案,要描述每個串流在其路徑上每一站(通常包括發話端)出口埠的傳輸時間位移以及被分配到的出口埠佇列識別碼(queue identifier)(參考圖2)。為了要讓求得的排程方案完全符合實際運行時的網路運作情況,串流排程軟體須考慮的因素、條件限制有很多,以下依概念分項陳述說明:

⦁在一個串流的週期中,收話端收到該週期最後一個串流封包的時間,與該串流發話端送出第一個串流封包的時間,中間的時間差距須低於該串流需求定義的最大延遲時間;

⦁若有多個串流從同一個交換器的同一出口埠送出,則這些串流任一週期的傳輸時段都不會和同出口埠其他任何串流任一週期的傳輸時段有重疊;

⦁每條串流在其路徑上第K站的送出時間,不得早於第K-1站的送出時間加上中間必須經過的鏈路傳遞時間(propagation delay)及交換器的處理時間(processing delay);

⦁每條串流由其發話端送出的時間,不能超過該串流的週期;

⦁串流在路徑上每一站出口埠,被排程配置到的佇列,必須符合該交換器的佇列數量規格,且不能是該交換器用來進行802.1AS時間同步的佇列;

⦁經過同一個交換器同一出口埠的任兩條串流,不能在任何佇列中發生封包交錯(interleaving)排隊的情況,意即任何串流的任一週期的多個封包,在任一出口埠的傳輸都是連續送出的,不會穿插其他串流的封包。

儘管支援802.1AS標準的交換器之間,能讓時間同步至誤差小於一微秒的程度,在設計排程演算法時,仍需考慮交換器之間實際存在的數百奈秒(nanosecond)的時間誤差,並在上述的各類條件限制中考慮最糟情況的量化規則,才能確保TSN串流的實時傳輸的端到端延遲符合使用者的預期[4]。

TSN串流排程效能初探

為了保證串流的低延遲性且有效率地運用有限的傳輸頻寬,“完全確定的” (deterministic) TSN串流傳輸排程是一個NP-hard的複雜難題,尤其是在TSN串流數量較大、拓樸整體可用頻寬較小或是在追求整體延遲最小化的目標時,如何縮短排程計算時間是研發CNC的巨大挑戰。下圖4是我們的排程演算法模組搭配第一種(即負載平衡)路由演算法的效能表現。測試方式是假設在一個有10台交換器的環狀拓樸上,每個階段增加20條串流、以最小化延遲為目標,逐階增加累積至算完375條串流的排程方案為止。

由虛線的趨勢線可觀察出,目前本團隊所開發的累加式排程器(incremental scheduler),所花費的計算時間與欲排程的串流數量大略會呈現一種指數型的成長關係。隨著拓樸的結構及TSN串流需求參數的不同,計算375條串流的排程通常需要數十至數百分鐘不等的時間。為了兼顧計算效能及盡可能滿足最多的TSN串流需求,實務上通常會需要調教一些演算法的超參數(hyper parameter),例如累加式排程在每個階段要考慮的stream數量,甚至有時需要調整網路拓樸的結構。


圖4 TSN串流排程計算時間趨勢

時間敏感網路—TSN現在與未來

5G的發展使得行動通訊應用服務邁向超低延遲性的世代,而時間敏感網路—TSN,是目前在有線網路領域最能確保低延遲性的技術。然而,目前5G和TSN的互動性整合還未完全標準化,而在5G回傳網路及智慧工廠等場域已有明顯的整合需求,可以預期5G與TSN的標準化整合會是網路未來近期的發展重點之一。

另一方面,TSN排程軟體在效能上、使用者體驗上仍有一定的提升空間,且交換器支援802.1Qbv 閘門控制列表(GCL)的規格、條目數量,也是TSN實際大規模應用時的限制;這些都是本團隊最近在持續研究強化的目標。

參考文獻

[1] https://en.wikipedia.org/wiki/Time-Sensitive_Networking

[2] https://www.ieee802.org/1/pages/tsn.html

[3] G. Enyedi, G. Retvari, “Finding Multiple Maximally Redundant Trees in Linear Time”, Periodica Polytechnica, 2011.

[4] L. Zhao, P. Pop and S. S. Craciunas, “Worst-case latency analysis for IEEE 802.1Qbv time sensitive networks using network calculus”, IEEE Access, vol. 6, pp. 41803-41815, 2018.