[网络工程师]-网络层协议-ICMP协议

        由于IP协议是一个不可靠、非连接的尽力传输协议,数据报是采用分组交换方式在网络上传送的。因此当路由器不能够选择路由或传输数据报时,或检测到一个异常条件影响它转发数据报时,就需要通知初始源网点采取措施避免。完成这个任务的机制就是ICMP(Internet Control Message Protocol),它是IP的一部分,属于网络层协议,其报文是封装在IP协议数据单元中进行传送的,在网络中起到差错和拥塞控制的作用。

        ICMP报文封装在IP数据报中传输,封装结构如下图所示:

                

        由于IP数据报首部校验和并不校验IP数据报的内容,因此不能保证经过传输的ICMP报文不产生差错。ICMP报文格式如下所示:

        

        ICMP报文有8字节的报头和可变长度的数据部分。虽然对每一种报文类型,报头的其他部分是不同的,但前4字节对所有类型都是相同的。

        (1)ICMP报文的第一个字段是ICMP的类型,它定义了报文类型;

        (2)代码字段指明了发送这个特定报文类型的原因;

        (3)校验和字段用于检测报文的正确性;

        (4)报头的其他部分对每一种类型报文都是不同的。在差错报告报文的数据部分所携带的信息可找出引起差错的原始IP报文;在查询报文的数据部分则携带了基于查询类型的额外信息。

        ICMP报文分为ICMP差错报告报文和ICMP询问报文;在ICMP协议中定义了13种报文,包括回送应答、目的地不可达、源站抑制、重定向(改变路由)、回送请求、数据包超时、数据报参数错误、时间戳请求、时间戳应答、信息请求(已过时)、信息应答(已过时)、地址掩码请求、地址掩码回答。常见报文类型如下所示:

报文种类类型值报文类型报文定义报文内容
ICMP差错报告报文3目的不可达路由器与主机不能交付数据时,就向源点发送目的不可达报文包括网络不可达、主机不可达、协议不可达、端口不可达、需要设置分片却设置里不分片、源路由失败、目的网络未知、目的主机未知、目的网络被禁止、目的主机被禁止、由于服务类型TOS网络不可达、由于服务类型TOS主机不可达、主机越权、优先权中止生效
4源点抑制由于拥塞而丢弃数据报时就向源点发送抑制报文,降低发送速率
5重定向(改变路由)路由器将重定向报文发送给主机,优化或改变主机路由包括网络重定向、主机重定向、对服务类型和网络重定向、对服务类型和主机重定向
11时间超时丢弃TTL为0的数据,向源点发送时间超时报文
12参数问题发现数据报首部有不正确字段时丢弃报文,并向源点发送参数问题报文
ICMP询问报文0回送应答收到回送请求报文的主机必须回应源主机回送应答报文
8回送请求
13时间戳请求请求对方回答当前日期和时间
14时间戳应答回答当前日期和时间

        ICMP报文应用有Ping命令(使用回送应答和回送请求报文)和Traceroute命令(使用时间超时报文和目的不可达报文)。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

579YOU

对您有用的话给个鼓励吧!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值