新四季網

一種交換機網管拓撲圖實現算法的製作方法

2023-04-27 07:40:21

專利名稱:一種交換機網管拓撲圖實現算法的製作方法
一種交換機網管拓撲圖實現算法所屬領域在工業通訊領域,目前還沒有一套完善並付諸實現的網絡拓撲圖生成解決方案。 本算法能夠從交換機中獲取鄰居信息後,迅速地生成網絡結構為樹狀、單環、多環的拓撲 圖,同時能夠用有色線條標識出冗餘鏈路和連通鏈路,這樣就能方便用戶從宏觀的角度,對 整個網絡結構進行監控和管理。
背景技術:
網管網絡拓撲圖的生成一般都需要網絡設備中底層軟體的支持,目前拓撲節點信 息的收集主要是基於SNMP (Simple Network Management Protocol,簡單網絡管理協議)、 ICMPdnternet Control Message Protocol,網際網路控制消息 協議)等協議。需要採集的 拓撲節點信息一般包括交換機的埠號、埠是否連接有交換機、埠的狀態、埠所連設 備的ip地址與MAC地址等內容。目前基於SNMP、ICMP兩種協議的上層網管拓撲發現算法都有三個明顯的弊端。第 一,如果要包含必要的拓撲圖節點信息,就必須定義相應的節點,網管軟體以輪詢的方式去 獲取每一臺交換機的每一個SNMP節點信息,效率十分低下,而且會加重網絡負擔,影響網 絡質量。第二,在生成交換機拓撲圖的過程中,無法明確指出拓撲圖中哪一些鏈路為冗餘鏈 路,哪一些鏈路為非冗餘鏈路,不便於直觀的進行管理。第三,當網絡中的拓撲結構發生變 化時,網管軟體的拓撲圖無法實時更新並反映鏈路變化,無法提供精確的故障位置和埠。在當前的工業通訊領域,將會有越來越多的網絡設備連接到網際網路上,一些人為 破壞或者是設備老化故障可能會造成帶來難以估計的後果,一種實時的網絡拓撲圖能夠為 故障定位、輔助決策提供有力手段。技術方案網管軟體獲取的拓撲節點信息離不開底層交換機程序的支持,如果想要獲取交 換機的拓撲節點信息,底層交換機程序就必須提供兩個伺服器進程stool、fileserver., stool進程負責向網管回複本交換機的ip等信息,方便網管與交換機之間建立TCP/IP連 接;fileserver進程負責向網管傳送拓撲節點內容,並且向網管提供trap告警信息,實時 更新拓撲圖。下面首先簡要的說明網管生成拓撲圖的大致過程。 網管軟體啟動一個偵聽交換機回復UDP包的子線程ThreadBroadcast。 網管主線程向區域網內廣播帶有特定標識的UDP包,該UDP包只有擁有stool 進程的網絡設備才能識別。 交換機的stool進程在捕獲到該UDP包之後,將自身的ip地址填充到這個特定 的UDP包中,然後以UDP的方式將它重新發送出去。 網管軟體偵聽交換機恢復UDP包的子線程ThreadBroadcast在捕獲這個帶有交 換機ip的特殊UDP包之後,將該ip插入到一個字符串數組SwitchArray,將與該交換機建 立TCP/IP連接,同時創建偵聽交換機trap告警信息的子線程ThreadTrap。
待延時IOs以後,此時網管與區域網內的所有交換機ip建立連接完成。 網管軟體輪詢所有的交換機,獲取每一臺交換機的拓撲節點信息,繪製網絡拓 撲圖。 當偵聽到交換機trap告警信息的子線程ThreadTrap捕獲到告警信息之後,更 新交換機面板。交換機拓撲圖根據從交換機中獲取的拓撲節點信息繪製拓撲圖,而拓撲節點信息 主要包括以下幾個必要元素。ΡΝ0:埠對應的編號。LS 埠連接狀態,LK = 1表示埠連上;LK = 0表示埠沒有連上。PS 埠阻塞狀態,PS = OxAO表示埠為可連通狀態,PS = 0x42表示埠為阻 塞狀態(能收包不能發包)。SN 埠所掛設備的數量(由於底層協議為私有協議,可能會出現一個埠上掛 著多臺設備的情況)。SIP 埠所掛設備的ip地址。下面將按照解析拓撲信息節點、分析拓撲節點信息、確定每一臺交換機的位置、連 接交換機之間的線條幾個關鍵步驟來闡述生成拓撲圖的算法。一、解析拓撲節點信息將通過發送UDP廣播包獲取的交換機數組SwitchArray從小到大排序,網管軟體 按照這個數組SwitchArray去獲取每一臺交換機的拓撲節點信息,然後對這些信息進行如 下處理。首先,創建一個單鍊表屬於這臺交換機,該單鍊表用於保存這臺交換機的所有連 接信息。將拓撲節點信息中解析成如下形式PortState-ipl-ip2,其中PortState為埠 連接狀態,16 (OxAO)為可連通狀態,66 (0x42) ;ipl為MIN{本機ip,埠所掛設備ip},ip2 為 MAX {本機 ip,埠所掛設備 ip}。例如16-192. 168. 16. 128-192. 168. 16. 130,表示 ip 地址為192. 168. 16. 128的交換機與ip地址為192. 168. 16. 130的交換機的連接狀態為連 通的。將解析得到的連接信息存至本交換機的鍊表中。這些連接信息能夠將離散的交換機 通過不同的線條連接起來。其次,根據PID (埠號)與LK (埠連接狀態),得到本交換機的埠連接位圖 PortLinkMap,例如PortLinkMap = 5,5轉化成二進位為101,從右往左看,表示本交換機端 口 1與埠 3為連通狀態(linkup),其餘埠為非連通狀態(link down) 。該埠位圖用 於顯示拓撲圖面板上的埠狀態。二、分析拓撲節點信息建立一個堆棧SwitchStack,一個用於保存交換機之間連接信息的動態數組 SwitchLinkStateArray, 一個動態數組5 行吐0印讓4^^7,節點深度為動態數組的下標,數 組元素的值表示某節點深度下有用的交換機的臺數。步驟1 讓SwitchArray中的第一個元素入棧(ip地址最小的元素作為根節點,這 樣就能保證在網絡拓撲結構不變而多次刷新拓撲圖的情況下,拓撲圖中各交換機的基本位 置不變。),將首先入棧的交換機的節點深度設置為0,SwitchD印thArray
=1。步驟2 如果堆棧SwitchStack不為空,獲取棧頂ip地址的交換機Switchl保存連接信 息的單鍊表,如果單鍊表為空,SwitchStack棧頂元素出棧,繼續執行步驟2 ;如果單 鍊表不為空,執行步驟3。如果堆棧SwitchStack為空,結束整個分析過程。
步驟3 解析單鍊表的元素,得到某埠的埠狀態、與交換機Switchl相連的交 換機Switch2的ip地址。如果埠狀態為66 (能收包不能發包),將該條連接信息保存 到SwitchLinkStateArray中,從單鍊表中刪除掉當前的這條連接信息,執行步驟2 ;如果端 口狀態為16 (能收包且能發包),將當前的連接信息賦給strLinklnfo,然後分別從交換機 Switchl和交換機Switch2保存連接信息的單鍊表中刪除這條連接信息,繼續執行步驟4。步驟4 判斷與Switchl相連的Switch2的ip是否在堆棧SwitchStack,如果不在 堆棧中,執行步驟5 ;如果在堆棧中,執行步驟2。步驟5 將交換機Switch2的節點深度在交換機Switchl的節點深度基礎上加1, 即Switch2. Depth = Switchl. D印th+1,將該節點深度下的交換機臺數加1,將在步驟3中 保存的連接信息StrLinkInfo保存到動態數組SwitchLinkStateArray中,同時Switch2的 ip地址入棧,執行步驟2。分析拓撲節點信息這個步驟是最為關鍵的一步,它主要得到兩條重要信息拓撲 圖中的連線信息SwitchLinkArray,拓撲圖中節點的總深度和各節點深度下擁有交換機的 臺數。分析拓撲節點信息的簡易數據流程圖如說明書附圖中的圖1所示。三、確定每一臺交換機的位置在分析完拓撲節點信息之後,得到了三條重要信息保存有線條連接信息的 SwitchLinkStateArray、每臺交換機的節點深度和一個保存有每一個節點深度下交換機的 臺數的數組SwitchD印thArray,其中每臺交換機的節點深度和一個保存有每一個節點深度 下交換機的臺數的數組SwitchD印thArray,就能夠輔助我們確定每一臺交換機在拓撲圖中 的具體位置。首先定義一種數據結構Switch_ReCt,它用於保存某節點深度下某交換機的位置, 數據結構信息說明如下· Depth 交換機的節點深度。· Rect_Top 交換機在拓撲圖中的上沿數值。· Rect_Buttom 交換機在拓撲圖中的下沿數值。· Rect_Left 交換機在拓撲圖中的左沿數值。· Rect_Right 交換機在拓撲圖中的右沿數值。· IsAllocated 該位置是否已經分配,初始值為false。定義相對位置為左右關係的兩臺交換機距離為C_SWITCHS_INTV_WIDTH = 20,相 對位置為上下關係的兩臺交換機距離為C_SWITCHS_INTV_HEIGHT = 10,交換機圖片的寬度 高度分別為 C_SWITCH_PIC_WIDTH = 36,C_SWITCH_PIC_HEIGHT = 20。下面是定位交換機 位置的關鍵步驟。步驟1 由的數組長度、交換機圖片的高度C_SWITCH_PIC_ HEIGHT以及兩臺交換機之間的上下高度差C_SWITCHS_INTV_HEIGHT,可以得到每一個節點 深度下的交換機在拓撲圖中上沿以及下沿的數值。具體計算公式為Switch_ReCt. Rect_Top =Switch_Rect. Depth*(C_SWITCHS_INTV_HEIGHT+C_SWITCH_PIC_HEIGHT) ;Switch_Rect. Rect_Buttom = Switch_Rect. Rect_Top+C_SWITCH_PIC_HEIGHT0
步驟2 由交換機的節點深度、數組交換機圖片的寬 度C_SWITCH_PIC_WIDTH以及兩臺交換機之間的左右距離C_SWITCH_PIC_WIDTH,可以 得到每一臺交換機在拓撲圖中左沿與右沿的數值。具體計算公式為Switch_Rect. Rect_Left = Form. Width-SwitchDepthArray[Switch_Rect.Depth]*Switch_Rect. Width-(SwithDepthArray[Switch_Rect. Depth]_1)*C_SffITCHS_INTV_WIDTH+N* (C_ SWITCHS_INTV_WIDTH+C_SWITCH_PIC_WIDTH),其中 Form. Width 為拓撲圖整個畫板的寬度, N為該深度下已經定位了的交換機臺數。四、交換機連線 確定完每一臺交換機的具體位置以後,由分析拓撲節點信息我們已經得到了保存 有交換機之間連接信息的動態數組SwitchLinkStateArray,連接信息中有埠是否阻塞和 兩臺交換機的ip地址,可以很容易的將交換機之間進行連線,但是要注意一下連接信息 中是連通狀態(16),或者阻塞狀態(66)最好使用不同顏色的線條連接交換機,建議連通狀 態使用綠色線條,阻塞狀態使用橙黃色線條。上述四個步驟對整個拓撲圖生成算法進行了一個詳細的描述,該生成算法具有時 間複雜小、嚴格區分冗餘鏈路、生成的拓撲圖美觀等優點,不但適用於普通的樹形結構網絡 拓撲,而且還適用於網絡結構複雜的多環拓撲。


圖1是分析拓撲節點信息流程圖。 圖2是整個算法獲取拓撲節點信息的流程簡圖。
權利要求
1.一種交換機網管拓撲圖實現算法,其特徵在於底層通過Hello協議來實現拓撲節 點信息收集,底層通過Hello協議來實現拓撲節點信息收集,拓撲節點信息包括PNO埠 號、LS埠連接狀態、PS埠阻塞狀態、SN埠所掛設備的數量和SIP埠所連接的設備 的ip地址,將生成一個複雜的拓撲圖的問題化解成「一臺交換機與這臺交換機的鄰接交換 機」這個問題,
2.根據權利要求1所述的一種交換機網管拓撲圖實現算法,其特徵還在於在分析拓 撲節點信息過程中,使用「堆棧迭代」的方式解析拓撲節點信息,用非冗餘鏈路的思想來處 理冗餘鏈路的問題。在分析拓撲節點信息過程中,使用「堆棧迭代」的方式解析拓撲節點信 息;拓撲節點信息形式為「PS-MIN{IP1,IP2}-MAXUPl,IP2}」,PS埠阻塞狀態來嚴格區分 連通鏈路和因冗餘而被阻塞的鏈路,由於埠連通狀態PS = 16下,交換機A中的拓撲節點 信息中有交換機B,那麼交換機B中的拓撲節點信息中一定包含有交換機A ;如果埠連接 狀態為阻塞狀態PS = 66,能收包不能發包,交換機A中的拓撲節點信息中有交換機B,但是 交換機B中的拓撲節點信息中一定不包含有交換機A,在分析拓撲節點信息時,將冗餘的鏈 路當成是非冗餘的線路來對待。
3.根據權利要求1所述的一種交換機網管拓撲圖實現算法,其特徵還在於通過交換 機在拓撲圖中的節點深度與節點深度下交換機的臺數來定位交換機在拓撲中的位置。連接 線條時通過有顏色區分的線條來指明連通鏈路與冗餘鏈路,通過分析拓撲節點信息,得到 交換機在拓撲圖中的節點深度與節點深度下交換機的臺數,通過這兩條信息就可以定位交 換機在拓撲中的位置。連接線條時可根據解析得到的連接信息中是否包含有阻塞信息,來 決定用何種顏色的線條來連接交換機。
全文摘要
本發明是關於一種交換機網管拓撲圖算法,該算法底層拓撲節點信息的收集基於Hello協議,來維護了一個保存有自身埠信息和鄰接交換機信息的文件,將整個複雜的網絡拓撲問題轉化成一個交換機與鄰接交換機的問題。在獲取這些拓撲節點信息的過程中,使用到了UDP協議和TCP協議。在分析拓撲節點信息時,採用「堆棧迭代」的方法,來解析得到連接交換機線條的信息、交換機的節點深度信息,然後以此來確定交換機在拓撲圖中的具體位置,最後根據連接交換機線條信息來決定連通鏈路的線條和冗餘鏈路的線條。
文檔編號H04L12/24GK102148703SQ20111002163
公開日2011年8月10日 申請日期2011年1月19日 優先權日2011年1月19日
發明者劉湘泉, 周厚明 申請人:武漢邁威光電技術有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