网络协议分析(TCPIP):第5章 Internet控制报文协议ICMP

上传人:鲁** 文档编号:572186172 上传时间:2024-08-12 格式:PPT 页数:30 大小:1.02MB
返回 下载 相关 举报
网络协议分析(TCPIP):第5章 Internet控制报文协议ICMP_第1页
第1页 / 共30页
网络协议分析(TCPIP):第5章 Internet控制报文协议ICMP_第2页
第2页 / 共30页
网络协议分析(TCPIP):第5章 Internet控制报文协议ICMP_第3页
第3页 / 共30页
网络协议分析(TCPIP):第5章 Internet控制报文协议ICMP_第4页
第4页 / 共30页
网络协议分析(TCPIP):第5章 Internet控制报文协议ICMP_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《网络协议分析(TCPIP):第5章 Internet控制报文协议ICMP》由会员分享,可在线阅读,更多相关《网络协议分析(TCPIP):第5章 Internet控制报文协议ICMP(30页珍藏版)》请在金锄头文库上搜索。

1、第第5章章 Internet控制报文协议控制报文协议ICMP要求:要求: 1、掌握、掌握ICMP协议的作用和报文类型协议的作用和报文类型 2、掌掌握握ICMP协协议议的的回回送送、时时戳戳、掩掩码码请请求求与与应应答答报文报文 3、掌握、掌握ICMP的路由器恳求与通告报文的路由器恳求与通告报文 4、掌握、掌握ICMP的差错报告报文的差错报告报文 5、掌握、掌握Ping, Traceroute命令命令 6、了解拥塞控制和路径控制技术、了解拥塞控制和路径控制技术1一、为什么需要一、为什么需要ICMP? (1)数据报在传送中可能会遇到各种异常;)数据报在传送中可能会遇到各种异常;通信线路故障、目的主

2、机关机通信线路故障、目的主机关机TTL为为0,选路回路,选路回路路由器拥塞路由器拥塞 (2)IP层需要控制功能(拥塞、差错控制),层需要控制功能(拥塞、差错控制),IP协协议无错误处理机制。议无错误处理机制。二、二、ICMP的作用的作用 传递网络控制信息、提供差错报告。传递网络控制信息、提供差错报告。 问题:为什么要把这两项功能合二为一?问题:为什么要把这两项功能合二为一?(1)控制和差错报文都是特殊报文。)控制和差错报文都是特殊报文。 (2)差错报告与网络控制总是密切相关的。)差错报告与网络控制总是密切相关的。 5.1 概述概述 2三、三、ICMP协议与协议与IP协议的关系协议的关系1. I

3、CMP与与IP同层,只是同层,只是IP软件中的一个模块。软件中的一个模块。(1)功能不独立,只是)功能不独立,只是IP的补充;的补充; (2)不是上层协议赖以存在的基础)不是上层协议赖以存在的基础 。2. ICMP报文封装在报文封装在IP数据报中传送,其数据报中传送,其IP首部首部“协协议议”域指明为域指明为ICMP报文(代码为报文(代码为1)IP利用利用ICMP发送差错和控制信息实现差错控制,发送差错和控制信息实现差错控制,ICMP利用利用IP封装和传递信息封装和传递信息3四、四、ICMP的工作机制的工作机制ICMP是是一一个个差差错错报报告告机机制制,并并不不指指定定对对错错误误应应采采取

4、取的措施,而是由应用程序或其他协议处理。的措施,而是由应用程序或其他协议处理。 (1)路由器(主机)向其它路由器(主机)发送)路由器(主机)向其它路由器(主机)发送ICMP报文。报文。 (2)只能向源端报告差错,不能向中间路由器报告)只能向源端报告差错,不能向中间路由器报告差错。差错。思考原因思考原因路由器收到的路由器收到的IP数据报仅源数据报仅源IP信息,不包含任何中间信息,不包含任何中间路由器信息(包含记录路由、源路由选项情况除外)。路由器信息(包含记录路由、源路由选项情况除外)。路由器发现数据报发生差错时,无法判断究竟是在投路由器发现数据报发生差错时,无法判断究竟是在投递过程中的哪一步发

