溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

如何利用snmp協(xié)議發(fā)現(xiàn)大型復(fù)雜環(huán)境的網(wǎng)絡(luò)拓?fù)洌ńㄗh開(kāi)發(fā)自動(dòng)化工具的朋友可以看一下)

發(fā)布時(shí)間:2020-04-01 05:07:29 來(lái)源:網(wǎng)絡(luò) 閱讀:17770 作者:Wuli王蜀黎 欄目:網(wǎng)絡(luò)管理

關(guān)于網(wǎng)絡(luò)拓?fù)渥园l(fā)現(xiàn),這項(xiàng)技術(shù)已經(jīng)是個(gè)很老的課題,早在08年就有前輩提出了相關(guān)算法,我這篇文章就是根據(jù)前輩們踩的坑,總結(jié)凝煉了利用snmp協(xié)議完成網(wǎng)路拓?fù)渥园l(fā)現(xiàn)的方法,因?yàn)閟nmp都是遵循rfc1213標(biāo)準(zhǔn)建立相應(yīng)的mib庫(kù)信息,而使用命令cli的方式采集路由表、Mac、端口轉(zhuǎn)發(fā)表的方式會(huì)遇到異構(gòu)產(chǎn)品底層命令適配的問(wèn)題。關(guān)于數(shù)據(jù)的范式化和數(shù)據(jù)處理、數(shù)據(jù)展現(xiàn)都將是挑戰(zhàn)。好了,廢話不多說(shuō),那就簡(jiǎn)單分析一下拓?fù)浒l(fā)現(xiàn)的過(guò)程。
本功能模塊主要是實(shí)現(xiàn)網(wǎng)絡(luò)環(huán)境下網(wǎng)絡(luò)拓?fù)涞淖赃m應(yīng)和自發(fā)現(xiàn)

主要分為三部分:

網(wǎng)絡(luò)層拓?fù)浒l(fā)現(xiàn)
鏈路層拓?fù)浒l(fā)現(xiàn)
主機(jī)層拓?fù)浒l(fā)現(xiàn)
網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)
網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)的主要目的是獲取和維護(hù)網(wǎng)絡(luò)節(jié)點(diǎn)的存在信息和它們之間的連接關(guān)系信息,并在此基礎(chǔ)上繪制出整個(gè)網(wǎng)絡(luò)拓?fù)鋱D。網(wǎng)絡(luò)管理人員在拓?fù)鋱D的基礎(chǔ)上對(duì)故障節(jié)點(diǎn)進(jìn)行快速定位。
二層網(wǎng)絡(luò)拓?fù)?/strong>
二層網(wǎng)絡(luò)拓?fù)浼碠SI參考模型中第二層的網(wǎng)絡(luò)拓?fù)?,稱(chēng)為鏈路層網(wǎng)絡(luò)拓?fù)?。網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)是網(wǎng)絡(luò)管理的基本工作,從底層看是交換機(jī)之間的連接關(guān)系。只有物理拓?fù)洳拍軠?zhǔn)確地定位網(wǎng)絡(luò)中的故障,精確地測(cè)定某個(gè)位置的性能和狀態(tài)。
三層網(wǎng)絡(luò)拓?fù)?/strong>
三層網(wǎng)絡(luò)拓?fù)涫荗SI參考模型中的第三層,它描述的是路由器、子網(wǎng)之間的連接關(guān)系。
OID
對(duì)象標(biāo)識(shí)(Object identifier-OID)為每一個(gè)對(duì)象分配一個(gè)唯一的表示號(hào)。
SNMP
SNMP 是用于在 IP 網(wǎng)絡(luò)管理網(wǎng)絡(luò)節(jié)點(diǎn)的一種標(biāo)準(zhǔn)協(xié)議。SNMP 使網(wǎng)絡(luò)管理員能夠管理網(wǎng)絡(luò)效能,發(fā)現(xiàn)并解決網(wǎng)絡(luò)問(wèn)題以及規(guī)劃網(wǎng)絡(luò)增長(zhǎng)。通過(guò) SNMP 接收隨機(jī)消息,網(wǎng)絡(luò)管理系統(tǒng)獲知網(wǎng)絡(luò)出現(xiàn)問(wèn)題。


基于二/三層網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)方法 (網(wǎng)絡(luò)層和鏈路層拓?fù)浒l(fā)現(xiàn))

