欢迎来到天天文库
浏览记录
ID:44992193
大小:266.00 KB
页数:17页
时间:2019-11-06
《网际控制报文协议》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、TCP/IP—协议分析与应用编程第四章网际控制报文协议主要内容网际控制报文协议ICMP报文格式与类型ICMP报文ICMP报文的封装学习目标理解ICMP的概念和作用。掌握ICMP报文的格式和各种报文类型的作用。了解ICMP报文的封装过程。网际控制报文协议IP是一种不可靠的,无连接的数据报传输协议,提供了一种尽力而为的点到点数据传输服务,但不能保证所有数据报都可以成功地从信源到达信宿。为此人们在网络层(也称为IP层)引入了另外一种协议——网际控制报文协议(InternetControlMessageProtocol,ICMP)来实现IP层数据报传输过程中的差错控制。通
2、过ICMP配合IP的使用,提高了数据报传递的成功率。ICMP是IP的补充,用于IP层的差错报告、拥塞控制、路径控制以及路由器或主机信息的获取。ICMP报文格式与类型ICMP报文分为两大类,即ICMP差错报告报文和ICMP查询报告报文。ICMP报文格式与类型ICMP报文格式类型:用于定义ICMP报文类型。代码:用于标识发送这个特定报文类型的原因。校验和:用于数据传输过程的差错控制,提供ICMP整个报文的校验和。首部其他部分:由报文类型来确定相应内容,大部分差错报告报文未使用该字段;数据:提供了ICMP差错和状态报告信息,内容因报文类型而异。ICMP报文信宿不可达报告
3、:当路由器无法转发IP数据报时,或主机无法向上一层协议或端口提交IP数据报时,将丢弃当前的数据报,并产生信宿不可达差错报告向信源报告出错信息。ICMP报文源端抑制报告:源端抑制报告报文为IP增加了流量控制能力。当路由器或信宿机由于拥塞而造成数据报丢弃时,它们可以向信源机发送源端抑制报告报文。该报文可以起到两方面的作用:其一是通知信源机数据报已经被丢弃;其二是警告信源机,在传输路径上出现了拥塞,必须放慢发送速度。ICMP报文重定向报告:为了使主机的路由表信息能根据需要进行更新,在ICMP中引入了重定向报告报文,原理如下:由于主机上的路由表不会随着网络拓扑结构的变化进
4、行实时更新,因此,信源机就有可能将数据报发送给一个错误的路由器(或非最优路由器);此时,收到这个数据报的路由器会把所收到的数据报转发给正确的路由器,同时向信源机发送一个重定向报告报文;当信源机收到该报文后,将根据报文信息更新信源机中路由表的路由信息。ICMP报文超时报告:每个IP数据报首部都有一个生存时间字段TTL,并通过设置相应的TTL值来控制数据报在网络上的传输时间。每当数据报通过路由器时,该字段值就减1。当TTL值为0时,路由器会丢弃该数据报,同时产生一个ICMP超时报告报文发送给信源机。另外,在信宿机进行分片重组时,也会启动一个重组定时器。一旦重组定时器超
5、时,信宿机也将丢弃当前正在重组的数据报,并产生一个ICMP超时报告报文发送给信源机。ICMP报文数据报参数错误报告:在数据报传输过程中,如果路由器或信宿机发现数据报首部参数存在问题,如首部字段值不明确和空缺等,进而无法转发或处理该数据报,则会将该数据报丢弃,同时向信源机发送一个数据报参数错误报告。ICMP报文时间戳请求与应答报告:为了实现不同主机或设备之间的时钟同步,在ICMP中引入了时间戳请求和应答报告。信源机向信宿机发送一个时间戳请求报告报文,其中包含信源机发送该报告的时间Tss,要求返回信宿机当前的时间;信宿机收到该请求报告后将返回一个时间戳应答报告报文,该
6、报文中包含信源机发送请求报告的时间Tss、信宿机收到请求报告时间Tsr和信宿机发送应答报告时间Tts。因此信源机和信宿机之间的系统时间差(∆T=(Tss-Tsr+Ttr-Tts)/2),并依据该时间差调整自己的系统时间,实现与信宿机的时间同步。ICMP报文回应请求与应答报告:引入回应请求和应答报告报文的目的是为网络管理人员和用户提供对网络进行诊断和测试的手段,如可以用该报告来测试信宿是否可达等。其实现原理为:信源机(主机或路由器)向信宿机发送回应请求报告报文;信宿机收到该报文后,根据报文中的请求信息形成回应应答报告并回送给信源机;信源机可以根据回应应答报告报文来判
7、断两个设备之间是否能正常通信。ICMP报文地址掩码请求与应答报告:要想获取一台主机所属的子网地址,除了要知道该主机的IP地址外,还要知道其子网掩码。在ICMP中,引入了地址掩码请求和应答报告。利用该报告,请求方可以获取网络上某台主机或路由器的子网掩码,进而可以确定其子网地址。ICMP报文路由器询问与通告报告:当某主机希望获得网络上的路由器的状态信息时,可以使用ICMP中的路由器询问与通告报告。利用该报文,既可以获取路由器的信息,也可以来检测路由器是否处于活动状态。其实现原理为:某主机在引导以后可以创建路由器询问报告报文,并通过广播或多播发出;当网络上的路由器接收到
8、该报告后,
此文档下载收益归作者所有