4.8下午计算机网络实验-ICMP协议

概述

ICMP Internet控制消息协议(Internet Control Message Protocol) 类似于IP的开路先锋,为IP探路并报告传输情况。ICMP有多种不同类型的参数设置,对应多种不同的信号,是一个功能强大的协议。

  • 与IP一样,ICMP的报文也可能丢失,也是不可靠的协议。

  • ICMP数据报文错误后不再发送ICMP差错报文

  • ICMP与IGMP的区别:
    IGMP是Internet 组管理协议(Internet Group Management Protocol),可用于直播等行为时节约带宽,TTL值为1,不能发出局域网。
    ICMP是 Internet 控制信息协议(Internet Control Message Protocol),用于探测网络状况,报告错误。

结构

内部结构

首部

8字节64比特
1字节ICMP类型,代表报文类型
1字节代码字段,代表子类型
2字节校验和,是ICMP报文与IP头的校验和
4字节随机而变

数据

…不定长

封装

ICMP>IP>Ethernet

功能

4.8下午计算机网络实验-ICMP协议
4.8下午计算机网络实验-ICMP协议

ICMP查询报文

每类查询报文对应一对请求和应答。
请求和应答有不同的类型值

时间戳请求

获取对方时间

地址掩码请求

路由器询问

获取路由器信息,如MTU

回显请求

试探目标是否可达,ping命令使用此类型

ICMP差错报文

目的端不可达

数据包没有送到,有多种原因,依靠代码字段确定

源点抑制

目标网络拥塞,请减慢数据发送速度

超时

分为传输超时与组合超时
在路上跑了太久
等了很长时间分段的数据也没有拼合完整

参数问题

协议识别错误等

改变路由

有更好的路径可以用来传送数据包