ICMP协议详解

合集下载

ICMP协议

ICMP协议

ICMP协议协议名称:Internet控制报文协议(ICMP)协议概述:Internet控制报文协议(ICMP)是一种网络层协议,用于在IP网络中传递控制信息和错误报告。

它是TCP/IP协议族的一部分,旨在提供一种简单而可靠的机制,以便在网络中进行通信和故障排除。

协议目的:ICMP的主要目的是提供网络中的错误报告和故障排除功能。

它允许主机和路由器之间交换控制消息,以确定网络中的问题,并采取适当的措施进行修复。

协议内容:1. ICMP报文格式:ICMP报文由报文头部和数据部分组成。

报文头部包含以下字段:- 类型(Type):指示报文的类型,如请求回显(Echo Request)、回显回答(Echo Reply)、目的不可达(Destination Unreachable)等。

- 代码(Code):提供有关报文类型的更多详细信息。

- 校验和(Checksum):用于检测报文头部和数据部分的错误。

- 其他字段:根据报文类型和代码的不同,可能包含其他字段,如标识符(Identifier)和序列号(Sequence Number)。

2. ICMP报文类型:ICMP定义了多种报文类型,用于不同的目的。

以下是一些常见的ICMP报文类型:- 请求回显(Echo Request)和回显回答(Echo Reply):用于测试主机之间的可达性和延迟。

- 目的不可达(Destination Unreachable):指示某个目的地无法到达,可能是因为网络不可达、主机不可达或端口不可达等。

- 超时(Time Exceeded):指示某个报文在传输过程中发生了超时,可能是因为生存时间(TTL)过期或片段重组超时等。

- 参数问题(Parameter Problem):指示某个报文的参数存在问题,如IP首部长度错误或选项错误等。

- 重定向(Redirect):用于指示主机或路由器应该使用另一个路由器来转发数据包。

3. ICMP报文处理:主机和路由器在接收到ICMP报文时,根据报文类型和代码进行相应的处理。

icmp是什么协议

icmp是什么协议

icmp是什么协议ICMP协议全称为Internet Control Message Protocol,是一种网络层协议,用于检测和报告有关IP网络连接的错误和异常情况。

ICMP协议主要用于网络故障诊断、测量网络性能以及端到端的错误报告。

ICMP协议是在IP协议之上运行的,它通过在IP数据报的数据字段中携带ICMP消息来进行通信。

ICMP报文通常与IP数据报一起传输,并且没有自己的端口号。

ICMP报文结构包含一个8位的消息类型字段和一个校验和字段,用于检测报文的完整性。

ICMP协议的主要功能包括以下几个方面:1. 错误报告和处理:ICMP协议可以用于向源主机发送错误报告,以便源主机及时调整传输策略。

例如,当目标主机不可达或传输过程中发生错误时,ICMP协议可以返回错误报文给源主机。

2. 连通性检测:ICMP协议可以通过发送Echo请求报文和接收Echo回应报文来检测主机或网络的连通性。

通过Ping命令,我们可以测试目标主机是否可达以及网络的延迟和丢包率。

3. 路由器发现:ICMP协议可以通过发送路由器请求报文来发现本地网络中存在的路由器,并获取路由器的相关信息,如IP地址和最大传输单元大小。

4. 前进分片报文:当一个IP分组分片在一个网络中传输时,如果发生丢包,ICMP协议可以发送分片报文到源主机,以便源主机重新组装原始IP分组。

5. TTL过期报文:ICMP协议可以在分组中设置一个生存时间(TTL),以防止分组在网络中无限循环。

当生存时间(TTL)减少到0时,IP协议就会发送ICMP报文给源主机,通知它有一条路由失效或分组循环的情况。

ICMP协议在网络故障诊断中起着重要的作用。

通过分析ICMP报文,网络管理员可以判断网络的健康状况,及时发现和解决故障。

同时,ICMP协议也被用于进行网络性能测量,包括延迟测量、传输速率测量和链路状态测量等。

然而,由于ICMP报文是和IP数据报一起传输的,所以它也容易受到网络攻击的影响。

ICMP协议

ICMP协议

ICMP协议协议名称:ICMP协议一、引言ICMP(Internet Control Message Protocol,互联网控制报文协议)是一种网络协议,用于在IP网络中传递控制消息。

它通常与IP协议一起使用,用于报告错误和提供有关网络状况的信息。

