我正在为以太网交换机编写 SNMP 代理。
代理能够运行并回复提供SysDescr
。它采用模块化设计编写,因此可以非常轻松地添加 OID。
现在,我的意图是创建交换机的拓扑(比如环),并使用 HP-NNMi 或 OpenNMS 等通用网络管理系统发现拓扑(顺便说一句,我正在 OpenNMS 上进行测试)。
我只想知道,NMS 查询了哪些oid,以收集足够的信息来绘制拓扑?
[编辑]我可以通过MAC学习知道连接到交换机任何端口的远程交换机的MAC是什么。
每个 NMS 都使用其专有的拓扑发现。根据您的交换机支持的内容,您至少需要考虑
如果你支持 VLAN,你会想要描述这些。我们已经看到了 NMS 应用程序查询的其他 MIB。
您可以查看OpenNMS Enhanced Linkd文档。它将为您提供一些提示,哪些 OID 用于构建基于 LLDP、CDP 和桥 MIB 的第 2 层拓扑。为了构建基于 Bridge MIB 的拓扑,OpenNMS 实现了大型以太网拓扑发现中描述的算法。您还会发现用于构建 OSPF 和 IS-IS 拓扑的提示信息。
答案取决于您希望通过以太网交换机捕获的拓扑类型。通常对于第二层交换机(似乎是这种情况)LLDP MIB(这是由许多交换机实现的 IEEE 标准)非常有用。根据您上面的描述,您有关于端口上的 MAC 的信息,您可能可以走这条路。您可能还想查看其他一些物理拓扑 MIB(如RFC2292 )。