劉夏陽,吳慶豐,黃松濤,李小紅
(1 新譽集團有限公司,江蘇常州213011;2 江蘇常牽龐巴迪牽引系統有限公司,江蘇常州213011)
列車通信網絡(TCN)是國際電工委員會(IEC)于20世紀90年代與國際鐵路聯盟(UIC)合作開發符合IEC 61375標準的鐵路專用的現場總線,隨著車載智能化電氣設備增多,傳統的WTB與MVB總線局限性漸漸顯露出來,如逼近帶寬上限,設備成本仍是開放式控制局域網(CANOpen)、以太網總線設備的數十倍,物理接口難于兼容,導致車載系統總線種類多、存在不同總線的轉換網關而增加額外成本,同時需要不同的總線配置與分析工具,因此基于高性能、標準化的TCP/IP或UDP/IP的傳輸協議已成為一種必然。龐巴迪向德國與新西蘭交付的基于車載以太網的區間列車就成為首個采用以太網協議的列車控制與網絡成功案例,與傳統TCN網絡相比降低了成本與提升了功能的擴展性。列車以太網的核心概念之一就是確定如何尋址車載以太網設備。
以太網互聯列車通信網絡(IP-TCN)尋址不僅需考慮在以太網互聯層次上尋址,同時也需在更高的功能層及物理底層尋址(MAC地址),這對基于IP-TCN的列車控制管理系統(TCMS)的部署是至關重要的;尋址方案不僅要識別TCMS系統中硬件設備,并能根據相應的基礎通信協議以訪問相應的資源;既要考慮傳統TCN列車的應用經驗,又要兼顧以太網行業的統一資源標志符(URI)尋址的規約;
IP-TCN尋址方案的困難在于列車網絡及編組的動態性,如構成列車的編組單元數量與順序可能會變化、車載功能冗余設備故障情況下的切換,因此尋址方案的根本性要求是須解決允許應用程序從功能應用層面上尋址訪問列車內外的特定功能,而無須關注這些邏輯功能地址與實際物理地址之間的映射關系。邏輯功能地址借用以太網行業中采用ASCII碼字符串的常規表示方式,如采用“dr@vcu1.lead Car.lead Cst.train17”來識別訪問位于某17號列車編組單元1主控車廂內的數據記錄儀,先將ASCII碼字符串轉換成TCP/UDP的IP地址與訪問端口號,然后將其翻譯成網絡設備的物理地址(MAC)。
從上面簡單分析說明IP-TCN列車尋址方案至少應包含物理硬件地址(MAC)、IP網絡地址及邏輯功能地址,及其不同層次地址之間的映射關系,在一般應用程序中通過邏輯功能地址來訪問設備,在某些特定應用與服務程序中可采用IP網絡地址乃至物理硬件MAC地址直接訪問。表1反映了此地址方案與開放系統互聯(OS I)7層協議模型中的對應關系:
尋址方案還應兼顧軌道車輛應用的一些特殊要求:
(1)如單元編組構成的子網在列車編組發生改變時(沒有列車級通信)時仍可正常工作,這就要求單元編組子網的MAC地址與IP地址須靜態分配,另外整個IP網絡須采用列車級主干網與單元編組子網的層次化結構。

表1 地址方案與開放系統互聯7層協議模型對應關系
(2)對跨境或跨界運營的列車可能會存在來自不同車輛制造商或鐵路運營商的車輛,應無需由專門特定的組織來給所有列車分配唯一的網絡地址,避免地址分配的集中管理將有助于簡化列車網絡管理。
(3)考慮到與UIC 556的一致性,列車以太網尋址須符合UIC 556中定義的地址結構,如包含車輛編組及順位信息等。
(4)簡化調試過程部件的安裝及故障部件替換,最好具備"即插即用"的功能,這就要求根據不同安裝位置、不同類型的網絡設備可以分配固定的IP網絡地址,并且在不同列車編組網絡中可以有相同的IP地址。
根據前面分析,應用程序需盡可能不受IP地址分配與網絡動態變化的影響,很好的一個例子是位于列車兩端的冗余數據記錄儀在列車行駛方向改變或工作數據記錄儀故障切換時,車載或地面設備需要上載記錄時,應用程序應無需知道實際工作的記錄儀是哪一個?;痉椒ㄊ菑木W絡地址抽象出來而采用特定的會話名字來替代,IP-TCN列車尋址方案中定義為“邏輯功能地址”,此概念源自于UIC 556并結合以太網應用進行了優化。邏輯功能尋址要滿足TCMS設備之間過程數據與消息數據交換實時性的要求,同時參照互聯網標準統一資源標志符(RFC 3986)定義,IP-TCN網絡資源應理解為實現某特定功能的應用或系統軟件與組件,用IPT-URI表示。
據此對IP-TCN網絡中功能資源采用“f un@host”格式定義,“f un”是指所識別的TCMS通信功能,而“host”是指實現此功能設備的網絡接口地址。由通信固件將IPT-URI中的“host”設備地址轉化成發送所需的物理以太網IP地址,由于IP-TCN網絡的動態性因此該轉化過程也是動態的;另外通信固件還需翻譯IPURI中的“f un”部分,以識別網絡數據所需達到的應用或系統組件。
IPT-URI的語法定義格式可參見RFC 3986采用巴科斯—諾爾范式(BNF)標注法(圖1)。

