网关在没有数据链路层 (L2) 连接的情况下发送数据包 (L3)

网关在没有数据链路层 (L2) 连接的情况下发送数据包 (L3)

非常简单的问题:

#tcpdump -i wlp2s0 
[..]

16:33:37.328154 IP 185.29.43.134.https > achille.43692: Flags [FP.], seq 2980347197:2980347221, ack 988779763, win 63, options [nop,nop,TS val 4014285248 ecr 1087607705], length 24
16:33:42.345323 ARP, Request who-has achille tell _gateway, length 28
16:33:43.267564 ARP, Request who-has achille tell _gateway, length 28
16:33:44.291484 ARP, Request who-has achille tell _gateway, length 28
16:33:52.893459 IP 185.108.33.7.https > achille.33164: Flags [P.], seq 1790963150:1790965634, ack 3659102388, win 31, options [nop,nop,TS val 2212917620 ecr 1216687482], length 2484
16:33:52.893487 IP 185.108.33.7.https > achille.33164: Flags [P.], seq 2484:2515, ack 1, win 31, options [nop,nop,TS val 2212917620 ecr 1216687482], length 31
16:33:53.812781 ARP, Request who-has achille tell _gateway, length 28

在 16:33:42 我的网关(在我的 3g 路由器上)看起来无法联系我的机器(achille),因为我已经刷新了 arp 表,我不断刷新它,所以没有更新发送到网关。也没有到 gw 的路由(这应该可以防止我的机器广播 arp 请求?)。所以gw通过arp广播喊叫,但她怎么能在16:33:52在端口443上向我发送2个数据包(知道没有完整的数据链路层连接?

谢谢大家!!

答案1

最初的“Who-Has achille”ARP 被发送到广播地址(255.255.255.255,任何听到此消息的人 - 都是给你的)。该数据包还包含发送该数据包的 NIC 的 48 位 MAC 地址。 DHCP 服务器使用 MAC 地址进行回复,回复数据包发送到您的网卡,完成。数据链路层不使用“连接”。您的 ARP 表包含您在本地以太网 (L2) 上接收数据包的 NIC 的 MAC 地址。

相关内容