這篇文章聊一聊TSN在融合SDN和5G場景下控制平面的實現。本文首先描述這三種技術融合的場景與需求,然後介紹時延敏感的軟體定義網絡(Time-Sensitive Software-Defined Network, TSSDN)的思想,最後總結TSSDN的兩種實現方式和三大實現步驟。
一.場景與需求
超可靠低時延(URLLC)是5G的三大應用場景之一,比如在工業4.0中,工業企業應用上雲,工廠車間的物理網絡系統(CPS)傳出的時延敏感流量(比如報警信息、控制命令)需要經過5G接入、5G前傳網、5G核心網到達雲數據中心,通過IT和OT融合賦能工業網際網路,實現智能化、自動化、柔性化的智能製造。同時,該場景也同樣適用於遠程控制、遠程駕駛、遠程醫療、VR遊戲等業務應用,不同的業務可以通過網絡切片的方式進行硬管道隔離。
在組網設備上,5G前傳網主要由TSN交換機組成,而核心網內既有TSN交換機又有SDN交換機,如何通過統一的控制平面對全網進行管控,並保證超可靠低時延的特性,就成了現在亟需解決的問題,從而也產生了SDN融合5G和TSN的技術需求。下面就分別對SDN架構和TSN控制平面進行介紹和分析。
二.SDN與TSN
SDN架構:
經典的SDN架構如下圖所示,有數據面、控制面、管理面這三大平面和南向接口、北向接口這兩大接口。SDN首先將數據面和控制面進行分離,然後通過南向接口接入數據面,獲得網絡全局視圖,從而實現集中式管控,最後基於抽象的網絡功能實現網絡可編程。
TSN控制平面架構:
TSN的802.1Qcc協議討論了TSN控制平面的架構,有全分布式、分布式用戶管理和集中式網絡控制、全集中式三種方案,如下圖所示,當前主要採用第3種全集中式的架構,CUC是中心化用戶配置,相當於編排器,負責採集終端業務的帶寬時延抖動等網絡服務質量需求,並將其轉換後通過北向接口發給CNC,CNC是中心化網絡控制,相當於控制器,包含計算拓撲路徑等網絡功能、並通過南向接口下發更新門控列表等配置信息給TSN交換機。
由於802.1Qcc只提供了方案模型,但沒有提供具體的實現方式,所以採用何種規範的南向接口協議,將哪些TSN的協議和網絡功能抽象到控制平面,實現怎樣的可編程TSN應用,是TSSDN需要考慮的核心內容。
三.TSSDN兩種實現方式
目前有「TSSDN網關」和「TSSDN統一」兩種實現方式,網關是指通過協議轉換將TSN和SDN域進行互連互通,統一是指直接在一臺設備上同時實現TSN協議和SDN功能。很顯然,網關的實現會更快更容易一些,實現了網關的基礎上才能更好的實現統一。
TSSDN網關:
在TSSDN網關模型中,TSN和SDN使用通用的網絡抽象層(比如MAC學習、拓撲發現、路徑計算),但使用各自的控制平面、數據平面和安全策略。
首先,SDN域並不支持TSN相關的時延抖動保障技術,以使用OpenFlow為南向接口為例,則只能用OpenFLow現有的Queuing隊列進行簡單的流量調度,以及使用Meter計量表進行速率限制來儘量保障TSN域傳來業務的QoS。
其次,由於各自所使用的協議和接口不同,網關還需要涉及到協議數據單元(PDU,Protocol Data Unit)的轉換,即重寫傳入數據包的包頭欄位,比如修改VLAN中的PCP(Priority Code Point)欄位實現域間的優先級映射,再比如進行NAT網絡地址轉換等。
此外,還需要考慮安全功能,比如接入控制、身份驗證、授權和加密等。工廠企業對數據有很高的安全要求,企業應用上雲後,為保證數據不被劫持、洩露、篡改、損毀,需要各種網絡安全策略以及故障冗餘等保護措施。不同的安全策略需要在TSSDN網關中得到統一的轉譯和有效的實施。
TSSDN統一:
在TSSDN同一模型中,TSN和SDN不僅使用相同的網絡抽象層(路徑管理、拓撲管理、策略管理),還使用統一的控制平面和數據平面,即北向接口REST API要支持SRP流預留協議來實現OPC UA的發布-訂閱模式,控制器要新添CUC、CNC等網絡功能組件,要能通過OpenFlow、Netconf等接口對TSN交換機下發流表和配置。具體的Yang模型定義可參考TSN工作組的的如下標準草案:
四.TSSDN三大實現步驟
按照SDN的三平面兩接口架構,由於TSN的數據面已經基本完善,目前已有可商用的TSN交換機,同時北向接口API可任意選用,TSSDN還剩南向接口、控制面、編排面需要討論和實現。TSSDN實現的三大步驟為:實現適配的南向接口,實現TSN控制功能,實現可編程TSN應用。
實現適配的南向接口
南向接口可以採用OpenFlow和Netconf,OpenFLow保持協議不變,完成流表下發等功能,對於TSN相關協議的配置和更新,可採用Netconf對接口(需要修改很多的匹配欄位)後進行下發。Netconf協議(RFC 6241)規定了網絡設備中的Netconf Server和控制器中的Netconf Client組件,在Server端,配置被存儲在配置資料庫中,客戶端可以通過RPC(Remote Procedure Call)的方式進行get-config和edit-config這樣的操作。比如可以通過edit-config對SRP流預留資源進行實時建立和釋放,以及對門控列表進行修改。
實現TSN控制功能
接下來是本文的重頭戲,貼一張圖片總結一下TSN中最主要的幾個協議和功能。簡單的說,有了這四個協議:①先進行全網設備時鐘同步,②然後對流進行端到端的帶寬分配和資源預留,③再對入埠流量進行過濾,④對出埠流量進行門控隊列調度整形,就基本能保證時延敏感流的確定性時延和抖動需求。將這四個功能移到控制面,也是目前大家討論得比較多的點。
考慮具體的協議實現,我畫了一張TSN交換機內部的流量處理流程視圖,包含從入埠過濾,查找轉發,到出埠隊列門控整形、幀搶佔、物理層傳輸的一系列過程的處理(有點小複雜,感興趣的可以點開放大看一下)。
當然,我不可能拿這麼複雜一張圖來講,所以請看精簡版的下圖:黑色區域代表SDN的功能組件,紅色區域代表新增的TSN功能組件,TSN在結合SDN時要驗證滿足以下兩個基本要求:
1.SDN的數控分離開銷不能影響TSN協議的實現效果。比如,若將時鐘同步功能移至控制面,則有可能因為連接控制面的較大時間開銷導致時鐘同步出錯;再比如流預留功能,每一跳的talker advertise預留信息都要上報至控制器,控制器確認後再下發給交換機,也會帶來額外的處理時延開銷。
2.配置的更新和下發要保證實時性和一致性。比如,門控列表的下發,如果一臺交換機的門控列表進行了更新,而下一跳更新不及時或者未能成功更新(不一致),就會導致流量無法在正確的時隙被傳輸,所以一般會檢驗所有的設備配置都成功後,才會給終端發送「確認可以發包」的消息。
實現可編程TSN應用
可編程TSN應用目前還很少,TSN大多還處在硬體demo或協議仿真階段。預計未來隨著遠程醫療、遠程教育、全息視頻、VR遊戲等終端實時應用和業務的豐富,TSN網絡功能應用也將如黃河之水天上來一般,奔湧而出。
當前盡力而為的網絡擁堵時就如同下班晚高峰路上的汽車,滴滴復滴滴,而TSN就是交通裡的地鐵和高鐵,嘀嗒就抵達。未來,SDN融合5G和TSN,在家辦公不必再為視頻會議卡頓而捶胸,在家上課不必再為答題交互延遲而跺腳,遠程醫療準確高效還免去了排隊掛號取單子的繁瑣,玩遊戲更是流暢到人人都是「頭號玩家」。
最後,熟悉OMNeT++仿真的朋友,可以下載INet實時乙太網仿真框架和SDN4CoRE框架,進行TSN協議的仿真學習,傳送門:https://github.com/CoRE-RG/.
【編輯推薦】
【責任編輯:
武曉燕TEL:(010)68476606】