ICMP协议讲解PPT_第1页
ICMP协议讲解PPT_第2页
ICMP协议讲解PPT_第3页
ICMP协议讲解PPT_第4页
ICMP协议讲解PPT_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1,ICMP协议介绍,部门:产品中心测试部 科室:软件测试科 讲师:门荟 时间:2015.3.24,Ip协议为了有效利用网络资源,提供了不可靠和无连接的数据报交付服务,它只提供把数据报从源点交付到终点,而不关心过程中是否有丢失或者损坏。 Ip协议缺少:差错控制和查询辅助机制,实际网络都有哪些不可预知的错误发生? 例如: 1、路由器找不到最终终点 2、数据报生存时间为0而被丢弃 3、在有限时间内主机无法收到一个数据报的所有分片,而被迫丢弃已收到的分片 等等。,如果上述错误发生该怎么办? 因此ICMP协议就顺理成章得诞生了!,ICMP协议:Internet Control Message Prot

2、ocol 它对IP包无法传输时提供报告,这些差错报告帮助了发送方了解为什么无法传递,网络发生了什么问题,确定应用程序后续操作。 它还提供了一种查询机制,有利于网络环境分析和网络问题定位。 ICMP是一种差错与控制集于一体的协议,不仅用于传输差错报文,而且用于传输控制报文,以及请求/应答报文,主要内容,ICMP协议的类型 ICMP报文格式 常用ICMP差错报文 常用ICMP控制报文 常用ICMP请求/应答报文,6,网际控制报文协议 ICMP,为了提高 IP 数据报交付成功的机会,在网际层使用了网际控制报文协议 ICMP (Internet Control Message Protocol)。 I

3、CMP 允许主机或路由器报告差错情况和提供有关异常情况的报告。 ICMP 不是高层协议,而是 IP 层的协议。 ICMP 报文作为 IP 层数据报的数据,加上数据报的首部,组成 IP 数据报发送出去。,7,ICMP协议,8,ICMP报文的类型,9,ICMP报文,ICMP差错报文 ICMP差错报文伴随着丢弃出错数据产生的。一旦IP发现出错,首先丢弃出错的IP数据报,之后发出ICMP差错报文。 ICMP差错报文不享受特别的优先级,作为一般数据传输。为了更好地帮助源主机排错,ICMP差错报文中除了包含出错数据报的报头,而且还包括其数据区的前64bits的数据。 ICMP差错报文包括目的地不可达报文、

4、超时报文、参数错报文等。,10,ICMP报文,ICMP控制报文 IP协议包括了拥塞控制和路由控制两个部分,ICMP提供了相应的控制报文:源抑制报文和重定向报文。 ICMP请求/应答报文 ICMP还提供了一些用于获得有用信息的一些请求/应答报文:ECHO请求/应答报文和时间戳请求/应答报文。,11,ICMP 报文的格式,12,首 部,ICMP 报文,0,数 据 部 分,检验和,类型,代码,(这 4 个字节取决于 ICMP 报文的类型),8,16,31,IP 数据报,前 4 个字节 都是一样的,ICMP 的数据部分(长度取决于类型),ICMP报文格式,类型域 ICMP报文类型 类型域 ICMP报文

5、类型 0 回应应答 12 数据报参数错 3 信宿不可到达 13 时戳请求 4 源抑制 14 时戳应答 5 重定向 17 地址模请求 8 回应请求 18 地址模响应 11 数据报超时,13,ICMP报文格式,代码(code): 提供报文类型的进一步信息 ; 校验和(checksum): 提供整个ICMP报文的校验和; 数据区:包括出错数据报的报头及该数据报的前64bit数据;这些信息可以帮助信源机确定出错数据报.,14,1、差错报文,ICMP差错报文 目的地不可达,当网络节点认为某数据报的目的地不可达时,就向该数据报的源主机发送一个目的地不可达的ICMP分组。 ICMP报文 type (8bit

6、s) 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,讨论,信宿不可达的4个层次:网络、主

