ICMP协议两个典型的应用你都会用了吗?

  • 时间:
  • 浏览:31
  • 来源:董小明博客 - 专注共享易享之家技术

ICMP协议用来在网络设备间传递各种差错和控制信息,它对整理各种网络信息、诊断和排除网络故障具有至关重要的作用。这种,在使用基于ICMP的应用时,必须对ICMP的工作原理非常熟悉。

作者:攻城狮成长之路来源:今日头条|2019-05-29 10:10

在生产环境中,大伙常用ping命令测试主机算是在线。那末 ,ping命令使用的是那先 协议呢?着实,ping使用的是ICMP协议。Internet控制报文协议ICMP(Internet Control Message Protocol)是网络层的另一个重要协议。ICMP协议用来在网络设备间传递各种差错和控制信息,它对整理各种网络信息、诊断和排除网络故障具有至关重要的作用。这种,在使用基于ICMP的应用时,必须对ICMP的工作原理非常熟悉。

ICMP协议报文格式

从上图必须看多,ICMP消息封放入IP报文中。 ICMP消息的格式取决于Type和Code字段,其中Type字段为消息类型,所含以下几种情况汇报:

  • type=0 ,code =0 表示Echo Reply
  • type=8 ,code =0 表示=Echo Request
  • type=3 ,code =0 表示网络不可达
  • type=3 ,code =1 表示主机不可达
  • type=3 ,code =2 表示协议不可达
  • type=3 ,code =3 表示端口不可达
  • type=5 ,code =0 表示重定向

ICMP应用

ICMP的另一个典型应用是Ping。 Ping是检测网络连通性的常用工具,一并也都可以整理这种相关信息。用户必须在Ping命令中指定丌同参数,如ICMP报文长度、 发送的ICMP报文个数、 停留回复响应的超时时间等,设备根据配置的参数来构造并发送ICMP报文,迚行Ping测试。

Ping常用的配置参数说明如下:

  • -a source-ip-address指定发送ICMP ECHO-REQUEST报文的源IP地址。 肯能不指定源IP地址,将采用出接口的IP地址作为ICMP ECHOREQUEST报文发送的源地址。
  • -c count指定发送ICMP ECHO-REQUEST报文次数。 缺省情况汇报整理送另一个ICMP ECHO-REQUEST报文。
  • -h ttl-value指定TTL的值。 缺省值是255。
  • -t timeout指定发送完ICMP ECHO-REQUEST后,停留ICMP ECHOREPLY的超时时间。

ICMP的原本 典型应用是Tracert。Tracert基于报文头中的TTL值来逐跳跟踪报文的转发路径。 为了跟踪到达某特定目的地址的路径,源端首先将报文的TTL值设置为1。 该报文到达第另一个节点后,TTL超时,于是该节点向源端发送TTL超时消息,消息中携带时间戳。 这种源端将报文的TTL值设置为2,报文到达第另一个节点后超时,该节点同样返回TTL超时消息,以此类推,直到报文到达目的地。 原本 ,源端根据返回的报文中的信息必须跟踪到报文经过的每另一个节点,并根据时间戳信息计算往返时间。 Tracert是检测网络丢包及速率的有效手段,一并必须帮助管理员发现网络中的路由环路。

Tracert常用的配置参数说明如下:

  • -a source-ip-address指定tracert报文的源地址。
  • -f first-ttl指定初始TTL。 缺省值是1。
  • -m max-ttl指定最大TTL。 缺省值是30。
  • -name使能显示每一跳的主机名。
  • -p port指定目的主机的UDP端口号。

【编辑推荐】

【责任编辑:

赵宁宁

TEL:(010)68476306】



点赞 0