扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在本页阅读全文(共3页)
5、执行完添加静态路由的命令后,在PC1中再次执行命令"route print"后,发现PC1的路由表中,已经包含了到网络172.16.0.0/16的路由,如图7所示。
(图7 PC1路由表中包含了到PC2网络的路由)
6、既然PC1中的路由表中已经包括了到达网络172.16.0.0/16的路由,那是不是在PC1上就能ping通172.16.1.1了?结果如图8所示,这时PC1还是不能ping通PC2。
(图8 在主机PC1上还是ping不通PC2)
这是因为,虽然PC1路由表中包含有到PC2的路由,这样在PC1上发送具有目的IP地址是172.16.1.1的ping包时,数据包能够到达PC2。但是当PC2收到ping包后,PC2依据ping的性质,还要把ping包再发送回PC1,在PC1收到PC2返回的ping包后,一个完整的ping过程才结束。
但是当PC2发送ping包前,它在自己的路由表中要查找,有没有到达目的网络地址是10.0.0.0/8的路由,但是它没有找到这项路由。在这种情况下PC2就自动丢弃了这个ping包,所以PC1也就收不到由PC2返回的ping包,自然也就有了图8所示的结果。
7、不过这时在PC1上,也发生了一个明显的变化。当再次在命令行中执行命令"arp -a"后,发现PC1的ARP表中多了一项IP地址172.16.1.1和PC2的MAC地址的绑定项,如图9所示。
(图9 PC1中已有了包含PC2的ARP表项)
这是因为,当在PC1上执行"ping 172.16.1.1"命令后,PC1首先在路由表中找到了到达网络172.16.0.0/16的路由表项,然后就对数据包进行三层封装。当三层封装完成后,PC1就要根据172.16.1.1对应的MAC地址,对数据包进行二层封装。这是因为只有把正确的MAC地址封装进数据帧后,数据包才能在以太网中被正确的送达目的地,因为在以太网中只依据二层MAC地址,而不是三层IP地址传输数据。但这时当PC1在ARP表中查找172.16.1.1的MAC地址时,它并没有找到。
这时PC1就会发出一个广播包,询问谁有IP地址172.16.1.1的MAC地址,当PC2收到这个广播包后,发现172.16.1.1这个IP地址和自己的IP地址一样,就给PC1返回一个数据包,数据包中就包括有和172.16.1.1对应的MAC地址,当PC1收到这个数据包后,就会在自己的ARP表中添加与IP地址172.16.1.1对应的MAC地址表项,所以当再次执行"arp -a"命令后,就能看到多了这一项。
那为什么第一次执行"arp -a"命令时,PC1的ARP表中没有与172.16.1.1对应的MAC地址绑定呢?因为第一次在PC1上执行ping 172.16.1.1命令时,PC1在路由表中没有找到与网络172.16.0.0/16对应的路由,这时PC1就自动放弃了封装三层数据包的行为,既然三层数据包都没有进行封装,就更谈不上在PC1中进行二层封装了,所以PC1也就没有必要知道与172.16.1.1对应的MAC地址了,也就没有再发送一个广播包询问与172.16.1.1对应的MAC地址。所以,第一次执行"arp -a"命令时,PC1的ARP表中并没有与172.16.1.1对应的MAC地址表项。
8、既然现在知道在PC1上ping不通PC2是因为,在PC2上没有到达网络10.0.0.0/8的路由,那现在就在PC2上添加一条静态路由,如图10所示,格式和在PC1上添加到网络172.16.0.0/16的路由格式是一样的。
(图10 在主机PC2上添加静态路由)
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者