圖1 巴科斯——諾爾范式標注法
IPT:∥為URI語法,是一個可以擴展的命名系統,對應每個尋址方案可以要求更嚴格的語法及特定的方案標志,以“IPT”起始來表示以太網列車通信網絡(IP-TCN)的尋址方案;實例句柄為表示某個功能號的應用實例;功能號為應用程序或系統組件中軟件功能號;設備終端為用于設備車載設備終端;車廂號為用于標志設備終端所在的車廂;編組號為識別終端設備所在的基本運轉編組;列車號為識別終端設備所在的列車,列車號省略時表示本列車,此時URI應以編組號結束(如:ipt:∥instance.function@device.car.consist)。
IPT-URI中的用戶部分“實例句柄.功能號”允許尋址終端設備應用中的某個功能或其多個應用實例,可用作源數據地址(S)或目的數據地址(D);同時可預定義一些實例句柄與功能名,如aInst表示某功能的所有實例等。
UIC 556推薦定義了一些列車應用功能的通用標志,因此在IP-TCN尋址方案中的功能號可以借用其常規的命名約定如“司機室”對應的功能名為“cab”、廣播功能對應為“pub Adr”等,以保持良好的兼容性,這尤其在UIC國際列車應用中是必須遵循的。
某些情況下,功能組尋址方式將優于單個功能尋址,在IP-TCN尋址中也是可能的,但應考慮以下局限性:在接收數據的終端設備中應對所有功能復制所接收的數據,此功能須有通信固件來處理;另外IP-TCN尋址并不區分單個功能與功能組,這對于需要確認的消息數據通信是非常關鍵的,因為通信系統僅期望收到最多一個來自終端設備的應答,須由通信協議堆棧固件來確保功能組的成員只發送一個消息應答報文。
IPT-URI的主機用來確定列車以太通信網絡中源數據或目的數據位置,相應定義了設備級的通信端點,列車以太網支持點對點與一對多的通信形式。在一對多通信時,可采用組設備下定義,組設備可以局限在某列車特定區域內,如某個車廂、某個基本運轉編組或某列車。可通過一些預定義的標志來尋址特定的設備組如l Dev表示用于尋址位于本地設備上的所有可尋址的功能。
單個設備地址示例有:設備名.本車,設備名.本廂號.本編組等。
組設備尋址示例有:grp All.aCar.l Cat,grp All.a Car.aCst.l Train。
UIC 556提供了某車或某編組的群組訪問功能,可以向某些特定車輛的應用發送數據,如晚上臥車門上鎖。類似的,在IP-TCN中可定義列車級專門設備組與屬于該設備組的終端設備來實現(如臥車的門控制器),但像“gr p Car XXX”顯示的定義車組在IPT尋址方案是不支持的。
整個IPv4地址空間包含232個地址,其中大多數地址是全局分配為唯一的,但其中有3個地址范圍是作為內網專用,作為目的地址時將不會尋址到專網以外的設備。
A類的10.0.0.0~10.255.255.255,B類的:172.16.0.0~172.31.255.255,C類的192.168.0.0~192.168.255.255;每個地址塊可進一步分成具有一定數量主機的子網,根據RFC 1519的無類別域間路由(CIDR),可以靈活的安排一定數量的子網及主機,如10.0.0.0/16定義了16位子網掩碼,給出了254個子網,每個子網有65 535臺主機;如10.0.0.0/18給出18位子網掩碼,對應1 024個子網,每個子網有16 384臺主機。
原則上列車以太網絡只是局部靜態的以太網,可作為兩種方式嵌入于運營商的網絡,一種是從運營商網絡保留一定的地址空間,也就是列車以太網直接屬于運營商網絡的一部分;稱為靜態IP地址分配方式;另一種可能是給每個列車網絡定義一個獨立的局部地址空間,“動態”IP地址分配方式。實際應用,兩種分配方案都可能采用,下面分別討論。
對所有列車的每個以太網設備須在運營商網絡的地址空間中分配唯一的IP地址(典型域名為:10.0.0.0/8);可通過地址分配集中管理及通過唯一車輛ID對應獲得;此分配方式對小規模的列車組比較容易,只需2層網絡交換機就可構建,但對國際聯運列車大規模列車組時,集中管理困難并且缺少透明度,對中間網絡設備如交換機不能校驗發送者所尋址的車輛是否為一個舊編組狀態,同時列車級、車廂級之間網絡沒有適當隔離。
通過動態IP地址分配方案,避免靜態分配方案要求整個列車組所有以太網設備IP地址唯一的缺點,而只需在基本運轉編組(Consist)級地址唯一分配。因此在同一列車不同編組單元內的地址可以重疊,通過定義編組間如何通信以避免由于地址重復而通信混亂。關鍵通過定義列車級與編組級兩個不同子網,子網內地址唯一來實現。
每個IP列車構成一個專網,網址為10.0.0.0到10.255.255.255(子網為:10.0.0.0/8),由兩級子網構成,列車主干以太子網(ETB),網址范圍為10.252.0.0~10.252.0.62,子網為10.252.0.0/26;另外一個為基本運轉編組以太子網(ECN),范圍為10.0.0.0~10.0.15.254,子網為10.0.0.0/20。
如圖2所示,列車以太網為內部專網,跟外部公網(如軌旁)通信時需要一定的地址翻譯機制,因為專網地址不會被以太網路由器路由。但此轉換機制不屬于車載以太網討論范疇。

