计算机网络(十六)ICMP介绍

1.辅助IP的ICMP

架构IP网络时需要特别注意两点:
1.确认网络是否正常工作。
2.遇到异常时进行问题诊断。
ICMP的主要功能包括,确认IP包是否成功送达目标地址,通知在发送过程当中IP包被废弃的具体原因,改善网络设置等。
ICMP的这种通知消息会使用IP进行发送。
ICMP的消息大致可以分为两类:
1.一类是通知出错原因的错误消息。
2.另一类是用于诊断的查询消息。
ICMP无法到达的消息
ICMP消息类型

2.主要的ICMP消息

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

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

b.ICMP重定向消息(类型5)

如果路由器发现发送端主机使用了次优的路径发送数据,那么它会返回一个ICMP重定向的消息给这个主机。
在这个消息中包含了最合适的路由信息和源数据。
ICMP重定向消息
多数情况下由于这种重定向消息成为引发问题的原因,所以往往不进行这种设置。

c.ICMP超时消息(类型11)

IP包中有一个字段叫做TTL,它的值随着每经过一次路由器就会减1直到减到0时该IP包会被丢弃。
此时,IP路由器将会发送一个ICMP超时的消息给发送端主机,并通知该包已巳被丢弃。
设置IP包生存周期的主要目的,是为了在路由控制遇到问题发生循环状况时,避免IP包无休止地在网络上被转发。
有时可以用TTL控制包的到达范围,例如设置一个较小的TTL值。
ICMP时间超过消息

d.方便易用的traceroute

一款充分利用ICMP超时消息的应用叫做traceroute。
利用IP包的生存期限从1开始按照顺序递增的同时发送UDP包,强制接收ICMP超时消息的一种方法。这样可以将所有路由器的IP地址逐一呈现。

e.ICMP回送消息(类型0、8)

用于进行通信的主机或路由器之间,判断所发送的数据包是否已经成功到达对端的一种消息。
可以向对端主机发送回送请求的消息(ICMP Echo Request Mes­sage, 类型8)
也可以接收对端主机发回来的回送应答消息(ICMP Echo Reply Message, 类型0)。
网络上最常用的ping命令,就是利用这个消息实现的。
ICMP回送消息

3.其他ICMP消息

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

连接WAN的路由器可能会遇到网络拥堵的问题。ICMP原点抑制消息的目的就是为了缓和这种拥堵情况。
当路由器向低速线路发送数据时,其发送队列的残存变为零而无法发送出去时。
可以向IP包的源地址发送一个ICMP原点抑制消息。
收到这个消息的主机借此了解在整个线路的某一处发生了拥堵的情况,从而打开IP包的传输间隔。
由于这种ICMP可能会引起不公平的网络通信,一般不被使用。

b.ICMP路由器探索消息(类型9、10)

主要用于发现与自己相连网络中的路由器。
当一台主机发出ICMP路由器请求(Router Solicitaion , 类型10) 时,路由器则返回ICMP 路由器公告消息(Router Advertisement, 类型9)给主机。

c.ICMP地址掩码消息(类型17、18)

主要用于主机或路由器想要了解子网掩码的情况。
可以向那些目标主机或路由器发送ICMP地址掩码请求消息(ICMP Address Mask Request, 类型17) ,然后通过接收ICMP地址掩码应答消息(ICMP Address Mask Reply, 类型18)获取子网掩码的信息。

4.ICMPv6

a.ICMPv6的作用

IPv4中ICMP仅作为一个辅助作用支持IPv4。
在IPv6中,ICMP的作用被扩大,如果没有ICMPv6, IPv6就无法进行正常通信。
在IPv6中,从IP地址定位MAC地址的协议从ARP转为ICMP的邻居探索消息。
ICMPv6中将ICMP大致分为两类: 一类是错误消息,另一类是信息消息。类型0-127属于错误消息,128-255属于信息消息。
IPv6错误消息:
IPv6错误消息
ICMPv6信息消息:
ICMPv6信息消息

b.邻居探索

ICMPv6中从类型133至类型137的消息叫做邻居探索消息。
邻居请求消息用于查询IPv6的地址与MAC地址的对应关系,并由邻居宣告消息得知MAC地址。
邻居请求消息利用IPv6的多播地址实现传输。
IPv6中查询MAC地址
由于IPv6中实现了即插即用的功能,所以在没有DHCP服务器的环境下也能实现IP地址的自动获取。
如果是一个没有路由器的网络,就使用MAC地址作为链路本地单播地址。
在一个有路由器的网络环境中,可以从路由器获得IPv6地址的前面部分,后面部分则由MAC地址进行设置。此时可以利用路由器请求消息和路由器宣告消息进行设置。
IP地址的自动设置

猜你喜欢

转载自blog.csdn.net/NEUChords/article/details/91378926