首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

ICMP控制报文协议

ICMP控制报文协议

IP层的主要控制功能包括差错控制、拥塞控制和路由控制。若在IP报文传输过程中出现错误,IP协议本身并没有一种内在的机制获取差错信息并进行差错控制。比如以下问题IP协议本身是不能解答的:(1)数据报是否正确地到达了接收端?(2)若数据报不能到达接收方,那么这是什么原因造成的?        为此,在TCP/IP中设计了ICMP协议来处理报文传输过程中出现的错误,ICMP是IP层的一个组成部分。具体如下:      (1)当中间路由器或目标主机发现数据报文在传输过程中出现错误,不能到达接收端时,主机或者路由器的ICMP模块将被触发,并产生一个ICMP报文向信源机报告出错情况。      (2)在实际应用中,ICMP不但用来传输报告差错的报文,它还用来传输控制报文。      (3)ICMP并不能提高IP协议的可靠性,只是当IP数据报不能到达接收端时,用来向发送端的IP层通知数据报因何原因没有到达接收端,以便发送端的IP层能够进行差错控制和差错处理。      (4)目前的ICMP已成为用于IP层差错和控制报文传输的专用协议。 什么情况下不发送ICMP报文     (1)ICMP差错报文(ICMP查询报文可能会产生ICMP差错报文)      (2)目的地址是广播地址或多播地址的IP数据报       (3)作为链路层广播的数据报       (4)不是IP分片的第一片       (5)源地址不是单个主机的数据报         (6)具有特殊地址(如127.0.0.0或0.0.0.0)的数据报 ICMP应用     (1)源主机消亡:源主机接收到源主机消亡(抑制)报文后,必须将此信息交给高层进程处理。     (2)超时     (3)参数问题     (4)重定向     (5)回送请求和回送应答是一对查询报文,用于测试两个机器(主机或路由器)之间能否实现通信。     (6)时间戳请求和时间戳应答一对查询报文,用于确定IP数据报在源端和目的端之间往返所需要的时间,也可用作源端和目的端机器的时钟同步。     (7)地址掩码请求和地址掩码应答是一对查询报文,用于获得一个主机所在网络的子网掩码。     (8)路由器通告和路由器请求是一对查询报文,用于主机与路由器之间交换信息。      (9)信息请求和信息应答是一对查询报文,用于主机查找所连接网络的地址。     (10)路由跟踪ICMP的封装       ICMP封装在IP报进行传输。ICMP报文本身被封装在IP数据报的数据区中,而这个IP数据报又被封装在帧数据中。在IP数据报报头中的协议(Protocol)字段设置成1,表示该数据是ICMP报文。                 其中,ICMP报文包含:ICMP首部(8字节)+产生差错的数据报IP首部+IP首部后的8个字节。具体如下图:       IP包首部要被传回的原因,因为IP首部中包含了协议字段,使得ICMP可以知道如何解释后面的8个字节。而IP首部后面的8字节(UDP的首部或者TCP首部,UDP和TCP首部的8个字节分别包含了16位的目的端口号和源端口号),根据源端口号就可以把差错报文与某个特定的用户进程关联。 ICMP报文的报头       ICMP报文包括8个字节的报头和长度可变的数据部分。对于不同的报文类型,报头的格式一般是不相同的,但是前3个字段(4个字节)对所有的ICMP报文都是相同的。      (1)类型(Type)字段,长度是1字节,用于定义报文类型。     (2)代码(Code)字段,长度是1字节,表示发送这个特定报文类型的原因。     (3)校验和(Checksum)字段,长度是2字节,用于数据报传输过程中的差错控制。与IP报头校验和的计算方法类似,不同的是其是对整个ICMP报文进行校验。     (4)报头的其余部分,其内容因不同的报文而不同。     (5)数据字段,其内容因不同的报文而不同。对于差错报告报文类型,数据字段包括ICMP差错信息和触发ICMP的整个原始数据报,其长度不超过576字节。 总结   (1)IP协议是一种不可靠的、无连接的协议,不具备差错报告和差错纠正机制,它必须依赖于ICMP协议来报告处理一个IP数据报传输过程中的错误并提供管理和状态信息    (2)ICMP即网际控制报文协议,是IP协议的一部分。当数据报在传输过程中发生错误时,主机或者路由器的ICMP模块将被触发,并产生一个ICMP报文    (3)ICMP报文有两大类:差错报告报文和查询报文。其中,差错报告报文包括:目的不可达、源主机消亡、超时、参数问题、重定向。查询报文包括:回应请求和应答、信息请求和应答(已弃用)、时间戳和时间戳应答、地址掩码请求和应答、路由器通告和请求    (4)ICMP报文封装成IP数据报的形式传送。ICMP报文包括1字节的类型字段、1字节的代码字段、2字节的校验和字段和长度可变的数据字段
继承事业,薪火相传
返回列表