返回信息流我在linux路由器的核心路由表内添加了目的地址,
比如去往192.168.1.187的数据包从eth1转发,
可实际上ping 192.168.1.187时,这台Linux路由器没有直接将ICMP转发,而是从eth1发出了ARP。
这是为什么?
我可否让ICMP包直接从eth1转发?
这是一条镜像帖。来源:北邮人论坛 / communications / #5513同步于 2008/3/20
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Communications机器人发帖
linux路由:为什么收到数据包在对其转发前要做ARP
maniac
2008/3/20镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
【 在 maniac 的大作中提到: 】
: 我在linux路由器的核心路由表内添加了目的地址,
: 比如去往192.168.1.187的数据包从eth1转发,
: 可实际上ping 192.168.1.187时,这台Linux路由器没有直接将ICMP转发,而是从eth1发出了ARP。
: ...................
它不知道192.168.1.187MAC地址
或者这么说,它不知道下一跳的MAC地址
如果它的路由表里面设置的下一跳包含了192.168.1.187(即这个IP属于该子网)
这个ARP包的格式应该是:
目的MAC 源MAC 源MAC+源IP 目的MAC + 目的IP
广播MAC地址 端口eth1的MAC地址 同前 空 192.168.1.187