app教程网 学习教程 测网络丢包ping命令(简述ping命令的工作原理)

测网络丢包ping命令(简述ping命令的工作原理)

在网络应用中,ping网速和IP地址是非常常用的命令,但是你知道ping命令的工作原理吗?要了解其中的奥秘,我们有必要看看Ping命令是如何工作的。

接下来,我今天就给大家介绍一下ping命令的细节。

假设主机A的IP地址是192.168.1.1,主机B的IP地址是192.168.1.2,两者在同一个子网。在主机A上运行“Ping 192.168.1.2”会发生什么?首先,

Ping命令会构建一个固定格式的ICMP请求包,然后ICMP协议会把这个包连同地址“192.168.1.2”一起交给IP层协议(和ICMP一样,其实是一组在后台运行的进程)。

IP层协议将使用地址“192.168.1.2”作为目的地址,使用本地IP地址作为源地址,并使用一些其他控制信息来构建IP数据包。

并在一个映射表中找出IP地址192.168.1.2对应的物理地址(也叫MAC地址,熟悉网卡配置的朋友会比较熟悉,这是数据链路层协议构造数据链路层传输单元3354帧所必需的),交给数据链路层。

后者构造一个数据帧,目的地址是IP层传输的物理地址,源地址是机器的物理地址,加上一些控制信息,按照以太网的介质访问规则传输它们。收到该数据帧后,主机B首先检查其目的地址。

并与本机的物理地址进行比较,如果符合就接收;否则它将被丢弃。收到数据帧后检查,从帧中提取IP包,交给机器的IP层协议。类似地,在IP层检查之后,提取有用的信息并将其交给ICMP协议,在处理之后,

立即建立一个ICMP响应包并发送给主机A,和主机A向主机B发送ICMP请求包的过程完全一样,从Ping的工作过程中我们可以知道,主机A收到了主机B的回复包,说明两台主机之间的来往路径正常。

也就是说,无论是从主机A到主机B,还是从主机B到主机A,都是正常的。那么,是什么导致了单向Ping呢?1.安装了个人防火墙。出于安全原因,

大多数作为服务器的主机都安装了个人防火墙软件,而作为客户端的其他机器一般没有。默认情况下,几乎所有的个人防火墙软件都不允许其他机器Ping这台机器。通常的做法是过滤掉来自外部的ICMP请求消息,

但是,它不会对来自外部的ICMP请求消息和ICMP回复消息施加任何限制。这样Ping,从这台机器ping其他机器的时候,如果网络正常就没有问题。但是如果您从另一台机器Ping这台机器,即使网络正常,

还会出现“超时无应答”的错误。单向Ping现象大多由此而来。解决方法也很简单,根据你使用的防火墙类型的不同,调整相应的设置即可。第二,IP地址设置不正确。正常情况下,主机应该有网卡。

一个IP地址,或多个网卡,多个IP地址(这些地址必须在不同的IP子网中)。但是对于公共场所使用的电脑,尤其是网吧,人多手多,其中并没有“探索者”。曾经,两台计算机也有这种单向Ping。

仔细检查后发现,其中一台电脑的“拨号网络适配器”(相当于软网卡)的TCP/IP设置设置了与网卡IP地址在同一子网的IP地址。这样,从IP层协议的角度来看,

该主机在同一个网段中有两个不同的接口。当从这台主机Ping其他机器时,会出现这样的问题:(1)主机不知道将数据包发送到哪个网络接口,

因为有两个网络接口连接到同一个网段;(2)主机不知道使用哪个地址作为数据包的源地址。因此,从这台主机Ping其他机器,IP层协议将无法处理它。超时后,

Ping将给出“超时无应答”错误消息。但是,当从另一台主机pinging这台主机时,请求数据包来自特定的网卡。ICMP只需要交换目的地址和源地址,更改一些标志,ICMP应答包就可以顺利发送。

其他主机也就能成功Ping通这台机器了。

 介绍到这里相信大家对ping命令有了一个比较详细的了解,对于ping命令我们常用来检测局域网内网络信号发送与接收的检测,网络速度的检测,3也可以判断网络是否存在故障等,

对于经常接触网络的朋友ping命令是的大家经常需要使用的命令。

本文来自网络,不代表本站立场,转载请注明出处:https: