第6章-差错与控制报文协议课件

上传人:陈** 文档编号:250534302 上传时间:2024-11-03 格式:PPT 页数:38 大小:570.50KB
返回 下载 相关 举报
第6章-差错与控制报文协议课件_第1页
第1页 / 共38页
第6章-差错与控制报文协议课件_第2页
第2页 / 共38页
第6章-差错与控制报文协议课件_第3页
第3页 / 共38页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Page,*,第6章 差错与控制报文协议,6.1,ICMP,协议,6.2,ICMP,报文格式与类型,6.3,ICMP,差错报告,6.4,ICMP,控制报文,6.5,ICMP,请求与应答报文对,6.6,ICMP,报文的封装,6.1 因特网控制报文协议(ICMP),ICMP的最初目的是用于IP层的,差错报告,,由路由器或信宿向信源报告传输错误的原因。,随着网络的发展,检测和控制功能逐渐被引入到ICMP协议中,使得ICMP协议不仅用于传输,差错报告,,而且大量用于传输,控制报文,。,位置:,ICMP与IP协议位于同一个层次(IP层),但ICMP报文是封装在IP数据报中进行传输的。,作用:,ICMP协议,是IP协议的补充,,用于IP层的差错报告、拥塞控制、路径控制以及路由器或主机信息的获取。,6.2 ICMP报文格式与类型,ICMP报文由,首部和数据,组成。,首部,固定为8个字节,前4个字节是通用部分,后4个字节随报文类型的不同有所差异。ICMP报文的一般格式如图所示。,ICMP报文可以分为,三大类,:差错报告报文、控制报文和请求应答报文。,6.3 ICMP差错报告报文,ICMP差错报告报文的,数据区,包含,出错数据报的首部及其前64位数据,,这些信息有助于信源或管理人员发现错误原因。,ICMP差错报告具有以下,特点,:,1),只报告差错,,但,不负责纠正,错误,纠错工作留给高层协议去处理。,2),只向信源报告,差错。,3)差错报告,作为一般数据传输,,不享受特别优先权和可靠性。,4)产生差错报告的同时,会,丢弃出错的IP数据报,。,以下情况不会产生ICMP差错报告:,1)ICMP,差错报文本身,不会再产生ICMP差错报告。,2)IP数据报的,非第一个分片,不会产生ICMP差错报告。,3),组播报文,不会产生ICMP差错报告。,4),特殊地址,和的报文不会产生ICMP差错报告。,ICMP差错报告可分为:信宿不可达报告,数据报超时报告,数据报参数错报告。,6.3.1 信宿不可达报告,当,路由器,无法根据路由表转发数据报时或,主机,无法向上层协议和端口提交数据报时,将,丢弃当前的数据报,,并,向信源产生信宿不可达差错报告,。信宿不可达报文如图所示。,类型,报 文,代码,描 述,3,信宿不可达,0,网络不可达,1,主机不可达,2,协议不可达,3,端口不可达,4,数据报无法分片,5,源路由失败,6,信宿网络未知,7,信宿主机未知,8,源主机被隔离,9,与信宿网络的通信被禁止,10,与信宿主机的通信被禁止,11,对特定的服务类型(TOS)网络不可达,12,对特定的服务类型(TOS)主机不可达,13,因管理者设置过滤而使主机不可达,14,因非法的优先权而使主机不可达,15,因报文的优先级低于网络设置的最小优先级而使主机不可达,信宿不可达报文可能由,路由器产生,,也可能由,信宿机产生,。产生信宿不可达报文的原因的16种可能:,“信宿”有四个层次的概念:网络、主机、协议、端口,网络不可达可能是路由表有问题或者是目的地址有错。,主机不可达可能是信宿不在运行中或信宿不存在等,出现主机不可达错说明网络是可达的。,协议不可达的原因是将IP数据报向上层协议(TCP、UDP等)提交时上层协议未在运行中,协议不可达说明网络和主机都可达。,端口不可达是因为信宿机中与该端口对应的应用程序未运行,端口不可达说明网络、主机和协议都可达。,6.3.2 数据报超时报告,数据报首部的,TTL值,用于防止数据报因路由表的问题而无休止地在网络中传输。当TTL值为0时,,路由器,会丢弃当前的数据报,并向源主机发送一个ICMP数据报超时报告。,另外,在信宿进行分片重组时会启动,重组定时器,,一旦重组定时器超时,,信宿机,就会丢弃当前正在重组的数据报,并向源主机发送一个ICMP数据报超时报告。,数据报超时报告的报文格式与信宿不可达报告的报文格式相同,只是类型和代码值不同。,如表所示。,类型值11,表示是数据报超时报文,代码“,0,”表示TTL超时,代码“,1,”表示分片重组超时。,类型,报 文,代码,描 述,11,超时,0,路由TTL超时,1,分片重组超时,6.3.3 数据报参数错报告,数据报参数错报告是由于数据报首部字段值不明确或空缺而引起的。一旦,路由器或信宿机,发现此种错误,便抛弃该数据报,并向信源发送数据报参数错报文。报文的格式如图6-4所示。,类型12,表明数据报参数错,代码“0”,表示数据报首部中的某个字段的值有错或不明确,这时,指针,指向数据报中有问题的字节;,代码“1”,表示数据报首部中缺少某一参数,此时的ICMP首部,没有指针字段,。,表6-3给出了数据报参数错报告的类型。注意:,代码为“0”时,只能报告一个出错参数,代码为“1”时,只能报告缺少参数,,不能说明缺少哪个参数。,类型,报 文,代码,描 述,12,参数错,0,IP首部参数错,1,缺少选项所要求的部分,6.4 ICMP控制报文,ICMP控制报文包括源抑制报文和重定向报文,源抑制报文,用于拥塞控制,重定向报文,用于路径控制,下表给出了这两类报文的类型和代码值。,类型,作 用,代码,描 述,4,拥塞控制,0,源抑制报文,5,路径控制,0,网络重定向,1,主机重定向,2,基于服务类型的网络重定向,3,基于服务类型的主机重定向,6.4.1 源抑制报文,为什么要进行源抑制?,IP协议采用的是,无连接,的传输方式,发送方事先并,不了解路由器和信宿机的处理能力和缓冲区大小,在IP数据报,传输过程中没有采用任何流量控制,机制,因此,当大量的数据报进入路由器或信宿时,会造成其缓冲区溢出,即出现,拥塞,(Congestion)。,ICMP利用,源抑制,的方法来进行拥塞控制。通过源抑制来,减缓,信源发出数据报的速率。,源抑制报文的格式如图6-5所示。,源抑制包括,三个阶段,:发现拥塞阶段、解决拥塞阶段和恢复阶段。,在,发现拥塞阶段,,路由器对缓冲区进行监测,一旦发现拥塞,立即向相应的信源发送ICMP源抑制报文。该信源收到源抑制报文后,便知道拥塞已经发生,并且所发送的数据报已经丢失。,在,解决拥塞阶段,,信源根据收到的源抑制报文中数据区所带的原数据报的首部信息决定,对,去往某一特定信宿的信息流进行抑制。通常信源,按一定的规则降低,发往某信宿的数据报传输率。,拥塞解除后,,信源,逐渐恢复,数据报传输速率。,在拥塞控制中以下几点值得,注意,:,1)信源根据,有无进一步的源抑制报文到达,来判断拥塞是否已经解除。,2)拥塞可能是由,多个源共同行为的结果,,由于各个信源的发送速率相差较大,源抑制的效果未必很好。,6.4.2 重定向报文,因特网上的路由器和主机中都存有一个路由表,路由表决定了去往目的地的下一跳路由器的地址。,由于路由器之间通过路由协议定期交换路由信息,,路由器,上的,路由表,能够,及时,地反映网络结构的变化。,但主机因为不能保证全天开机;另外,由于因特网上的主机数量远大于路由器的数量,因此为了避免大量的开销,,主机,中的,路由表,不通过路由协议进行更新,所以主机中的路由表,不能及时,反映网络结构的变化情况,主机所在的网络可能和多个路由器相连,主机在发送信息时需要根据其路由表来选择最佳下一跳路由器,为了解决,主机路由表的更新问题,,ICMP提供了,重定向,机制。,LAN,LAN,A,R1,R2,B,IP分组1,重定向报文,IP分组1,IP分组1,IP分组2,主机根据重定向报文更新自己的寻径表,主机路由表所给出的下一跳路由器,可能并非是去往信宿的最佳下一跳路由器,,当主机的下一跳路由器收到数据报后,该,路由器,根据它的路由表,判断,本路由器是否是去往信宿的最佳选择,如果不是,该路由器仍然会向信宿网络,转发,该数据报,但同时会向信源产生一个ICMP,重定向报文,,通知信源修改它的路由表,重定向报文中将给出信源的最佳下一跳路由器的IP地址,。,ICMP重定向报文的格式如图所示。,代码,从0到3分别代表不同的重定向方式,具体含义由前面的表6-4给出。,主机开机后在ICMP重定向机制的作用下,逐渐充实和完善其路由表。,值得,注意,的是:,1)ICMP产生重定向报文的时候,并不丢弃原数据报,。,2)ICMP重定向报文由位于同一网络的路由器发送给主机,完成对主机的路由表的刷新。,3),被刷新的路由表项,与引起重定向的IP数据报首部中的信宿地址相关。此首部会置于重定向报文数据部分。,6.5 ICMP请求与应答报文对,ICMP请求与应答报文对:可由因特网上任何主机或路由器向其他主机或路由器发送请求并获得应答。,通过ICMP请求与应答报文对,网络管理人员、用户或应用程序可以,对网络进行检测,,可了解:,设备的可达性,地址掩码的设置,时钟的同步等情况,方便对网络进行故障诊断和控制,。,ICMP请求与应答报文对如表所示。其中的信息请求与应答报文已经不再使用。,类型,作 用,代 码,报 文,8,回应请求与应答,0,回应请求,0,0,回应应答,10,路由器请求与通告,0,路由器请求,9,0,路由器通告,13,时间戳请求与应答,0,时间戳请求,14,0,时间戳应答,15,信息请求与应答(已不用),0,信息请求,16,0,信息应答,17,地址掩码请求与应答,0,地址掩码请求,18,0,地址掩码应答,6.5.1 回应请求与应答报文,作用:,不仅可以被用来测试,主机或路由器的可达性,,还可以测试,IP协议的工作情况,。,TCP/IP网络系统所提供的,ping命令,就是利用ICMP回应请求与应答报文来实现的,该命令通常用于测试信宿的可达性。,ICMP回应请求与应答报文的格式如图所示。,类型“8”,表明是回应请求报文,类型“0”,表明是回应应答报文,协议未对标识符和序列号字段进行正式定义,通常用于,匹配请求与应答,,标识符一般为发起请求进程的进程ID。请求与应答报文的标识符和序列号一致。,6.5.2 时间戳请求与应答报文,因特网中的各个主机和路由器都是独立运行的,因此在时钟上存在着较大的,差异,,而一些分布式应用系统要求各个设备的时钟是,同步,的。ICMP时间戳请求与应答报文就是用于设备,时钟同步,的。,基本思路,:请求方主机通过获取另一主机的时间戳信息,将该信息和请求方时间戳信息进行比较,估算两者的时钟差异。,请求/应答格式如图。,类型,13,:请求报文,,类型,14,:应答报文。,初始时间戳,字段由请求方填入发出请求的时间,接收时间戳,字段由应答方填入收到请求的时间,发送时间戳,字段由应答方填入发送应答的时间,三个时间戳字段各为32比特长,以毫秒为单位从世界时间午夜0点起计时。时间戳的计数值不能超过86400000(24小时)。,请求报文:填初始时间戳,而接收时间戳和发送时间戳为0。,应答报文:初始时间戳直接从请求报文中复制,接收时间戳和发送时间戳由应答方主机根据自己接收和发送时的时钟填写。,为了估算请求方与应答方的时钟差异,首先要计算出时间戳请求和应答的,往返延迟,,然后据此计算出,单程传输延迟,,最后由两设备的时间戳和单程传输延迟计算出两台设备之间的,时间差,,进而实现时钟的同步。,往返延迟时间可以用下式计算:,往返时间,(t,当前,t,初始,)(t,发送,t,接收,),(t,接收,t,初始,),(t,当前,t,发送,),假设传输请求的时延和传输应答的时延相同,那么,单程时延就等于往返时间的一半,。,时间差t,接收,(t,初始,单程时延),一个,时钟同步,的,例子,:主机A发出时间戳请求时的初始时间戳为1000毫秒,主机B收到请求时的接收时间戳是1055毫秒,主机B给出应答时的发送时间戳是1057毫秒,主机A收到应答时的时间为1030毫秒。主机A可以根据这些时间戳计算出两台主机间的时间差。,往返时间t,当前,t,初始,(t,发送,t,接收,),10301000(10571055)28(毫秒),单程时延28214(毫秒),时间差t,接收,(t,初始,单程时延)
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!