本帖最后由 appleorapple 于 2017-10-23 08:36 编辑
在互联网应用中,ping命令是一个进行网络连接测试的程序,对应的程序名为“ping.exe”。 以电脑A的IP"171.42.15.25"和百度的IP"61.135.369.121"为例。首先,ping产生一个固定格式的ICMP数据包,通过ICMP协议将这个数据包以及百度IP"61.135.369.121"一起交给IP层。其次,IP层协议将以"61.135.369.121"为目的地址以电脑A"171.42.15.25"为源地址再附加其他一些控制信息构建一个IP数据包,并在映射表中查找"61.135.369.121”的MAC地址,一同交给数据链路层。最后数据链路层构建一个数据帧附带些控制信息依据网络连接规则进行传输。
百度服务器收到电脑A 的数据帧后,先检查它的目的地址,如果与本机的MAC地址相符则收之反之则弃之。接收后检查该数据帧,将提取的的IP数据包交给IP层协议。IP层提取有用的信息交给ICMP协议,ICMP处理后产生ICMP应答包发送回电脑A,过程与电脑A发ICMP数据包给百度服务器一样。
如果电脑A收到百度的应答包,说明电脑A与百度的去、回通路正常。
如果出现只能单向ping通的情况,一般是一方设置了防火墙,或者是ip地址设置错误,前者可以通过更改防火墙设置改变,图一为一个执行ping指令后显示网络正常的实例图。(补充:可以通过tracert 网址 来追踪连通时经过的路由)
图一 ping实例
|