ICMP协议
定义
ICMP全称是Internet Control Message Protocol,也就是互联网控制报文协议
功能
主机或路由器报告差错情况和提供有关异常情况的报告。
- 确认IP包是否成功送达目的地址,报告发送过程中IP包被废弃的原因以改善网络设置等
ICMP报文
ICMP报文作为数据部分封装在IP数据报(首部+ICMP报文)中,
报文类型
ICMP标准在不断更新,有的ICMP报文已不再使用
差错报告报文
值 | 含义 |
---|---|
3 | 终点不可达 |
5 | 重定向或改变路由 |
11 | 超时 |
12 | 参数问题 |
询问报文
值 | 含义 |
---|---|
0或8 | 回送请求或回答 |
13或14 | 时间戳请求或回答 |
回送请求或回答报文:主机或路由器向一个特定的目的主机发送ICMP回送请求报文,收到该报文的主机必须给源主机或路由器发送ICMP回送回答报文。以测试目的地址可达及了解有关状态
ping
测试两台主机之间的连通性,使用了回送请求与回送回答报文,应用层直接使用网络层,不经过运输层
wireshark抓包ping网
IP数据报首部
- version为0100,占0.5字节,表示协议版本为ipv4
- header length为0101,占0.5字节,表示首部长度20字节
- differentiated services field, 占1字节,表示区分服务 总长度,占1字节,表示ip数据报长度
- identification,占2字节,ip软件在存储器中维持一个计数器,每产生一个数据报,计数器就加1,赋值给标识
- flag,占3位,标志,
- fragment offset,占13位,片偏移
- time to live,生存时间128ms,截图中是回送请求报文,cmd中显示的是回送回答报文,ttl是56ms
- protocol,占1字节,数据报携带数据使用的协议为ICMP
- header checksum,占2字节,首部校验和
- 目的地址,占4字节
- 源地址,占4字节
ICMP报文内容
- type为8,占1字节,报文类型,表示是回送请求报文
- code为0,占1字节,报文细分子类型,表示是回送请求报文(类型为0时,代码也只有0的选项,表示回送响应报文)
- checksum为4b62,占2字节,校验码
- identifer,占2字节,用于匹配回送请求/回答报文的标志
- sequence number,占2字节,用于匹配回送请求/回答报文的序列号
- data,占32字节,对应cmd窗口的字节=32,表示传输的数据