TCP/IP的网际层协议ICMP
来源:百度文库 编辑:神马文学网 时间:2024/04/28 02:59:36
ICMP (Internet Control Message Proctocol,Internet控制信息协议)经常被认为是IP层的一个组成部分。它携带于IP数据包中
ICMP封装在IP数据包内部:
IP首部 ICMP数据包
ICMP的功能介绍
ICMP定义了一套差错 报文和控制报文,用于主机与路由器之间交换不可达目的地址、网络拥塞、重定向到更好的路径
报文生命周期超时等信息。例如,用ping命令来查询192.168.10.1的主机是否在线,路由器会给用户一个ICMP应答:目标
主机不可到达或者从192.168.10.1有回应。
ICMP报文主要有两大类:查询报文和错误报文。查询报文是指ICMP响应请求、相应回答、路由公告、地址屏蔽请求等。
而绝大部分ICMP信息是错误报文,例如,目的地址不可到达、源地址消亡、生命周期超期等。
ICMP报文:
类型(8位) 代码(8位) 校验和(16位)
(因不同的类型和代码而有不同的内容)
类型字段可以有不同的值,以描述特定类型的ICMP报文。某些ICMP报文还是使用代码字段的值来进一步描述不同的条件。
各种类型的ICMP报文如下表,它由报文中的类型字段和代码段来共同决定。最后两列表明ICMP报文是一份查询报文还是
一份错误报文。
类型 代码 描述 查询 错误
0 0 回应应答(Ping应答) + -
3 - 目标不可到达 - +
3 0 网络不可到达 - +
3 1 主机不可到达 - +
3 2 协议不可到达 - +
3 3 端口不可到达 - +
3 4 禁止分割 - +
3 5 源站选路失败 -
+
3 6 目标网路不认识 - +
3 7 目标主机不认识 - +
3 8 源主机被隔离(作废不用) - +
3 9 目标网络被强制禁止 - +
3 10 目标主机被强制禁止 - +
3 11 由于服务类型TOS,网络不可到达 - +
3 12 由于主机类型TOS,主机不可到达 - +
3 13 由于过滤,通信被强制禁止 - +
3 14 主机越权 - +
3 15 优先权中止生效 - +
4 0 源端口被关闭(基本流控制) - +
5 - 重定向 - +
5 0 对网络重定向 - +
5 1 对主机重定向 - +
5 2 对服务类型和网络重定向 - +
5 3 对服务类型和主机重定向 - +
8 0 请求回应(ping请求) + -
9 0 路由器通告 + -
10 0 路由器请求 + -
11 - 超时 - +
11 0 传输期间生存时间(TTL)为0 - +
11 1 在数据包组装期间生存时间为0 - +
12 - 参数问题 - +
12 0 坏的IP首部 - +
12 2 缺少必须的选项 - +
13 0 时间截请求 + -
14 0 时间截应答 + -
15 0 信息请求 + -
16 0 信息应答 + -
17 0 地址掩码请求 + -
18 0 地址掩码应答 + -
目标地址是广播地址或多播地址(D类地址)的IP数据包不会产生ICMP错误报文,这是为了防止ICMP错误报文对广播分组的
响应而带来的广播风暴。
ICMP不可到达的原因及分析
ICMP不可到达的报文类型值为3,可以依据不同的代码值实现不哦他那个的不可达功能。
1.网络不可到达
2.主机不可到达
3.禁止分割:
在上文介绍IP层的数据包大小时,曾提到在MTU较小的网络上,需要把大数据包划分成更小的数据包片(分片),以保证数
据包正常通过网络。
假如路由器A在将客户端的数据发往服务器时,需要分割客户机的数据包,但是数据包的IP头中的IP头中即设置了拒绝分
片位,那么路由器将会向客户机返回一个代码为4的“禁止分割”的ICMP信息。
ICMP封装在IP数据包内部:
IP首部 ICMP数据包
ICMP的功能介绍
ICMP定义了一套差错 报文和控制报文,用于主机与路由器之间交换不可达目的地址、网络拥塞、重定向到更好的路径
报文生命周期超时等信息。例如,用ping命令来查询192.168.10.1的主机是否在线,路由器会给用户一个ICMP应答:目标
主机不可到达或者从192.168.10.1有回应。
ICMP报文主要有两大类:查询报文和错误报文。查询报文是指ICMP响应请求、相应回答、路由公告、地址屏蔽请求等。
而绝大部分ICMP信息是错误报文,例如,目的地址不可到达、源地址消亡、生命周期超期等。
ICMP报文:
类型(8位) 代码(8位) 校验和(16位)
(因不同的类型和代码而有不同的内容)
类型字段可以有不同的值,以描述特定类型的ICMP报文。某些ICMP报文还是使用代码字段的值来进一步描述不同的条件。
各种类型的ICMP报文如下表,它由报文中的类型字段和代码段来共同决定。最后两列表明ICMP报文是一份查询报文还是
一份错误报文。
类型 代码 描述 查询 错误
0 0 回应应答(Ping应答) + -
3 - 目标不可到达 - +
3 0 网络不可到达 - +
3 1 主机不可到达 - +
3 2 协议不可到达 - +
3 3 端口不可到达 - +
3 4 禁止分割 - +
3 5 源站选路失败 -
+
3 6 目标网路不认识 - +
3 7 目标主机不认识 - +
3 8 源主机被隔离(作废不用) - +
3 9 目标网络被强制禁止 - +
3 10 目标主机被强制禁止 - +
3 11 由于服务类型TOS,网络不可到达 - +
3 12 由于主机类型TOS,主机不可到达 - +
3 13 由于过滤,通信被强制禁止 - +
3 14 主机越权 - +
3 15 优先权中止生效 - +
4 0 源端口被关闭(基本流控制) - +
5 - 重定向 - +
5 0 对网络重定向 - +
5 1 对主机重定向 - +
5 2 对服务类型和网络重定向 - +
5 3 对服务类型和主机重定向 - +
8 0 请求回应(ping请求) + -
9 0 路由器通告 + -
10 0 路由器请求 + -
11 - 超时 - +
11 0 传输期间生存时间(TTL)为0 - +
11 1 在数据包组装期间生存时间为0 - +
12 - 参数问题 - +
12 0 坏的IP首部 - +
12 2 缺少必须的选项 - +
13 0 时间截请求 + -
14 0 时间截应答 + -
15 0 信息请求 + -
16 0 信息应答 + -
17 0 地址掩码请求 + -
18 0 地址掩码应答 + -
目标地址是广播地址或多播地址(D类地址)的IP数据包不会产生ICMP错误报文,这是为了防止ICMP错误报文对广播分组的
响应而带来的广播风暴。
ICMP不可到达的原因及分析
ICMP不可到达的报文类型值为3,可以依据不同的代码值实现不哦他那个的不可达功能。
1.网络不可到达
2.主机不可到达
3.禁止分割:
在上文介绍IP层的数据包大小时,曾提到在MTU较小的网络上,需要把大数据包划分成更小的数据包片(分片),以保证数
据包正常通过网络。
假如路由器A在将客户端的数据发往服务器时,需要分割客户机的数据包,但是数据包的IP头中的IP头中即设置了拒绝分
片位,那么路由器将会向客户机返回一个代码为4的“禁止分割”的ICMP信息。
TCP/IP的网际层协议ICMP
TCP/IP的网际层协议——ICMP
TCP/IP的网际层层协议——ICMP
TCP/IP的网际层协议——ARP
TCP/IP网际层协
TCP/IP协议基础的
TCP/IP协议栈的小结
TCP/IP协议
TCP/IP协议
TCP/IP协议
TCP/IP协议2
TCP/IP协议
TCP/IP协议
TCP/IP协议基础
TCP/IP协议基础
TCP/IP协议
嵌入式TCP/IP协议 - TCP/IP协议简介
TCP/IP协议系列讲座
TCP/IP协议基础(2)
TCP/IP协议基础(1)
Linux TCP/IP协议栈的通用编码模式
Linux TCP/IP协议栈的通用编码模式
用协议分析工具学习TCP/IP
TCP/IP协议栈初始化流程