展 鑫,孫 穎
(1.北京全路通信信號研究設(shè)計院集團(tuán)有限公司,北京 100070;2.北京中關(guān)村軌道交通產(chǎn)業(yè)發(fā)展有限公司,北京 100070)
根據(jù)EN 50159標(biāo)準(zhǔn)對安全相關(guān)系統(tǒng)參考模型的描述,列控系統(tǒng)車-地?zé)o線通信系統(tǒng)是一種基于開放式網(wǎng)絡(luò)的安全通信系統(tǒng)。目前車-地?zé)o線通信協(xié)議主要采用基于鐵路數(shù)字移動通信系統(tǒng)(Global System for Mobile Communications-Railway,GSM-R)網(wǎng)絡(luò)的電路交換方式,歐標(biāo)Subset-037協(xié)議V3.2.0版本發(fā)布后,增加了GSM-R分組無線服務(wù)(General Packet Radio Service,GPRS)。在下一代鐵路列控系統(tǒng)中,車-地通信數(shù)據(jù)較之前更為豐富多樣,數(shù)據(jù)傳輸?shù)陌踩院涂煽啃砸蟾?,延時要求更低,5G-R(5G for Railways)將替代現(xiàn)有的GSM-R作為車-地通信系統(tǒng)。為驗證車-地?zé)o線通信接口間傳輸信息的正確性和一致性,確保無線通信的安全可靠,本文針對車-地?zé)o線通信系統(tǒng)協(xié)議內(nèi)容和測試方法展開研究,提出一種車-地?zé)o線通信協(xié)議測試方法,并采用該方法對車-地?zé)o線通信系統(tǒng)協(xié)議進(jìn)行測試。
高速鐵路通信系統(tǒng)根據(jù)高速鐵路運輸和信息化的需求設(shè)置,在物理層、鏈路層、網(wǎng)絡(luò)層提供綜合業(yè)務(wù)的接入、交換和傳輸服務(wù)。高速鐵路的通信系統(tǒng)是鐵路通信網(wǎng)的一部分,與既有鐵路通信網(wǎng)互聯(lián)互通。
GSM-R是在GSM公眾移動通信系統(tǒng)平臺上增加鐵路運輸專用調(diào)度通信功能,專門為鐵路通信設(shè)計的綜合專用數(shù)字移動通信系統(tǒng)。
目前高速鐵路車-地通信系統(tǒng)就是基于GSM-R的列車運行控制系統(tǒng),通過GSM-R無線通信實現(xiàn)車-地之間的連續(xù)、雙向信息傳輸,實現(xiàn)基于無線通信的列車運行控制。
歐標(biāo)Subset-037協(xié)議約束車-地?zé)o線通信系統(tǒng),將車-地?zé)o線通信系統(tǒng)劃分為安全相關(guān)的安全功能模塊(Safe Functional Module,SFM)和非安全相關(guān)的通信功能模塊(Communication Functional Module,CFM)兩部分。車-地?zé)o線安全通信協(xié)議分層結(jié)構(gòu)如圖1所示。
圖1 車-地?zé)o線安全通信協(xié)議分層結(jié)構(gòu)Fig.1 Hierarchical structure of secure track-train radio communication protocol
SFM協(xié)議棧提供安全服務(wù),確保進(jìn)/出安全功能模塊的數(shù)據(jù)流傳輸完整性和數(shù)據(jù)真實性,報告安全層中發(fā)生的錯誤并從下層傳輸錯誤指示。在SFM協(xié)議棧中,安全實體與對等安全服務(wù)實體通過一個或多個安全服務(wù)原語(SaSAP)與其用戶進(jìn)行通信。對等安全實體支持通過安全協(xié)議數(shù)據(jù)單元(SaPDU)進(jìn)行安全連接交換。這些協(xié)議交換使用傳輸層的服務(wù)(TS),通過一個傳輸服務(wù)接入點(TSAP)進(jìn)行連接,即安全實體扮演用戶的角色,SaPDU的交換為邏輯視圖。正常服務(wù)原語傳輸正常數(shù)據(jù),HP原語傳輸HP數(shù)據(jù)。SFM協(xié)議棧主要實現(xiàn)車-地建立安全連接期間的安全數(shù)據(jù)傳輸,保證車-地交互數(shù)據(jù)的完整性和真實性。
CFM協(xié)議棧提供通信服務(wù),目前主要基于GSM-R網(wǎng)絡(luò)的電路交換或基于GSM-R分組無線服務(wù)來承載通信業(yè)務(wù)。
CFM協(xié)議棧的核心功能層包含傳輸層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層及物理適配層。傳輸層承載CFM數(shù)據(jù)傳輸,將應(yīng)用數(shù)據(jù)拆包/組包,通過優(yōu)先級功能、尋址功能、數(shù)據(jù)的分割重組功能,以及基于同一個網(wǎng)絡(luò)連接的多路復(fù)用功能等,實現(xiàn)傳輸連接的建立。網(wǎng)絡(luò)層主要是對來自上層的數(shù)據(jù)進(jìn)行分割,并對來自下層的數(shù)據(jù)進(jìn)行重組。網(wǎng)絡(luò)層支持上層在同一網(wǎng)絡(luò)層上的多路復(fù)用,從而實現(xiàn)D信道和B信道的協(xié)調(diào)以及對傳輸層信息包TPDU的拆包組包處理。數(shù)據(jù)鏈路層遵循HDLC標(biāo)準(zhǔn),可通過分幀發(fā)送實現(xiàn)包括對等雙方數(shù)據(jù)鏈路連接的建立、維護(hù)、釋放,具備數(shù)據(jù)傳輸、鏈路重置、鏈路連接重傳、查詢、CRC校驗等功能。CFM協(xié)議棧的物理適配層根據(jù)底層掛載設(shè)備不同,分為車載和地面兩種物理層控制模塊。在車載側(cè),CFM通過ModemHandler與MT進(jìn)行通信交互。在地面RBC側(cè),CFM通過Capi接口與ISDN網(wǎng)卡進(jìn)行通信交互。
在CFM協(xié)議棧中,如果一個CFM用戶實體(例如車載ATP安全層實體)想要建立一個與其他CFM用戶實體的連接,則應(yīng)提供尋址被呼叫的CFM用戶(例如ETCS_ID類型和ETCS_ID)和應(yīng)用類型的信息,地址信息將被映射為CFM建立連接所要求的格式和結(jié)構(gòu)。主叫TS用戶實體從應(yīng)用層獲得被叫傳輸?shù)刂?ETCS_ID類型和ETCS_ID)。地址信息由安全層傳至CFM。CFM協(xié)議棧地址信息映射如圖2所示。
圖2 CFM協(xié)議棧地址信息映射Fig.2 Mapping of address information of CFM protocol stack
為了實現(xiàn)對車-地?zé)o線通信SFM協(xié)議棧和CFM協(xié)議棧的測試,首先針對協(xié)議棧特征,假設(shè)對包含n個對等層的待測協(xié)議棧A進(jìn)行測試。具體方法是利用待測協(xié)議棧A的拷貝或仿真建立與待測協(xié)議棧A通信的仿真協(xié)議棧B,利用仿真協(xié)議棧B與待測協(xié)議棧A進(jìn)行對等層數(shù)據(jù)交互,測試相同對等層邏輯是否正確,從而實現(xiàn)完整測試。此外,未測試待測協(xié)議棧A各層對應(yīng)用數(shù)據(jù)的處理邏輯,還需要考慮從待測協(xié)議棧A最高對等層的數(shù)據(jù)注入,協(xié)議棧測試原理如圖3所示。
圖3 協(xié)議棧測試原理Fig.3 Testing principles of protocol stack
上述為理想情況,而車-地?zé)o線通信SFM協(xié)議棧和CFM協(xié)議棧是依托于具體設(shè)備運行的,實際測試過程可能需要從設(shè)備提供的接口進(jìn)行數(shù)據(jù)的注入。以車-地?zé)o線通信系統(tǒng)中的車載側(cè)為例,SFM協(xié)議棧依托于車載ATP主控板,CFM協(xié)議棧依托于RCC板,電臺MT通過無線接入GSM-R網(wǎng)絡(luò)與地面設(shè)備通信。主控板、RCC板通過機籠的SBP總線通信,RCC和電臺MT通過IGSM-R定義的接口通信。RCC根據(jù)IGSM-R接口協(xié)議與電臺通信。因此需要引入該接口對應(yīng)的協(xié)議棧C以及協(xié)議棧C的仿真協(xié)議棧D來輔助數(shù)據(jù)注入。作為仿真協(xié)議棧B和D,支持拆解至用戶關(guān)注的對等層來與待測協(xié)議棧進(jìn)行數(shù)據(jù)交互,該過程示意如圖4所示。
圖4 多協(xié)議棧測試原理Fig.4 Testing principle of multiple protocol stacks
根據(jù)以上分析,以測試過程中RCC板的CFM協(xié)議棧為待測協(xié)議棧A,主控板SFM協(xié)議棧為其相關(guān)協(xié)議棧C,則對待測協(xié)議棧A、相關(guān)協(xié)議棧C設(shè)計對應(yīng)的仿真協(xié)議棧B和D,車載RCC板CFM協(xié)議棧測試原理如圖5所示。由于CFM協(xié)議棧有基于GSM-R網(wǎng)絡(luò)的電路域CS和基于GSM-R分組無線服務(wù)的分組域PS兩種工作模式,對應(yīng)的物理層AT指令有所區(qū)別。另外,在PS模式下在傳輸層(TCP/IP)之上引入冗余適配層(ALE)進(jìn)行與安全層功能及接口間的適配,實現(xiàn)安全層使用X.214規(guī)定的標(biāo)準(zhǔn)原語來訪問模擬的ISO傳輸服務(wù),并負(fù)責(zé)TCP連接建立、通道監(jiān)控及安全信息包與TCP流轉(zhuǎn)換等功能。
圖5 車載RCC板CFM協(xié)議棧測試原理Fig.5 Testing principles of CFM protocol stack of onboard RCC board
主控板側(cè)仿真最高對等層為傳輸層(TCP),該層輸入數(shù)據(jù)和反饋數(shù)據(jù)為Subset 037規(guī)定的T原語數(shù)據(jù),主控板側(cè)仿真透傳該數(shù)據(jù)。電臺側(cè)仿真最高對等層為物理層,該層輸入數(shù)據(jù)和反饋數(shù)據(jù)為數(shù)據(jù)鏈路層數(shù)據(jù),電臺側(cè)仿真根據(jù)AT指令控制與RCC建立連接,并進(jìn)行數(shù)據(jù)交互。
為了模擬車載CFM協(xié)議棧主控板向待測RCC注入數(shù)據(jù),接收校驗RCC反饋至主控板的數(shù)據(jù),搭建的測試環(huán)境是將主控板側(cè)仿真作為服務(wù)端,待測設(shè)備作為客戶端。待測設(shè)備啟動后,與測試環(huán)境主控板側(cè)仿真建立連接,主控板側(cè)仿真根據(jù)腳本模擬主控板側(cè)與RCC進(jìn)行數(shù)據(jù)交互。同樣,為了模擬雙電臺向待測RCC注入數(shù)據(jù),接收校驗RCC反饋至電臺的數(shù)據(jù),測試環(huán)境通過兩路RS-422串口與待測設(shè)備RCC接口板連接,可與待測RCC交互AT指令、電路域數(shù)據(jù)、分組域數(shù)據(jù)。車載CFM協(xié)議棧測試環(huán)境及其連接示意如圖6所示。
圖6 車載CFM協(xié)議棧測試環(huán)境連接示意Fig.6 Connections of test environment of CFM protocol stack of onboard equipment
對車-地?zé)o線通信協(xié)議棧功能進(jìn)行驗證的測試屬于黑盒測試,測試過程包括測試用例的設(shè)計、測試腳本的設(shè)計、測試執(zhí)行與結(jié)果驗證等步驟。測試簡要過程如圖7所示。
圖7 測試過程示意Fig.7 Test process
黑盒測試常用等價類劃分法、邊界值分析法、錯誤推測法、因果圖法等基本方法來設(shè)計測試用例。以車載CFM協(xié)議棧為例,測試用例設(shè)計內(nèi)容包含主控板側(cè)仿真最高對等層傳輸層(TCP)和雙電臺側(cè)仿真AT指令數(shù)據(jù)內(nèi)容。
測試腳本通常由“任務(wù)”和“狀態(tài)”組成。任務(wù)是一組有序狀態(tài)的集合,一個腳本可以包含多個任務(wù)。狀態(tài)是控制測試邏輯的基本單元,通過不同狀態(tài)之間的有條件跳轉(zhuǎn)控制與待測設(shè)備的信息交互流程。狀態(tài)由動作和遷移構(gòu)成,其中動作表示當(dāng)前狀態(tài)需要進(jìn)行的操作,遷移表示跳轉(zhuǎn)至目標(biāo)狀態(tài)所需的條件。
測試腳本將細(xì)化測試用例轉(zhuǎn)換為數(shù)據(jù)內(nèi)容,包括數(shù)據(jù)的編號、本數(shù)據(jù)發(fā)送或被接收到的時間、數(shù)據(jù)所在協(xié)議棧層次、協(xié)議數(shù)據(jù)單元的類型、具體數(shù)據(jù)單元的子類型、數(shù)據(jù)傳輸方向和本消息對應(yīng)的電臺名稱等,同時增加校驗標(biāo)記,在該字段取值為check時,即該行數(shù)據(jù)的下一信息幀在收到該行數(shù)據(jù)后才會發(fā)送。另外測試腳本應(yīng)能實現(xiàn)時間調(diào)整,表示當(dāng)前行數(shù)據(jù)發(fā)送后處理下一行數(shù)據(jù)的延時。
主控板側(cè)腳本框架主要關(guān)注案例中協(xié)議數(shù)據(jù)單元類型字段為“Safety”的數(shù)據(jù)行,根據(jù)此數(shù)據(jù)生成腳本的任務(wù)組、任務(wù)、狀態(tài)、動作、遷移元素以及相關(guān)屬性取值。電臺側(cè)腳本框架主要關(guān)注案例中協(xié)議數(shù)據(jù)單元類型字段為“DL”的數(shù)據(jù)行,根據(jù)此數(shù)據(jù)生成腳本的任務(wù)組、任務(wù)、狀態(tài)、動作、遷移元素以及相關(guān)屬性取值。
當(dāng)主控板側(cè)和電臺側(cè)腳本編制完成后,依賴協(xié)議棧仿真執(zhí)行測試腳本,根據(jù)生成的測試日志及記錄判定測試結(jié)果。
以查詢允許網(wǎng)絡(luò)功能為實例:CFM協(xié)議棧在處理允許網(wǎng)絡(luò)查詢結(jié)果時,查詢到2個允許網(wǎng)絡(luò),僅上報本次查詢到的2個允許網(wǎng)絡(luò)。
ATP主控板側(cè)模擬發(fā)送查詢網(wǎng)絡(luò)請求,驗證車載RCC板CFM協(xié)議棧發(fā)送查詢允許網(wǎng)絡(luò)“AT+COPS=?”的指令。主控板側(cè)腳本編制實例如圖8所示。
圖8 主控板側(cè)腳本Fig.8 Script at the main control board side
MT模擬回復(fù)AT指令“+COPS”,驗證車載RCC板上報2個允許網(wǎng)絡(luò)RAILWAY-CMCC-46020;RAILWAY UNICOM-UNICOM2-46001。MT側(cè)腳本編制實例如圖9所示。
圖9 電臺側(cè)腳本Fig.9 Script at the radio side
測試執(zhí)行后,查看測試日志和報告,結(jié)果如圖10所示。CFM協(xié)議棧在處理允許網(wǎng)絡(luò)查詢結(jié)果時查詢到2個允許網(wǎng)絡(luò),僅上報本次查詢到的2個允許網(wǎng)絡(luò)46020和46001,與預(yù)期一致,測試通過。
圖10 測試結(jié)果輸出Fig.10 Output of test results
由此可見,通過上述方案進(jìn)行測試環(huán)境構(gòu)建、測試案例及腳本編制以及測試執(zhí)行,可以實現(xiàn)對SFM協(xié)議棧和CFM協(xié)議棧各層級之間數(shù)據(jù)注入。同時可以實現(xiàn)對電路域或分組域兩種工作模式的測試,最終實現(xiàn)對車-地?zé)o線通信協(xié)議的驗證。
本文闡述了車-地?zé)o線通信系統(tǒng)協(xié)議的內(nèi)容,對車載CFM協(xié)議棧測試原理及簡要的測試過程進(jìn)行論證,已應(yīng)用于歐洲5國的ETCS-400T車載CFM協(xié)議棧的測試實踐中,對后續(xù)車-地?zé)o線通信系統(tǒng)協(xié)議測試具有指導(dǎo)意義。該測試方法和過程也同樣適用于地面RBC側(cè)CFM協(xié)議棧,即針對ISDN服務(wù)器的車-地通信交互。對未來的5G-R車-地通信系統(tǒng),本文未進(jìn)行討論,這部分內(nèi)容將作為日后進(jìn)一步的研究方向,并在實際應(yīng)用中不斷積累和完善。