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

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