计算机网络——互联网控制报文协议(ICMP)

这篇具有很好参考价值的文章主要介绍了计算机网络——互联网控制报文协议(ICMP)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1 ICMP的作用与特点

1.1 ICMP的主要特点

1.2 ICMP报文结构

2 ICMP 报文类型

2. ICMP差错报告报文

2.1.1 目的不可达报文

2.1.2 源抑制报文

2.1.3 超时报文

2.1.4 参数问题报文

2.1.5 重定向报文

 2.2 ICMP查询报文

2.2.1 回送请求和应答报文

2.2.2 时间戳请求和应答报文

2.2.3 路由器询问和通告

2.2.4 地址掩码请求和应答报文


1 ICMP的作用与特点

ICMP协议主要用来检测网络通信故障和实现链路追踪,最典型的应用就是PING和tracerooute。

1.1 ICMP的主要特点

  • ICMP本身是网络层的一个协议,但其报文不是直接交给数据链路层,而是封装成IP分组后再传送给数据链路层。
  • 从协议体系上看,ICMP要解决IP可能出现的不可靠问题,它不能独立于IP而单独粗壮乃。属于IP的组成部分之一。
  • ICMP的设计初衷是发送IP执行过程中的错误报告,主要是路由器向源主机报告传输出错的原因。差错处理需要由高层协议来完成。

1.2 ICMP报文结构

  1. 在IP分组头中,协议字段值为1,表示IP分组的数据部分是ICMP报文。
  2. ICMP报文前4B的格式统一:第一个字段(1B)是类型值,第二个字段(1B)是代码,第三个字段(2B)是校验和。第四个字段(4B)的内容与类型值相关。在这4个字段之后是ICMP的数据部分。
  3. ICMP报文分为:差错报告报文与询问报文。 不同的差错报告报文对应不同的类型值,例:目的不可达的类型值为3.询问报文一方的请求报文和另一方的应答报文,这类报文的类型值是两个,例:回送请求报文的类型值为8,回送应答报文的类型值为。
  4. IP分组仅对分组头进行校验,而不包括分组的数据部分,而ICMP报文正是封装在IP分组的数据部分中的。为保证ICMP报文传输的正确性,在ICMP报头中设置了校验和字段。

以下3种情况不产生ICMP差错报告报文:

  • 对于分片的的分组,如果不是第一个出错,则不产生ICMP差错报文。
  • 多播分组出错,不产生ICMP差错报文。
  • 具有特殊地址(127.0.0.0或0.0.0.0)的分组出错,不产生ICMP差错报文。

计算机网络——互联网控制报文协议(ICMP)

2 ICMP 报文类型

路由器或主机根据IP分组头的协议字度值为1来判断该分组的数据部分封装的是ICMP报文。

2. ICMP差错报告报文

ICMP差错报告报文主要有5类:目的不可达、源抑制、超时、参数问题与重定向。

2.1.1 目的不可达报文

当路由器找不到下一跳路由器或无法向目的主机交付分组时,它将会丢弃该分组,并的源主机发出目的不可达报文。不同的代码表示不同的报文类型。目的不可达报文主要有下7种类型:

  • 网络不可达(network unreachable):表示路由器寻址出错,下一跳路由器可能存在故障。网络不可达报文只能由路由器产生。代码0表示网络不可达。
  • 主机不可达(host unreachable):表示网络寻址不存在问题,可能是目的主机不工作或不存在。主机不可达报文只能由路由器产生。代码1表示主机不可达。
  • 协议不可达(protocol unreachable):IP分组携带的数据来自高层协议,例如UDP、TCP、OSPF等。如果目的主机接收分组的数据字段来自TCP,但是目的主机的TCP未运行,这时目的主机不能处理IP分组携带的TCP数据,则主机将产生一个协议不可达报文,通知源主机此次传输失败。代码2表示协议不可达。
  • 端口不可达(port unreachable):表示分组要交付的应用进程没有运行。代码3表示端口不可达。 系路由失败(source route failed),表示由源主机路由选项中规定的一个或多个路由 章器无法通过。代码5表示源路由失败。
  • 目的网络不可知(unknown destination network):表示路由器根本不知道关于目的 203网络的信息。代码6表示目的网络不可知。目的网络不可知与网络不可达不同,网络不可达是知道目的网络存在,但是无法将分组送达目的网络.
  • 目的主机不可知(unknown destination host):表示路由器根本不知道关于目的主机的信息。代码7表示目的主机不可知。

