加入收藏 | 设为首页 | 会员中心 | 我要投稿 晋中站长网 (https://www.0354zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

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

发布时间:2019-05-29 23:43:32 所属栏目:教程 来源:攻城狮成长之路
导读:在生产环境中,我们常用ping命令测试主机是否在线。那么,ping命令使用的是什么协议呢?其实,ping使用的是ICMP协议。Internet控制报文协议ICMP(Internet Control Message Protocol)是网络层的一个重要协议。ICMP协议用来在网络设备间传递各种差错和控制信

在生产环境中,我们常用ping命令测试主机是否在线。那么,ping命令使用的是什么协议呢?其实,ping使用的是ICMP协议。Internet控制报文协议ICMP(Internet Control Message Protocol)是网络层的一个重要协议。ICMP协议用来在网络设备间传递各种差错和控制信息,它对收集各种网络信息、诊断和排除网络故障具有至关重要的作用。所以,在使用基于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报文次数。 缺省情况下发送5个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端口号。

(编辑:晋中站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读