本协议旨在详细描述ICMP协议的标准格式和相关内容。

二、协议格式ICMP报文由报文头和数据部分组成。

报文头包含以下字段:1. 类型(Type):指示报文的类型,用于区分不同的ICMP消息。

2. 代码(Code):与类型字段一起用于进一步指定报文的具体类型。

3. 校验和(Checksum):用于校验报文的完整性。

4. 标识符(Identifier):用于唯一标识一个ICMP报文。

5. 序列号(Sequence Number):与标识符一起用于识别ICMP报文的顺序。

三、ICMP消息类型ICMP协议定义了多种不同类型的消息,每种消息都有特定的目的和含义。

以下是常见的ICMP消息类型:1. 回显请求(Echo Request)和回显应答(Echo Reply):用于测试网络的可达性和延迟。

2. 目的地不可达(Destination Unreachable):用于通知发送方,目标主机不可达或某个中间节点无法到达目标主机。

3. 超时(Time Exceeded):用于通知发送方,某个数据包在传输过程中发生了超时。

4. 参数问题(Parameter Problem):用于通知发送方,某个IP数据报的头部参数有误。

5. 重定向(Redirect):用于通知发送方,某个路由器提供了更优的路径。

四、ICMP报文的具体格式和内容1. 回显请求(Echo Request)和回显应答(Echo Reply):- 类型:8(回显请求)和0(回显应答)- 代码:0- 校验和:16位校验和- 标识符:16位标识符- 序列号:16位序列号- 数据部分:可选的数据部分,用于传递额外信息。

icmp的协议号

icmp的协议号

icmp的协议号【实用版】目录1.ICMP 协议简介2.ICMP 协议号3.ICMP 协议的应用4.ICMP 协议的安全性问题正文一、ICMP 协议简介ICMP(Internet Control Message Protocol,互联网控制报文协议)是一种网络协议,主要用于在 IP 主机和路由器之间传递控制信息。

这些控制信息包括路由选择、传输速度、传输方向以及其他网络参数等。

ICMP 协议工作在网络层,与 IP 协议紧密配合,是 IP 协议的一种补充。

二、ICMP 协议号ICMP 协议使用不同的协议号来标识不同的控制信息。

常见的 ICMP 协议号有以下几种:1.0:表示请求超时(Time Exceeded)。

当数据包在网络中传输时,路由器会在一定时间后未收到应答,此时会向发送方发送请求超时消息。

2.1:表示目的地不可达(Destination Unreachable)。

当路由器发现数据包无法到达目的地时,会向发送方发送目的地不可达消息。

3.2:表示源站抑制(Source Quench)。

当路由器接收到过多的数据包,无法处理时,会向发送方发送源站抑制消息,要求发送方减慢发送速度。

4.3:表示参数问题(Parameter Problem)。

当路由器发现数据包头部的参数有误时,会向发送方发送参数问题消息。

5.4:表示改变路由(改变路由(Routing))。

当路由器发现更好的路由时,会向发送方发送改变路由消息。

6.5:表示路由器警告(Router Advertisement)。

当路由器想告知发送方更好的路由时,会发送路由器警告消息。

7.6:表示管程到达(Management Destination)。

当路由器接收到管程到达消息时,会向发送方发送该消息。

8.7:表示环回(Echo Request)。

当路由器接收到环回请求时,会向发送方发送环回请求消息。

9.8:表示环回应答(Echo Reply)。

当路由器接收到环回应答时,会向发送方发送环回应答消息。

ICMP协议详解(共31张)

ICMP协议详解(共31张)
主机的IP地址,报告给源主机是最可行的方案,另外,发出IP数据报的源主机 最需要知道数据是否到达目标主机。
(2) ICMP差错报文只提供IP数据报在传输过程中的差错报告,并不规定对各
类差错应采取什么样的处理措施。具体对差错的处理,由收到ICMP差错报文的 源主机将相应的差错与应用程序联系起来才能进行相应的差错处理。
第11页,共31页。
4 ICMP差错(chācuò)报文的特点
(3) ICMP差错报文不享受任何优先权,也没有特别的可靠 性保证措施,与普通的IP数据报一样进行传输,传输过程中可 能被丢失、损坏,甚至被抛弃。
(4) ICMP差错报文是伴随着抛弃出错的IP数据报而产生的。 (5) 当路由器发送一份参数错误等的ICMP差错报文时,ICMP 报文数据区始终包含产生ICMP差错报文的IP数据报的头部和其数据 区的前8个字节(64位)。
第6页,共31页。
3. ICMP数据包类型(lèixíng)
ICMP报文的类型和代码字段的值与ICMP报文类型的对应关系
类型 代码


