【图解TCP_IP读书笔记】第五章:ICMP

5.4 ICMP

5.4.1 辅助 IP的ICMP

**ICMP的主要功能包括,确认IP包是否成功送达目标地址,通知在发送过程当中IP包被废弃的具体原因,改善网络设置等。**

在IP通信中如果某个IP包因为某种原因未能到达目标地址,那么这个具体原因将由ICMP负责通知。
如下图,主机A向主机B发送了数据包,由于某种原因,途中的路由器2未能发现主机B的存在,这时,路由器2就会向主机A发送一个ICMP包,说明发往主机B的包未能成功。
这里写图片描述

ICMP的这种通知消息会使用IP进行发送(在ICMP中,包以明文的形式像TCP/UDP一样通过IP进行传输。然而,ICMP所承担的功能并非传输层的补充,而应该把它考虑为IP的一部分)。因此,从路由器2返回的ICMP包会按照往常的路由控制先经过路由器1再转发给主机A。收到该ICMP包的主机A则分解ICMP的首部和数据域以后得知具体发生问题的原因。
ICMP的消息大致可以分为两类:一类是通知出错原因的错误消息,另一类是用于诊断的查询消息
ICMP消息类型
在这里插入图片描述

5.4.2 主要的ICMP消息

  • ICMP 目标不可达消息(类型3)

IP 路由器无法将IP数据包发送给目标地址时,会给发送端主机返回一个目标不可达的ICMP消息,并在这个消息中显示不可达的具体原因。

在这里插入图片描述

  • ICMP 重定向消息(类型5)

    如果路由器发现发送端主机使用次优的路径发送数据时,那么它会返回一个 ICMP 重定向消息给这个主机,这个消息包含了最合适的路由信息和源数据。主要发生在路由器持有更好的路由信息的情况下,路由器会通过这个 ICMP 重定向消息给发送端主机一个更合适的发送路由。
    这里写图片描述

    不过,多数情况下由于这种重定向消息成为引发问题的原因,所以往往不进行这种设置。

  • ICMP 超时消息(类型11)

    IP 数据包中有一个字段 TTL(Time to live,生存周期),它的值随着每经过一个路由器就会减 1,直到减到 0 时该 IP 数据包被丢弃。此时,IP 路由器将发送一个 ICMP 超时消息给发送端主机,并通知该包已被丢弃。

    设置IP包生存周期的主要目的,是为了在路由控制遇到问题发生循环状况时,避免IP包无休止地在网络上被转发。(这个也在之前提到过)

ICMP时间超过消息
在这里插入图片描述

  • ICMP 回送消息(类型0,8)

用于进行通信的主机或路由器之间,判断所发送的数据包是否已经成功到达对端的一种消息。网络上最常用的ping命令就是利用这个消息实现的。

ICMP回送消息
在这里插入图片描述

5.4.3 其他 ICMP 消息

  • ICMP 原点抑制消息(类型4)

在使用低速广域线路的情况下,连接WAN的路由器会遇到网络拥堵的问题。ICMP原点抑制消息的目的就是为了缓和这种拥堵情况。当路由器向低速线路发送数据时,其发送队列的残存变为零而无法发送出去时,可以向IP包的源地址发送一个ICMP原点抑制消息。了解整个线路的某一处发生拥堵。

  • ICMP 路由探索消息(类型9,10)
    主要用于发现与自己相连网络中的路由器。当一台主机发出ICMP路由器请求(类型10)时,路由器则返回ICMP路由器公告消息(类型9)给主机。
  • ICMP 地址掩码消息(类型17,18)
    主要用于主机或者路由器想要了解子网掩码的情况。17(请求)18(应答)。

5.4.4 ICMPv6

  • ICMPv6 的作用
    IPv4中ICMP仅作为一个辅助作用支持IPv4.也就是说,在IPv4时期,即使没有ICMP,仍然可以实现IP通信。然而,在IPv6中ICMP的作用被扩大,如果没有ICMPv6,IPv6就无法进行正常通信。
    尤其在IPv6中,从IP地址定位MAC地址的协议从ARP转为ICMP的邻居探索消息。这种邻居探索消息融合了IPv4的ARP、ICMP重定向以及ICMP路由器选择消息等功能于一体,甚至还提供自动设置IP地址的功能。
    ICMPv6 中将ICMP分为:错误消息(0-127)和信息消息(128-255)
    错误消息:

在这里插入图片描述

信息消息:
在这里插入图片描述

  • 邻居探索
    ICMPv6中从类型133至类型137的消息叫做邻居探索消息。邻居探索消息用于查询IPv6的地址与MAC地址的对应关系,并由邻居宣告消息得知MAC地址,利用多播地址实现。

IPv6 中查询MAC地址:
在这里插入图片描述
IP 地址的自动设置:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值