陳 昕,譚力天,李澎東,彭博文
(湖南中車時(shí)代通信信號有限公司,長沙 410199)
基于通信的列車自動(dòng)控制系統(tǒng)(Communication Based Train Control,CBTC)作為廣泛應(yīng)用于城市軌道交通的信號控制系統(tǒng),通過車地雙向通信確保列車能以較高的速度和較小的間隔安全可靠地運(yùn)行。目前廣泛應(yīng)用的CBTC 系統(tǒng)通常包括列車自動(dòng)防護(hù)子系統(tǒng)(Automatic Train Protection,ATP)、列車自動(dòng)運(yùn)行子系統(tǒng)(Automatic Train Operation,ATO)、 列 車 自 動(dòng) 監(jiān) 控 子 系 統(tǒng)(Automatic Train Supervision,ATS)、計(jì)算機(jī)聯(lián)鎖子系統(tǒng)(Computer Interlocking,CI)和區(qū)域控制器(Zone Controller,ZC)5 個(gè)子系統(tǒng)。
城市軌道交通互聯(lián)互通CBTC 系統(tǒng)互聯(lián)互通是指裝備不同信號廠家車載設(shè)備的列車可以在裝備不同信號廠家軌旁設(shè)備的一條或多條軌道交通線路上無縫互通安全可靠運(yùn)營。以實(shí)現(xiàn)軌道交通網(wǎng)絡(luò)化運(yùn)營,實(shí)現(xiàn)軌道交通線網(wǎng)建設(shè)和運(yùn)營的資源共享。
互聯(lián)互通通信協(xié)議是用于同一數(shù)據(jù)格式和校驗(yàn)方法的集合,互聯(lián)互通通信協(xié)議約定了ATS、聯(lián)鎖、ZC、車載設(shè)備間的安全通信協(xié)議和互聯(lián)互通通用協(xié)議。
互聯(lián)互通通信協(xié)議可粗略的分為3 大部分。
車載設(shè)備與地面設(shè)備(ATS、聯(lián)鎖、ZC)之間通信采用RSSP-II 安全通信協(xié)議。安全通信協(xié)議的具體要求參見《RSSP-II 鐵路信號安全通信協(xié)議》(運(yùn)基信號[2010]267 號)文件。車―地通信的傳輸層采用TCP 協(xié)議,MAC 及PHY 層取決于不同的網(wǎng)絡(luò)種類,無線網(wǎng)使用無線標(biāo)準(zhǔn)協(xié)議,地面網(wǎng)使用以太網(wǎng)協(xié)議(IEEE802.3)。
RSSP-II 包括SAI、MASL、ALE3 層,城市軌道交通互聯(lián)互通通信采用RSSP-II 的EC 模式,因此在車―地設(shè)備握手建立連接時(shí),可以在網(wǎng)絡(luò)上偵測到AU1/AU2/AU3 認(rèn)證幀、AR 鑒權(quán)響應(yīng)幀和EC機(jī)制啟動(dòng)幀,在車地通信斷開時(shí),可以在網(wǎng)絡(luò)上偵測到DI 斷開幀。
地面設(shè)備(ATS、聯(lián)鎖、ZC)之間通信采用RSSP-I 安全通信協(xié)議。安全通信協(xié)議的相關(guān)細(xì)節(jié)參見《RSSP-I 鐵路信號安全通信協(xié)議》(運(yùn)基信號[2010]267 號)文件。傳輸層采用UDP 協(xié)議,使用以太網(wǎng)協(xié)議(IEEE 802.3)。
RSSP-I 安全通信協(xié)議是一種對等式協(xié)議,通信雙方?jīng)]有明確約定發(fā)起方和應(yīng)答方。通信雙方通過交互對時(shí)請求幀和對時(shí)應(yīng)答幀進(jìn)行安全鏈接的建立。
1.3.1 通用包
互聯(lián)互通車地連續(xù)通信規(guī)范的通用包頭中約定車地雙方通信的接口信息、類型、發(fā)送方標(biāo)識信息、接收方標(biāo)識信息、數(shù)據(jù)版本校驗(yàn)信息、本方消息序列號、通信周期、對方消息序列號、收到上一條消息時(shí)本方序列號、協(xié)議版本號和應(yīng)用層數(shù)據(jù)長度,用于對車地雙方通信信息做進(jìn)一步的校驗(yàn)。
1.3.2 車載設(shè)備與ATS間通信
車載設(shè)備和ATS 間互聯(lián)互通協(xié)議包括ATS 心跳信息幀、ATO 命令信息幀、ATO 狀態(tài)信息幀、列車信息幀、車載設(shè)備報(bào)警信息幀、車載設(shè)備日檢狀態(tài)信息幀等。
ATS 向車載設(shè)備傳遞車組號、車次號、跳停、扣車、折返等信息。車載設(shè)備周期性向ATS 報(bào)告駕駛模式、運(yùn)行控制級別、列車完整性、列車精確位置、車門狀態(tài)、授權(quán)等信息。
1.3.3 車載設(shè)備與ZC間通信
車載設(shè)備和ZC 間互聯(lián)互通協(xié)議包括列車控制幀、應(yīng)用層注冊/注銷響應(yīng)幀、ZC 主動(dòng)注銷請求、特殊控制報(bào)文、列車位置信息、應(yīng)用層注冊/注銷請求幀等。
車載設(shè)備與ZC 注冊成功后,周期性向ZC 發(fā)送位置信息幀,報(bào)告駕駛模式、運(yùn)行控制級別、列車完整性、列車位置、運(yùn)行速度等信息;ZC 周期性的向車載設(shè)備發(fā)送包括移動(dòng)授權(quán)位置、障礙物信息、臨時(shí)限速等信息的列車控制幀。
1.3.4 車載設(shè)備與聯(lián)鎖間通信
車載設(shè)備和聯(lián)鎖間互聯(lián)互通協(xié)議包括控制信息、狀態(tài)信息、心跳幀、城市自定義幀、廠商自定義幀、注銷請求幀和注銷回復(fù)幀等。
列車進(jìn)站前,車載設(shè)備向聯(lián)鎖注冊成功后,周期性向聯(lián)鎖發(fā)送控制信息,用于控制屏蔽門聯(lián)動(dòng),聯(lián)鎖則周期性向車載回復(fù)狀態(tài)信息,列車離站時(shí),車載設(shè)備向聯(lián)鎖發(fā)送注銷請求幀。
在不同廠家的信號設(shè)備進(jìn)行互聯(lián)互通調(diào)試的過程中,由于車―地安全通信協(xié)議、地―地安全通信協(xié)議、互聯(lián)互通應(yīng)用協(xié)議都具有其獨(dú)有的、較為嚴(yán)密的校驗(yàn)規(guī)則并且各個(gè)廠家對于線路數(shù)據(jù)、通信內(nèi)容理解上的細(xì)微偏差,且各廠家對同一功能的不同實(shí)現(xiàn)方式,導(dǎo)致互聯(lián)互通調(diào)試初期會(huì)出現(xiàn)各種不同的問題。
對于這些問題,最直接的處理方式就是通過抓取網(wǎng)絡(luò)傳輸數(shù)據(jù)包,直接對原始數(shù)據(jù)進(jìn)行分析。
軌道交通行業(yè)廣泛使用Wireshark 軟件作為網(wǎng)絡(luò)傳輸數(shù)據(jù)的抓取和分析軟件。
Wireshark 是一個(gè)網(wǎng)絡(luò)封包分析軟件。Wireshark 直接從網(wǎng)卡端口抓取網(wǎng)絡(luò)封包,并盡可能顯示出最為詳細(xì)的網(wǎng)絡(luò)封包資料。Wireshark 本身擁有強(qiáng)大的過濾器引擎,支持抓取UDP、TCP、IP、FTP、ICMP、HTTP 等協(xié)議數(shù)據(jù)包。
用戶可以使用過濾器篩選出有用的數(shù)據(jù)包,排除無關(guān)信息的干擾,如單獨(dú)查看某個(gè)端口的UDP數(shù)據(jù)包或者TCP 數(shù)據(jù)包等。
但對于在UDP、TCP 上進(jìn)行了一次或多次協(xié)議封裝的互聯(lián)互通通信數(shù)據(jù),想直接通過Wireshark 進(jìn)行過濾、分析就比較困難,分析人員需要對互聯(lián)互通設(shè)備的IP 地址和端口、傳輸數(shù)據(jù)包的關(guān)鍵字節(jié)、數(shù)據(jù)包交互邏輯等有較深入的了解,且分析傳輸內(nèi)容時(shí)需要其他解析工具軟件的配合。
Lua 是一種輕量小巧的腳本語言,使用標(biāo)準(zhǔn)C語言編寫并以源代碼形式開放,其設(shè)計(jì)目的是為了嵌入應(yīng)用程序中,從而為應(yīng)用程序提供靈活的擴(kuò)展和定制功能。
Wireshark 軟件支持Lua 腳本語言開發(fā)解析插件,用于自有協(xié)議解析。
互聯(lián)互通數(shù)據(jù)解析插件由rssp1.lua、rssp2.lua、hlht.lua3 個(gè)文件組成。分別完成車-地安全通信協(xié)議、地―地安全通信協(xié)議、互聯(lián)互通應(yīng)用協(xié)議的解析。
每個(gè)lua 文件作為一個(gè)解析器插件,每個(gè)解析器插件都需要包含以下內(nèi)容。
2.3.1 調(diào)用的前置條件
對接收的數(shù)據(jù)做一個(gè)比較寬泛的限定,例如對車地通信數(shù)據(jù)解析時(shí),則設(shè)置當(dāng)”“tcp.port”中包含配置的地面設(shè)備端口時(shí),則進(jìn)入該解析器進(jìn)行處理,rssp2.lua 的解析器前置條件腳本如圖1 所示。
圖1 解析器前置條件Fig.1 Precondition of resolver
2.3.2 解析器主函數(shù)
用于解析符合前置解析條件的數(shù)據(jù),解析器主函數(shù)的接口包含了報(bào)文緩存、上一級協(xié)議信息和待描述的報(bào)文解析樹。
報(bào)文緩存,即實(shí)際的報(bào)文數(shù)據(jù),是一串十六進(jìn)制的數(shù)據(jù);上一級協(xié)議信息包括報(bào)文長度、報(bào)文捕獲時(shí)間、報(bào)文編號、報(bào)文的源地址、目的地址、報(bào)文列表列等信息;報(bào)文解析樹則是通過樹狀形式顯示解析數(shù)據(jù)項(xiàng),如圖2 所示。
圖2 中將符合RSSP-I 規(guī)則的某條數(shù)據(jù)包中的源設(shè)備、目標(biāo)設(shè)備、源網(wǎng)絡(luò)地址、目標(biāo)網(wǎng)絡(luò)地址、協(xié)議幀類型、協(xié)議攜帶的應(yīng)用數(shù)據(jù)長度、聯(lián)鎖設(shè)備類型等信息通過樹狀圖顯示了出來。
圖2 Wireshark中樹狀信息顯示Fig.2 Display for tree information in Wireshark
2.3.3 報(bào)文UI信息
此外,還通過Lua 的文件讀取接口載入了通信配置文件、通信協(xié)議解析格式文件,不同的線路或不同應(yīng)用場景可以將配置文件更換后使用。
通信配置文件中包含ATS、區(qū)域控制器、聯(lián)鎖、車載設(shè)備、屏蔽門控制器等設(shè)別的IP 地址和端口配置,以及各個(gè)設(shè)備的互聯(lián)互通ID 和RSSP-II 的ETCS-ID 的映射表,可以通過Wireshark 的UI 部分更直觀顯示設(shè)備名稱和紅藍(lán)網(wǎng)標(biāo)識。如圖3 所示。
圖3 Wireshark中車載信息顯示Fig.3 Display for onboard information in Wireshark
圖3 中[AU1] 為RSSP-II 安 全 通 信 協(xié) 議 的首次認(rèn)證幀,T1 表示為1 號車,互聯(lián)互通ID 為Oxe2000001,Net-1 表示接收的為紅網(wǎng)數(shù)據(jù)。
基于Wireshark 腳本語言插件的城市軌道交通互聯(lián)互通通信分析插件作為一個(gè)通用輔助工具,已用于城市軌道交通互聯(lián)互通實(shí)驗(yàn)室調(diào)試和互聯(lián)線路調(diào)試中,現(xiàn)場反映使用方便直觀,為城市軌道交通互聯(lián)互通系統(tǒng)互聯(lián)互通調(diào)試中狀態(tài)偵測、故障排查提供了較為直觀、便捷的方法。
相比原有抓包再通過解析軟件進(jìn)行解包分析的方式,基于Wireshark 下腳本語言插件的解析方式具有以下優(yōu)點(diǎn)。
1) 在Wireshark 實(shí)時(shí)抓包時(shí),通過腳本語言插件的解析方式可以實(shí)時(shí)看到數(shù)據(jù)的粗略情況,如源設(shè)備、目標(biāo)設(shè)備、協(xié)議幀類型等。
2) 原有的分析方式,需要逐條拷貝數(shù)據(jù)到解析軟件中逐條解析,對于需要持續(xù)關(guān)注的連續(xù)數(shù)據(jù)包,手工作業(yè)量較大。
3) 傳統(tǒng)的報(bào)文解析工具由于使用了某些特定的鏈接庫文件,在不同的計(jì)算機(jī)上經(jīng)常會(huì)有無法啟動(dòng)的情況,而基于Wireshark 下腳本語言插件的解析方式由于Wireshark 本身對于不同操作系統(tǒng)支持較好,所以避免了很多因軟件部署環(huán)境導(dǎo)致的問題。
本文通過利用Wireshark 網(wǎng)絡(luò)封包分析軟件易于二次開發(fā)的特性,在其基礎(chǔ)上采用Lua 腳本語言進(jìn)行二次開發(fā),將特定的自有通信協(xié)議如:互聯(lián)互通車―地安全通信協(xié)議、地―地安全通信協(xié)議、互聯(lián)互通應(yīng)用協(xié)議等分別進(jìn)行解析,從而能夠通過Wireshark 軟件直觀地顯示城市軌道交通互聯(lián)互通傳輸數(shù)據(jù)的內(nèi)容。
在長沙市軌道交通4、5 號線信號系統(tǒng)互聯(lián)互通調(diào)試中,本文構(gòu)建的協(xié)議數(shù)據(jù)分析插件為調(diào)試、故障排查、測試帶來極大的便利,大大提高了調(diào)試效率。隨著城市軌道交通行業(yè)發(fā)展,本文構(gòu)建的協(xié)議數(shù)據(jù)分析插件及其實(shí)現(xiàn)方式在不同廠家信號設(shè)備間互聯(lián)調(diào)試方面具有廣闊的應(yīng)用前景。