网络层4——网络控制协议ICMP

目录

一、格式

二、种类

1、差错报文

(1)终点不可达

(2)时间超过

(3)参数问题

(4)改变路由(重定向)

(5)差错报文数据字段

​编辑(6)不应该发送差错报文的情况

2、询问报文

[(1)回送 请求 / 回答](#(1)回送 请求 / 回答)

[(2)时间戳请求 / 回答](#(2)时间戳请求 / 回答)

三、应用

1、测试两台主机的连通性

2、跟踪一个分组从源点到终点的路径


全称:ICMP(Internet Control Message Protocol)Internet控制报文协议

目的:高效转发和提高交付成功的机会

一、格式

前四个字节分别是:类型8位、代码8位、检验和16位

后四个字节取决于ICMP报文类型

类型:用于区分类型

代码段:用于进一步区分类型

检验和字段:用于检验整个ICMP报文

后面的数据部分和报文类型有关

二、种类

ICMP报文有两种:差错报文 和 询问报文

常用报文类型:

类型值 报文类型 分类
3 终点不可达 差错报文
11 时间超过 差错报文
12 参数问题 差错报文
5 改变路由 差错报文
8 / 0 回送请求 / 回答 询问报文
13 / 14 时间戳请求 / 回答 询问报文

1、差错报文

(1)终点不可达

当路由器 / 主机不能交付数据报时,向发送源发送不可达报文

(2)时间超过

1、当TTL被减为0 ,路由器丢弃IP数据报,并向发送源发送时间超过报文

2、当终点在预先时间内没有收到数据报的全部时,丢弃,并向发送源发送时间超过报文

(3)参数问题

当路由器 / 主机收到数据报的首部有错误,丢弃,并向发送源发送参数问题报文

(4)改变路由(重定向)

路由器把改变路由报文发送给主机,让主机知道下一次发送给其他路由器

(走其他的更好)

(5)差错报文数据字段

所有差错报文的数据字段都一样

数据字段构成:IP数据报的首部 + 数据字段的前8个字节 (运输层的端口号码)

加上前8个字节,就形成了差错报文

整个差错报文作为IP数据报的数据字段部分进行发送

因此,如果不需要差错报告,IP数据报就不需要携带差错报文

(6)不应该发送差错报文的情况

1、对差错报告报文,不再发送差错报告报文

2、除第一个分片外,后续所有分片都不加入差错报文

3、具有多播地址的数据报,都不发送差错报文

4、具有特殊地址的数据报,不发送差错报文(127.0.0.0、0.0.0.0等)

2、询问报文

(1)回送 请求 / 回答

路由器 / 主机向一个特定目主机发送询问报文

收到此报文的主机必须给源主机 / 路由器发送回答报文

这种报文用于测试目的站的可达性 和 了解有关状态

(2)时间戳请求 / 回答

请求方发送,接收方返回时间戳回答报文

用于计算网络延迟,例如:

接收方收到时间为1,返回发送方时为11

即可知道单向传播为10

三、应用

1、测试两台主机的连通性

最经典的回送请求报文,就是ping命令

ping 某主机ip地址

2、跟踪一个分组从源点到终点的路径

第一个路由器,设置TTL为1,第一个路由器失败,返回时间超过差错报文

第二个路由器,设置TTL为2,第二个路由器失败,返回时间超过差错报文

第三个路由器,设置TTL为3,第三个路由器失败,返回时间超过差错报文

.

.

.

最后到达主机,数据报无法交付运输层,返回终点不可达

于是,从第一个路由器->终点主机的路径就知道了

相关推荐
花间相见7 小时前
【计算基础|网络14】网络层:IP、ICMP 与 ping
网络·网络协议·tcp/ip
OnlineProxy8 小时前
为 LangChain 和 CrewAI 构建自定义工具:将代理 IP 轮换封装至智能体函数中
网络协议·tcp/ip·langchain
半杯咖啡半行码9 小时前
Linux 驱动开发入门:内核模块编程基础
linux·服务器·网络
智能直播10 小时前
RK3528 V4L2 框架 UVC 接口自动获取 H.264 / MJPEG / YUYV 格式:从内核采集到硬解分发
java·网络·实时音视频·视频编解码·h.264
睿智の男孩10 小时前
MIG IP核对DDR3的输出时序分析记录
网络·网络协议·tcp/ip
艾芯微科技10 小时前
高充放电流锂电充放 SoC:ETA9885E10,便携储能、小移动电源 BOM 选型笔记
网络·单片机·嵌入式硬件·集成测试·51单片机
2401_8685347810 小时前
数据交换方式
服务器·网络
艾芯微科技11 小时前
钰泰 ETA6973PQ3Y|QFN3×3 2A 同步降压 Buck,I2C 可配置多档输出,动态调压 PMIC
网络·单片机·嵌入式硬件·fpga开发·集成测试·51单片机
默|笙11 小时前
【Linux网络】_udp_socket(认识)
linux·网络·udp