第一步:生成3層網(wǎng)絡(luò)層網(wǎng)絡(luò)拓?fù)?br/>本算法采集設(shè)備信息,可以通過(guò)SNMP采集或者登錄設(shè)備采集,優(yōu)先選擇SNMP采集(表如何利用snmp協(xié)議發(fā)現(xiàn)大型復(fù)雜環(huán)境的網(wǎng)絡(luò)拓?fù)洌ńㄗh開(kāi)發(fā)自動(dòng)化工具的朋友可以看一下)
列出了用SNMP采集所需信息的OID點(diǎn))。當(dāng)設(shè)備不支持SNMP采集時(shí),登錄設(shè)備采集。

路由表中的每個(gè)條目都包含ipRouteDest、ipRouteIfIndex、ipRouteNextHop、ipRouteType和ipRouteMask這幾項(xiàng)。其中,ipRouteDest表示路由的目的地址,ipRouteMask表示路由目標(biāo)地址的子網(wǎng)掩碼,將ipRouteDest和ipRouteMask按位與可以得到路由目標(biāo)地址所在的子網(wǎng);ipRoutelflndex表示路由本地接口的索引值,三層設(shè)備將目的地址為ipRouteDest的IP包通過(guò)該接口轉(zhuǎn)發(fā);ipRouteType表示了路由的類(lèi)型,當(dāng)路由類(lèi)型值為3(direct)時(shí),說(shuō)明三層設(shè)備直接連接到路由目的地址所在子網(wǎng),當(dāng)路由類(lèi)型值為4 (indirect)時(shí),說(shuō)明三層設(shè)備不直接連接到路由目的地址所在子網(wǎng),必須再經(jīng)過(guò)其它三層設(shè)備,即為路由表中的ipRouteNextHop,此時(shí)三層設(shè)備通過(guò)本地接口ipRoutelflndex與下一跳三層設(shè)備直接連接。

以cisco 3750 (10.95.32.10)核心交換機(jī)為例:
ipRouteDest OID
1.3.6.1.2.1.4.22 ARP表
如何利用snmp協(xié)議發(fā)現(xiàn)大型復(fù)雜環(huán)境的網(wǎng)絡(luò)拓?fù)洌ńㄗh開(kāi)發(fā)自動(dòng)化工具的朋友可以看一下)
1.3.6.1.2.1.4.20 IP地址表
如何利用snmp協(xié)議發(fā)現(xiàn)大型復(fù)雜環(huán)境的網(wǎng)絡(luò)拓?fù)洌ńㄗh開(kāi)發(fā)自動(dòng)化工具的朋友可以看一下)
如何利用snmp協(xié)議發(fā)現(xiàn)大型復(fù)雜環(huán)境的網(wǎng)絡(luò)拓?fù)洌ńㄗh開(kāi)發(fā)自動(dòng)化工具的朋友可以看一下)
1.3.6.1.2.1.4.24 IP路由表

路由表中的每個(gè)條目都包含ipRouteDest、ipRouteIfIndex、ipRouteNextHop、ipRouteType和ipRouteMask這幾項(xiàng)。其中,ipRouteDest表示路由的目的地址,ipRouteMask表示路由目標(biāo)地址的子網(wǎng)掩碼,將ipRouteDest和ipRouteMask按位與可以得到路由目標(biāo)地址所在的子網(wǎng);ipRoutelflndex表示路由本地接口的索引值,三層設(shè)備將目的地址為ipRouteDest的IP包通過(guò)該接口轉(zhuǎn)發(fā);ipRouteType表示了路由的類(lèi)型,當(dāng)路由類(lèi)型值為3(direct)時(shí),說(shuō)明三層設(shè)備直接連接到路由目的地址所在子網(wǎng),當(dāng)路由類(lèi)型值為4 (indirect)時(shí),說(shuō)明三層設(shè)備不直接連接到路由目的地址所在子網(wǎng),必須再經(jīng)過(guò)其它三層設(shè)備,即為路由表中的ipRouteNextHop,此時(shí)三層設(shè)備通過(guò)本地接口ipRoutelflndex與下一跳三層設(shè)備直接連接。
如何利用snmp協(xié)議發(fā)現(xiàn)大型復(fù)雜環(huán)境的網(wǎng)絡(luò)拓?fù)洌ńㄗh開(kāi)發(fā)自動(dòng)化工具的朋友可以看一下)
第二步:生成2層鏈路層網(wǎng)絡(luò)拓?fù)?br/>通過(guò)第一步,計(jì)算得到3層網(wǎng)絡(luò)拓?fù)?,所有接口分成兩大?lèi):
點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò),兩個(gè)接口直接互連;
多點(diǎn)對(duì)多點(diǎn)網(wǎng)絡(luò),三層在同一網(wǎng)段,需要在這一步得到互連關(guān)系。
2層網(wǎng)絡(luò)拓?fù)涞挠?jì)算,依據(jù)設(shè)備的MAC地址,路由器檢查ARP表,交換機(jī)檢查MAC地址
基于SNMP協(xié)議算法采集設(shè)備信息,可以通過(guò)SNMP采集或者登錄設(shè)備采集,優(yōu)先選擇SNMP采集。當(dāng)設(shè)備不支持SNMP采集時(shí),登錄設(shè)備采集。采集所有設(shè)備的接口IP地址、掩碼等信息:

