網絡拓撲發現的鏈路層的拓撲發現
當我們使用網管管理著很多設備,而且設備之間已經實際配置有許多光連接的時候,比如光連接數超過1000條,如果讓我們在網管上壹條壹條地通過纖纜連接功能去配置,此時壹定會很吃力,這時我們可以在網管上使用拓撲自動發現功能來幫助我們,自動發現設備之間的光連接。
對於交換機、路由器設備,鏈路層拓撲發現的原理是根據交換機的cdp鄰居表、端口ifIndex和port對應表、自學習表判斷出各交換機的連接關系,具體的拓撲發現步驟如下:
A、獲取所有路由器的arp表信息,對於主機則通過SendARP或netbios來獲取arp信息。
B、獲取所有交換機的cdp鄰居表、端口的ifIndex和port對應表、自學習表。
C、對交換機的互連關系進行判斷,如果某個交換機的某個端口學習到了路由器的mac地址,則認為此端口為上行端口,如果交換機只有壹個端口有自學習表項,也認為此端口是上行端口。如果壹個交換機的上行端口中沒有接其它的交換機則此交換機為根交換機。
D、對於每個交換機,如果它的某個端口和其它根上的多個端口沖突,通過cdp信息修正2者之間的連接關系,
用①表示鄰居的根交換機,用②表示自己的根交換機,
如果①=②,表示它和它的鄰居已經在同壹棵樹上,不處理;
如果是上行端口上的鄰居,將①的層次和父親改成self的層次和父親;將①下的所有接點的層次加(self的層次-1)那麽多;將self的父親改成鄰居的端口,並將self的level增加(鄰居的層次+1)那麽多;將self下所有接點的level增加(鄰居的層次+1)那麽多。
如果是其他端口上的鄰居,將②的層次和父親改成鄰居的層次和父親;將②下的所有接點的層次加(鄰居的層次-1)那麽多;將鄰居的父親改成self的端口,並將鄰居的level增加(self的層次+1)那麽多;將鄰居下所有接點的level增加(self的層次+1)那麽多。
E、對每個交換機,如果不是根交換機,則在其上加壹個節點表示上行端口,並查找該交換機下的主機和UPS。
對於PTN設備,拓撲自動發現功能的核心是LLDP(Link Layer Discovery Protocol),鏈路層發現協議,是數據設備數據鏈路層的功能,協議的作用為使不同及相同廠商的設備能夠在網絡中相互發現並交互各自的系統及配置信息,可以實現光連接自動發現。
LLDP的報文結構如下:
在以太網MAC幀中,使用Type類型字段為0x88CC來表示LLDP報文具體結構如下: Destination MAC address:目的MAC,為固定的組播MAC 0x0180.C200.000E Source MAC address:源MAC地址,發送LLDP報文設備的MAC地址 Type:類型字段,為0x88CC,表示LLDP報文 LLDP PDU:LLDP數據,以TLV為單位,表示如設備MAC地址等相應信息 FCS:Frame Check Sequence,幀校驗序列,實現MAC幀傳送過程中的檢錯及糾錯 TLV(Type、Length、Value),是LLDP報文中最重要的內容,可以有很多種TLV,其中基本TLV如下:
當本端設備端口啟用LLDP功能後,如果其模式為收發或只發,並且與對端設備間有端口之間的連接,那麽它將向對端端口發送LLDP PDU,其中包括本端設備MAC地址、本端連接端口等等信息;對端設備接收到該LLDP PDU後,經過相應處理後放入MIB中,比如LLDP.MIB,以供網管系統查詢。網管系統收到發現請求後,查詢設備上存儲的對應光連接信息,根據信息進行拓撲自動發現,自動生成對應網元對應端口之間的光纖連接。