1

我正在尝试使用手册从 Cisco 交换机上的端口号获取 MAC 地址表。

为此我做

snmpwalk .1.3.6.1.2.1.17.4.3.1.1获取MAC地址表;

snmpwalk .1.3.6.1.2.1.17.4.3.1.2获取桥接端口号;

snmpwalk .1.3.6.1.2.1.17.1.4.1.2获取到 ifIndex 映射的桥端口。

但我面临的问题如下:我有一个 MAC 的多个网桥端口号:即第一个 snmp 包含

SNMPv2-SMI::mib-2.17.4.3.1.1.0.14.94.0.119.122 = Hex-STRING: 00 0E 5E 00 77 7A 
SNMPv2-SMI::mib-2.17.4.3.1.1.0.14.94.10.250.7 = Hex-STRING: 00 0E 5E 0A FA 07

而第二个:

SNMPv2-SMI::mib-2.17.4.3.1.2.0.14.94.0.119.122 = INTEGER: 6
SNMPv2-SMI::mib-2.17.4.3.1.2.0.14.94.10.250.7 = INTEGER: 6

所以...我应该使用哪个 MAC 作为桥接端口号6

ps:我不是管理员,如果问题很愚蠢,请见谅,在此先感谢!

4

3 回答 3

1

我猜您正在寻找一些网络拓扑之类的东西。
这里有一些非常好的算法来做同样的事情。

它描述了从交换机或路由器获取数据时的生成树协议和 FDB 处理。(pdf 中的算法 3 和 4)。

我希望,它可以帮助你。

于 2011-07-13T06:51:13.593 回答
1

您正在查看“转发数据库”(FDB)。您所看到的是特定 MAC 地址将被转发哪个端口。如果多个系统连接到该端口——例如,因为您插入端口的是交换机本身——那么多个 MAC 地址将映射到 FDB 中的同一个端口。

你到底想做什么?为什么你认为这是 StackOverflow 的主题?:-)

于 2011-07-13T05:37:20.030 回答
0

如上所述,正确的答案是您应该使用两个 MAC 地址,因为两个 MAC 地址都出现在该特定接口上(Mac 地址表条目具有多对一的关系)。

但是,您拥有的端口号只是桥接端口号。您必须使用 dot1dBasePortIfIndex => ifName 映射将其转换为接口名称。

于 2012-02-28T08:07:05.700 回答