ICMP协议 消息列表

ICMP协议 消息列表 

类型 编码 描述
0-Echo 响应 0 Echo 响应(被程序ping使用)
3-目的地不可到达 0 目标网络不可达
1 目标主机不可达
2 目标协议不可达
3 目标端口不可达
6 未知的目标网络
7 未知的目标主机
9 禁止访问的网络
10 禁止访问的主机
13 网络流量被禁止
8-Echo 请求 0 Echo 请求


ICMP 经常被认为是 IP 层的一个组成部分,它传递差错报文以及其他需要注意的信息。ICMP 报文通常被 IP 层或更高层协议(TCP 或 UDP)使用。ICMP 报文是在 IP 数据报内部传输的。IP 协议是不可靠协议,不能保证 IP 数据报能够成功的到达目的主机,无法进行差错控制,而 ICMP 协议能够协助 IP 协议完成这些功能。下面是 ICMP 报文的数据结构:
  类型( 8 位,表示 ICMP 数据包类型)      类型( 8 位,表示指定类型中的一个功能)  校验和(16位)


ICMP 差错报文
  当发送一份差错报文时,报文始终包含 IP 的首部和产生 ICMP 差错报文的 IP 数据报的前 8 位字节。这样,接收 ICMP 差错报文的模块就会把它与某个特定的协议(根据 IP 数据报首部中的协议字段来判断)和用户进程(根据包含在 IP 数据报前 8 个字节中的 TCP 或 UDP 报文首部中的 TCP 或 UDP 端口号来判断)联系起来


Traceroute 程序


  Traceroute 程序主要用来侦测源主机到目的主机之间所经过的路由的情况。


  Traceroute 使用 ICMP 报文和 IP 首部中的 TTL 字段,它充分利用了 ICMP 超时消息。其原理很简单,开始时发送一个 TTL 字段为 1 的 UDP 数据报,而后每次收到 ICMP 超时以后,按顺序再发送一个 TTL 字段加 1 的 UDP 数据报,以确定路径中的每个路由器,而每个路由器在丢弃 UDP 数据报时都会返回一个 ICMP 超时报文,而最终到达目的主机后,由于 ICM P选择了一个不可能的值作为 UDP 端口(大于30000)。这样目的主机就会发送一个端口不可达的 ICMP 差错报文






你可能感兴趣的:(ICMP协议 消息列表)