网络设备链路发现算法

网管软件的ip拓扑用于直观的表现网络设备间的链路连接状况,实时刷新各条链路状态信息,排除故障

如何自动的识别出设备间存在的链路,各条物理链路的两端连接了哪两个设备,用了哪两个接口,是实现ip topo的关键

而网管软件计算设备间链路的关键数据就是设备arp表。

windows下,使用arp命令即可显示arp信息:

C:\Documents and Settings\cj>arp -a

Interface: 192.168.1.105 — 0x2

  Internet Address      Physical Address      Type

  192.168.1.1           40-16-9f-21-6e-0a     dynamic

arp表信息里显示了当前网络设备的各个物理接口学习到的其它网络接口的mac地址以及网络层ip地址

由于arp学习的一定是同一网段的设备,不会跨网段,即跨网关,所以可以认为这些学习到的设备接口和当前设备的接口在网络层就是直连的

这里有一个问题就是忽略了设备和当前三层交换机或路由器之间存在二层交换机的情况,二层交换机本身没有网段的概念,也就不支持arp表哦

还有一个问题,从arp表发现链路要求对端必须是配置了ip地址的三层物理口,如果连接的是二层交换机设备的物理口,arp学到的是其所属vlan虚拟口的mac,

也就不能直接获取到了所连接的物理二层口了。这种情况,我们可以先通过网段信息确定具体是哪个vlan虚接口

再通过查看其mac信息来进一步的获取到实际连接的物理接口

H3C交换机的对应命令为:display mac-address vlan  100

点赞