请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

为什么第二个网关发ARP协议会拒收数据包

如题,第一个网关发ARP都没有拒收,第二个就拒收这下就不太明白了,我理解的是第二个网关发完ARP之后路由表就会有目的mac地址,然后就知道该把数据包传给谁了

正在回答 回答被采纳积分+3

1回答

AlexWang 2024-02-21 08:40:13

你好,你说的是第二个路由器拒收ICMP报文吗?这个的原因是:此时路由器2虽然知道从哪个端口转发报文(路由表中有配置),但是却不知道目的主机的mac地址(因为此时是在一个网络内部传输,所以需要知道mac地址),所以还是无法处理此报文,只好丢弃,自己通过arp协议获取到目的IP对应的mac地址保存下来

0 回复 有任何疑惑可以回复我~
  • 提问者 sleeping_cat #1
    第一台电脑发消息前是不知道第一个路由器的mac地址,所以第一台电脑要先发arp获取到路由mac地址,再把msg发给路由(我这里的理解没错吧?)
    
    当第二台路由器收到msg之后,他也是不知道第二台电脑的mac地址,所以第二台路由器会先发一个arp获取第二台电脑的mac地址。
    
    但是奇怪的地方就是为啥同样是发arp获取mac,第一台电脑发完arp时没有丢弃msg,而第二个路由发arp后却有?按照视频说的,正常第一台电脑要发两次msg才能到第一个路由,这里就不明白了,我以为第二台路由是发完arp成功获取到目的电脑的mac后,继续把msg发下去。
    回复 有任何疑惑可以回复我~ 2024-02-21 14:18:53
  • AlexWang 回复 提问者 sleeping_cat #2
    前面的理解没问题。路由器2丢弃ICMP数据包是因为它不知道要发送主机的MAC地址,所以无法处理收到的数据包,只能丢弃;第一台电脑不丢弃ICMP数据包是因为,这就是它发的;路由器1不丢弃是因为它知道怎么处理这个数据包
    回复 有任何疑惑可以回复我~ 2024-02-21 16:37:23
  • 提问者 sleeping_cat 回复 AlexWang #3
    感谢~
    回复 有任何疑惑可以回复我~ 2024-02-21 20:17:14
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信