7、机、协议、端口; 网络不可到达 :寻址故障; 主机不可到达 :信宿机所在网络的最后一个网关发现其关闭或故障; 协议和端口不可到达 网络高层可采用多种协议,通过协议端口(port)实现访问; 协议号、端口号和网络地址、主机地址一样,作为数据报信宿地址的一部分使用; 同一协议可以通过不同的协议端口,同时处理多个访问;,17,讨论,下面各种情况不会导致产生ICMP差错报文: 1) ICMP 差错报文。 2) 目的地址是广播地址或多播地址(D 类地址)的 IP 数据报。 3) 作为链路层广播的数据报。 4) 不是IP 分片的第一片。 5) 源地址不是单个主机的数据报。即源地址不能为零地址、环回地址、广

8、播地址或多播地址。,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

9、header + 64 bits of original data dategram,19,ICMP差错报文 参数错,当网络结点或主机发现数据报中的报头参数出错(例如选项出错,无效报头等)时,发送参数错报文。 ICMP报文 type (8bits) 12 code (8bits) 0 =包头出错 1=缺少所需的选项部分 Checksum(16bits) Pointer(8bits) 当code0时,标明发生错误的八位组。 unused (24bits) Internet header + 64 bits of original data dategram,20,2、控制报文,ICMP控制报文

10、源抑制,对于无连接的IP协议而言,拥塞控制是一个很重要的问题,TCP/IP利用发送ICMP源抑制报文,抑制源主机发出数据的速率来解决拥塞问题。 ICMP源抑制报文中type4,code1。,22,ICMP控制报文 源抑制,发送源抑制报文的情况: 当路由器或者主机因拥塞而丢弃数据报时,它就向数据报的发送端发送源点抑制报文。 目的: 1、通知源点,数据报已经被丢弃 2、警告源点,路径中某处出现了拥塞,源点必须放慢发送过程。,23,ICMP控制报文 源抑制,ICMP源抑制包括了三个阶段: 网络结点发现产生拥塞,向源主机发出ICMP源抑制报文。 源主机在收到源抑制报文后,按照一定的速率降低发往某目的主

11、机的数据报速率。源主机在降低了速率后,一定的时间间隔内不会理会关于同一目的主机的源抑制报文,只有在下一个时间间隔开始的时候,关于同一目的主机的源抑制报文采会再次生效。 拥塞的解除由源主机自行完成。在下一个时间间隔到达时,没有收到关于同一目的主机的源抑制报文,源主机就结束对该目的主机的拥塞控制,逐渐恢复正常流量。,24,ICMP控制报文 重定向,在Internet中,主机在启动时只知道最少的寻径信息,保证主机将数据报发送出去,但未必是最优路由。启动后,通过ICMP重定向报文,在数据传输过程中,主机可以不断从同一个网络的网络结点中得到新的路由信息。,25,ICMP控制报文 重定向,ICMP的重定向

12、功能保证主机拥有一个动态的,即小且优的路由表。 如果网络X的主机A发送一个数据报到另外一个网络Y的主机B,主机A的路由表中指示通过路由器G1可以到达网络Y。 该数据报被发送到路由器G1,G1通过查阅自己的路由表发现,从网络X到网络Y经过路由器G2是一条最佳路由。 路由器G1在将该数据报转发到网络Y后,发送一个ICMP重定向报文给主机A,告知到达网络Y的最佳路由为路由器G2。 经过不断积累,主机的路由表就越来越充实、优化了。 缺点:只能用于同一网络内的网关与主机之间的路径信息交换,不能用于网关之间的路径信息交换。,26,ICMP控制报文 重定向,ICMP重定向报文 type (8bits) 5

13、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 origin

14、al 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) Identifie

15、r(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命令举例,Cping 172

16、.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: S

17、ent = 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.

18、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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论