欢迎来到天天文库
浏览记录
ID:39376322
大小:483.50 KB
页数:41页
时间:2019-07-02
《差错与控制报文协议(ICMP)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5讲因特网控制报文协议IP协议存在的问题:IP协议没有差错报告或差错纠正机制;IP协议缺少一种为主机和管理查询的机制;ICMP协议是为补充IP协议的两个缺点而设计的,它配合IP协议使用;ICMP协议:用于IP层的差错报告、拥塞控制、路径控制以及路由器或主机信息的获取。ICMP协议在网络层中的位置:ICMP协议报文封装:向下:虽然ICMP协议可以接受来自上层的请求,但并不直接封装来自上层协议的数据。ICMP协议将请求转变为ICMP报文,然后将报文封装在IP协议中进行发送,在IP数据报首部中的协议字段为“1”;向上:IP软件一旦接收到差
2、错或控制报文,立即交给ICMP模块进行处理。ICMP模块可以形成应答报文,也可以交给上层的应用程序或协议去处理。文档:RFC792:InternetControlMessageProtocol,1981RFC1256:ICMPRouterDiscoveryMessages,1991主要内容5.1ICMP报文格式与类型5.2ICMP差错报告5.3ICMP控制报文5.4ICMP请求与应答报文对5.1ICMP报文格式与类型ICMP报文由首部和数据段组成。首部为定长的8个字节,前4个字节是通用部分,后4个字节随报文类型的不同有所差异。ICMP
3、报文的一般格式如图所示。字段说明:类型:是一个8比特长字段,定义了ICMP报文的类型。代码:是一个8比特长字段,指明了发送此特定报文类型的原因。检验和:是一个16比特长字段,用于数据报传输过程中的差错控制。首部的其余部分:对每一种报文类型都是特定的。数据段部分:在差错报文中:所携带的信息可找出引起差错的原始分组;在查询报文中:携带了基于查询类型的额外信息。ICMP报文类型:(见下图)情况一、分为二大类:差错报告和查询情况二、分为三大类:差错报告、控制报文和请求应答报文返回5.2ICMP差错报告ICMP差错报告的数据段部分:包含出错数据
4、报的首部及出错数据报的前64位数据(即:端口号(UDP和TCP)和序号(TCP)),这些信息有助于信源或管理人员发现错误原因;ICMP差错报告具有以下特点:只报告差错,但不负责纠正错误,纠错工作留给高层协议去处理;发现出错的设备只向信源机报告差错。差错报告作为一般数据传输,不享受特别优先权和可靠性。产生ICMP差错报告的同时,会丢弃出错的IP数据报。以下几种情况不会产生ICMP差错报告报文:对于携带ICMP差错报文的数据报,不会再产生ICMP差错报文;对于分片的数据报,如果不是第一个分片,则不会产生ICMP差错报文;对于具有组(多)播
5、地址的数据报文,不会产生ICMP差错报文;对于具有特殊地址(如:127.0.0.0和0.0.0.0)的数据报文,不会产生ICMP差错报文。5.2.1信宿不可达报告当路由器无法根据路由表转发IP数据报时或主机无法向上层协议和端口提交IP数据报时,将丢弃当前的数据报,并产生信宿不可达差错报告,向信源报告出错;信宿不可达报文如图所示。信宿不可达报文可能由路由器产生,也可能由信宿机产生。产生信宿不可达报文的原因的16种可能:类型报文代码描述3信宿不可达0网络不可达1主机不可达2协议不可达3端口不可达4数据报无法分片5源路由失败6信宿网络未知7
6、信宿主机未知8源主机被隔离9与信宿网络的通信被禁止10与信宿主机的通信被禁止11对特定的服务类型(TOS)网络不可达12对特定的服务类型(TOS)主机不可达13因管理者设置过滤而使主机不可达14因非法的优先权而使主机不可达15因报文的优先级低于网络设置的最小优先级而使主机不可达各代码说明:代码0:网络不可达。可能是硬件故障。代码1:主机不可达。这也可能是硬件故障。代码2:协议不可达。IP数据报携带的数据可能属于高层协议,但此时高层协议并未运行,于是就发送出代码为2的报文。代码3:端口不可达。数据报要交付的那个应用程序(进程)此时未运行
7、。代码4:需要进行分片,但该数据报的DM(不分片)字段已被设置。代码5:源站路由选择不能完成。即在这个源站路由选择选项中定义的一个或多个路由器无法通过。代码6:目的网络不可知。(与代码0不同)代码7:目的主机不可知。(与代码1不同)代码8:源主机是孤立的。代码9:与目的网络的通信从管理上是禁止的。代码10:与目的主机的通信从管理上是禁止的。代码11:对所请求的服务类型,网络不可达。(与代码0不同)代码12:对所请求的服务类型,主机不可达。(与代码1不同)代码13:主机不可达。因为管理机构放置了一个过滤器在它上面。代码14:主机不可达。
8、因为主机的优先级被破坏了。这个报文由路由器发出,指出所请求的优先级对该目的站是不允许的。代码15:主机不可达。因为它的优先级被删掉了。注意:具有代码2或3的目的站不可达报文只能由目的主机创建,其余的目的站不可达报文只能由
此文档下载收益归作者所有