圖2 列車以太網IP地址分配示例
3.2.1 基本運轉編組子網ECN源地址分配
基本運轉編組子網內永久安裝的終端系統與工作的網絡部件必須從ECN子網中分配相應的源地址,根據ECN子網10.0.0.0/20可以定義有如表2二進制表示格式,表格中[h]部分網絡主機標志符,為除了所有‘0’與所有‘1’以外的任何數字。主機標志符定義編組內的某個設備。位于同一編組內的相同類型的設備如(VCU)須通過不同主機標志來區分。

表2 ECN源地址分配
原則上主機標志(host-id)可進一步結構化與子網分區,因為網絡地址此部分內容是預配置與靜態,在實際應用中按表3形式進一步結構化與分區是有意義的,表中[d]部分表示設備標志部分,除了所有‘0’與所有‘1’以外的任何數字,[c]部分表示車輛標志,表明車輛在編組中的順序位置。

表3 網絡地址內容
3.2.2 列車主干網ETB源地址分配
路由設備通常有超過一個IP源地址,每一個IP源地址與路由器所連的子網相對應,這就要求ETB子網與ECN子網之間的路由器至少有兩個IP源地址,一個為按上述ECN地址分配規則的源地址,另一個對應ETB網絡則應以表4格式。

表4 ETB源地址分配
表中[u]部分為編組子網標志(unit-id),表示編組順序號(1~62)之間,與ECN子網相反,此標志在列車初始化時動態分配。
3.2.3 以太網列車虛擬地址空間
從動態IP地址分配方案中可以看到當IPT域名中有多個ECN子網時存在一定范圍的地址重疊,ECN子網具有相同地址空間范圍的重要原因是可以避免同一車隊中所有基本運轉編組集中管理,而每個編組具有相同配置便于管理。
地址空間重疊意味著任何兩個ECN子網之間不可能有直接通信,否則對發送側而言對單主IP目標地址是模糊不確定的,對接收者而言IP源地址也是模糊的。為此定義了兩個不同的地址層次空間,每個擴展為一個虛擬地址空間:編組層地址空間與列車層地址空間,編組層地址空間用于編組內通信,列車層地址空間用于編組間通信。
編組層地址空間定義類似于ECN子網的地址范圍,為10.0.0.1~10.0.15.254。
編組層內的終端設備與網絡部件的地址分配須在編組層地址空間范圍內定義,如表5所示。

