我需要一点帮助才能理解 ipNetToPhysicalEntry OID 1.3.6.1.2.1.4.35.1 究竟包含哪些信息。我认为它是 Neighbor Cache 和 ARP Cache 之间的组合,但是当我读完这个 OID 时,比如说 snmpwalk,我没有得到我的路由器 Neighbor Cache 和 ARP Cache 中的所有内容。哪些信息在里面,哪些不在里面的标准是什么?我在哪里可以看到它的定义?
当我使用 ipNetToPhysicalEntry OID 时,需要帮助了解通过 SNMP 传输的内容
除了 Ricky 的回答之外,您还可以使用该snmptranslate
实用程序来转储有关 SNMP 表的信息以及表条目的索引方式等。这些-Tp -IR
标志将告诉snmptranslate
您打印表的树视图。一个非常有用(和被忽视)的实用程序 IMO。
这是ipNetToPhysicalTable
(这是 ipNetToPhysicalEntry 所属的表对象)的输出:
jjensen@VA1-NETOPS-DEV-01:~/.snmp$ snmptranslate -M +mibs -m +ALL -Tp -IR ipNetToPhysicalTable
+--ipNetToPhysicalTable(35)
|
+--ipNetToPhysicalEntry(1)
| Index: ipNetToPhysicalIfIndex, ipNetToPhysicalNetAddressType, ipNetToPhysicalNetAddress
|
+-- ---- Integer32 ipNetToPhysicalIfIndex(1)
| Textual Convention: InterfaceIndex
| Range: 1..2147483647
+-- ---- EnumVal ipNetToPhysicalNetAddressType(2)
| Textual Convention: InetAddressType
| Values: unknown(0), ipv4(1), ipv6(2), ipv4z(3), ipv6z(4), dns(16)
+-- ---- String ipNetToPhysicalNetAddress(3)
| Textual Convention: InetAddress
| Size: 0..255
+-- CR-- String ipNetToPhysicalPhysAddress(4)
| Textual Convention: PhysAddress
| Size: 0..65535
+-- -R-- TimeTicks ipNetToPhysicalLastUpdated(5)
| Textual Convention: TimeStamp
+-- CR-- EnumVal ipNetToPhysicalType(6)
| Values: other(1), invalid(2), dynamic(3), static(4), local(5)
+-- -R-- EnumVal ipNetToPhysicalState(7)
| Values: reachable(1), stale(2), delay(3), probe(4), invalid(5), unknown(6), incomplete(7)
+-- CR-- EnumVal ipNetToPhysicalRowStatus(8)
Textual Convention: RowStatus
Values: active(1), notInService(2), notReady(3), createAndGo(4), createAndWait(5), destroy(6)
现在您可以看到表中的条目应该如何被索引,以及构成表的 OID。前 3 个条目是索引。表中的每个条目都将具有这 3 个索引 - 本质上是 ipNetToPhysicalIfIndex + ipNetToPhysicalNetAddressType + ipNetToPhysicalNetAddress。然后随后在该表的一行中有 5 个“列”:
- ipNetToPhysicalPhysAddress
- ipNetToPhysicalLastUpdated
- ipNetToPhysicalType
- ipNetToPhysicalState
- ipNetToPhysicalRowStatus
这是我的一台设备的示例:
IP-MIB::ipNetToPhysicalPhysAddress.1.ipv4."10.200.17.34" = STRING: 74:8e:f8:62:59:41
所以把它想象成表中的一个行条目,我们从行中挑选出第 1 列,即 ipNetToPhysicalPhysAddress。所以在这个特定的条目中,.1.ipv4."10.200.17.34"
部分是条目的索引。1 是学习 ARP 条目的接口的 ifIndex,'ipv4' 是 ipNetToPhysicalNetAddressType,它是其中之一:unknown(0), ipv4(1), ipv6(2), ipv4z(3), ipv6z(4), dns(16)
最后是 ARP 条目的 IP 地址,10.200.17.34。这三件事构成了该条目的索引。然后,该特定索引处的 ipNetToPhysicalPhysAddress 值就是 MAC 地址748e.f862.5941
。
但是当我读完这个 OID 时,比如说 snmpwalk,我没有得到我的路由器邻居缓存和 ARP 缓存中的所有内容。
这很可能是您设备的 SNMP 实现的问题(顺便说一下,您已经向我们提供了零信息)。如果您可以编辑原始问题以包含此信息以及snmpbulkwalk
针对ipNetToPhysicalTable
表格的输出,那将会很有用。此外,你可以尝试做一个snmpbulkwalk
反对ipv6NetToMediaTable
,看看你是否从中得到了结果。
用于从 IP 地址映射到物理地址的 IP 地址转换表。
地址转换表包含 IP 地址到“物理”地址的等效项。某些接口不使用转换表来确定地址等价性(例如,DDN-X.25 具有算法方法);如果所有接口都属于这种类型,则地址转换表为空,即具有零个条目。
虽然可以使用许多协议来填充此表,但 ARP 和邻居发现是最有可能的选项。
(使用 c1811 @ 15.1.4-M7 进行测试)
snmpwalk
(或snmpbulkwalk
) 显示 20 个元素。这是完全正确的:19 个 IPv4 和 1 个 IPv6。snmptable
但是,除非被告知使用批量请求,否则无法正确填充。
rtr1811#show arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 10.xx.xx.1 - 0023.5ee6.1d38 ARPA Vlan1
Internet 10.xx.xx.201 205 001b.243e.1226 ARPA Vlan1
Internet 10.xx.xx.202 0 001b.245d.686a ARPA Vlan1
Internet 10.xx.xx.252 65 0009.3d10.c3c7 ARPA Vlan1
Internet 72.xxx.xxx.1 0 00a0.c8a7.5f19 ARPA FastEthernet0
Internet 72.xxx.xxx.11 - 0023.5ee6.1d38 ARPA FastEthernet0
Internet 72.xxx.xxx.14 0 00d0.b780.a68f ARPA FastEthernet0
Internet 192.168.xx.1 12 0004.23c6.a4ec ARPA FastEthernet1
Internet 192.168.xx.5 69 001c.581d.0d1b ARPA FastEthernet1
Internet 192.168.xx.8 - 0023.5ee6.1d39 ARPA FastEthernet1
Internet 192.168.xx.9 40 0013.807a.7773 ARPA FastEthernet1
Internet 192.168.xx.25 10 0009.3d10.c3c6 ARPA FastEthernet1
Internet 192.168.xx.42 8 0021.2875.9eb6 ARPA FastEthernet1
Internet 192.168.xx.100 1 0014.2232.d375 ARPA FastEthernet1
Internet 192.168.xx.103 0 4061.860d.aa18 ARPA FastEthernet1
Internet 192.168.xx.113 0 4061.860d.aa2e ARPA FastEthernet1
Internet 192.168.xx.171 0 0009.3d12.d8a1 ARPA FastEthernet1
Internet 192.168.xx.172 0 0009.3d12.e10a ARPA FastEthernet1
Internet 192.168.xx.249 10 d07e.28d1.4201 ARPA FastEthernet1
rtr1811#show ipv6 neighbors
IPv6 Address Age Link-layer Addr State Interface
...:021B:24FF:FE3E:1226 0 001b.243e.1226 REACH Vl1
[批量请求]
[root:pts/5{4}]spork:~/[05:52 PM]:snmptable -CB -v 2c -c [] -m ALL 192.168.xx.8 ipNetToPhysicalTable
SNMP table: IP-MIB::ipNetToPhysicalTable
ipNetToPhysicalPhysAddress ipNetToPhysicalLastUpdated ipNetToPhysicalType ipNetToPhysicalState ipNetToPhysicalRowStatus
"00 A0 C8 A7 5F 19 " 0:0:00:45.10 dynamic unknown active
"00 23 5E E6 1D 38 " 0:0:00:45.10 static unknown active
"00 D0 B7 80 A6 8F " 0:0:00:45.10 dynamic unknown active
"00 04 23 C6 A4 EC " 0:0:00:45.14 dynamic unknown active
"00 1C 58 1D 0D 1B " 0:0:00:45.14 dynamic unknown active
"00 23 5E E6 1D 39 " 0:0:00:45.14 static unknown active
"00 13 80 7A 77 73 " 0:0:00:45.14 dynamic unknown active
"00 09 3D 10 C3 C6 " 0:0:00:45.14 dynamic unknown active
"00 21 28 75 9E B6 " 0:0:00:45.14 dynamic unknown active
"00 14 22 32 D3 75 " 0:0:00:45.14 dynamic unknown active
"40 61 86 0D AA 18 " 0:0:00:45.14 dynamic unknown active
"40 61 86 0D AA 2E " 0:0:00:45.14 dynamic unknown active
"00 09 3D 12 D8 A1 " 0:0:00:45.14 dynamic unknown active
"00 09 3D 12 E1 0A " 0:0:00:45.14 dynamic unknown active
"D0 7E 28 D1 42 01 " 0:0:00:45.14 dynamic unknown active
"00 23 5E E6 1D 38 " 0:0:00:45.22 static unknown active
"00 1B 24 3E 12 26 " 0:0:00:45.22 dynamic unknown active
"00 1B 24 5D 68 6A " 0:0:00:45.22 dynamic unknown active
"00 09 3D 10 C3 C7 " 0:0:00:45.22 dynamic unknown active
"00 1B 24 3E 12 26 " 45:17:36:28.75 dynamic stale active
[非散装]
[root:pts/5{4}]spork:~/[05:53 PM]:snmptable -v 2c -c [] -m ALL 192.168.xx.8 ipNetToPhysicalTable
SNMP table: IP-MIB::ipNetToPhysicalTable
ipNetToPhysicalPhysAddress ipNetToPhysicalLastUpdated ipNetToPhysicalType ipNetToPhysicalState ipNetToPhysicalRowStatus
"00 D0 B7 80 A6 8F " 0:0:00:45.10 dynamic unknown active
"D0 7E 28 D1 42 01 " 0:0:00:45.14 dynamic unknown active
"00 21 28 75 9E B6 " 0:0:00:45.14 dynamic unknown active
"00 14 22 32 D3 75 " 0:0:00:45.14 dynamic unknown active
"40 61 86 0D AA 18 " 0:0:00:45.14 dynamic unknown active
"40 61 86 0D AA 2E " 0:0:00:45.14 dynamic unknown active
"00 09 3D 10 C3 C7 " 0:0:00:45.22 dynamic unknown active
"00 1B 24 3E 12 26 " 45:17:41:29.78 dynamic stale active