摘要:該文介紹了ATM網(wǎng)路由機制及其存在的缺陷,闡述了開發(fā)ATM網(wǎng)路由監(jiān)測系統(tǒng)的原因,并著重介紹了ATM網(wǎng)路由監(jiān)測系統(tǒng)的設計及實現(xiàn)方法。
關鍵詞:ATM網(wǎng);業(yè)務路由;使用率
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2014)28-6732-06
1 概述
ATM網(wǎng)是民航空管業(yè)務的主要承載網(wǎng)絡,為保障空管運行起到了重要作用。但隨著網(wǎng)絡承載業(yè)務的不斷增加,ATM網(wǎng)出現(xiàn)了傳輸服務質(zhì)量不穩(wěn)定,傳輸性能指標滿足不了用戶業(yè)務需求的情況。而這些問題,在很大程度上是由于ATM網(wǎng)實行的路由機制所引起。
在ATM網(wǎng)絡中,ATM網(wǎng)采用PNNI作為路由協(xié)議,每臺ATM交換機單獨根據(jù)獲得的最新網(wǎng)絡鏈路狀態(tài)信息PTSE,使用Dijkstra SPF算法動態(tài)計算最優(yōu)路徑。根據(jù)業(yè)務不同的度量標準及服務質(zhì)量要求每臺ATM交換機內(nèi)保存有不同的路由表。當ATM交換機接收到業(yè)務連接請求時,它可根據(jù)請求所呼叫的目的地址采用最長匹配方法匹配路由表相應條目,根據(jù)匹配路徑數(shù)量的不同,PNNI會采取不同的選路方法。
1) 靜態(tài)預計算路由(最優(yōu)路由)
當路由表中存在一條以上能夠滿足業(yè)務所有服務質(zhì)量需求的路徑時,PNNI即采用預計算路由方式,為業(yè)務選擇最優(yōu)(最短)傳輸路徑。
2) 動態(tài)按需路由(On-Demand Routing)
當交換機無法從最優(yōu)路徑路由表中找到一條滿足業(yè)務所有服務質(zhì)量需求的路徑時,PNNI可采用first-fit或best-fit策略,根據(jù)網(wǎng)絡鏈路狀態(tài)進行動態(tài)按需路由查找。
first-fit是PNNI將查找到的第一條滿足業(yè)務服務質(zhì)量需求的路徑作為業(yè)務傳輸路徑,該路徑通常為非最優(yōu)路徑;best-fit是PNNI選出滿足業(yè)務服務質(zhì)量需求的最優(yōu)(最短)路徑作為業(yè)務傳輸路徑,該方式將花費更多路徑選擇時間。
為縮短由中繼電路中斷造成的業(yè)務傳輸中斷時間(即業(yè)務傳輸路徑切換時間),目前ATM網(wǎng)PNNI路由采用first fit按需路由方式,即在業(yè)務傳輸最優(yōu)路徑發(fā)生中斷的瞬間,路由計算還未收斂,新的最優(yōu)路由表尚未建立,PNNI于是啟動按需路由計算,并將查找到的第一條滿足業(yè)務服務質(zhì)量需求的路徑作為業(yè)務傳輸路徑。伴隨該種路由方式ATM網(wǎng)存在網(wǎng)絡固有缺陷:此方式從本質(zhì)上而言是以犧牲空間復雜性為代價換取較低的時間復雜性。隨之而來的必然結(jié)果是會在網(wǎng)絡中生成大量非最優(yōu)路由,耗費網(wǎng)絡資源。更為嚴重的是,面對這樣的缺陷,路由選擇算法本身沒有提供在最優(yōu)路由表收斂后,將非最優(yōu)路由切換回最優(yōu)路由的機制。于是直接導致生成的非最優(yōu)路由長期存在于網(wǎng)絡中,占用資源得不到釋放,隨著時間推移這一問題越發(fā)嚴重,直至出現(xiàn)網(wǎng)絡中繼鏈路資源枯竭。
因此解決ATM網(wǎng)業(yè)務非最優(yōu)路由問題成為ATM網(wǎng)迫切需要解決的技術課題。
經(jīng)過嚴密的論證、分析與試驗,有效的業(yè)務非最優(yōu)路由解決方法是:運用設備系統(tǒng)提供的CLI人機對話指令,通過獲取節(jié)點所有業(yè)務的當前路由信息,并將其與當時的最優(yōu)路由進行比較,從而找出非最優(yōu)路由業(yè)務,進行優(yōu)化。然而此方法盡管能夠有效地解決業(yè)務非最優(yōu)路由的問題,但作為需要進行周期性維護的該項工作在實際實施上卻面臨著工作量大,無法通過人工方式實現(xiàn)的問題。因為ATM網(wǎng)絡中單獨一個節(jié)點就承載幾條至幾十條業(yè)務,網(wǎng)絡中有數(shù)百個節(jié)點。顯然要通過人工方式遍歷全部節(jié)點業(yè)務路由,耗時費力,可行性幾乎為零。
為解決上述問題,筆者偕同部門同事共同開發(fā)了ATM網(wǎng)路由監(jiān)控軟件,利用計算機模擬人工智能技術,通過軟件程序?qū)碗s且枯燥的人工操作指令整合起來,實現(xiàn)操作全過程的自動化,從而大大降低人力資源成本同時也可縮短整個查詢對比所需的時間。
2 系統(tǒng)結(jié)構(gòu)簡介
ATM網(wǎng)路由監(jiān)測軟件分為基礎數(shù)據(jù)子系統(tǒng)、信息展示子系統(tǒng)以及維護管理子系統(tǒng),每個子系統(tǒng)由不同的功能模塊組成,詳細信息如下:
2.1 基礎數(shù)據(jù)子系統(tǒng)
1) 通信交互模塊:完成路由監(jiān)測軟件與ATM設備之間的通信交互。
2) 鏈路數(shù)據(jù)處理模塊:將從ATM設備提取出的節(jié)點信息、鏈路信息經(jīng)過處理后存儲到數(shù)據(jù)庫中。
3) 路由數(shù)據(jù)處理模塊:將從ATM設備提取出的路由信息經(jīng)過整合、處理后存儲到數(shù)據(jù)庫中。
2.2 信息展示子系統(tǒng)
1) 中繼信息模塊:將系統(tǒng)從ATM設備獲取的原始數(shù)據(jù)進行分析、處理,整合成中繼帶寬、中繼使用率、中繼承載的業(yè)務等信息提供給用戶。
2) 系統(tǒng)拓撲模塊:將業(yè)務路由、網(wǎng)絡結(jié)構(gòu)等數(shù)據(jù)以圖形化形式顯示。
3) 數(shù)據(jù)更新模塊:提供與ATM設備的交互端口,通過事件觸發(fā),從ATM網(wǎng)絡中獲取所需數(shù)據(jù)。
4) 路由信息模塊:將系統(tǒng)從ATM設備獲取的原始數(shù)據(jù)進行分析、處理,記錄某特定時刻ATM網(wǎng)內(nèi)業(yè)務的走向、最優(yōu)路由等信息。
2.3 維護管理子系統(tǒng)
提供對系統(tǒng)內(nèi)部資料、數(shù)據(jù)的添加、編寫、刪除等功能以及日志記錄等功能。
3 系統(tǒng)設計及實現(xiàn)
3.1 系統(tǒng)各模塊數(shù)據(jù)流程
3.1.1 ATM網(wǎng)路由監(jiān)測軟件系統(tǒng)的頂層數(shù)據(jù)流程
ATM網(wǎng)路由監(jiān)測軟件系統(tǒng)的頂層數(shù)據(jù)流程如圖1所示:
數(shù)據(jù)流程圖說明:
從上圖中可以看出,整個ATM網(wǎng)路由監(jiān)測軟件系統(tǒng)可以分為基礎數(shù)據(jù)處理系統(tǒng)、信息展示系統(tǒng)等子系統(tǒng)。其中基礎數(shù)據(jù)處理系統(tǒng)為底層通信是該系統(tǒng)的核心部分。
3.1.2 ATM網(wǎng)路由監(jiān)測軟件系統(tǒng)的一層數(shù)據(jù)流圖
1) 基礎數(shù)據(jù)處理系統(tǒng)DFD一層子圖(圖2) :
基礎數(shù)據(jù)處理系統(tǒng)包含了通信交互、路由數(shù)據(jù)處理、鏈路數(shù)據(jù)處理三個模塊,通信交互模塊用于接收操作員的指令向MGX設備發(fā)送對應的CLI指令,獲取設備反饋信息,通過路由數(shù)據(jù)處理模塊和鏈路數(shù)據(jù)模塊對設備反饋基礎數(shù)據(jù)進行加工和整合,得到規(guī)范標準的數(shù)據(jù)信息存入數(shù)據(jù)庫。
2) 信息展示系統(tǒng)DFD一層子圖(圖3) :
信息展示系統(tǒng)主要包括中繼信息、數(shù)據(jù)更新信息、路由信息和系統(tǒng)拓撲四個模塊。中繼信息模塊主要是從數(shù)據(jù)庫讀取鏈路資料通過系統(tǒng)拓撲模塊繪制系統(tǒng)拓撲圖;數(shù)據(jù)更新模塊可以從ATM交換機獲取更新數(shù)據(jù);路由信息模塊則提供了獲取路由信息的范圍及查詢歷史路由的信息最終通過系統(tǒng)拓撲模塊直觀的展現(xiàn)給用戶。
3.1.3 ATM網(wǎng)路由監(jiān)測軟件系統(tǒng)的二層數(shù)據(jù)流圖
1) 基礎數(shù)據(jù)處理系統(tǒng)DFD二層子圖(圖4) :
圖4主要包括原始數(shù)據(jù)分析與數(shù)據(jù)整合兩個模塊。原始數(shù)據(jù)分析模塊主要將收到的設備反饋信息通過讀取關鍵詞的方式得到有用的數(shù)據(jù)并存入數(shù)據(jù)庫;數(shù)據(jù)整合模塊主要是將數(shù)據(jù)庫中的數(shù)據(jù)進行比對來得到想要的信息,即對數(shù)據(jù)二次加工。
2) 信息展示系統(tǒng)DFD二層子圖(圖5) :
中繼信息模塊主要包括鏈路參數(shù)獲取、中繼業(yè)務、使用率查詢、中繼合并及中繼展開五個模塊。傳遞用戶操作指令調(diào)用通信交互模塊獲取網(wǎng)絡鏈路信息;中繼業(yè)務模塊通過對業(yè)務資料表及當前路由表的整合,顯示中繼業(yè)務信息。使用率查詢模塊通過調(diào)用鏈路資料表,根據(jù)使用率的不同,在網(wǎng)絡拓撲圖中以不同顏色顯示中繼。中繼線合并和中繼線展開模塊通過對網(wǎng)絡拓撲圖中鏈路的輪詢,比對節(jié)點數(shù)據(jù)和鏈路信息實現(xiàn)中繼的合并與展開。
3) 信息展示系統(tǒng)DFD二層子圖(圖6) :
圖6包括路由選擇模塊、歷史路由模塊、路由展示模塊、拓撲學習模塊、拓撲基礎操作模塊;主要為操作員提供了路由選擇范圍,并將路由信息以圖形方式展現(xiàn)出來。而且提供全網(wǎng)拓撲自動學取功能,保證拓撲結(jié)構(gòu)的實時性。
3.2 關鍵技術與算法
3.2.1 非最優(yōu)路由獲取算法
本算法是整個系統(tǒng)實現(xiàn)其核心路由監(jiān)測功能的基礎。在算法設計上,依據(jù)網(wǎng)管人工操作流程,整合一系列telnet指令集,依靠計算機模擬人工操作。
1) 登陸待查節(jié)點設備;
2) 查詢設備業(yè)務板卡類型及槽位;
3) 操作終端切換至相應業(yè)務板卡;
4) 獲取該業(yè)務板卡上所有業(yè)務連接信息;
5) 操作終端切換回節(jié)點設備主控板卡;
6) 跟蹤該業(yè)務板卡上所有業(yè)務連接傳輸路徑;
7) 重復步驟3~6,直至完成全部板卡業(yè)務連接路徑跟蹤操作;
8) 獲取全部板卡業(yè)務連接傳輸路徑信息;
9) 獲取各業(yè)務服務等級&度量標準組合最優(yōu)路由表(共10張);
10) 根據(jù)業(yè)務源節(jié)點(業(yè)務連接master端節(jié)點)服務等級及度量標準,比對各業(yè)務實際傳輸路徑與最優(yōu)路由表,發(fā)現(xiàn)非最優(yōu)路徑;
11) 退出節(jié)點。
3.2.2 中繼鏈路帶寬使用率算法
1) 獲取中繼節(jié)點參數(shù),源節(jié)點記為Cn、目的節(jié)點記為Gn,端口記為PCn、PGn;
2) 獲取中繼總帶寬參數(shù)(MaxCR)及剩余帶寬參數(shù)(AvCR);
3) 數(shù)據(jù)庫中繼列表為(C1、PC1,G1、PG1) 、(C2、PC2,G2、PG2) ……(Cn、PCn,Gn、PGn);
4) 選中一條中繼記為(Ck、PCk,Gk、PGk)或(Gk、PGk,Ck、PCk)與數(shù)據(jù)庫中繼列表進行匹配,獲取對應的MaxCR和AvCR值;
5) 通過公式:
6) 根據(jù)不同的使用率,運用不同的顏色來分別表示鏈路使用率的高低情況。
3.2.3 中繼鏈路承載業(yè)務查詢算法
1) 確定一條中繼的兩端節(jié)點,節(jié)點名記為x1、x2 ,端口號記為Px1、Px2;
2) 取數(shù)據(jù)庫當前路由信息表中的一條記錄,記節(jié)點為y、跳數(shù)為n、端口號為Py1、Py2 ,業(yè)務路由順序為y1、Py1,y2、Py2,……yk、Pyk,yk+1、Pyk+1,……yn、Pyn,
3) 取k(0≤k≤n-1,n為整數(shù)),將(yk、Pyk,yk+1、Pyk+1,)與(x1、Px1,x2 、Px2) 或(x2、Px2,x1 、Px1) 進行比較,匹配者則為該中繼上承載的業(yè)務,直至k+1=n(跳數(shù));
4) 結(jié)合業(yè)務數(shù)據(jù)表通過DLCI、VPI、VCI等參數(shù)找出相應的業(yè)務名輸出;
5) 重復步驟2) ~4) ,直至整個當前路由信息表的記錄全部被遍歷;
6) 最終顯示所有匹配的數(shù)據(jù)。
3.3 模塊代碼(部分)
Public Sub dorouteconn(db As String, s As String, port As String, dlc As String, pi As String, ci As String)
Dim t As String
Dim t0 As String
Set objcn = New Connection '
objcn.ConnectionString = "DSN=sql;database=" + db + ";UID=sa;PWD=pdnc;" '
objcn.ConnectionTimeout = 30 '
objcn.Open '
Set objrs.ActiveConnection = objcn
objrs.CursorLocation = adUseClient
If dlc <> 0 Then
strsql = "select * from AllCTBuffersroute where NodeName0='" + s + "'and InPortID='" + Trim(port) + "'and DLCI='" + Trim(dlc) + "'"
End If
If dlc = 0 Then
strsql = "select * from AllCTBuffersroute where NodeName0='" + s + "'and InPortID='" + Trim(port) + "'and InVPI='" + Trim(pi) + "'and InVCI='" + Trim(ci) + "'"
End If
objrs.Open strsql
For Each arr In FlowChart1.Arrows
arr.Color = &HFF8080
arr.PenWidth = 2
Next arr
If Not objrs.EOF Then
For Each b In FlowChart1.boxes
b.FillColor = &H8000&
If Trim(b.Text) = Trim(objrs!NodeName0) Then
Set Source = b
End If
Next b
j = Trim(objrs!totaljump)
i = 1
While i <= j + 1
t = Trim("NodeName" + Trim(str(i)))
t0 = Trim("OutgoingPort" + Trim(str(i - 1)))
For Each arr In Source.IncomingArrows
If Trim(arr.OriginBox.Text) = Trim(objrs.Fields(t)) And Trim(str(arr.UserData)) = Trim(objrs.Fields(t0)) Then
Set arrow1 = arr
arrow1.Color = &HFF&
arrow1.PenWidth = 3
arrow1.Visible = True
Set Source = arrow1.OriginBox
justify = True
Else
justify = False
End If
Next arr
If justify = False Then
For Each arr In Source.OutgoingArrows
If Trim(arr.DestinationBox.Text) = Trim(objrs.Fields(t)) And Trim(arr.UserString) = Trim(objrs.Fields(t0)) Then
Set arrow1 = arr
arrow1.Color = &HFF&
arrow1.PenWidth = 3
arrow1.Visible = True
Set Source = arrow1.DestinationBox
End If
Next arr
End If
i = i + 1
justify = False
Wend
End If
End Sub
4 總結(jié)
ATM網(wǎng)路由監(jiān)測軟件的使用,對ATM網(wǎng)的維護及使用產(chǎn)生了積極效果,包括減少資源空耗,降低網(wǎng)絡延遲,提高鏈路傳輸質(zhì)量等。
網(wǎng)絡監(jiān)測數(shù)據(jù)顯示在本項目成果使用期間各中繼帶寬使用率下降明顯如:青浦至濟南中繼平均使用率從41.77%降低為35.32%,青浦至合肥中繼平均使用率從36.29%降為23.79%,青浦至廈門中繼平均使用率從41.77%降低為35.52%。
在提高業(yè)務可用性方面,本系統(tǒng)所取得的效果同樣十分突出:對于繞行路由進行優(yōu)化之后可以將此類鏈路的網(wǎng)絡延時從原先的200ms左右減少到50ms以下的正常范圍內(nèi),保證了業(yè)務的傳輸質(zhì)量。
對于非最優(yōu)路由占用大量網(wǎng)絡帶寬資源這一問題,使用該軟件后,原先大量業(yè)務非最優(yōu)路由虛耗帶寬資源情況得到有效控制,原先人工完成一次單節(jié)點非最優(yōu)路由查詢工作,平均耗時30分鐘,本軟件完成相同工作平均耗時僅為3分鐘,節(jié)約時間達90%。
ATM網(wǎng)路由監(jiān)測軟件的技術成果是對現(xiàn)有網(wǎng)管技術的一種有效補充,創(chuàng)新地將計算機模擬人工智能方法引入了設備管理領域,對民航空管系統(tǒng)一體化運行的各類遠程設備的保障管理具有相當?shù)慕梃b意義。
參考文獻:
[1] PNNI Network Planning Guide for MGX.
[2] Planning Intermediate Route Selection.
[3] Advanced PNNI Configuration.