面向列車以太網的FAST-TSN實驗環境(3)SD-ETB網絡原理
發布時間:2019-02-22
SDN基本特點是轉發控制分離和可編程的集中控制。由于列車網絡相對封閉,規模有限,因此十分適合SDN技術的應用。由于列車網絡在網絡連接、拓撲結構和冗余控制方面具有特殊要求,因此無法將現有SDN解決方案(交換機、控制器、協議等)直接應用于ETB的組網,必須針對ETB的特點提出新的處理機制和協議。本文將基于SDN的ETB網絡簡稱為SD-ETB。
一、SD-ETB網絡設計原則
(1)ETB和SDN的主要差異
SDN機制無法直接用于ETB組網,主要原因是兩種網絡在拓撲依賴、控制方式和交換設備模型方面具有較大差異,如下表所示。
表1 ETB和SDN的實現機制比較
|
ETB |
SDN |
網絡拓撲 |
線性或環形拓撲 |
網狀或樹狀拓撲 |
控制通道 |
無獨立控制通道 |
依賴專用控制通道 |
拓撲發現 |
基于廣播(Topology消息)發現拓撲,通過比對拓撲目錄校驗和來維護分布計算結果的一致性 |
SDN控制器通過發送和接收單播的LLDP消息計算網絡拓撲 |
接口配置 |
連接ETB子網的多個接口共享一個IP地址 |
每個網絡接口具有獨立的IP地址 |
設備IP地址分配 |
初運行時通過分布協議計算出ETBN的IP地址,以及連接和CN子網的前綴 |
在SDN網絡初始化之前,管理員需預先配置交換機的IP地址 |
轉發表生成 |
通過分布協議在初運行時計算得到 |
由控制器統一下發 |
(2)SD-ETB設計原則
由于ETB和標準SDN網絡具有較大差異,因此SD-ETB的設計必須考慮ETB組網的基本特點,滿足列車網絡對動態重構、冗余控制等特殊要求。我們認為SD-ETB的的設計原則包括以下幾點。
一是兼容ETB物理層規范。ETB物理層規范除了定義以太網鏈路的物理層規范外(全雙工100M以太網),還包括車廂之間的物理連接形式。如果每個ETBN采用SDN交換的方式實現,那么ETB定義的車廂間走線形式無法支持每個交換設備通過專用的控制接口與SDN控制器連接,因此標準的SDN基于LLDP協議的拓撲發現機制無法工作,必須提出新的拓撲發現機制。
二是采用動態的IP地址分配形式。ETB規范的特點就是支持具有不同來源的車輛(consist)能夠根據需求編組形成新的列車,因此每個車輛中網絡設備的IP地址不能預先配置,以防止IP地址沖突。因此ETB在初運行時為每個ETBN和車輛子網(CN)統一分配ID,由這些ID來構成運行時的IP地址。標準SDN網絡在建立南向接口通道(如openflow通道)時首先要求每個交換機都有自己的IP地址,而這個假設在ETB中無法成立。由于SDN網絡中最大限度減小分布式協議的使用,因此標準ETB網絡中基于TTDP協議的全分布式ID分配和IP地址生成機制需要被SD-ETB中新的集中控制的IP地址分配機制取代。
三是SD-ETB部署對端系統和應用保持透明。列車網絡上具有大量的網絡端節點,這些端節點或直接接在ETB子網上,或接在通過ETB子網互聯的各CN子網上。這些端節點上部署各種狀態檢測、車輛運行控制和多媒體應用。用SD-ETB取代現有ETB只能定位在列車網絡基礎設施升級,必須對端節點及其應用透明,因此SD-ETB在IP地址編碼規則,ARP地址解析、組播通信,傳輸層協議等方面必須保持與ETB一致。
四是SD-ETB具有增強的冗余控制能力。面向環形拓撲,支持拓撲發現及環網工作狀態的自動監測。當鏈路和交換節點發生故障后,能夠實現ms級的轉發路徑倒換,保證關鍵業務的不中斷傳輸。特別是SDN控制器應具備冗余功能,避免SDN集中控制帶來的單點故障。
五是簡化的交換設備(ETBN)實現。SDN將交換設備的可控制功能(智能)提取到控制器上實現,每個ETBN只需支持南向接口協議(如openflow)的配置。因此SD-ETB網絡中的ETBN實現與現有ETBN實現有兩點區別。一是建立明確的Match-action轉發層抽象,為控制器的編程提供基礎;二是只支持簡單的無狀態的網絡協議,
二、SD-ETB網絡的實現原理
(1)SD-ETB的組成
SD-ETB主要由N個環形連接的軟件定義ETBN節點(SD-ETBN)以及兩個以上的SD-ETB控制器組成,如圖1所示。每個車輛中包含1個或多個SD-ETBN,每個ETBN可能連接1個或多個車輛網絡(CN)。ETB網絡變成SD-ETB對CN透明。