0
0 回送应答(ping 命令应答)
目标不可达
0 网络不可达
1 主机不可达
2 协议不可达 3
3 端口不可达
4 需要进行分片,但设置了 DF 不分片(2.3.2 节)
1
3
5
码值Biblioteka 意义主机(zhǔjī)不可到达
端口不可到达
源路由失败
7
信宿主机未知
9 与信宿网络的通信被隔离
第16页,共31页。
5.1 差错 报告报文 (chācuò)
超时报文
互连网寻址是路由器根据本地寻径表进行的;如果寻址出现错误,可能出现routing cycle; 为了避免报文无限制的在网中循环,IP 协议采用了两种措施:

ICMP协议全方位解析

ICMP协议全方位解析

ICMP协议全方位解析ICMP(Internet Control Message Protocol)是互联网控制报文协议,用于在IP网络中传递控制消息和错误报告。

它是网络层协议IP (Internet Protocol)的一个补充,提供了一种通信方式,可以更有效地进行网络管理和故障排除。

在本文中,我将从协议的定义、特点、功能和应用领域等多个方面对ICMP进行全方位解析。

1.ICMP协议的定义和功能:ICMP是一种在IP网络中传递控制消息和错误报告的协议。

它的主要功能包括以下几个方面:-提供主机或路由器之间的通信。

当一个主机发送ICMP消息到另一个主机或路由器时,它可以请求其中一种服务或传递其中一种信息。

-提供错误报告。

在数据包传输过程中,如果出现错误,ICMP可以生成相应的错误报告,以提醒网络管理员或应用程序的开发者发生了错误。

-提供网络管理功能。

ICMP可以用于测试网络的可用性、延迟和带宽等参数,并向网络管理员或上层应用程序提供相关的统计信息。

-提供故障排除功能。

当网络出现故障时,ICMP可以通过发送请求和接收响应的方式来定位和解决问题。

2.ICMP协议的特点:-ICMP是一种无连接的协议,不需要在传输数据之前建立连接。

这使得ICMP非常适合用于低延迟和高效率的通信。

-ICMP是一种面向报文的协议,它将控制消息或错误报告封装在IP 数据包中进行传输。

-ICMP是一种可靠的协议,它可以检测到数据包的丢失、延迟和重复等问题,并向发送方提供相应的错误报告。

-ICMP具有较小的头部开销和较低的带宽占用率,这使得它在网络管理和故障排除方面非常有用。

3.ICMP协议的消息类型:ICMP定义了多种消息类型,主要包括以下几种:- 回应消息(Echo Reply):用于回应一个回显请求消息。

- 回显请求消息(Echo Request):用于测试目标主机的可用性和延迟。

- 目的地不可达消息(Destination Unreachable):用于通知发送方数据包无法到达目的地。

icmp是什么协议

icmp是什么协议

icmp是什么协议一、icmp是什么协议?ICMP(Internet Control Message Protocol)即Internet控制报文协议,是TCP/IP协议族的一个子协议。

ICMP是TCP/IP协议中实现协议间传递错误消息的主要方式,它能够检测网络是否可达、控制网络拥塞等,是计算机网络中的重要组成部分。

ICMP的主要功能是通过网络节点之间传递控制信息,例如错误报告、网络状况、诊断信息和路由信息等。

ICMP协议是从网络层或传输层发送的,它通过IP数据报封装传递控制信息,并在IP头部的协议字段中标识自己的类型。

ICMP协议是一个面向连接的协议,可以通过连接来提高数据传输的效率。

ICMP协议是一个无状态协议,它不需要建立连接,无需维护会话状态信息。

它只需要向目的主机发送一个请求消息,并等待目的主机返回一个响应消息,以此来检测网络的健康状况。

因此,ICMP协议的实现很简单,可以在任何系统上轻松实现。

二、icmp协议的作用1、错误报告ICMP协议主要用于报告网络传输过程中出现的错误。

例如:当IP数据报在传输过程中被路由器丢弃时,ICMP协议就会生成一个ICMP差错报文,向源主机发送一个错误信息,源主机便可以据此进行相应的处理。

此外还有一种形式的ICMP错误信息,即ICMP重定向错误报文,它可以告知主机有更好的路由可以选择。

