发布时间: 2017-11-08 18:00:56
在我们日常生活中,我们经常看视频或者打游戏中出现卡顿现象或者出现网络不通。那么这时候就可以使用CMD的ping来测试网络的连通性。但是ping是什么呢?
那么我们这里要讲讲一个网络协议,Internet控制报文协议ICMP(InternetControl Message Protocol)是网络层的一个重要协议。ICMP协议用来在网络设备间传递各种差错和控制信息,它对于收集各种网络信息、诊断和排除各种网络故障具有至关重要的作用。
ICMP定义了各种错误消息,用于诊断网络连接性问题;根据这些错误消息,源设备可以判断出数据传输失败的原因。比如,如果网络中发生了环路,导致报文在网络中循环,最终TTL超时,这种情况下网络设备会发送TTL超时消息给发送端设备。又比如如果目的不可达,则中间的网络设备会发送目的不可达消息给发送端设备。目的不可达的情况有多种,如果是网络设备无法找到目的网络,则发送目的网络不可达消息;如果网络设备无法找到目的网络中的目的主机,则发送目的主机不可达消息。
ICMP Echo消息常用于诊断源和目的之间的网络连通性,还可以提供其他信息,如报文往返时间等。
ICMP的一个典型应用是Ping。Ping是检测网络连通性的常用工具,同时也能够收集其他相关信息。用户可以在Ping命令中指定不同参数,如ICMP报文长度、发送的ICMP报文个数、等待回复响应的超时时间等,设备根据配置的参数来构造并发送ICMP报文,进行Ping测试。
Ping常用的配置参数说明如下:
1. -a source-ip-address指定发送ICMP
ECHO-REQUEST报文的源IP地址。如果不指定源IP地址,将采用出接口的IP地址作为ICMP ECHO-REQUEST报文发送的源地址。
2. -c count指定发送ICMP
ECHO-REQUEST报文次数。缺省情况下发送5个ICMP ECHO-REQUEST报文。
3. -h ttl-value指定TTL的值。缺省值是255。
4. -t timeout指定发送完ICMP
ECHO-REQUEST后,等待ICMP
ECHO-REPLY的超时时间。
<RTA>ping
?
-a Select source IP address, the default is
the IP address of the output interface
-c Specify the number of echo requests to
be sent, the default is 5
-h
Specify TTL value for echo requests to be sent, the default is 255
-t Timeout in milliseconds to wait for each
reply, the default is 2000ms
STRING<1-255> IP address or hostname of a remote system
……
比如:ping 10.0.0.1
Ping利用ICMP Echo请求消息(Type值为8)来发起检测目的可达性。目的端收到ICMP Echo请求消息后,根据IP报文头中的源地址向源端发送ICMP Echo回复消息(Type值为0)。
上一篇: {Java}反射机制
下一篇: {华为HCNA-RS}VLAN间路由