5、生差错递过程中的哪一步发生差错4(3)不发送)不发送ICMP报文的几种情况:报文的几种情况:a. 携带携带ICMP差错报文的差错报文的IP数据报若出现差错数据报若出现差错b. 目的地址为广播或多播地址的目的地址为广播或多播地址的IP数据报数据报c. 不是不是IP分片的第一片分片的第一片d. 源地址不是单个主机的源地址不是单个主机的IP数据报数据报e. 特殊地址(如特殊地址(如127.0.0.1)的)的IP数据报数据报55.2 ICMP报文格式和类型报文格式和类型 一、报文格式一、报文格式 与报文类型相关,但是前与报文类型相关,但是前3个域相同个域相同说明:说明:(1)对整个报文计算校验和)对整

6、个报文计算校验和(2)差错报告报文的数据区包括:出错数据报的首)差错报告报文的数据区包括:出错数据报的首部部 + 出错数据报数据区前出错数据报数据区前64bit原因:包含上层协议及应用程序的重要信息。原因:包含上层协议及应用程序的重要信息。类型类型代码代码校验和校验和其它字段(与类型相关)其它字段(与类型相关)数据区数据区6二、报文类型二、报文类型(1)差错报告报文)差错报告报文(2)请求与应答报文)请求与应答报文(3)通知报文)通知报文三、三、ICMP报文的封装及传递报文的封装及传递ICMP首部首部ICMP数据数据数据报首部数据报首部数据报数据区数据报数据区帧首部帧首部帧数据区帧数据区75.

7、3 ICMP差错报告报文差错报告报文 一、一、 ICMP差错报告的特点差错报告的特点(1)只向源站提供报告,本身一般不处理差错。)只向源站提供报告,本身一般不处理差错。(2)差错报文作为一般数据传输。)差错报文作为一般数据传输。(3)数据报出错时,放弃数据报。)数据报出错时,放弃数据报。二、目的站不可达报告:无法转发或投递时二、目的站不可达报告:无法转发或投递时(1)网络不可达)网络不可达0:选路失败:选路失败(2)主机不可达)主机不可达1:投递失败:投递失败(3)协议不可达)协议不可达2:无法识别更高层协议:无法识别更高层协议(4)端口不可达)端口不可达3:TCP/UDP协议端口无效协议端口