2.1.2 源抑制报文

  • IP协议提供无连接的分组传输服务没有提供任何流量控制机制 在源主机、路由器与目的主机之间不进行通信协调。在分组发送之前,路由器或主机无须为分组预留缓迪区,如梁大量分组同时涌向某个路由器或主机,则会造成拥塞(congestion),另外,路由器或主机缓冲区队列长度有限。如果路由器的分组接收速率比转发速率快,则缓冲区队列将溢出。在这种情况下,路由器或主机只能丢弃某些分组。路由器或主机因拥塞而丢弃分组时,向源主机发送源抑制报文。源抑制可分为3个阶段:
  • 第1阶段,路由器或目的主机发现拥塞,发出源抑制报文。
  • 第2阶段,源主机收到源抑制报文之后,降低向目的主机的分组发送速率。
  • 第3阶段,拥塞解除之后,源主机恢复分组发送速率。

2.1.3 超时报文

  • 分组寻址是由路由器根据路由表来决定的,如果路由表出现问题,则整个网络的寻址就会出现错误,极端情况下会造成分组在某些路由器之间循环传输。为了防止出理这种情况.IP协议采用两点措施:一是分组头中设置TTL字段,二是对分片采用定时器技术。针对这两种情况,ICMP设计了超时报文,超时报文在以下种情况下产生:
  1. 路由器在转发一个分组时,如果TTL值(减1)为0,则丢弃该分组,并向源主机发送超时报告报文。
  2. 一个分组的分片没有全部按时到达,目的主机不能将接收的分片重组成分组,而这些分片将长期占用主机缓冲区,甚至出现死锁现象。因此,当某个分组的第一个分片到达时,目的主机就启动一个计时器。如果目的主机在计时器时间内没有接收到所有分片,它将丢弃已经接收的分片,并向源主机发送超时报文。

2.1.4 参数问题报文

  • 在IP分组的传输过程中,出现除目的不可达、源抑制、超时与改变路由之外的错误,例如分组头中的任何一个字段出错,路由器或目的主机将丢弃该分组,并向源主机发送参数问题报文。例如,IP分组头的前4位是版本字段,字段值为4时表示IPv4分组头。如果版本字段值为5,路由器将无法处理,只能丢弃该分组。参数问题报文指出被丢弃的分组头有错误,并在参数字段中包含一个指针,指向出错字节的起始位置。

2.1.5 重定向报文

  • 路由器的路由表在不断地动态更新,而主机通常使用静态路由表。当主机开始联网工作时,主机的路由表中表项数目很少,一般仅知道默认路由器的IP地址。如果默认路由器的地址有错误,则可能出现问题。以图4-36为例,主机A要向主机B发送分组,路由器2是最有效的路由选择,但是主机A没有选择路由器2,而是将分组发送给路由器1。路由器1发现分组应发送给路由器2,则将该分组发送给路由器2,并向主机A发送改变路由的ICMP重定向报文。重定向报文可以实现主机的路由表更新。

计算机网络——互联网控制报文协议(ICMP)

 2.2 ICMP查询报文

ICMP查询报文是为网络故障诊断而设计的,ICMP差错报告报文是单个出理的,ICMP查询报文是双向、成对出现的。文章来源地址https://www.toymoban.com/news/detail-444551.html

2.2.1 回送请求和应答报文

  • 回送请求报文(类型值为8)和回送应答报文(类型值为0)用于检在目的节点是否可达.在一些网络应用中,用户调用Ping命令,通过回送请求与应答报文测试目的主机或路由富是否可达。

2.2.2 时间戳请求和应答报文

  • 时间戳请求报文(类型值为13)和时间戳应答报文(类型值为14)提供一个基本和简单的时钟同步协议。时间戳请求和应答报文确定IP分组在两个主机之间往返所需的时间。其中,初始时间戳是源主机发出请求的时间,接收时间戳是目的主机收到请求的时间,发选时间戳是目的主机发送应答的时间。

2.2.3 路由器询问和通告

  • 路由器询问报文(类型值为15)和路由器通告报文(类型值为16)用于主机查询连接的默认路由器地址。主机在其所在网络上广播路由器询问报文,收到路由器询问报文的所有路由器使用路由器通告报文广播路由信息。路由信息包括一个或多个路由器地址及对应的地址参数。如果地址参数为0x80000000,则对应的是默认路由器地址。当没有主机询问时,路由器周期性发送路由器通告报文。路由器在发送通告报文时,不仅通告自己的存在,而且通告它所知道的这个网络中的所有路由器地址。

