【精品】TCP-IP协议原理第5章 差错与控制报文协议精品ppt课件.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《【精品】TCP-IP协议原理第5章 差错与控制报文协议精品ppt课件.ppt》由会员分享,可在线阅读,更多相关《【精品】TCP-IP协议原理第5章 差错与控制报文协议精品ppt课件.ppt(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、TCP-IP协议原理第5章 差错与控制报文协议6.1 因特网控制报文协议(因特网控制报文协议(ICMP)ICMP协议设计的最初目的主要是用于协议设计的最初目的主要是用于IP层的层的差错报告差错报告,由路由器或信宿以,由路由器或信宿以一对一的模式向一对一的模式向信源报告信源报告传输错误的原因。传输错误的原因。随着网络的发展,检测和控制功能逐渐被引入随着网络的发展,检测和控制功能逐渐被引入到到ICMP协议中,使得协议中,使得ICMP协议不仅用于传协议不仅用于传输差错报告,而且大量用于输差错报告,而且大量用于传输控制报文传输控制报文。ICMP与与IP协议位于同一个层次(协议位于同一个层次(IP层),
2、但层),但ICMP报文是报文是封装封装在在IP数据报的数据部分进行数据报的数据部分进行传输的。传输的。ICMP协议协议是是IP协议的补充协议的补充,用于,用于IP层的差错层的差错报告、拥塞控制、路径控制以及路由器或主机报告、拥塞控制、路径控制以及路由器或主机信息的获取。信息的获取。返回返回6.2 ICMP报文格式与类型报文格式与类型ICMP报文由报文由首部和数据首部和数据段组成。段组成。首部首部为定为定长的长的8个字节,前个字节,前4个字节是通用部分,后个字节是通用部分,后4个字节随报文类型的不同有所差异。个字节随报文类型的不同有所差异。ICMP报文的一般格式如图所示。报文的一般格式如图所示。
3、ICMP报文虽然细分为很多类,但总的来看报文虽然细分为很多类,但总的来看可以分为如图所示的可以分为如图所示的三大类三大类:差错报告、:差错报告、控制报文和请求应答报文。控制报文和请求应答报文。返回返回6.3 ICMP差错报告差错报告ICMPICMP差错报告的数据区包含差错报告的数据区包含差错报告的数据区包含差错报告的数据区包含出错数据报的首部出错数据报的首部出错数据报的首部出错数据报的首部及该及该及该及该数据报的数据报的数据报的数据报的前前前前6464位数据位数据位数据位数据,这些信息有助于信源或管理,这些信息有助于信源或管理,这些信息有助于信源或管理,这些信息有助于信源或管理人员发现人员发现
4、人员发现人员发现错误原因错误原因错误原因错误原因。ICMPICMP差错报告具有以下差错报告具有以下差错报告具有以下差错报告具有以下特点特点特点特点:1 1)只报告差错只报告差错只报告差错只报告差错,但,但,但,但不负责纠正不负责纠正不负责纠正不负责纠正错误,纠错工作留给错误,纠错工作留给错误,纠错工作留给错误,纠错工作留给高层协议去处理。高层协议去处理。高层协议去处理。高层协议去处理。2 2)发现出错的设备)发现出错的设备)发现出错的设备)发现出错的设备只向信源报告只向信源报告只向信源报告只向信源报告差错。差错。差错。差错。3 3)差错报告)差错报告)差错报告)差错报告作为一般数据传输作为一般
5、数据传输作为一般数据传输作为一般数据传输,不享受特别优先权,不享受特别优先权,不享受特别优先权,不享受特别优先权和可靠性。和可靠性。和可靠性。和可靠性。4 4)产生)产生)产生)产生ICMPICMP差错报告的同时,会差错报告的同时,会差错报告的同时,会差错报告的同时,会丢弃出错的丢弃出错的丢弃出错的丢弃出错的IPIP数据数据数据数据报报报报。l信宿不可达报文可能由信宿不可达报文可能由信宿不可达报文可能由信宿不可达报文可能由路由器产生路由器产生路由器产生路由器产生,也可能由,也可能由,也可能由,也可能由信宿机信宿机信宿机信宿机产生产生产生产生。产生信宿不可达报文的原因的。产生信宿不可达报文的原因
6、的。产生信宿不可达报文的原因的。产生信宿不可达报文的原因的1616种可能种可能种可能种可能 :类类类类型型型型报报报报 文文文文代代代代码码码码描描描描 述述述述3 3信宿不可达信宿不可达信宿不可达信宿不可达0 0网网网网络络络络不可达不可达不可达不可达1 1主机不可达主机不可达主机不可达主机不可达2 2协议协议协议协议不可达不可达不可达不可达3 3端口不可达端口不可达端口不可达端口不可达4 4数据数据数据数据报报报报无法分片无法分片无法分片无法分片5 5源路由失源路由失源路由失源路由失败败败败6 6信宿网信宿网信宿网信宿网络络络络未知未知未知未知7 7信宿主机未知信宿主机未知信宿主机未知信宿
7、主机未知8 8源主机被隔离源主机被隔离源主机被隔离源主机被隔离9 9与信宿网与信宿网与信宿网与信宿网络络络络的通信被禁止的通信被禁止的通信被禁止的通信被禁止1010与信宿主机的通信被禁止与信宿主机的通信被禁止与信宿主机的通信被禁止与信宿主机的通信被禁止1111对对对对特定的服特定的服特定的服特定的服务类务类务类务类型型型型(TOS)(TOS)网网网网络络络络不可达不可达不可达不可达1212对对对对特定的服特定的服特定的服特定的服务类务类务类务类型型型型(TOS)(TOS)主机不可达主机不可达主机不可达主机不可达1313因管理者因管理者因管理者因管理者设设设设置置置置过滤过滤过滤过滤而使主机不可
8、达而使主机不可达而使主机不可达而使主机不可达1414因非法的因非法的因非法的因非法的优优优优先先先先权权权权而使主机不可达而使主机不可达而使主机不可达而使主机不可达1515因因因因报报报报文的文的文的文的优优优优先先先先级级级级低于网低于网低于网低于网络设络设络设络设置的最小置的最小置的最小置的最小优优优优先先先先级级级级而使主机不可达而使主机不可达而使主机不可达而使主机不可达6.3.2 数据报超时报告数据报超时报告在数据报的传输过程中,首部的在数据报的传输过程中,首部的TTL值值用于防用于防止数据报因路由表的问题而无休止地在网络中止数据报因路由表的问题而无休止地在网络中传输。传输。当当TTL
9、值为值为0时,路由器会丢弃当前的时,路由器会丢弃当前的数据报数据报,并产生一个,并产生一个ICMP数据报超时报告数据报超时报告。另外。另外。在信宿进行分片重组时会启动在信宿进行分片重组时会启动重组定时器重组定时器,一,一旦重组定时器超时,信宿就会丢弃当前正在重旦重组定时器超时,信宿就会丢弃当前正在重组的数据报,然后产生一个组的数据报,然后产生一个ICMP数据报超时数据报超时报告报告,并向信源发送该超时报告。,并向信源发送该超时报告。l数据报超时报告的数据报超时报告的报文格式与信宿不可达报文格式与信宿不可达报告的报文格式相同报告的报文格式相同,只是类型和代码,只是类型和代码值不同。值不同。l数据
10、报超时报告的类型和代码的含义如表数据报超时报告的类型和代码的含义如表所示。所示。类型值类型值11表示是数据报超时报文,表示是数据报超时报文,代码代码“0”表示表示TTL超时,代码超时,代码“1”表示分表示分片重组超时。片重组超时。类类类类型型型型报报报报 文文文文代代代代码码码码描描描描 述述述述1111超超超超时时时时0 0路由路由路由路由TTLTTL超超超超时时时时1 1分片重分片重分片重分片重组组组组超超超超时时时时6.3.3 数据报参数错报告数据报参数错报告数据报参数错报告是由数据报首部字段值数据报参数错报告是由数据报首部字段值不明确或空缺而引起的差错报告。一旦路不明确或空缺而引起的差
11、错报告。一旦路由器或信宿机发现由器或信宿机发现错误的数据报首部错误的数据报首部和和错错误的数据报选项参数误的数据报选项参数时,便抛弃该数据报,时,便抛弃该数据报,并向信源发送差错报告报文。数据报参数并向信源发送差错报告报文。数据报参数错报文的格式如图错报文的格式如图6-4所示。所示。类型类型类型类型1212表明数据报参数错表明数据报参数错表明数据报参数错表明数据报参数错n n代码代码代码代码“0”“0”表示数据报首部中的某个字段的值有错或不明确,表示数据报首部中的某个字段的值有错或不明确,表示数据报首部中的某个字段的值有错或不明确,表示数据报首部中的某个字段的值有错或不明确,这时这时这时这时I
12、CMPICMP报文首部的报文首部的报文首部的报文首部的指针指针指针指针指向数据报中有问题的字节;指向数据报中有问题的字节;指向数据报中有问题的字节;指向数据报中有问题的字节;n n代码代码代码代码“1”“1”表示数据报首部中缺少某一选项所必须具有的部表示数据报首部中缺少某一选项所必须具有的部表示数据报首部中缺少某一选项所必须具有的部表示数据报首部中缺少某一选项所必须具有的部分参数,此时的分参数,此时的分参数,此时的分参数,此时的ICMPICMP报文报文报文报文没有指针字段没有指针字段没有指针字段没有指针字段。表表表表6-36-3给出了数据报参数错报告的类型。给出了数据报参数错报告的类型。给出了
13、数据报参数错报告的类型。给出了数据报参数错报告的类型。l代码为代码为代码为代码为“0”“0”的参数错的参数错的参数错的参数错只能报告一个出错参数只能报告一个出错参数只能报告一个出错参数只能报告一个出错参数l代码为代码为代码为代码为“1”“1”的参数错的参数错的参数错的参数错只能报告缺少参数只能报告缺少参数只能报告缺少参数只能报告缺少参数,不能说明,不能说明,不能说明,不能说明缺少哪个参数。缺少哪个参数。缺少哪个参数。缺少哪个参数。类类类类型型型型报报报报 文文文文代代代代码码码码描描描描 述述述述1212参数参数错错0 0IPIP首部参数首部参数错错1 1缺少缺少选项选项所要求的部分所要求的部
14、分返回返回6.4 ICMP控制报文控制报文ICMPICMP控制报文包括源抑制报文和重定向报文控制报文包括源抑制报文和重定向报文控制报文包括源抑制报文和重定向报文控制报文包括源抑制报文和重定向报文l源抑制报文源抑制报文源抑制报文源抑制报文用于拥塞控制用于拥塞控制用于拥塞控制用于拥塞控制l重定向报文重定向报文重定向报文重定向报文用于路径控制用于路径控制用于路径控制用于路径控制下表给出了这两类报文的类型和作用描述。下表给出了这两类报文的类型和作用描述。下表给出了这两类报文的类型和作用描述。下表给出了这两类报文的类型和作用描述。类类类类型型型型作作作作 用用用用代代代代码码码码描描描描 述述述述4 4
15、拥拥拥拥塞控塞控塞控塞控制制制制0 0源抑制源抑制源抑制源抑制报报报报文文文文5 5路径控路径控路径控路径控制制制制0 0网网网网络络络络重定向重定向重定向重定向1 1主机重定向主机重定向主机重定向主机重定向2 2基于服基于服基于服基于服务类务类务类务类型的网型的网型的网型的网络络络络重定向重定向重定向重定向3 3基于服基于服基于服基于服务类务类务类务类型的主型的主型的主型的主机重定向机重定向机重定向机重定向6.4.1 源抑制报文源抑制报文IP协议采用的是协议采用的是无连接数据报方式无连接数据报方式进行传输进行传输n n发送方事先并发送方事先并发送方事先并发送方事先并不了解中间的路由器和信宿的
16、处理不了解中间的路由器和信宿的处理不了解中间的路由器和信宿的处理不了解中间的路由器和信宿的处理能力和缓冲区大小能力和缓冲区大小能力和缓冲区大小能力和缓冲区大小n n在数据报在数据报在数据报在数据报传输过程中没有采用任何流量控制传输过程中没有采用任何流量控制传输过程中没有采用任何流量控制传输过程中没有采用任何流量控制机制机制机制机制当大量的数据报进入路由器或信宿时,会造当大量的数据报进入路由器或信宿时,会造成缓冲区溢出,即出现成缓冲区溢出,即出现拥塞拥塞(Congestion)。ICMP利用源抑制的方法来进行拥塞控制利用源抑制的方法来进行拥塞控制。通。通过源抑制来减缓信源发出数据报的速率。过源抑
17、制来减缓信源发出数据报的速率。源抑制报文的格式如图源抑制报文的格式如图6-5所示。所示。源抑制包括源抑制包括三个阶段三个阶段:发现拥塞阶段、解决拥塞:发现拥塞阶段、解决拥塞阶段和恢复阶段。阶段和恢复阶段。在在发现拥塞阶段发现拥塞阶段,路由器对缓冲区进行监测,路由器对缓冲区进行监测,一旦发现拥塞,立即向相应的信源发送一旦发现拥塞,立即向相应的信源发送ICMPICMP源源抑制报文。该信源收到源抑制报文后,便知道抑制报文。该信源收到源抑制报文后,便知道拥塞已经发生,而且所发送的数据报已经丢掉。拥塞已经发生,而且所发送的数据报已经丢掉。在在解决拥塞阶段解决拥塞阶段,信源根据收到的源抑制报文,信源根据收
18、到的源抑制报文中所带的原数据报的首部信息决定对去往某一中所带的原数据报的首部信息决定对去往某一特定信宿的信息流进行抑制。通常信源在收到特定信宿的信息流进行抑制。通常信源在收到源抑制报文后,源抑制报文后,按一定的规则降低按一定的规则降低发往某信宿发往某信宿的数据报传输率。的数据报传输率。拥塞解除后拥塞解除后,信源,信源逐渐恢复逐渐恢复数据报传输速率。数据报传输速率。在拥塞控制中以下几点值得在拥塞控制中以下几点值得关注关注:1)虽然对于每个因拥塞而丢弃的数据)虽然对于每个因拥塞而丢弃的数据报都产生报都产生ICMP源抑制报文,但源抑制报文,但信源只信源只按照自己的时间段进行响应按照自己的时间段进行响
19、应。2)拥塞的解除由信源依据)拥塞的解除由信源依据是否有进一是否有进一步的源抑制报文到达步的源抑制报文到达来进行判断。来进行判断。3)拥塞可能是由)拥塞可能是由多个源共同行为的结多个源共同行为的结果果,由于各个信源的发送速率相差较大,由于各个信源的发送速率相差较大,源抑制的效果未必很好。源抑制的效果未必很好。6.4.2 重定向报文重定向报文因特网上的路由器和主机中都存有一个路由表,路由因特网上的路由器和主机中都存有一个路由表,路由因特网上的路由器和主机中都存有一个路由表,路由因特网上的路由器和主机中都存有一个路由表,路由表决定了去往目的地的下一跳路由器的地址。表决定了去往目的地的下一跳路由器的
20、地址。表决定了去往目的地的下一跳路由器的地址。表决定了去往目的地的下一跳路由器的地址。路由器路由器路由器路由器上的路由表能够及时地反映网络结构的变化,上的路由表能够及时地反映网络结构的变化,上的路由表能够及时地反映网络结构的变化,上的路由表能够及时地反映网络结构的变化,这一特点由路由器之间定期交换路由信息加以保证。这一特点由路由器之间定期交换路由信息加以保证。这一特点由路由器之间定期交换路由信息加以保证。这一特点由路由器之间定期交换路由信息加以保证。主机主机主机主机因为不能保证全天开机,所以主机中的路由表因为不能保证全天开机,所以主机中的路由表因为不能保证全天开机,所以主机中的路由表因为不能保
21、证全天开机,所以主机中的路由表不能及时反映网络结构的变化情况。另外,由于因不能及时反映网络结构的变化情况。另外,由于因不能及时反映网络结构的变化情况。另外,由于因不能及时反映网络结构的变化情况。另外,由于因特网上的主机数量远大于路由器的数量,主机如果特网上的主机数量远大于路由器的数量,主机如果特网上的主机数量远大于路由器的数量,主机如果特网上的主机数量远大于路由器的数量,主机如果参与路由信息的交换,势必带来大量的通信开销。参与路由信息的交换,势必带来大量的通信开销。参与路由信息的交换,势必带来大量的通信开销。参与路由信息的交换,势必带来大量的通信开销。因此主机中的路由表因此主机中的路由表因此主
22、机中的路由表因此主机中的路由表不通过路由协议进行更新不通过路由协议进行更新不通过路由协议进行更新不通过路由协议进行更新。但主机所在的网络可能和多个路由器相连,主机在发但主机所在的网络可能和多个路由器相连,主机在发但主机所在的网络可能和多个路由器相连,主机在发但主机所在的网络可能和多个路由器相连,主机在发送信息时也要根据其路由表来选择下一跳路由器,送信息时也要根据其路由表来选择下一跳路由器,送信息时也要根据其路由表来选择下一跳路由器,送信息时也要根据其路由表来选择下一跳路由器,为了解决为了解决为了解决为了解决主机路由表的刷新问题主机路由表的刷新问题主机路由表的刷新问题主机路由表的刷新问题,ICM
23、PICMP提供了提供了提供了提供了重定重定重定重定向向向向机制。机制。机制。机制。主机路由表所给出的下一跳路由器主机路由表所给出的下一跳路由器主机路由表所给出的下一跳路由器主机路由表所给出的下一跳路由器可能并非去往信宿的可能并非去往信宿的可能并非去往信宿的可能并非去往信宿的最佳下一跳路由器最佳下一跳路由器最佳下一跳路由器最佳下一跳路由器,当主机的下一跳路由器收到数据报,当主机的下一跳路由器收到数据报,当主机的下一跳路由器收到数据报,当主机的下一跳路由器收到数据报后,该后,该后,该后,该路由器路由器路由器路由器根据它的路由表根据它的路由表根据它的路由表根据它的路由表判断判断判断判断本路由器是否是
24、去往本路由器是否是去往本路由器是否是去往本路由器是否是去往信宿的最佳选择,如果不是,该路由器仍然会向信宿网信宿的最佳选择,如果不是,该路由器仍然会向信宿网信宿的最佳选择,如果不是,该路由器仍然会向信宿网信宿的最佳选择,如果不是,该路由器仍然会向信宿网络络络络转发转发转发转发该数据报,但在转发的同时会产生一个该数据报,但在转发的同时会产生一个该数据报,但在转发的同时会产生一个该数据报,但在转发的同时会产生一个ICMPICMP重重重重定向报文定向报文定向报文定向报文,通知信源修改它的路由表,重定向报文中将,通知信源修改它的路由表,重定向报文中将,通知信源修改它的路由表,重定向报文中将,通知信源修改
25、它的路由表,重定向报文中将给出信源最佳下一跳路由器的给出信源最佳下一跳路由器的给出信源最佳下一跳路由器的给出信源最佳下一跳路由器的IPIP地址。地址。地址。地址。主机主机主机主机A A根据重定向报文修改路由表的例子。根据重定向报文修改路由表的例子。根据重定向报文修改路由表的例子。根据重定向报文修改路由表的例子。ICMP重定向报文的格式如图所示。重定向报文的格式如图所示。代码代码从从0到到3分别代表不同的重定向方式,具体含分别代表不同的重定向方式,具体含义由前面的表义由前面的表6-4给出。给出。主机开机后在主机开机后在ICMP重定向机制的作用下,经过重定向机制的作用下,经过不断积累逐渐充实和完善
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 【精品】TCP-IP协议原理第5章 差错与控制报文协议精品ppt课件 TCP IP 协议 原理 差错 控制 报文 ppt 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内