跳到主要内容

8. 网络监控 (Network Monitoring)

上述地址解析协议允许机器获取以太网电缆上高层协议活动 (如 CHAOS, Internet, PUP, DECnet) 的相关信息. 它可以确定哪些以太网协议类型字段正在使用 (按值), 以及每种协议类型内的协议地址. 事实上, 监控器无需支持任何涉及的高层协议. 具体方式如下:

当监控器收到地址解析数据包时, 它始终将 <protocol type, sender protocol address, sender hardware address> 录入表中. 它可以从数据包的 ar$hlnar$pln 字段确定硬件和协议地址的长度. 如果操作码为 REPLY, 监控器可以丢弃该数据包. 如果操作码为 REQUEST 且目标协议地址与监控器的协议地址匹配, 则监控器像正常情况一样发送 REPLY. 监控器通过这种方式只能获得一个映射, 因为对 REQUEST 的 REPLY 将直接发送给请求主机. 监控器可以尝试发送自己的 REQUEST, 但这可能导致两个监控器陷入 REQUEST 发送循环, 需谨慎处理.

由于协议和操作码未合并为一个字段, 监控器无需知道同一高层协议的哪个请求操作码与哪个回复操作码对应. 长度字段也应提供足够信息以"解析"协议地址, 尽管它不了解协议地址的含义.

地址解析协议的可用实现也可用于调试不可用的实现. 硬件驱动程序通常会成功广播以太网类型字段为 ether_type$ADDRESS_RESOLUTION 的数据包. 数据包格式可能不完全正确, 因为初始实现可能存在错误, 表管理也可能略有复杂. 由于请求是广播的, 监控器将收到该数据包, 并可根据需要显示以供调试.