丁 奕,李坤妃,馬 龍,李辰嶺,徐 瑾
(1北京交通大學 電子信息工程學院,北京 100044;2.北京工業(yè)大學,北京 100022)
地鐵骨干網(wǎng)用于傳輸車站與車站之間、車站與車之間的大量數(shù)據(jù)信息,因此,實時掌握骨干網(wǎng)的狀態(tài)非常重要。目前,北京地鐵昌平線(以下簡稱昌平線)正處于試運行,尚沒有合適的網(wǎng)絡管理軟件來管理昌平線的骨干網(wǎng)。本文設(shè)計了一種基于C#平臺,采用SNMP協(xié)議,適合北京地鐵昌平線的網(wǎng)絡管理軟件,測試結(jié)果表明,可滿足對昌平線骨干網(wǎng)絡狀態(tài)監(jiān)控和管理的需求。
骨干網(wǎng)有3種實現(xiàn)方式:RPR、SDH和基于交換的ATM。這3種方式都是現(xiàn)今使用較多的骨干網(wǎng)傳輸方式,分別適用于不同的網(wǎng)絡環(huán)境。
彈性分組環(huán)(RPR)是一種數(shù)據(jù)優(yōu)化網(wǎng)絡,環(huán)網(wǎng)上的節(jié)點共享帶寬,不需要進行電路指配。利用公平控制算法使環(huán)網(wǎng)上的各個節(jié)點能夠自動地完成帶寬協(xié)調(diào)。每個節(jié)點都有一個環(huán)形網(wǎng)絡拓撲圖,都能將數(shù)據(jù)發(fā)送到光纖子環(huán)上,并送往目的節(jié)點。RPR包括2個反方向環(huán)繞的單項環(huán),環(huán)上鏈路具有相同的數(shù)據(jù)速率,能夠支持單播和組播。
SDH具有路由自動選擇能力,維護、控制、管理功能強,便于傳輸更高速率的業(yè)務等優(yōu)點,能很好地適應通信網(wǎng)飛速發(fā)展的需要。SDH有多種網(wǎng)絡拓撲結(jié)構(gòu),所組成的網(wǎng)絡非常靈活,能增強網(wǎng)絡監(jiān)控,優(yōu)化網(wǎng)絡性能,使網(wǎng)絡運行靈活、安全、可靠。SDH是嚴格同步的,從而保證了整個網(wǎng)絡穩(wěn)定可靠,誤碼少,且便于復用和調(diào)整。
ATM是一種傳輸模式。在這一模式中,信息被組織成信元,因為包含來自某用戶信息的各個信元不需要周期性出現(xiàn),所以這種傳輸模式是異步的。ATM信元是固定長度的分組、語音、數(shù)據(jù)、圖像等。所有的數(shù)字信息都要經(jīng)過切割,然后封裝成統(tǒng)一格式的信元在網(wǎng)中傳遞,并在接收端恢復成所需格式。由于ATM技術(shù)簡化了交換過程,去除了不必要的數(shù)據(jù)校驗,采用了易于處理的固定信元格式,所以ATM交換速率遠高于傳統(tǒng)的數(shù)據(jù)網(wǎng)交換速率。
不同的傳輸方式有著自己不同的優(yōu)缺點,見表1,可根據(jù)他們不同的特點,作用于不同的網(wǎng)絡。
表1 骨干網(wǎng)傳輸方式對比
RPR是基于SDH發(fā)展的骨干網(wǎng)傳輸方式,其高帶寬利用率和快速保護機制很適合昌平線大量數(shù)據(jù)信息的傳輸。因此,昌平線采用了RPR的骨干網(wǎng)傳輸方式。
北京地鐵昌平線是連接城市中心區(qū)與昌平新城的一條南北向軌道交通快速客運線路,北起十三陵景區(qū),南至城鐵13號線西二旗站,全長31.24 km。計劃2012年12月底全線通車。
地鐵昌平線的骨干網(wǎng)絡采用的是RPR傳輸方式。其單個站的主干網(wǎng)結(jié)構(gòu)如圖1。
圖1 昌平線單個站網(wǎng)絡結(jié)構(gòu)
骨干網(wǎng)分為紅網(wǎng)和藍網(wǎng),其中藍網(wǎng)是紅網(wǎng)的冗余,確保網(wǎng)絡可以正常的工作,骨干網(wǎng)絡的主要功能是完成站與站之間的信息傳輸。骨干網(wǎng)交換機通過車站交換機獲取本站計算機聯(lián)鎖(CI)、區(qū)域控制器(ZC)、無線接入點(AP)的信息,車站接入交換機也采取備份,分別接入紅網(wǎng)和藍網(wǎng)。ZC和CI通過接入交換機,進行與AP之間信息的傳輸。北京地鐵昌平線骨干網(wǎng)絡的連接如圖2。
圖2 昌平線骨干網(wǎng)絡結(jié)構(gòu)
RPR設(shè)備主要提供北京地鐵昌平線全線骨干網(wǎng)的監(jiān)控以及對AP等設(shè)備的管理。還可以通過車站接入交換機對CI、ZC等設(shè)備進行管理和監(jiān)視。
網(wǎng)管軟件基于C#平臺,采用SNMP協(xié)議和輪詢實現(xiàn),數(shù)據(jù)傳輸使用UDP協(xié)議,采用socket實現(xiàn)數(shù)據(jù)的傳輸。
2.2.1 S NMP協(xié)議
SNMP是簡單網(wǎng)管協(xié)議,它的目標是管理互聯(lián)網(wǎng)上眾多廠家生產(chǎn)的軟硬件平臺。
SNMP的網(wǎng)絡管理模型包括以下關(guān)鍵元素:管理站、代理站、管理信息庫、網(wǎng)絡管理協(xié)議。管理站是網(wǎng)絡管理員與網(wǎng)管系統(tǒng)的接口。代理站對來自管理站的信息請求和動作請求進行應答并隨機為管理站報告一些重要的意外事件。管理信息庫是對象的集合,又被稱為MIB。MIB作為設(shè)在代理者處的管理站訪問點的集合,管理站通過讀取MIB中的對象值進行網(wǎng)絡監(jiān)控。管理站與代理者之間通過網(wǎng)絡管理協(xié)議通信。
SNMP的基本功能是:取得、設(shè)置和接收代理發(fā)送的意外信息。取得是指基站發(fā)送請求,代理據(jù)此回送相應數(shù)據(jù);設(shè)置是基站設(shè)置管理對象的值;最后一項功能是指代理可以在基站未請求的狀態(tài)下,向基站報告發(fā)生的意外情況。
2.2.2 網(wǎng) 管軟件組包、收包的實現(xiàn)
SNMP的組包是通過先定義一個數(shù)組,然后再向數(shù)組中寫數(shù)據(jù),最后再通過用戶數(shù)據(jù)報協(xié)議(UDP)方式將數(shù)據(jù)包發(fā)送給RPR設(shè)備。數(shù)組建立的步驟如圖3。
圖3 SNMP組包步驟
2.2.2.1 建立一個發(fā)送數(shù)組和一個接收數(shù)組
發(fā)送數(shù)組用于發(fā)送SNMP數(shù)據(jù)包,接收數(shù)組用于判斷發(fā)送數(shù)據(jù)是否發(fā)送成功,如果發(fā)送失敗,則將數(shù)組的首位設(shè)置為0xff。在以后的功能中,如果查詢到接收數(shù)組的首位為0xff,視為通信失敗,會彈出對話框提示用戶。
2.2.2.2 設(shè)置指針變量
設(shè)置一個指針變量,用于指定數(shù)據(jù)在數(shù)組中的位置,以便于數(shù)據(jù)的填寫。
2.2.2.3 設(shè)置SNMP版本
(1)設(shè)置版本的說明類型,因為版本號是整數(shù),所以說明類型設(shè)置為整型。版本號為1位數(shù)字,因此說明長度為1,設(shè)置的版本號為0,即SNMPV1。
(2)設(shè)置團體名,由于發(fā)送數(shù)組是字符串型,因此需要將團體名轉(zhuǎn)化為字符串格式,通過Encoding指令將其轉(zhuǎn)化成ASCII碼,以便傳輸。
(3)設(shè)置協(xié)議數(shù)據(jù)單元(PDU),根據(jù)不同的功能,將規(guī)定的數(shù)字寫入對應的字段,組成數(shù)組,然后填寫請求ID,請求ID是機器檢測PDU指令到達先后的標志。
(4)設(shè)置錯誤類型以及錯誤索引,get-nextrequest以及get-request指令不需要變量,因此變量設(shè)置只需要留出這部分數(shù)組的位置。對于setrequest指令,設(shè)置的值通過變量向設(shè)備發(fā)送,所以需要對這部分進行特別的設(shè)置,要將變量類型設(shè)置為要填寫信息的類型,并且將填寫信息的長度加在變量長度中。這樣,設(shè)備就可以根據(jù)變量定義的信息,對設(shè)備信息進行修改。
(5)設(shè)置MIB字段,填寫對象標識符(OID)字段。對于get-next以及get指令,設(shè)置完MIB字段,SNMP組包就完成了。對于set指令,還需要將改變值寫入SNMP數(shù)組中,先寫入類型以及長度,再將寫入的內(nèi)容加在后面,字符串型數(shù)據(jù)還需要進行數(shù)據(jù)類型的轉(zhuǎn)化,將字符串轉(zhuǎn)化成ASCII碼。
SNMP的收包原理與組包原理基本相同,接收到的是get-response信息,它是get-next-request、get-request以及set-request信息的回應信息,通過讀取這些信息,可以查詢設(shè)備返回的信息。
2.3.1 R PR環(huán)網(wǎng)管理和檢測
實時監(jiān)控主要是對RPR環(huán)網(wǎng)的性能進行實時的監(jiān)測,從而全面掌握網(wǎng)絡的動態(tài),了解骨干網(wǎng)絡中各站以及各個接入交換機的工作狀態(tài)。這樣便于管理環(huán)網(wǎng)上的各個信息,對環(huán)網(wǎng)的故障也能第一時間發(fā)現(xiàn)并且修復。昌平線骨干網(wǎng)的實時監(jiān)控主要通過網(wǎng)管軟件實現(xiàn)。
實時監(jiān)控主要包括環(huán)網(wǎng)中光纖連接的監(jiān)控、網(wǎng)管軟件與骨干網(wǎng)、接入交換機之間的通信監(jiān)控以及骨干網(wǎng)與接入交換機之間通信的監(jiān)控。
RPR環(huán)網(wǎng)狀態(tài)查詢主要查詢環(huán)網(wǎng)中光纖連接狀態(tài)。通過查詢RPRPOS端口的開啟與否,監(jiān)測環(huán)網(wǎng)光纖的狀態(tài)。如果RPRPOS端口處于關(guān)閉狀態(tài),說明光纖接口未插好,或者是光纖已斷。RPR設(shè)備的返回值是整型的變量,返回值為1,說明端口打開,如果返回值為2,說明端口關(guān)閉。端口的關(guān)閉有2種可能:(1)光纖接口松動。(2)光纖斷了。通過人性化的網(wǎng)管軟件界面顯示這部分的故障,用以提醒用戶可能存在的故障。當出現(xiàn)故障時,設(shè)備之間的連接線會由黑色變成紅色,從而起到警示用戶的作用,見圖4。
圖4 環(huán)網(wǎng)故障
2.3.2 網(wǎng)絡連接狀態(tài)
RPR與接入交換機之間連接的狀態(tài)是通過查詢接入交換機與RPR設(shè)備的連接端口狀態(tài)來檢測,如果端口處于關(guān)閉狀態(tài),則說明這部分的網(wǎng)線存在問題。在網(wǎng)絡不通的情況下,RPR設(shè)備和接入交換機都會顯示紅叉以提醒用戶網(wǎng)絡通信故障。由于在發(fā)包1 s后未收到回包才會被判定通信失敗,因此這部分的時間會較長,同樣故障恢復的時間也會較長,見圖5。
圖5 通信故障
狀態(tài)查詢是實時的,因此需要不斷地觸發(fā)此狀態(tài),實現(xiàn)的方法就是使用時鐘,當時鐘指針走動的時候,觸發(fā)輪詢程序,實現(xiàn)對環(huán)網(wǎng)狀態(tài)的實時監(jiān)控。同時通過時鐘的判斷也可以看出程序是否在執(zhí)行,有沒有死機的現(xiàn)象。
網(wǎng)管軟件除了可以檢測環(huán)網(wǎng)的狀態(tài),還可以對連接在骨干網(wǎng)的設(shè)備進行設(shè)置,包括AP、交換機等??梢栽O(shè)定AP的輸出功率,查詢AP的連接狀態(tài)以及采用的信道等,這些同樣是通過SNMP協(xié)議組包,使用UDP進行查詢和對數(shù)據(jù)的更改。對于交換機的操作主要是查詢交換機端口流量,包括發(fā)送和接收流量,這樣可以方便地知道各個交換機的上下行數(shù)據(jù)量,避免網(wǎng)絡數(shù)據(jù)擁堵。
音頻、視頻業(yè)務承載的全IP化是今后城市軌道交通的發(fā)展方向,由于RPR對帶寬的高效利用以及雙環(huán)互為冗余的結(jié)構(gòu),使得它將在城市軌道交通骨干網(wǎng)建設(shè)中扮演重要的角色。通過本網(wǎng)管軟件,可以管理昌平線的骨干網(wǎng)絡,減少骨干網(wǎng)的擁堵,查詢和更改連接在骨干網(wǎng)上的設(shè)備,減少了人員的工作量,從而提高工作效率和可靠性。
[1]陶智勇. 彈性分組環(huán) [M]. 北京:北京郵電大學出版社,2003.
[2]內(nèi)格爾. C#入門經(jīng)典[M]. 北京:北京清華大學出版社,2010.
[3]伍杰明. 彈性分組環(huán)統(tǒng)計復用技術(shù)[J]. 數(shù)字通信世界,2009(6).
[4]李 燕. RPR與SDH保護機制的對比分析[J]. 大眾科技,2005(7).
[5]夏 明,黃勤珍. IEEE802.17彈性分組環(huán)公平算法研究[J].通信技術(shù),2009(1).
[6]王兆佩,張 勇. RPR over SDH技術(shù)在組建廣域網(wǎng)中的應用[J]. 電力系統(tǒng)通信,2007(3).
[7]陳光華. 彈性分組環(huán)技術(shù)與應用研究[J]. 科技資訊,2007(5):37-38.
[8]梅曉冬,顏燁青. Visual C#網(wǎng)絡編程技術(shù)與實踐 [M]. 北京:清華大學出版社,2008.
[9]晏 力. 彈性分組環(huán)技術(shù)(RPR)[J]. 重慶工商大學學報,2003(4).
[10]林啟英. 彈性分組環(huán)(RPR)網(wǎng)及組網(wǎng)應用[J]. 中國科技信息,2009(12):131-132.