2、网络状况ICMP协议还可以报告网络状况,例如网络繁忙、过载等。

例如,当主机无法连接到目的主机时,ICMP协议将返回一个“目标不可达”(Destination Unreachable)的差错报文,通知主机目的主机不可达,并提供相应的原因。

这些网络状况信息对于网络管理员和维护人员非常有用,可以及时地发现和解决网络故障。

3、路由信息ICMP协议还可以提供路由信息,比如距离限制等。

例如,当主机想要访问远程主机时,ICMP可以提供路由器的数量和每个跳跃的时间(TTL)的限制等信息,帮助主机确定每个跳跃的保存时间,避免出现路由器中的错误。

ICMP协议

ICMP协议

ICMP协议协议名称:Internet控制消息协议(ICMP)1. 引言Internet控制消息协议(ICMP)是一种网络协议,用于在IP网络中传递控制消息和错误报告。

ICMP协议提供了一种机制,使得网络设备可以相互通信并共享网络状态信息。

本协议旨在规范ICMP协议的标准格式和使用规则,以确保网络通信的可靠性和稳定性。

2. 协议版本ICMP协议的当前版本为IPv4和IPv6。

3. 协议功能3.1. 错误报告ICMP协议可用于向源主机或者路由器发送错误报告,以通知其发生的错误情况。

常见的错误报告类型包括目标不可达、超时和重定向。

3.2. 网络探测ICMP协议可用于执行网络探测操作,如Ping(Echo请求和回应消息)和Traceroute(时间超过消息)。

3.3. 路由器发现ICMP协议可用于路由器发现,以确定网络中可用的路由器。

3.4. 数据报文分片ICMP协议可用于数据报文分片重组的过程中,以通知发送主机数据报文分片的状态和结果。

4. 协议格式ICMP协议的消息格式如下:+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| 类型(Type) | 代码(Code) | 校验和(Checksum) |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| 数据(Data)(可选) |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+4.1. 类型(Type)类型字段用于指示ICMP消息的类型。

常见的类型包括:- 0:回应应答(Echo Reply)- 3:目标不可达(Destination Unreachable)- 8:回应请求(Echo Request)- 11:超时(Time Exceeded)- 其他类型详见相关标准文档。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

报告IP数据报在传输中的差错是ICMP报文最基本的功能,ICMP差 错报文有如下特点:
(1) ICMP差错报文都是由路由器发送到源主机的,因为IP数据报 中含有源主机的IP地址,报告给源主机是最可行的方案,另外,发出 IP数据报的源主机最需要知道数据是否到达目标主机。
(2) ICMP差错报文只提供IP数据报在传输过程中的差错报告,并 不规定对各类差错应采取什么样的处理措施。具体对差错的处理,由 收到ICMP差错报文的源主机将相应的差错与应用程序联系起来才能进 行相应的差错处理。
ICMP报文类型
超时
11
0 在数据报传输期间生存时间TTL为0
1 在数据报组装期间生存时间TTL为0
参数出错
12
0 IP数据报头部错误(包括各种差错)
1 缺少必需的选项
13
0 时间戳请求
14
0 时间戳应答
17
0 地址掩码请求
18
0 地址掩码应答
a
√ √
√ √ √ √ √ √
10
4 ICMP差错报文的特点
a
4
3 .ICMP数据包类型
ICMP报文的种类有三大类种,即ICMP差错报 告报文、控制报文、请求/应答报文。
各大类型报文又分多种类型报文。(见后面 附图)
a
5
3 .ICMP数据包类型
IP协议全貌
IP协议
IP数据报 传输协议
IP数据报 差错报告报文
信息不可到达报告 超时报告 参数出错报告
差错与控制 报文协议
信息不可达报文
码域值: 0 ~ 12,进一步说明信宿不可到达的具体原因
码值 0 2 4 6 8
被隔离 10 11 12
意义 网络不可到达 协议不可到达 需分片,但DF置位 信宿网络未知 源主机被隔离
与信宿主机的通信被隔离 对请求的服务类型,网络不可到达 对请求的服务类型,主机不可到达
码值
意义
1
主机不可到达
ICMP协议
1 ICMP协议的概念与作用
2 ICMP数据包的层次与格式
3 ICMP数据包的类型
4 ICMP差错报文的特点 5 各种ICMP数据包
5.1 差错报告报文 5.2 icmp控制报文 5.3 icmp请求/应答报文
6.ICMP应用:1.ping 2.tracert3.MTU计算
a
1
1 ICMP协议的概念与作用
ICMP数据包是封装在IP数据包中的。
a
2
2中的。
应用层
应用程序 应用程序 应用程序 应用程序
传输层
TCP
UDP
网络层
IGMP
IP
IGMP
链路层 物理传输介质
ARP
硬件接口
RARP
a
3
2 ICMP数据包的层次与格式
ICMP数据包格式如图5-1所示。
3
端口不可到达
5
源路由失败
7
信宿主机未知
9 与信宿网络的通信
a
16
5.1 差错报告报文
主机不可达
协议不可达
端口不可达
需要进行分片,但设置了DF不分片(2.3.2节)
源路由选择失败
目标网络未知
查询 √
差错
√ √ √ √ √ √ √
a
7
3. ICMP数据包类型
ICMP报文类型
7 目标主机未知 8 源主机被隔离 9 与目标网络的通信被强制禁止 10 与目标主机的通信被强制禁止 11 对于请求的服务类型TOS,网络不可达 12 对于请求的服务类型TOS,主机不可达 13 由于过滤,通信被强制禁止 14 主机越权 15 优先权中止生效
a
√ √ √ √ √ √ √ √ √
8
3. ICMP数据包类型
ICMP报文类型
4
0 源站抑制(用于拥塞控制)
重定向
0 对网络重定向
5
1 对主机重定向
2 对服务类型和网络重定向
3 对服务类型和主机重定向
8
0 回送请求(ping命令请求)
9
0 路由通告
10
0 路由请求
a

