【网络基础】ICMP协议

时间:2024-03-14 10:08:42

目录

  1. ICMP概念
  2. ICMP作用
  3. ICMP重定向
  4. ICMP差错检测
  5. ICMP数据包格式
  6. ICMP消息类型和编码类型
  7. ICMP应用-ping

1. ICMP概念

ICMP协议:internet控制消息协议,是网络层的一个重要协议。基于IP,严格意义上来讲它并不属于网络层协议,但他并没有到达传输层的层次。

2. ICMP作用

用来在网络设备间传递各种差错和控制信息,并用于收集各种网络信息,诊断和排除各种网络故障等

他是用来传递差错、控制、查询信息的

3. ICMP重定向

ICMP重定向报文是ICMP控制报文中的一种。在特定的情况下,当路由器检测到一台机器使用非优化路由的时候,它会向该主机发送一个ICMP重定向报文,请求主机改变路由。路由器也会把初始数据包向它的目的地转发。
【网络基础】ICMP协议

  1. 主机想要实现通信需要将数据包转发给网关,网关设置在路由器的接口上。
  2. 主机A想要与服务器A进行通信必须要经过默认网关,所以会将数据包传给RTB。
  3. RTB会查询自己的路由表,发现RTA才是最优路径,RTB就会先将数据包转发给RTA,让他发给服务器A
  4. RTB会给主机A发送一个重定向报文,告诉主机A如果要走向20.0.0.0网段,直接走向RTA

4. ICMP差错检测

ICMP echo request和ICMP echo reply分别用来查询和响应某些信息,进行差错检测

ICMP Echo消息常用于诊断源和目的地之间的网络连通性,同时还可以提供其他信息,如报文往返时间等。发送echo request进行查询,echo reply进行回复,如果收到00,代表查询的信息是正常的;如果收到3开头,代表不可达。

5. ICMP错误报告

当网络设备无法访问目标网络时,会自动发送ICMP目的不可达报文到发送端设备。

  • 不可达类型:
    • 网络不可达
    • 主机不可达
    • 端口不可达
    • 协议不可达

6. ICMP数据包格式

【网络基础】ICMP协议

  • Type:ICMP消息类型
    1. ICMP echo request
    2. ICMP echo reply
    3. 目的不可达
    4. 重定向
  • Code:同一消息类型中的不同信息
  • Checksum:校验和

7. ICMP消息类型和编码类型

【网络基础】ICMP协议

  • 类型:type
  • 编码:code

8. ICMP应用-Ping

  1. -a source-ip-address指定发送ICMP ECHO-REQUEST报文的源IP地址。如果不指定源IP地址,将采用出接口的IP地址作为ICMP ECHO-REQUEST报文发送的源地址。
  2. -c count指定发送ICMP ECHO-REQUEST报文次数。缺省情况下发送5个ICMP ECHO-REQUEST报文。
  3. -h ttl-value指定TTL的值。缺省值是255。
  4. -t timeout指定发送完ICMP ECHO-REQUEST后,等待ICMP ECHO-REPLY的超时时间。