Ping机制的思考以及在计算机网络中的考察方式(背景一)

纵观几年计算机网络的大题,但凡涉及到让我们从那张四十字节的图中找出题目所需信息的,都是基于一定的应用背景。。其中ping就是一个。所以本文需要分析一下PING机制。

PING:Packet Internet Groper 因特网包探测器

ping发送的是ICMP报文(internet control message protocol)因特网控制信息协议

原理:利用IP地址的唯一性,向目标IP地址发送一个IP数据包,要求对方返回一个同样大小的数据包,以确定两台网络机器是否连通,以及时延是多少。

注:以地址127开头的IP地址是保留用作环路测试的IP地址,因此ping 127.0.0.1,表示在本机进程之间传递ICMP数据包,如果可以ping通,表示本机协议栈运行正常。

ping的工作流程:

我们以一个网络为例:有A B C D四台电脑,一台路由器R,子网掩码均为255.255.255.0,默认路由为192.168.0.1

1.在同一网段内的情况

假设在主机A上运行ping 192.168.0.5

首先,ping命令会去构建一个固定格式的ICMP请求数据包,然后由ICMP协议将这个数据包连同地址 192.168.0.5一起交给IP层协议,IP层协议将以192.168.0.5作为目的地址,本机IP作为源IP地址,加上一些其他的控制信息,构建一个 IP数据包,并想办法得到192.168.0.5的MAC地址(此处是用ARP协议),IP层协议通过B的IP地址和自己的子网掩码,发现它跟自己同属一个网络,就直接在本网路内部查找这台机器的MAC。之后主机B收到数据链路帧,发现是发给自己的,于是接收,接收后检查该数据帧,将IP数据包从帧中提取出来,交给本机的IP层协议。

同样,IP层检查后,将有用的信息提取后交给ICMP协议,ICMP协议发送ICMP应答包,发送给主机A,于是ping通。

若ping不通,则发出超时。

2.不在一个网段内的情况。

发现不在一个网段内,ARP协议解析路由器的MAC地址即可,其他过程还是一样的。

例1:source:王道模拟题

分析:数据报是该ping产生的,肯定源和目的IP符合,检查即可,

本题是简单题,只是为了让你明白有这样一个背景的存在。

猜你喜欢

转载自blog.csdn.net/weixin_42682806/article/details/84453870