采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
如题,第一个网关发ARP都没有拒收,第二个就拒收这下就不太明白了,我理解的是第二个网关发完ARP之后路由表就会有目的mac地址,然后就知道该把数据包传给谁了
你好,你说的是第二个路由器拒收ICMP报文吗?这个的原因是:此时路由器2虽然知道从哪个端口转发报文(路由表中有配置),但是却不知道目的主机的mac地址(因为此时是在一个网络内部传输,所以需要知道mac地址),所以还是无法处理此报文,只好丢弃,自己通过arp协议获取到目的IP对应的mac地址保存下来
第一台电脑发消息前是不知道第一个路由器的mac地址,所以第一台电脑要先发arp获取到路由mac地址,再把msg发给路由(我这里的理解没错吧?) 当第二台路由器收到msg之后,他也是不知道第二台电脑的mac地址,所以第二台路由器会先发一个arp获取第二台电脑的mac地址。 但是奇怪的地方就是为啥同样是发arp获取mac,第一台电脑发完arp时没有丢弃msg,而第二个路由发arp后却有?按照视频说的,正常第一台电脑要发两次msg才能到第一个路由,这里就不明白了,我以为第二台路由是发完arp成功获取到目的电脑的mac后,继续把msg发下去。
前面的理解没问题。路由器2丢弃ICMP数据包是因为它不知道要发送主机的MAC地址,所以无法处理收到的数据包,只能丢弃;第一台电脑不丢弃ICMP数据包是因为,这就是它发的;路由器1不丢弃是因为它知道怎么处理这个数据包
感谢~
登录后可查看更多问答,登录/注册
系统学习网络底层知识,提升核心竞争力
621 8
496 6
199 5
292 5
241 4