舉例接口信息采集:

[root@localhost ~]# snmpwalk -v 2c -c 1qaz@WSX@ 100.100.100.1 1.3.6.1.2.1.31.1.1.1
ifName ifDescr ifOperStatus
如何利用snmp協(xié)議發(fā)現(xiàn)大型復(fù)雜環(huán)境的網(wǎng)絡(luò)拓?fù)洌ńㄗh開(kāi)發(fā)自動(dòng)化工具的朋友可以看一下)
在我的實(shí)際環(huán)境中,用戶(hù)通過(guò)接入交換機(jī)接入網(wǎng)絡(luò),接入交換機(jī)通過(guò)匯聚交換機(jī)和路由器相連,因此,如果某臺(tái)交換機(jī)的地址轉(zhuǎn)發(fā)表中只有一個(gè)端口含有其它交換機(jī)的mac,那么這臺(tái)交換機(jī)一定是接入交換機(jī),那個(gè)端口一定是上行端口。可以通過(guò)這個(gè)條件將交換機(jī)分成接入交換機(jī)和匯聚交換機(jī)兩個(gè)組,先判斷接入交換機(jī)與匯聚交換機(jī)的連接情況,在判斷匯聚交換機(jī)與匯聚交換機(jī)的連接情況,可以減少對(duì)比次數(shù)。

通過(guò)SNMP采集或者登錄設(shè)備采集,可以采集到路由器的ARP表或交換機(jī)的MAC地址表。得到以下表格,含義是某個(gè)設(shè)備的MAC地址,出現(xiàn)在另一個(gè)設(shè)備的某個(gè)接口上,示意如下。
如何利用snmp協(xié)議發(fā)現(xiàn)大型復(fù)雜環(huán)境的網(wǎng)絡(luò)拓?fù)洌ńㄗh開(kāi)發(fā)自動(dòng)化工具的朋友可以看一下)
如何利用snmp協(xié)議發(fā)現(xiàn)大型復(fù)雜環(huán)境的網(wǎng)絡(luò)拓?fù)洌ńㄗh開(kāi)發(fā)自動(dòng)化工具的朋友可以看一下)
從設(shè)備2層連接關(guān)系表得到直接連接關(guān)系表,可以用“去除末端法”。定義:“末端設(shè)備”,在設(shè)備2層連接關(guān)系表中,只有一個(gè)接口與表中其他設(shè)備相連的設(shè)備,稱(chēng)為“末端設(shè)備”。
定理2:在設(shè)備2層連接關(guān)系表中,如果設(shè)備甲是“末端設(shè)備”,而且設(shè)備乙的某個(gè)接口,只與設(shè)備甲相連,不與其他設(shè)備相連,則設(shè)備乙與設(shè)備甲直接相連。
操作方法流程圖:
如何利用snmp協(xié)議發(fā)現(xiàn)大型復(fù)雜環(huán)境的網(wǎng)絡(luò)拓?fù)洌ńㄗh開(kāi)發(fā)自動(dòng)化工具的朋友可以看一下)
得到設(shè)備2層直接連接關(guān)系表
如何利用snmp協(xié)議發(fā)現(xiàn)大型復(fù)雜環(huán)境的網(wǎng)絡(luò)拓?fù)洌ńㄗh開(kāi)發(fā)自動(dòng)化工具的朋友可以看一下)

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI