snmp网络发现标识连接到路由器的设备的mac地址

snmp网络发现标识连接到路由器的设备的mac地址,snmp,Snmp,我正在开发一个网络发现程序,该程序使用snmp来发现网络中的设备。我的程序将路由器ip作为输入,扫描IProtectable(iprouttenext-hop),以确定是否有其他路由器连接到它。对于非路由器设备(如交换机),算法扫描路由器的arptable(ipnettomediatable),但除非从交换机ping到路由器,否则无法找到连接的交换机。有什么方法可以确定直接连接到路由器的设备吗?我正在使用java snmp代理的消息将设备连接到路由器或交换机并不是那么容易。交换机通常维护一个MA

我正在开发一个网络发现程序,该程序使用snmp来发现网络中的设备。我的程序将路由器ip作为输入,扫描IProtectable(iprouttenext-hop),以确定是否有其他路由器连接到它。对于非路由器设备(如交换机),算法扫描路由器的arptable(ipnettomediatable),但除非从交换机ping到路由器,否则无法找到连接的交换机。有什么方法可以确定直接连接到路由器的设备吗?

我正在使用java snmp代理的消息将设备连接到路由器或交换机并不是那么容易。交换机通常维护一个MAC转发数据库,存储在哪个交换机端口上看到的MAC地址。通过使用桥接器MIB,可以很容易地读取此表。不幸的是,有几个问题需要注意:

  • 当连接到交换机的设备已关闭或根本不通信时,这些条目再次消失。通常,MAC转发表中的条目在大约5分钟后过期
  • 在交换机端口上看到MAC地址并不意味着具有MAC地址的设备直接连接到该端口。中间可能有任意数量的其他交换机、路由器或集线器
  • 一些制造商,如Cisco或HP,使用他们自己的协议来确定网络拓扑。有几种协议(该区域通常也可通过SNMP MIB获得):

  • CDP(Cisco发现协议):这是Cisco开发的专有协议,用于公开网络拓扑信息。一些供应商许可了这项技术,并在其产品中实现了该协议
  • LLDP(链路层发现协议):类似于CDP的标准,但不支付Cisco许可证费用:-)
  • 还有更多。我知道Extreme Networks有自己的协议,我很肯定其他供应商也有
  • 这些协议的问题是当您有一个混合环境时。使用CDP的Cisco交换机不了解Extremen Network的协议,反之亦然

    如果您的目标是查找要查找的IP地址,那么您可以使用路由器的ARP缓存。扫描ARP缓存中的交换机没有实际意义,因为它们在第2层上运行