2.2.4 地址掩码请求和应答报文

  • 地址掩码请求报文(类型值为17)和地址掩码应答报文(类型值18)用于主机查询其所在网络的子网掩码。主机在其所在网络上广播地址掩码请求报文,等待路由器返回带有子网掩码的地址掩码应答报文。

到了这里,关于计算机网络——互联网控制报文协议(ICMP)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算机网络-ACL访问控制列表

    上一篇介绍NAT时候就看到了ACL这个东西了,这个是什么意思?有什么作用呢? 访问控制列表 (ACL, Access Control List)是由一系列permit或deny语句组成的、有序规则的列表。ACL是一个匹配工具,能够对报文进行匹配和区分。简单来讲就是一个过滤列表,一般配合其它技术实现功能。

    2024年01月19日
    浏览(16)
  • 计算机网络 | 谈谈TCP的流量控制与拥塞控制

    对于滑动窗口,在上面也提到过了,在流量控制这一块,就要利用到这个滑动窗口的机制去实现两个主机之间的通信 [流量控制的目的]: 让发送方的发送速率不要太快,要让接收方来得及接收 然后来说一下很重要的例子,要注意理解,与后面的三次握手紧密度非常之大 首先

    2024年02月03日
    浏览(17)
  • 《计算机网络》第四章 数据链路控制

    为什么要设计数据链路层 在原始的物理传输线路上传输数据信号是有差错的, 存在一定的误码率 。 在设计数据链路层的目的就是如何在有差错的线路上, 进行无差错传输 。向网络层提供高质量的服务。 从网络参考来看,物理层之上各层都有改善 数据传输质量 的要求,数

    2024年02月01日
    浏览(19)
  • 计算机网络 数据链路层 媒体接入控制

                 

    2024年02月13日
    浏览(17)
  • 计算机网络TCP篇之流量控制

    今天谈一谈我对于tcp流量控制的看法 在网络拓扑中如果发送方节点的发送速率大于接受方节点的接受速率,数据会不断在接受方的缓冲区累积,直到接受方的缓冲区满的时候,发送方继续发送数据,这时候接受方无法存放这些数据,就只能将数据包丢掉,这样就消耗了网络资

    2024年02月07日
    浏览(31)
  • 云计算基础——云计算与移动互联网、物联网

    移动互联网的发展概况 移动互联网 是指以宽带IP为技术核心,可同时提供语音、数据、多媒体等业务服务的开什么是移动互联网?放式基础电信网络,从用户行为角度来看,移动互联网广义上是指用户可以使用手机、笔记,通过无线移动网络和HTTP协议接入互联网:狭义上是指用

    2024年02月01日
    浏览(25)
  • 计算机网络笔记:TCP的拥塞控制方法

    TCP的拥塞控制算法有四种,分别是慢开始、拥塞避免、快重传和快恢复。 拥塞窗口 : 基本概念 :发送方维持一个叫做拥塞窗口的状态变量。拥塞窗口的大小取决于网络的拥塞程度,并且是动态变化着的。发送方让自己的发送窗口等于拥塞窗口。 发送方控制拥塞窗口的原则

    2024年02月10日
    浏览(24)
  • 《计算机网络:自顶向下方法》第五章--网络层:控制平面

    控制平面作为一种网络范围的逻辑,不仅控制沿着从源主机到目的主机的端到端路径间的路由器如何转发数据报,而且控制网络层组件和服务如何配置和管理 传统上,控制平面功能与数据平面的转发功能在一起实现,在路由器中作为统一的整体 在网络层:数据平面中有转发

    2024年02月12日
    浏览(17)
  • 【计算机网络】TCP传输控制协议——三次握手

    一开始,客户端和服务端都处于CLOSE状态,先是服务端监听某个端口,处于LISTEN状态。 然后客户端主动发起连接SYN,之后处于SYN-SEND状态。 服务端收到发起的连接,返回SYN,并且ACK客户端的SYN,之后处于SYN-RECV状态。 客户端收到服务端发送的SYN和ACK之后,发送ACK的ACK,之后处

    2024年02月09日
    浏览(17)
  • 【计算机网络笔记】传输层——拥塞控制原理与解决方法

    什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)——时延带宽积、丢包率、吞吐量/率 计算机网络体系结构概念 OSI参考模型

    2024年02月05日
    浏览(22)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包