表5 編組層地址
列車層地址空間的通信關系建立在跨越一個編組邊界時適用,范圍為10.0.16.1~10.255.239.254。
編組間通信的終端設備與網絡部件的IP地址應采用如表6的二進制形式。

表6 二進制地址
表格中[h]為主機標志,除了全為‘1’與全為‘0’以外的任何數字;[u]:編組標志,在列車初始化時動態分配(1~62);[x]:為拓撲計數器,在1到63之間的任何值,當不用時置為0。
編組層與列車層之間地址轉換(NAT)在列車主干網路由器(ETBN)中完成轉換。
IP源地址從編組層翻譯到列車層時應附加:(1)采用列車層地址空間;(2)應附加發送側的編組標志(unit-id);(3)拓撲計數器。
反之將列車層地址翻譯到編組層地址時應移除:(1)采用編組層地址空間;(2)發送側的編組標志應移除;(3)拓撲計數器。
所有連接到以太網的設備網絡接口卡都配置有唯一的物理MAC源地址(MAC SA),每個MAC地址為48位長度,典型表示成“XX:XX:XX:XX:XX:XX”,詳細的地址字段格式在IEEE 802.3小冊子定義,對列車以太網絡而言僅采用全局管理的MAC地址,每個MAC地址是唯一的,由設備廠商配置。
基于IP系統中數據包的交換與路由是根據IP源與目的地址來完成的,但另一方面終端應用是根據前面定義的IPT-URI符號地址來交換的,兩者之間的映射過程就是地址解析。使用邏輯功能地址應用的每個終端必須有相應的地址解析器,通過需要一些額外的信息來完成地址解析任務,這些信息可以位于本地也可位于遠程服務器,在IP應用中通常有域名服務器(DNS)完成。
對于諸如IP-TCN動態系統,需要考慮額外信息,如通信開始之前系統的當前配置情況。如某個應用在向另外一個車的應用發送消息數據時必須知道此應用當前的車輛號,或應用須在計算邏輯功能地址之前首先確定哪些車支持此應用功能;為此通信固件應確實包含生成功能地址與解析功能地址。
UIC 556小冊子應用于UIC列車總線的列車目錄生成機制可借用于此來支持生成功能地址。在UIC應用中,當列車重新完成初始化后,跟列車相關的信息如UIC車號、方向、車輛屬性、功能和其他更多的信息將保存于節點地址與屬性數據庫(NADI)中,此NADI由WTB網關非集中生成,并分發到所有需要此信息的終端設備中用于本地地址解析。IP列車同樣采用了此概念用于地址解析,為了與WTB和UIC-NADI數據庫區別,存儲地址解析的數據庫稱為“以太網列車目錄”數據庫,簡稱為IPTDir,與UIC一樣在列車每次編組(“列車初始化”)以后由列車以太網交換機(ETBN)重新計算,采用UIC中的算法計算。首先靜態的基本運轉編組(Consist)被完全預配置,編組及其組成的車輛信息完全收集于編組目錄(Cst Dir)并保存在列車交換機(ETBN)中。在列車初始化過程中,列車交換機將組播此信息到所有其他列車交換機,這樣所有列車交換機包含了列車所有的編組信息,基于此列車交換機運行UIC初始化算法生成列車以太網目錄(IPTDir),每個IPTDir也包含一個拓撲計數器(topoCount)標志IPTDir版本。
在每次新的列車初始化后,IPTDir在編組級內組播至所有感興趣的終端設備(ED),每個終端地址解析器本地保存了IPTDir的拷貝,用于解析IPT-URI并生成相關IP地址。
從開放系統互聯的不同層面介紹了以太網列車通信網絡的尋址方式,并對車載以太網按列車級、基本運轉編組與車輛分隔成不同的專網,列車級主干以太網ETB在列車初始化時動態分配,而基本運轉編組內以太網(ECN)為預配IP的靜態分配方法,滿足了軌道車輛以太網應用的特定需求。
[1]國際鐵路聯盟,UIC-Code 556列車信息傳輸(列車總線)[S].2004.
[2]The internet society RFC-3986 統一資源標識符(URI):通用語法 [S].2005.
[3]The inter net society RFC-1519無類別域間路由(CIDR):地址分配與聚合機制[S].2005.