ICMP协议

一,介绍。

ICMP协议全称:Internet Control Message Protocol ,即网际控制报文协议。该协议在网络层使用,众所周知,IP协议是不可靠的数据传输服务,它是尽最大努力交付的,不保证数据报到达的顺序,是否重复,以及是否丢失等问题,(这些问题由运输层负则),有了ICMP协议,便是为了有效地转发IP数据报和提高交付成功的机会。。

二,其作用。

ICMP报文分两种,一种是ICMP 差错报告报文,另一种为ICMP询问报文。
我们分两次来说明。
首先对于差错报告报文
1,其组成

前4个字节是统一的格式,它包括1字节的类型字段,1字节的代码字段,以及2字节的检验和字段。
通过类型字段用来区分具体是哪种差错。而检验和字段是因为,IP数据报只提供了首部检验和字段,它并不负责数据的差错检测,因此不能保证经过传输的ICMP报文不产生差错。
ICMP差错报告报文有细分5钟类型。
它包括:
1,终点不可达。 路由器或主机不能交付数据报时便向源点发送该类型报文
2,源点抑制。当路由器或主机由于网络拥塞时需要丢弃数据报时,便向源点发送源点抑制报文,其作用便是告诉源点当前网络情况不好,需要其放慢数据报发送的速率。
3,时间超过。当路由器收到TTL为0的数据报时,除了丢弃该数据包还要向源点发送时间超过报文。当终点不能在预定时间内收到一个数据报的全部数据报片时,便丢弃已收到的数据报片,并向源点发送时间超过报文(IP 数据报长度超过MTU时会进行分片发送)。
4,参数问题。当路由器或目的主机收到的数据报的首部中有字段不正确的时候,便丢弃之,并向源点报告发送参数问题报文。
5,改变路由。路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器。

其具体组成:所有的ICMP差错报告报文中的数据字段具有相同的格式。它把收到的需要进行差错报告的IP数据报的首部和数据字段的前8个字节提取出来,作为ICMP报文的数据字段,再加上ICMP差错报告报文的前8个字节,就构成了ICMP差错控制报文。提取收到的数据报的数据字段前8个字节是为了得到运输层的端口号,以及运输层报文的发送序号。

ICMP询问报文:
有两种:1,回送请求和回答。功能:由主机或路由器向一个特定的目的主机发出询问,收到此报文的主机必须给源主机或路由器发送一个ICMP回送回答报文,说明自身是否可达,其有关状态。
2,时间戳请求和回答。请求某个主机或路由器回答当前的时间与日期。
时间戳:自1970.1.1到现在一共过了多少秒。常用来时间同步和测量时间。

三,其应用。
1,分组网间探测。即PING命令。该命令是应用层直接使用网络层ICMP的一个例子,它没有通过运输层的TCP或UDP。用来测试与相应站点的连接情况。
2,traceroute (Unix下),tracert (windows下),用来测试到相应站点需要经过的路径与时间。
Traceroute从源主机发送一连串的IP数据报,数据报中是封装的是无法交付的UDP用户数据报(非法的端口号),第一个数据报的TTL设置为1,当数据报到达第一个路由器时,路由器将它收下后,TTL减为0,然后把它丢弃,并向源主机发送一个ICMP时间超过差错报告报文。
源主机接着发第二次,此次把TTL设置为2,重复上面的过程。直到最后一个数据报刚刚到达目的主机时,数据报的TTL为1,但此时,由于IP数据报中封装的是无法交付的运输层UDP用户数据报,因此主机向源点发送ICMP终点不可达差错报告报文。

四,具体使用。
ping命令
这里写图片描述
tracert命令
这里写图片描述

  • 6
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值