以太網物理拓撲的發現方法
2019-11-05 01:41:12
供稿:網友
以太網技術是第二層網絡技術,其網絡發現到目前還沒有成熟的技術和方法?,F有的網管如HP OpenView無法提供第二層的網絡發現,并且各廠家的網管不能互通,如Cisco的CWSI和3Com Trancend等,須采用專用的協議或方法來實現。
目前,運行在第二層的通用協議有VLAN和Spanning Tree生成樹等,其主要設備是以太網交換機。根據網絡的拓撲結構,用以太網交換機組成的LAN一般有3種運行模式:運行Spanning Tree協議、不運行Spanning Tree協議以及混合式。本文以混合模式為例,結合網橋和Spanning Tree的基本原理,介紹一種簡單的LAN物理網絡拓撲的發現方法。
為方便討論,在此假定由以太網交換機組成的LAN不支持VLAN技術。將靠近路由器R1的交換機B1設為優先級最低的DRDesignated Root,指定的根。B1、B2和B3形成一個環路,其上運行Spanning Tree協議;對于不運行Spanning Tree協議的LAN,一般成樹型結構,不能有閉環連接,如B1、B4和B5為單鏈路級連,不運行Spanning Tree協議。
在LAN物理網絡拓撲發現以前,網段的網關地址是已知的,如本例中的61.140.216.254。為方便起見,我們假設所有以太網交換機的治理IP地址是已知的,即手工加入的,也可通過SNMP協議發現。如圖1所示的61.140.216.253、61.140.216.245、61.140.216.246、61.140.216.215和61.140.216.219共5臺以太網交換機的IP地址是已知。
為方便說明,本文將網關看作LAN的根。兩臺交換機直連時,將靠近根的交換機稱作上游交換機,另一臺稱作下游交換機。下面論述LAN物理拓撲發現的方法。
1 通過網管向所有交換機發Clear命令,清除交換機上所有的包轉發表。
從橋的基本原理得知,以太網交換機動態學習通過它的數據包的MAC地址,并生成包轉發表,轉發表包含了目的MAC對應的目的端口號。由于交換機治理IP地址之間可能會進行一些相互的訪問(如ping或telnet等操作),各個交換機的包轉發表比較復雜。為使問題簡單化,我們先把各個交換機的包轉發表清除掉,讓交換機重新學習并生成包轉發表,然后繼續下面的操作。
?。玻?利用路由器R1的ARP地址解析協議表,得到所有交換機的治理IP地址所對應的MAC地址以太網物理地址。
為保證ARP表包含所有交換機的MAC地址,可以執行“ping廣播地址”命令,如“ping 61.140.216.255假定圖1中治理子網的網模為61.140.216.128”。路由器接收到該命令后,將從目的地61.140.216.129開始執行ping命令,直到61.140.216.255結束。此時,路由器的ARP表是最全、最新的。
?。? 從各個交換機中獲得包轉發表并進行分析。
在交換機B1上,只有通過F0/24端口才能到達MAC地址為00e0.1ece.1bd2的交換機或路由器。同理可知到達其他交換機的端口。通過這個簡單的方法可以得到以B1為中心的星型網絡結構?! 〉沁€存在多個MAC地址同一目的端口的情況,如表2中,0090.0416.d8f8 B5和0800.4ecc.89d8B4 都是通過F0/18到達的,這種情況說明存在交換機級連。對交換機B1而言, B5和B4通過同一目的端口F0/18,而到網關的端口號是F0/24,這說明B4和B5是B1的下游交換機,并且兩者級連。
通過分析B4和B5交換機上的MAC轉發表來判定B4和B5交換機的連接情況。交換機B4上的MAC轉發表見表3 同樣只保留了與交換機治理MAC地址有關的條目。
與交換機B1對應的條目,這是因為發自B1的治理IP地址的數據包一般不通過B4,即上游交換機的數據包一般不通過下游交換機。這樣,下游交換機的MAC轉發表中不會擁有上游交換機的MAC轉發條目。但每臺交換機上都有指向網關的MAC轉發條目因執行了“ping 61.140.216.255 ”命令。由表3可知,到達交換機800.4ecc.89d8B5的目的端口是F0/25,而到達00e0.1ece.1bd2的端口是F0/24 。這說明B5是B4的下游交換機, B4與上游交換機B1的端口是F0/24。根據B2、B3和B5交換機的MAC轉發表,同理可以判定出B2、B3和B5到上游交換機的端口號,從而得知整個網絡的拓撲結構。
?。? 尋找被Spanning Tree隱藏的連接。
由于B1、B2和B3之間運行了Spanning Tree協議,B2的端口F0/1處于Block阻塞狀態,采用上述方法無法得知B2和B3之間存在物理連接。這時,我們可以利用Spanning Tree協議本身的特點來發現B2和B3之間的連接。
根據Spanning Tree協議,每一個SegmentLAN交換機之間的LAN連接存在一個DBDesignated Bridge,指定的橋。與該Segment連接的交換機的端口都知道本Segment的DB的ID識別號,即不同交換機上的端口的DB ID相同,說明這些端口連接在同一Segment上。如在圖1中,可以通過讀取交換機的端口參數得知交換機B3的F0 / 1端口的DB ID是0032.0002.b9cf.1ac0,交換機B2的F0 / 1端口的DB ID同樣是0032.0002.b9cf.1ac0,這說明B2的F0/1端口與B3的F0/1端口直連。通過該方法可以發現運行Spanning Tree 協議的網絡結構。
假如全網都運行Spanning Tree協議,通過該方法可以快速而簡單地發現其網絡結構。但該方法不能使用在沒有運行Spanning Tree協議的LAN上,所以當LAN是混合式時,應綜合采用本文所介紹的方法。
事實上,通過SNMP協議同樣可以獲得上述步驟中的所有信息,從而為實現網管開發提供了條件。此外,筆者為敘述簡單起見,在上文中假定由以太網交換機組成的LAN不支持VLAN技術。但實際上,上述方法同樣適用于支持VLAN技術的LAN。因支持VLAN的LAN一定存在一個包含所有交換機在內的治理VLAN缺省情況下為VLAN 1,我們只需把上述方法針對“VLAN 1”進行分析,就可以很輕易地得到這種LAN的物理拓撲結構。