今天我们来介绍网络层中的ICMP协议
ICMP报文格式
图一:
从图片上我们能够分析出。前三位的字段都是固定的。8位类型字段,8位代码字段。16位校验和字段。其它字段因ICMP报文类型不同而不同。8位类型和8位代码一起决定了报文的类型。
ICMP查询格式
ICMP查询报文共同拥有4种
- 回送请求和回答:由主机和路由器向一个特定的主机和路由器发送询问。收到请求的主机必须给源主机发送回送应答报文。用来測试目标主机是否可达以及了解其它状态
- 时间戳请求和回答:它同意系统向还有一个系统查询当前的时间。该ICMP的优点是他提供了毫秒级的分辨率。
- 掩码地址请求和回答:主机使用ICMP地址掩码地址请求报文能够向子网掩码server得到某个接口的地址掩码。系统广播他的ICMP请求报文。
- 路由器询问和通过报文:主机使用ICMP路由器询问连接在本网络上的路由器是否正常工作。
ICMP差错报文
ICMP差错报文共同拥有5种:
- 终点不可达:网络不可达,主机不可达。协议不可达。port不可达,源路由失败
- 源站抑制:当路由器或主机由于拥塞丢弃数据包时。就向源站发送源站抑制报文。使源站知道应当将发送数据报的速度放慢。
- 时间超过:路由器收到生存时间为0的数据报时,除丢弃该数据报外还要向源站发送时间超时报文
- 參数问题差:当路由器的目的主机收到的数据报首部中的字段不对的时候。丢弃该数据报,同一时候向源地址发送ICMP參数问题报文。
- 重定向报文:路由器将改变路由报文。将发送给主机,让主机知道,下一次的数据报应该发送给还有一个路由器。