汪勇
(上海民航華東通信網絡發展有限公司,上海,200335)
民航華東DDN網主要承擔著華東地區以及中南地區各類空中交通管制業務的傳輸,其網絡是一個星型結構形式,設備采用美國Vanguard路由器,中心節點至各個分節點之間的中繼線路以OSI參考模型中的幀中繼協議來實現數據包的有效交換。整個網絡7×24小時不間斷運行,目前是華東地區雷達、轉報等信號的主要承載網絡 。
在網絡具體業務發生故障的時候,往往首先需要知道該業務在網內經過的具體節點,以及每個節點的中繼端口,即具體路由,然后依據經驗分段排查。但這需要人工登錄每臺可能的路由器,并在龐大的虛電路窗口中識別目標,再決定下一個登錄節點,以此類推,費時費力事倍功半。一般熟練的技術人員進行這樣一次路由查詢要10分鐘以上,非熟練人員甚至可能需要半小時。
顯然這對故障定位和排除是不利的,為了克服這一弊端,結合開發的新DDN網管系統,我們讓計算機來代替人進行虛電路識別,完成實時路由查詢的功能。
其主要的密度主要是通過去對目標其存在的不同 IP 生存時間(TTL)值的”Internet控制消息協議(ICMP)”回應數據包進行發送,Tracert診斷程序確定到目標所使用的一種路由。其需要當前路徑上所擁有的每一個路由器在對于數據包進行實際的轉發之前都需要把數據包里面的TTL去進行遞減1。數據包上所包含的TTL在減到0的時候,路由器需要能夠把”ICMP已超時”的消息再反饋到回源的系統中。
Tracert先發送TTL為1的回應的數據包,同時其還需要在之后每次在對其進行發的時候把TTL遞增1,這樣的一種方式直到目標響應或者是TTL能夠實現其自身的最大值,從而使得路由能夠得到確認。通過檢查中間路由器發回的”ICMP已超時”的消息去對路由進行所需與的確認。某些路由器經常是在并不提出詢問就直接去對 TTL中過期的數據包進行丟棄,這在Tracert進行使用的實用程序里是無法看到的。
Tracert 命令按順序打印出返回”ICMP 已超時”消息的路徑里的近端路由器接口的列表。假如運用 -d 選項,那么Tracert 實用程序就并不會在每一個 IP 地址上去對 DNS進行查詢。
華東DDN網的Vanguard路由器大多采用類Framerelay作為主要的中繼傳輸協議,在每條物理中繼線路上至少配置一個FRI STATION, 每條用戶(雷達、轉報、甚高頻等)業務以虛電路的形式在容納在FRI STATION內部;在同一個中繼線路(STATION)上,歸屬不同節點的同一數據流的DLCI號保持一致;在一個節點進行虛電路交換時,由實時虛電路交換表為依據在不同中繼端口(STATION)上進行交換。依據這兩個原則,并結合含有網絡拓撲信息的文件,計算機軟件原則上可以遞歸式地訪問路由器,層層推進式地求解出業務的完全路由。

圖1 網絡拓撲信息文件材料圖
要實現以上目標,還需要一個必要的條件,就是軟件必須以某種方式知道網絡所有節點的中繼端口配對的信息,只有這樣軟件才能從當前路由器的訪問推進到下一臺路由器。我們設計了一個EXEL文件作為存儲網絡拓撲連接信息的存儲媒介,如上表,以第一行為例,表示10001節點的2603號中繼端口連接到10021節點的01號中繼端口,其余以此類推。通過設計完成該信息文件,自動路由展示完成了最后一塊拼圖。

圖2 業務實時路由跟蹤模塊
如圖2所示,該模塊通過輸入指定業務的輸出端口編號,能自動追蹤該業務在網內當前的實時路由,并實際關聯生產用戶資料,動態輸出信息包括:業務名稱、業務速率、輸出端口屬(DTE/DCE)、業務途經路由器編號、中繼端口號、虛電路DLCI號、所有中繼線路的當前誤碼CRC信息、所有中繼線路的最后一次UP的時間等,如果是涉及到電信聯通的長途出局鏈路,還會自動顯示該線路的運營商保修編號。
本文所述的華東DDN網業務的實時路由模塊主要用于具體業務層面的監控,該模塊具有一定的開創性和智能性;該功能完成一次路由查詢只需要20—30s,且能顯示每一段線路的當前狀態,為快速故障定位提供了便利。同時軟件也與實際生產中的用戶資料關聯,可以讓用戶資料的業務信息為軟件所用。在未來,該模塊還可以引入其他智能計算技術,探索實現更加強大的自動故障定位等功能。