收藏 分销(赏)

ICMP协议讲解PPT学习课件.ppt

上传人:丰**** 文档编号:10240277 上传时间:2025-04-29 格式:PPT 页数:35 大小:2.40MB
下载 相关 举报
ICMP协议讲解PPT学习课件.ppt_第1页
第1页 / 共35页
ICMP协议讲解PPT学习课件.ppt_第2页
第2页 / 共35页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,TCPIP,1,ICMP,协议介绍,部门:产品中心测试部,科室:软件测试科,讲师:门荟,时间:,2015.3.24,Ip,协议为了有效利用网络资源,提供了不可靠和无连接的数据报交付服务,它只提供把数据报从源点交付到终点,而不关心过程中是否有丢失或者损坏。,Ip,协议缺少:差错控制和查询辅助机制,实际网络都有哪些不可预知的错误发生?,例如:,1,、路由器找不到最终终点,2,、数据报生存时间为,0,而被丢弃,3,、在有限时间内主机无法收到一个数据报的所有分片,而被迫丢弃已收到的分片,等等。,如果上述错误发生该怎么办?,因此,ICMP,协议就顺理成章得诞生了!,ICMP,协议:,Internet Control Message Protocol,它对,IP,包无法传输时提供报告,这些差错报告帮助了发送方了解为什么无法传递,网络发生了什么问题,确定应用程序后续操作。,它还提供了一种查询机制,有利于网络环境分析和网络问题定位。,ICMP,是一种差错与控制集于一体的协议,不仅用于传输差错报文,而且用于传输控制报文,以及请求,/,应答报文,主要内容,ICMP,协议的类型,ICMP,报文格式,常用,ICMP,差错报文,常用,ICMP,控制报文,常用,ICMP,请求,/,应答报文,6,网际控制报文协议,ICMP,为了提高,IP,数据报交付成功的机会,在网际层使用了网际控制报文协议,ICMP(Internet Control Message Protocol),。,ICMP,允许主机或路由器报告差错情况和提供有关异常情况的报告。,ICMP,不是高层协议,而是,IP,层的协议。,ICMP,报文作为,IP,层数据报的数据,加上数据报的首部,组成,IP,数据报发送出去。,7,ICMP,协议,8,IP,报头,ICMP,数据,type,code,checksum,ICMP,报头,ICMP,报文,IP,数据报,ICMP,报文的类型,9,ICMP,报文,ICMP,差错报文,ICMP,差错报文伴随着丢弃出错数据产生的。一旦,IP,发现出错,首先丢弃出错的,IP,数据报,之后发出,ICMP,差错报文。,ICMP,差错报文不享受特别的优先级,作为一般数据传输。为了更好地帮助源主机排错,,ICMP,差错报文中除了包含出错数据报的报头,而且还包括其数据区的前,64bits,的数据,。,ICMP,差错报文包括,目的地不可达报文,、,超时报文,、,参数错报文,等。,10,ICMP,报文,ICMP,控制报文,IP,协议包括了拥塞控制和路由控制两个部分,,ICMP,提供了相应的控制报文:,源抑制报文,和,重定向报文,。,ICMP,请求,/,应答报文,ICMP,还提供了一些用于获得有用信息的一些请求,/,应答报文:,ECHO,请求,/,应答报文,和,时间戳请求,/,应答报文,。,11,ICMP,报文的格式,12,首 部,ICMP,报文,0,数 据 部 分,检验和,类型,代码,(这,4,个字节取决于,ICMP,报文的类型),8,16,31,IP,数据报,前,4,个字节,都是一样的,ICMP,的数据部分(长度取决于类型),ICMP,报文格式,类型域,ICMP,报文类型 类型域,ICMP,报文类型,0,回应应答,12,数据报参数错,3,信宿不可到达,13,时戳请求,4,源抑制,14,时戳应答,5,重定向,17,地址模请求,8,回应请求,18,地址模响应,11,数据报超时,13,ICMP,报文格式,代码,(code):,提供报文类型的进一步信息;,校验和,(checksum):,提供整个,ICMP,报文的校验和;,数据区:包括出错数据报的报头及该数据报的前,64bit,数据;这些信息可以帮助信源机确定,出错数据报,.,14,1,、差错报文,ICMP,差错报文,目的地不可达,当网络节点认为某数据报的目的地不可达时,就向该数据报的源主机发送一个目的地不可达的,ICMP,分组。,ICMP,报文,type,(,8bits,),3,code,(,8bits,),0=net unreachable;,1=host unreachable;,2=protocol unreachable;,3=port unreachable;,4=fragmentation needed and DF set;,5=source route failed.,6,、,7,、,815,有,15,个,code,,不一一列举。,Checksum,(,16bits,),unused,(,32bits,),Internet header+64 bits of original data dategram,16,主机,A,路由器,其它网络,向主机,B,发送数据,目的主机不可达,向,B,发送数据,不知如何到达,B,发送,ICMP,报文,讨论,信宿不可达的,4,个层次:网络、主机、协议、端口;,网络不可到达,:寻址故障;,主机不可到达,:信宿机所在网络的最后一个网关发现其关闭或故障;,协议和端口不可到达,网络高层可采用多种协议,,通过协议端口,(port),实现访问;,协议号、端口号和网络地址、主机地址一样,作为数据报信宿地址的一部分使用;,同一协议可以通过不同的协议端口,同时处理多个访问;,17,讨论,下面各种情况不会导致产生,ICMP,差错报文:,1)ICMP,差错报文。,2),目的地址是广播地址或多播地址(,D,类地址)的,IP,数据报。,3),作为链路层广播的数据报。,4),不是,IP,分片的第一片。,5),源地址不是单个主机的数据报。即源地址不能为零地址、环回地址、广播地址或多播地址。,18,为了防止过去允许,ICMP,差错报文对广播分组响应所带来的广播风暴。,ICMP,差错报文,超时,当网络结点发现某数据报的,TTL,域为零,需要丢弃此数据报时,需要向该数据报的源主机告知超时出错。,当目的主机在分段重组时,规定时间内由于分段丢失未完成重组,需要发送超时报文。,ICMP,报文,type,(,8bits,),11,code,(,8bits,),0=time to live exceeded in transit;,1=fragment reassembly time exceeded;,Checksum,(,16bits,),unused,(,32bits,),Internet header+64 bits of original data dategram,19,ICMP,差错报文,参数错,当网络结点或主机发现数据报中的报头参数出错(例如选项出错,无效报头等)时,发送参数错报文。,ICMP,报文,type,(,8bits,),12,code,(,8bits,),0=,包头出错,1=,缺少所需的选项部分,Checksum,(,16bits,),Pointer,(,8bits,),当,code,0,时,标明发生错误的八位组。,unused,(,24bits,),Internet header+64 bits of original data dategram,20,2,、控制报文,ICMP,控制报文,源抑制,对于无连接的,IP,协议而言,拥塞控制是一个很重要的问题,,TCP/IP,利用发送,ICMP,源抑制报文,抑制源主机发出数据的速率来解决拥塞问题。,ICMP,源抑制报文中,type,4,,,code,1,。,22,ICMP,控制报文,源抑制,发送源抑制报文的情况:,当路由器或者主机因拥塞而丢弃数据报时,它就向数据报的发送端发送源点抑制报文。,目的:,1,、通知源点,数据报已经被丢弃,2,、警告源点,路径中某处出现了拥塞,源点必须放慢发送过程。,23,ICMP,控制报文,源抑制,ICMP,源抑制包括了三个阶段:,网络结点发现产生拥塞,向源主机发出,ICMP,源抑制报文。,源主机在收到源抑制报文后,按照一定的速率降低发往某目的主机的数据报速率。源主机在降低了速率后,一定的时间间隔内不会理会关于同一目的主机的源抑制报文,只有在下一个时间间隔开始的时候,关于同一目的主机的源抑制报文采会再次生效。,拥塞的解除由源主机自行完成。在下一个时间间隔到达时,没有收到关于同一目的主机的源抑制报文,源主机就结束对该目的主机的拥塞控制,逐渐恢复正常流量。,24,ICMP,控制报文,重定向,在,Internet,中,主机在启动时只知道最少的寻径信息,保证主机将数据报发送出去,但未必是最优路由。启动后,通过,ICMP,重定向报文,在数据传输过程中,主机可以不断从同一个网络的网络结点中得到新的路由信息。,25,ICMP,控制报文,重定向,ICMP,的重定向功能保证主机拥有一个动态的,即小且优的路由表。,如果网络,X,的主机,A,发送一个数据报到另外一个网络,Y,的主机,B,,主机,A,的路由表中指示通过路由器,G1,可以到达网络,Y,。,该数据报被发送到路由器,G1,,,G1,通过查阅自己的路由表发现,从网络,X,到网络,Y,经过路由器,G2,是一条最佳路由。,路由器,G1,在将该数据报转发到网络,Y,后,发送一个,ICMP,重定向报文给主机,A,,告知到达网络,Y,的最佳路由为路由器,G2,。,经过不断积累,主机的路由表就越来越充实、优化了。,缺点:只能用于同一网络内的网关与主机之间的路径信息交换,不能用于网关之间的路径信息交换。,26,ICMP,控制报文,重定向,ICMP,重定向报文,type,(,8bits,),5,code,(,8bits,),0=Redirect datagrams for the Network.,1=Redirect datagrams for the Host.,2=Redirect datagrams for the Type of Service and Network.,3=Redirect datagrams for the Type of Service and Host.,Checksum,(,16bits,),Gateway Internet Address(32 bits),:网关地址,Internet header+64 bits of original data dategram,27,3,、请求应答报文,ICMP,故障诊断与网络控制报文,用于故障诊断与网络控制的,ICMP,报文是以,请求,/,应答对,形式双向传输的报文;,用于故障诊断与网络控制的,ICMP,报文有:,*回应请求,/,回应应答,*时戳请求,/,时戳应答,*地址模请求,/,地址模应答,29,ECHO,请求和应答,用于测试目的地址的可达性,,ping,命令实现了,ECHO,请求,/,应答的功能。,ECHO,请求,/,应答报文,type,(,8bits,),8,echo message,0,echo reply message,code,(,8bits,),=0,Checksum,(,16bits,),Identifier,(,16bits,),Sequence Number,(,16bits,),其中标识和序号用于帮助区分不同的,ECHO,请求,/,应答对。,Data,30,主机,A,ICMP Echo,ICMP Re-Echo,主机,B,可,以连通吗?,主机,B,是的,我已经开机,,并与你连接畅通。,Ping,程序,Ping,程序由,Mike Muuss,编写,目的是为了测试另一台主机是否可达。该程序发送一份,ICMP,回显,请求,报文给主机,并等待返回,ICMP,回显,应答,。,Ping,程序能测出到这台主机的往返时间,以表明该主机离我们有“多远”。,问题:如果不能,Ping,到某台主机,是否能认为该主机不可达?,31,Ping,命令举例,C,ping 172.16.1.20,Pinging 172.16.1.20 with 32 bytes of data:,(正常),Reply from 172.16.1.20:bytes=32 time10ms TTL=127,Reply from 172.16.1.20:bytes=32 time10ms TTL=127,Reply from 172.16.1.20:bytes=32 time10ms TTL=127,Reply from 172.16.1.20:bytes=32 time10ms TTL=127,Ping statistics for 172.16.1.20:,Packets:Sent=4,Received=4,Lost=0(0%loss),Approximate round trip times in milli-seconds:,Minimum=0ms,Maximum=0ms,Average=0ms,32,Ping,命令举例,Pinging 172.16.1.21 with 32 bytes of data:,(有问题),Request timed out.,Request timed out.,Request timed out.,Request timed out.,Ping statistics for 172.16.1.21:,Packets:Sent=4,Received=0,Lost=4(100%loss),Approximate round trip times in milli-seconds:,Minimum=0ms,Maximum=0ms,Average=0ms,33,时间戳请求和应答报文,用于时钟同步一个最简单的方法就是,ICMP,协议中的时间戳请求,/,应答报文。,ICMP,先利用时间戳请求和应答报文从其他机器处得到其当前时间,经过计算后再同步时钟。,时间戳请求,/,应答报文,type,(,8bits,),13,timestamp message,14,timestamp reply message,code,(,8bits,),=0,Checksum,(,16bits,),Identifier,(,16bits,),+Sequence Number,(,16bits,),其中标识和序号用于帮助区分不同的,ECHO,请求,/,应答对。,Originate Timestamp,(,32 bits,),Receive Timestamp,(,32 bits,),Transmit Timestamp,(,32 bits,),计算同步时钟,需要知道发送方和接收方之间的时间差。时间差,(,当前时间初始时间戳,),(发送时间戳接收时间戳),/2,34,Information,请求和应答报文,由于在,A,、,B,、,C,类型的网络下有划分的子网,导致一些,IP,地址被作为子网的网络地址。为了得到正确的子网网络地址,自己发出,Information,请求,网络结点将发回,Information,应答,告知其子网网络地址。,Information,请求,/,应答报文,type,(,8bits,),15,information request message,16,information reply message,code,(,8bits,),=0,Checksum,(,16bits,),Identifier,(,16bits,),+Sequence Number,(,16bits,),其中标识和序号用于帮助区分不同的,ECHO,请求,/,应答对。,IP module,(,32bits,),35,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服