当前位置: 首页 > news >正文

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

目录

一、格式

二、种类

1、差错报文

 (1)终点不可达

(2)时间超过

(3)参数问题

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

(5)差错报文数据字段

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

2、询问报文

(1)回送 请求 / 回答

(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,第三个路由器失败,返回时间超过差错报文
.
.
.
最后到达主机,数据报无法交付运输层,返回终点不可达
于是,从第一个路由器->终点主机的路径就知道了


http://www.mrgr.cn/news/65039.html

相关文章:

  • 鸿蒙开启无线调试
  • 2024面试自动化测试面试题【含答案】
  • 聊一聊Spring中的@Transactional注解【下】【注解失效场景】
  • 基于SSM+小程序的高校寻物平台管理系统(失物1)
  • solidity中的继承
  • Failed to install Visual Studio Code update
  • TEST2TEST2
  • DNS域名解析实验
  • 【踩坑】修复高版本dgl中distributed.load_partition不返回orig_id问题
  • 西门子五大系列PLC,该怎么选?
  • Java项目实战II基于Spring Boot的智能家居系统(开发文档+数据库+源码)
  • Transformer 架构简单理解;GPT-3.5 的架构,向量长度为 :12288;Transformer架构改进:BERT和GPT
  • 【数据结构】二叉树——判断是否为完全二叉树
  • 【AD】2-1 元件符号的绘制创建实例-电阻容/CHIP类器件
  • 网络层3——IP数据报转发的过程
  • 70B的模型需要多少张A10的卡可以部署成功,如果使用vLLM
  • 正向解析和反向解析
  • 【Vue框架】用 Vue 的时候应该选 JS 还是 TS?全面解析与实用建议
  • 【文献及模型、制图分享】中国城市家庭食物浪费行为及减量对策——以郑州市为例
  • LeetCode 876. 链表的中间结点
  • 中断处理和DMA(Direct Memory Access,直接内存访问)
  • C#-类:声明类、声明类对象
  • 中间件之XXL-Job
  • 软考-数据结构
  • jmeter基础01-2_环境准备-Mac系统安装jdk
  • SIGNAL TAP使用记录