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信息。