√ √ √ √ √ √ √
9
3. ICMP数据包类型
a
11
4 ICMP差错报文的特点
(3) ICMP差错报文不享受任何优先权,也没有特别的
可靠性保证措施,与普通的IP数据报一样进行传输,传输
过程中可能被丢失、损坏,甚至被抛弃。
(4) ICMP差错报文是伴随着抛弃出错的IP数据报而产 生的。
(5) 当路由器发送一份参数错误等的ICMP差错报文时, ICMP报文数据区始终包含产生ICMP差错报文的IP数据报的 头部和其数据区的前8个字节(64位)。
ICMP
控制报文
源抑制报文 重定向报文
请求/应答报文
回应请求/应答报文 时戳请求/应答报文 地址模请求/应答报文
a
6
3. ICMP数据包类型
ICMP报文的类型和代码字段的值与ICMP报文类型的对应 关系
类型 0
3
代码 0
0 1 2 3 4 5 6


回送应答(ping命令应答)
目标不可达
网络不可达
a
12
4 ICMP差错报文的特点
当路由器发送参数错误等的ICMP报文数据字段由两部分组 成,一部分是收到的需要进行差错报告的IP数据报的首部,另一 部分是IP数据报的数据字段的前8个字节,如图5-3所示。
a
13
4 ICMP差错报文的特点
(6) 在有些情况下,为了防止在网络中产生大量的ICMP差错报文 (广播风暴),影响网络的正常工作,即使发生差错,也不会产生ICMP 差错报文,这些情况包括:
a
14
5.1 差错报告报文
信息不可达报文
网关在以下情况下发出信息不可到达报告 1) 信宿机硬件出现故障或关机; 2) 发送者指定的地址不存在; 3) 网关不知道去往信宿的路径;
信宿不可到达报告的格式
类型(3)
码(0-12)
校验和
未用(全0)
出错数据报报 头+前64bit数据
........
a
15
5.1 差错报告报文
ICMP(Internet Control Messages Protocol, 网际控制报文协 议),通过它可以知道故障的具体原因和位置。
由于IP不是为可靠传输服务设计的, ICMP的目的主要是用于在 TCP/IP网络中发送出错和控制消息。
ICMP的错误报告只能通知出错数据包的源主机,而无法通知从源 主机到出错路由器途中的所有路由器(环路时)。
● ICMP报文发生差错。这是为了避免差错报文无休止产生而规定 的(但ICMP查询报文可能会产生ICMP差错报文)。
● 目的地址是广播地址或多播地址(D类地址)的IP数据报。 ● 作为链路层广播的数据报。 ● 不是IP分片的第一片。 ● 源地址不是单个主机的数据报。这就是说,源地址不能为零地 址、回送地址、广播地址或多播地址。
相关文档
最新文档