圖1 SD-ETB子網結構圖
多個SD-ETB網絡控制器通過協商產生一個主SD-ETB控制器,其余作為從SD-ETB控制器。主SD-ETB控制器負責網絡拓撲發現,IP地址分配,轉發表下載和ETB環檢測等功能。每個SD-ETBN設備支持openflow1.3協議,支持SD-ETB控制器對其進行流表的配置。
(2)SD-ETB的核心機制
SD-ETB解決方案的主要機制包含4項關鍵的處理機制,即環網控制器選舉RCE(RingController Election)、環網拓撲發現RTD(Ring Topology Discovery),環網狀態遙測RST(Ring StatusTelemetry)以及環網彈性轉發RRF(Ring Resilient Forwarding),如下表所示。
機制 |
功能 |
工作原理說明 |
RCE |
在分布在多個車輛中的SD-ETB控制器中選舉主控制器 |
(1)初始化時多個控制器間的連接是不存在的(環網還不同),這些控制器首先通過RTD的拓撲發現進行相互發現;
(2)每個車輛只能由一個控制器,選擇具有最小CSTUUID的車輛包含的控制器作為主控制器,次小的作為從控制器;
(3)從控制器檢測主控制器的狀態,必要時發起切換。
(4)控制器切換不影響ETB環的工作 |
RTD |
發現環網中的SD-ETBN設備和拓撲連接關系 |
(1)控制器通過發出RTD消息發起迭代拓撲發現過程;
(2)只有SD-ETBN設備響應RTD消息(包含自己接口數,MAC地址,所在車輛CSTUUID等),CN設備和ED設備不響應RTD消息;
(3)控制器首先通過packet-out分組向直連的SD-ETBN發送RTD消息,然后根據返回的接口信息,再依次向該設備其他接口相連的設備發送RTD消息;
(4)多個控制器可能同時基于RTD發起拓撲探測,在拓撲探測過程中相互發現;
(5)SD-ETBN接受具有最小CSTUUID的控制器對自己的地址配置; |
RST |
控制器通過RST分組,獲取整個環網上的設備狀態; |
(1)主控制器周期性的向環網發送RST分組;
(2)每個SD-ETBN將自己的狀態(接收發送時間戳、輸出隊列長度等)填寫到RST中;
(3)RST依次通過環上的每個SD-ETBN,最終返回控制器;
(4)如果控制器發現RST分組超時未返回,則啟動RTD機制重新檢測環拓撲狀態; |
RRF |
環路故障時不需控制器干預的冗余路徑自動切換 |
(1)每個SD-ETBN能夠感知環的上下行接口,這兩個接口共用IP地址,連接ED或CN的其他每個接口有一個IP地址;
(2)轉發表中同時標記轉發路徑和冗余路徑;
(3)SD-ETBN通過檢測接口狀態(Up/down)變化和雙向RST分組到達情況自主判斷確定冗余路徑切換的時機 |
我們將基于開源的Floodlight控制器和openbox-S4平臺實現SD-ETB的基本功能,并通過擴展openbox-S4中的FAST流水線將TSN功能集成到環形ETB中。