8、无效类型类型3代码代码0-12校验和校验和未用(未用(0)IP数据报首部数据报首部+数据报的前数据报的前64比特比特85.3 ICMP差错报告报文差错报告报文 测试测试MTU:当路由器收到一个需要分片的数据报时,:当路由器收到一个需要分片的数据报时,但是首部又设置了强制不允许分片位,则使用但是首部又设置了强制不允许分片位,则使用ICMP目的不可达报文报错。目的不可达报文报错。二、二、 超时报告:超时报告:TTL = 0或分片重组超时或分片重组超时类型类型11代码代码0/1校验和校验和未使用(未使用(0)IP数据报首部数据报首部 + 数据报首部的前数据报首部的前64字节字节9三、参数出错报告:数

9、据报首部或选项出错时三、参数出错报告:数据报首部或选项出错时类型类型(12)代码代码0/1校验和校验和指针指针IP数据报首部数据报首部 + 数据报首部的前数据报首部的前64字节字节未使用(未使用(0)指针:指向数据报出错的第一个字节指针:指向数据报出错的第一个字节代码为代码为0时,不使用指针时,不使用指针105.4 请求请求/应答报文应答报文 一一.检测可达性检测可达性:回送请求回送请求8与应答与应答0(Echo request& Echo Reply) 例:例:ping命令命令原理:基于原理:基于ICMP回送请求与应答报文回送请求与应答报文使用:使用: 可测试网络的可达性可测试网络的可达性

10、可查看记录路由选项可查看记录路由选项 可指定松散源路由和严格源路由可指定松散源路由和严格源路由类型类型8/0代码代码0校验和校验和标识标识数据区数据区序号序号标识和序号功能:匹配请求和应答标识和序号功能:匹配请求和应答11关于关于ping说明:说明:1. 用用Ping命令可以查看记录路由选项命令可以查看记录路由选项UNIX:Ping R,Windows:Ping r处理过程:处理过程:Ping报文(报文(ICMP Echo)封装在)封装在IP报文中,报文中,每个处理该每个处理该IP报文的路由器都把自己的报文的路由器都把自己的IP地址写到地址写到IP首部的选项中。首部的选项中。这些地址被复制到封

11、装回应报文(这些地址被复制到封装回应报文(ICMP Echo Reply)的)的IP首部选项中,若选项中仍有空间,则返首部选项中,若选项中仍有空间,则返回路径上路由器的地址也被记录其中。回路径上路由器的地址也被记录其中。2. Ping命令可以指定松散和严格源路由命令可以指定松散和严格源路由Ping j, Ping -k12Ping反馈信息:反馈信息:1 Request time out目的主机关机,或不存在该地址的主机;目的主机关机,或不存在该地址的主机;无法找到到达该主机的路由无法找到到达该主机的路由目的主机设置目的主机设置ICMP包过滤(如防火墙)包过滤(如防火墙)IP地址错误地址错误如何

12、判断主机是否存在?如何判断主机是否存在?Ping -a2 Destination host unreachable与目标主机不在同一网段,且未设置默认路由与目标主机不在同一网段,且未设置默认路由13Ping反馈信息:反馈信息:3 Bad IP address未连接到未连接到DNS服务器,无法解析服务器,无法解析IP地址地址4 Unkown hostDNS不能将域名解析为不能将域名解析为IP地址地址ping 127.0.0.1本地还回地址本地还回地址如不能如不能ping通,表明本机通,表明本机TCP/IP协议栈工作异常协议栈工作异常no rout to host 网卡故障网卡故障Transmit

13、 failed, error code 网卡驱动异常网卡驱动异常14二、获得子网掩码:二、获得子网掩码: 地址掩码请求地址掩码请求/应答报文应答报文类型类型17/18代码代码0校验和校验和标识标识掩码掩码序号序号应用:主机发往网关,请求地址掩码应用:主机发往网关,请求地址掩码三、时钟同步与传送时间估计:三、时钟同步与传送时间估计:时戳请求时戳请求/应答报文应答报文功能:功能:1.时钟同步时钟同步2.估算往返时间估算往返时间15初始时间戳:发送方发送数据前填写初始时间戳:发送方发送数据前填写接收时间戳:接收方收到报文时填写接收时间戳:接收方收到报文时填写传送时间戳:接收方发送回应时填写传送时间戳

14、:接收方发送回应时填写问题:如何估算往返时间和进行时钟同步问题:如何估算往返时间和进行时钟同步?类型类型13/14代码代码0校验和校验和标识标识原始时间戳原始时间戳序号序号接收时间戳接收时间戳发送时间戳发送时间戳16类型类型13/14代码代码0校验和校验和标识标识原始时间戳原始时间戳序号序号接收时间戳接收时间戳发送时间戳发送时间戳17四、自动获得默认路由并动态调整:四、自动获得默认路由并动态调整: 路由器恳求和路由器通告路由器恳求和路由器通告类型类型(9)代码代码(0)校验和校验和地址号地址号路由器地址路由器地址1生命期生命期(30分钟分钟)地址大小地址大小(1)优先级优先级1类型类型(10)

15、代码代码0校验和校验和未使用(未使用(0)使用:使用:主机启动后,通过组播或有限广播方式发路由器主机启动后,通过组播或有限广播方式发路由器恳求报文,寻找默认路由器恳求报文,寻找默认路由器 。路由器收到恳求报文后,立即发一个路由器通告报文作路由器收到恳求报文后,立即发一个路由器通告报文作为响应。为响应。 18路由器通告报文的使用时机:路由器通告报文的使用时机:1. 对路由器恳求报文的回应对路由器恳求报文的回应2.路由器定期(通常为路由器定期(通常为10分钟,而一条路由的生命期分钟,而一条路由的生命期通常为通常为30分钟,分钟,为什么?为什么?)向相邻网络中各主机发通)向相邻网络中各主机发通告报文

16、,告诉(组播或有限广播)各主机可使用的路告报文,告诉(组播或有限广播)各主机可使用的路由器。由器。 作用:作用:1. 主机可以不必配置默认网关。主机可以不必配置默认网关。2. 使用软状态技术,防止主机保持一个无效路由。使用软状态技术,防止主机保持一个无效路由。 195.5 ICMP控制报文控制报文一、拥塞控制与源站抑制一、拥塞控制与源站抑制 拥拥塞塞:大大量量数数据据报报涌涌入入同同一一网网关关,导导致致该该网网关关资资源源耗耗尽而必须丢弃后面到达的数据报时,就是拥塞。尽而必须丢弃后面到达的数据报时,就是拥塞。 拥塞控制:解决数据报大量涌入问题拥塞控制:解决数据报大量涌入问题流量控制:解决点对

17、点传输速率的匹配问题流量控制:解决点对点传输速率的匹配问题解解决决拥拥塞塞方方法法:源源站站抑抑制制,即即抑抑制制信信源源发发出出数数据据报报的的速率。速率。类型(类型(4)代码代码0校验和校验和未使用(未使用(0)IP数据报首部数据报首部 + 数据报首部的前数据报首部的前64字节字节205.5 ICMP控制报文控制报文1.网网关关发发现现拥拥塞塞,按按一一定定策策略略向向某某些些源源站站发发出出源源站站抑抑制制报文;报文;2.源源站站收收到到源源抑抑制制报报文文后后,按按一一定定速速率率降降低低发发往往某某信信宿宿的数据报的速率;的数据报的速率;如何判断拥塞解除?如何判断拥塞解除?3.在在一

18、一定定时时间间间间隔隔内内若若无无源源抑抑制制报报文文到到达达,则则源源站站认认为为拥塞解除,逐渐提高发送速率。拥塞解除,逐渐提高发送速率。 拥塞处理步骤:拥塞处理步骤:21二二.路径控制和重定向报文路径控制和重定向报文:更新主机路由表更新主机路由表 问题:主机的路由表如何更新?问题:主机的路由表如何更新? 答答案案:靠靠路路由由器器发发送送的的重重定定向向报报文文。当当路路由由器器发发现现一一台台主主机机使使用用非非优优化化路路由由时时,向向主主机机发发一一重重定定向向报报文文,请请求求主机改变路由。主机改变路由。 网络网络2网络网络1网络网络3R2R1BAA:默认网关:默认网关R1,A发送

19、数据给发送数据给B时,首先发给时,首先发给R1重定向重定向R1发发现现合合适适的的路路由由器器是是R2,则则向向主主机机A发发送送重重定定向向报报文文 22一、域名报文一、域名报文功能:获取目标功能:获取目标IP地址地址对应的域名。对应的域名。请求请求/响应工作模式。响应工作模式。类型类型37代码代码0校验和校验和标识标识序号序号类型类型38代码代码0校验和校验和标识标识TTL序号序号域名域名5.6 实验性的实验性的ICMP控制报文控制报文与与DNSDNS有何不同?有何不同?DNSDNS需要配置需要配置DNSDNS服务器用于存储域名与服务器用于存储域名与IPIP地址的映射地址的映射关系;关系;

20、ICMPICMP则不用配置服务器,直接向目标主机发送则不用配置服务器,直接向目标主机发送ICMPICMP域名请求域名请求235.6 实验性的实验性的ICMP控制报文控制报文二、安全失败报文二、安全失败报文功能:功能:IPsec错误报告错误报告格式:差错报告报文格式:差错报告报文类型代码:类型代码:40代码字段含义:代码字段含义:0:SPI错误错误 3:解密失败:解密失败1:认证失败:认证失败 4:需要认证:需要认证2:解压缩失败:解压缩失败 5:需要授权:需要授权245.7 5.7 应用举例应用举例应用举例应用举例一、一、Traceroute (Windows系统:系统:tracert)1、功

21、能、功能 (1)查看查看IP数据报所经过的路径数据报所经过的路径 (2)可指定可指定IP源路由选项源路由选项 问题:有了问题:有了IP记录路由选项和记录路由选项和Ping命令,为何还需要命令,为何还需要Traceroute?(1)不是所有的路由器都支持记录路由选项不是所有的路由器都支持记录路由选项(2)双方需要事先协商,将记录的路由信息放在应答报双方需要事先协商,将记录的路由信息放在应答报文中文中(3)IP首部中记录路由选项空间有限,最多放首部中记录路由选项空间有限,最多放9个地址个地址255.7 5.7 应用举例应用举例应用举例应用举例2、traceroute工作原理工作原理 利用利用 IC

22、MP超时报文超时报文 + IP首部的首部的TTL(1) 发送发送IP数据报,数据报,TTL = 1,则到达第一个路由器后,则到达第一个路由器后TTL = 0,该路由器向源端发送,该路由器向源端发送ICMP超时报文,该报超时报文,该报文封装在文封装在IP数据报中,源端收到该报文后提取数据报中,源端收到该报文后提取IP首部首部的的IP地址字段,则记录了第一个路由器。地址字段,则记录了第一个路由器。(2) 发送发送IP数据报,数据报,TTL = 2,记录第二个路由器。,记录第二个路由器。R1R2SDR3TTL=1ICMP超时超时TTL=2ICMP超时超时26问题问题:如何判断是否到达目的主机?如何判

23、断是否到达目的主机?1.利用利用ICMP ECHO和和ECHO REPLY报文报文2.利用端口不可达报文利用端口不可达报文 (1)源端发送的源端发送的IP报文封装了报文封装了UDP报文,其端口为报文,其端口为65535,同时,同时IP首部按照首部按照Tracert的原理构造。的原理构造。 (2)途中的路由器回应途中的路由器回应ICMP超时报文。超时报文。 (3)目的主机回应端口不可达报文。目的主机回应端口不可达报文。 (4)源端根据返回的报文类型判断是否到达目的主机。源端根据返回的报文类型判断是否到达目的主机。275.8 ICMP5.8 ICMP安全安全安全安全一、一、ICMP攻击攻击1、pi

24、ng of deathICMP数据报尺寸超过数据报尺寸超过65535字节,导致主机缓冲区溢字节,导致主机缓冲区溢出出2、ICMP风暴风暴向目标主机长时间、连续地发送大量向目标主机长时间、连续地发送大量ICMP数据报,数据报,形成形成“ICMP风暴风暴”,消耗用于响应的主机资源。,消耗用于响应的主机资源。二、应对措施二、应对措施在路由器上对在路由器上对ICMP数据报带宽进行限制;数据报带宽进行限制;主机拒绝主机拒绝ICMP数据报数据报28习题l路由器是否应该优先处理ICMP报文?否。ICMP封装于IP报文,排入FIFO队列等候处理。IP数据报服务类型字段l为何不能重定向?29优先级(3byte)习题l为何仅向源端报告差错,不能向中间路由器报告差错?a. 路由器收到的IP数据报仅源IP信息,不包含任何中间路由器信息(包含记录路由、源路由选项情况除外)。b. 路由器发现数据报发生差错时,无法判断究竟是在投递过程中的哪一步发生差错30

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号