当 lwIP 接收到 ARP 包后,它会执行以下操作:\n\n1. 首先,lwIP 会检查 ARP 包的目标 IP 地址是否与本地 IP 地址匹配。如果匹配,则说明该 ARP 包是针对本地设备的,否则忽略该 ARP 包。\n\n2. 如果目标 IP 地址与本地 IP 地址匹配,lwIP 会检查 ARP 包的操作码(opcode)。如果操作码是 ARP 请求(ARP Request),则 lwIP 会生成一个 ARP 响应(ARP Reply)并发送回去。这个 ARP 响应包含本地设备的 MAC 地址和 IP 地址。\n\n3. 如果操作码是 ARP 响应(ARP Reply),则 lwIP 会将发送 ARP 请求的设备的 MAC 地址与其 IP 地址关联起来,并将其添加到 ARP 缓存中。\n\n4. lwIP 还会检查 ARP 缓存中是否有其他设备的 IP 地址与发送 ARP 请求的设备的 IP 地址相同。如果有,它会更新该设备的 MAC 地址。\n\n5. 如果 ARP 缓存中没有与发送 ARP 请求的设备的 IP 地址相同的条目,则 lwIP 会将发送 ARP 请求的设备的 IP 地址与其 MAC 地址添加到 ARP 缓存中。\n\n总之,lwIP 接收到 ARP 包后会根据操作码进行相应的处理,并更新或添加 ARP 缓存中的条目。这样,lwIP 就能够根据 IP 地址查找对应的 MAC 地址,以便进行数据包的发送和接收。


原文地址: https://www.cveoy.top/t/topic/pQS8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录