ICMP详解——Internet控制协议

ICMP(Internet Control Message Protocol)是IP协议的补充,用于提供IP数据包处理的诊断和控制信息。本文详细介绍了ICMP报文的封装、类型与代码、差错报文响应规则以及应用,如traceroute和ping。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Internet控制报文协议(Intemet Control Message Protocol, ICMP)是IP协议的一种补充,它与IP协议结合使用,以便提供与IP协议层配置和IP数据包处理相关的诊断和控制信息(IP协议本身并没有为终端系统提供直接的方法来发现那些发往目的地址失败的IP数据包,也没有提供直接的方式来获取诊断信息。)

ICMP通常被认为是IP层的一部分,它需要在所有IP实现中存在。它使用IP协议进行传输。因此,确切地说,它既不是一个网络层协议,也不是一个传输层协议,而是位于两者之间。(这一点和大多数优快云博主的不太一样,但我看TCP/IP协议上是这样写的,我决定按照书上的来)

1. ICMP报文是在IP数据报内被封装传输的。

ICMP报文是在IP数据报内被封装传输的。

1.1 先回顾一下IPv4头部结构和IPv6头部结构,方便演示如何封装ICMP报文

IPv4头部结构和IPv6头部结构的具体分析,可以看我的文章:《IPv4和IPv6的数据报结构头部详解》,网址:https://blog.youkuaiyun.com/qq_45877524/article/details/105003498
这里只标注与该文章相关的内容。(我直接拿了旧的图片)
在这里插入图片描述
在这里插入图片描述
在IPv4中,协议(Protocol)字段值为1表示该报文携带了ICMPv4。 在IPv6中,ICMPv6报文可能开始于0个或者多个扩展头部之后。位于ICMPv6头部之前的最后一个扩展头部包含了一个值为58的下一个头部(Next Header)字段。

1.2 如何封装

在这里插入图片描述
在这里插入图片描述

  1. 类型:占8位,标识ICMP报文的类型,从类型值来看ICMP报文可以分为两大类。第一类是取值为1~127的差错报文࿰
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值