我剛剛在一週前開始使用SNMP。我正在創建一個應該從交換機收集信息的java程序。來自使用SNMP的交換機的怪異答案,用於創建有關接口/端口的信息
我用下面的MIB
IF-MIB,BRIDGE-MIB
我的目標是物理端口與接口的鏈路。
當我「snmpwalked」ifName我有26個不同的接口。 [Vl1,Vl53,Gi0/1,Gi0/2,Gi0/3,Gi0/4,Gi0/5,Gi0/6,Gi0/7,Gi0/8,Gi0/9,Gi0/10,Gi0/12,Gi0/13,Gi0/14,Gi0/15,Gi0/16,Gi0/17,Gi0/18,Gi0/19,Gi0/20,Gi0/21,Gi0/22,Gi0/23,Gi0/24 ,Nu0,的Fa0]
「snmpwalked」 的ifIndex
[1,53,10101,10102,10103,10104,10105,10106,10107,10108,10109,10110,10111,10112,10113,10114, 10115,10116,10117,10118,10119,10120,10121,10122,10123,10124,10501,10502]
現在我使用的網橋MIB到端口鏈接到接口: 「snmpwalk的」 dot1dBasePort
[2,3,4,5,6,7,8,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24]
「snmpwalk的」 dot1dBasePortIfIndex
[10102,10103,10104,10105,10106,10107,10108,10110,10111,10112,10113,10114,10115,10116,10117,10118,10119,10120,10121,10122,1,10124]
也就是說,端口號2鏈接到接口10102等等。
奇怪的是,根據ifName/ifIndex結果,應該有一個物理端口'1'和一個物理端口'9',但它們似乎沒有了。或者,也許我誤解了一些東西:<
正如你可以看到有一個接口10101,但沒有端口鏈接到該接口。
如果有人有一個解釋這一點,我會很高興:)
啊,我忘了提及的一件事。無論如何我都無法使用這個開關。我唯一擁有的是從交換機中獲取的轉儲,在這種情況下是一個Cisco交換機(轉儲應該是正確的,因爲它是從網絡上正在運行的交換機獲取的)。我只是想解釋答案。所以我不確定Gi0/1和Gi0/9,但從這個結果我應該假設他們不是橋樑的一部分? – Phantaquh 2010-07-21 23:17:55
@Phantaquh:根據我的經驗,您不應該假設任何有關SNMP的內容。讓有人能夠訪問交換機來查看它,並看看當你從橋上添加/刪除一個接口時會發生什麼 – Andomar 2010-07-22 04:59:07
非常感謝你的回答Andomar :)。我不確定我可以訪問它。但我所做的程序應該是通過僅使用「GET」/「GETNEXT」命令等來創建交換機的模型,並且它將涵蓋所有可能的情況和例外。那麼我會看看我能做些什麼,如果我弄明白了,我一定會在這裏發佈。謝謝。 – Phantaquh 2010-07-23 15:45:36