拓撲發現算法之議
時間:2022-08-20 05:26:00
導語:拓撲發現算法之議一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。
摘要:作為配置管理的核心和資源管理的基礎,完整、精確并且具備可視化友好界面的網絡拓撲是檢測網絡故障、分析網絡性能的基礎,介紹了網絡物理拓撲發現的分類,基于SNMP設備的MIN-II和Bridge-MIB管理信息庫,分別設計了網絡層拓撲發現算法和數據鏈路層拓撲發現算法,經測試,算法能夠準確的發現網絡層設備及連接關系,能夠比較準確的對數據鏈路層進行拓撲發現。
關鍵詞:拓撲發現算法;MIB-II;Bridge-MIB;
隨著網絡規模的不斷擴大和網絡拓撲結構的日益復雜,網絡管理的地位變得越來越重要,有效、可靠的網絡管理已經成為網絡系統正常運行的關鍵。OSI參考模型網絡管理標準中定義了網絡管理的5大功能,分別是故障管理、配置管理、性能管理、安全管理和計費管理[1],其中配置管理是進行網絡管理的前提,其主要功能是網絡拓撲發現和各類設備的配置信息管理。網絡拓撲結構是網絡中各節點之間互聯關系的一種表示,拓撲結構通常被構建成一個圖形,對網絡拓撲進行發現是對網絡管理系統最基本的功能要求,所謂拓撲發現是指通過某種算法探測和識別特定網絡中的網絡元素和各網絡元素之間連接關系,并以字符、圖形等方式將拓撲進行顯示。作為配置管理的核心和資源管理的基礎,完整、精確并且具備可視化友好界面的網絡拓撲結構是檢測網絡故障、分析網絡性能的基礎[2]。
根據拓撲發現算法涉及的TCP/IP網絡層次,一般可以將網絡拓撲發現分為網絡層和數據鏈路層拓撲發現兩個層次,網絡層拓撲發現主要實現網絡層路由設備的探測、子網以及連接關系的發現,數據鏈路層拓撲發現的主要工作是二層設備與主機的探測及其連接關系的確定,好的拓撲發現算法能夠快速、準確的發現網絡中的三層和二層網絡設備,進而確定網絡拓撲[3],利用SNMP網絡設備的MIB-II和Bridge-MIB管理信息庫,是進行網絡物理拓撲發現的常見方法,下邊對基于MIB-II和Bridge-MIB的拓撲發現算法進行討論。
1網絡層設備拓撲發現
探測三層(網絡層)設備最基本的方法是獲取網絡中路由設備的路由表(RoutingTable),路由表中記錄了目標IP地址(ipRouteDest)的下一條地址(ipRouteNextHop)以及數據的傳送方向等信息。支持SNMP的設備會將自己的路由表放在管理信息庫(ManagemnetInformationBase,MIB)中,因此,可以通過SNMP獲取遠端三層設備的路由表。
根據三層網絡設備SNMP的特點,設計如下拓撲發現算法:
Foreachrouterinrouter_set
{
ifrouterexsits(interfacetable){next;}
getipRouteTable;
getipAddrTableaddtointerface_table;
ForeachentryinipRouteTable
{
if(ipRouteType=indirect)
{
swapipRoutDestwithitsinterfaceifexsits(nterface_table);
if(ipRouteDestnot_in(router_set)
{
AddRoutertorouterset;
}
Addrouter->ipRouteDesttoedge_set;
}
}}
算法通過遍歷和分析三層設備的MIB,確定設備類型和設備間的連接關系,最后確定三層設備網絡拓撲結構,使用該算法對某網絡中運行拓撲發現,結果如圖1所示。
2數據鏈路層設備拓撲發現
二層(數據鏈路層)設備的探測是在三層設備探測的基礎上增加路由器到交換機、交換機到交換機、交換機到主機之間的連接關系。網絡中的交換機同時負責維護自己的生成樹狀態表(SpanningTreeProtocol,STP)和MAC地址轉發表(ForwardData-Base,FDB),并保存在標準SNMPv2-SMI(StructureofManagementInformation,管理信息結構)中。
二層網絡拓撲發現的復雜性在于以太網交換機等設備的透明性。鄰居設備交換信息主要通過生成樹協議(SpanningTreeProtocol,STP)實現。交換機保留MAC地址和接口狀態(網內主機的MAC地址與交換機端口的對應關系)的主要載體是MAC轉發表(FDB),FDB可以通過SNMP的Bridge-MIB來訪問。可以簡單的通過Bridge-MIB計算得出設備之間的物理連接的關系,但由于Bridge-MIB存在時間老化、某些二層設備未配置管理IP導致網管無法訪問以及設備學習不全等情況,導致很難通過計算得到一張精確的拓撲結構,這些問題需要采用特有的算法、特定技術來解決[4]。根據數據鏈路層網絡設備MIB-II及Bridge-MIB的特點,基本算法描述如下:
Foreachswitchinswitch_set
{
getdot1dTpFdbTable;
ifipAddisaswitch&isonlyiponthatport
{
drawedgebetweenthem;
}
}
由于二層網絡中還存在著啞設備、集線器等不可網管的設備,因此該算法對設備的發現還不夠完整,還需使用直接連接定理和間接連接定理進行優化,算法如下:
ForeachSinST
{
Foreach''''x''''inPT(S)
{
ForeachEiinPAT(S,PT)
{
ForeachEkinPAT(S,PT)otherthanEi
{
If(EkdisconnectsSandEi)
{//(S)x-a(Ei)b-y(Ek)
deleteEkfromSandSfromEk;
deletePAT(Ek,y'''')fromPAT(S,x);
deletePAT(s.x'''')fromPAT(Ek,y);
applysameproceduretoallentriesinPAT(Ek,y'''')andPAT(S,x'''');
}
}
}
}}
拓撲發現結果如圖2所示。
3結束語
文章對基于SNMP的TCP/IP網絡層拓撲發現和數據鏈路層拓撲發現算法進行研究。根據網絡設備MIB-II和Bridge-MIB管理信息庫的特點,分別設計了網絡層拓撲發現和數據鏈路層拓撲發現算法。在校園網環境下對算法進行驗證,經驗證,算法能夠準確的發現網絡層設備及其之間的連接關系,但是對于數據鏈路層設備和連接關系的發現還不夠準確,這是由于由于二層是設備的Bridge-MIB存在時間老化、啞設備以及設備學習不全等原因導致的,要計算得到精確的拓撲結構,還需要整合多種拓撲發現工具并對算法進行進一步優化[5],這也是需要進一步研究的方向。
- 上一篇:無線傳感器網絡節點特性剖析
- 下一篇:辦公網絡資源安全之議
精品范文
1拓撲結構