在生产环境中,我们常用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 Replytype=8,code =0 表示=Echo Requesttype=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测试 。
【ICMP协议两个典型的应用你都会用了吗 icmp协议的概念和功能】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端口号 。ICMP到底还有那些应用呢?欢迎大家在下方留言讨论 。
,
- 束手无策造句_束手无策和藩篱的造句怎么造(是这两个词语在一个句子
- 望洋兴叹的近义词_望洋兴叹两个近义词
- 大寒做到两个“不”即保暖又祛病
- 服装代理合同_求 服装租借协议书 急急急
- 服务合同范本_合同协议范本
- 有线路由器怎么用_家里用一个普通有线路由器,两个无线路由器怎么设置?
- 有气质的网名_优雅气质的女生网名
- 男生呆萌网名 男生呆萌网名两个字
- 有关秋天的词语_关于秋天的词语两个字
- 2019年版 最新离婚协议书范本_最新