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

news2024/11/23 0:19:00

目录

一、格式

二、种类

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.coloradmin.cn/o/2231561.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RHCE——web

一,什么是www www是world wide web的缩写,也就是全球信息广播的意思。通常说的上网就是使用www来查询用户 所需要的信息。www可以结合文字、图形、影像以及声音等多媒体,并通过可以让鼠标单击超链接的方 式将信息以Internet传递到世界各处去…

GraphQL系列 - 第2讲 Spring集成GraphQL

目录 一、maven依赖二、Schema 定义三、代码集成3.1 创建模型类3.2 创建服务类3.3 创建控制器类 四、单元测试五、实际 HTTP 请求测试5.1 查询单个 Person5.2 查询所有 People5.3 添加 Person 六、其他6.1 开启graphiql6.2 开启schema查看端点 一、maven依赖 首先,…

如何将字母l劈开

如何将字母l从顶到底劈开? 一、分两步,将字母 l 劈开 个人认为,将字母l劈开,需要做两件事情,或者说可以通过如下两个步骤来实现: 【1】证明字母 l 是一个象形字母:即字母l它的本质&#xff0…

linux驱动-输入子系统框架讲解

Input 子系统包括三个层次,分别是设备驱动层,核心层,事件处理层。 为什么要分层呢? 比如我们开发了一个驱动程序 a.c,其中里面有 100 行代码是通用的,然后我又开发了一个 驱动程序 b.c,那这 100 行…

【C/C++】字符/字符串函数(0)(补充)——由ctype.h提供

零.导言 除了字符分类函数,字符转换函数也是一类字符/字符串函数。 C语言提供了两种字符转换函数,分别是 toupper , tolower。 一.什么是字符转换函数? 顾名思义,即转换字符的函数,如大写字母转小写字母&am…

ssh和ssl的区别在哪些方面?

在网络安全和数据保护领域,谈话中经常提到的两个词是SSH(安全外壳)和SSL(安全套接字层)。尽管这两者在在线通信安全中都具有重要意义,但它们的使用目的不同,并且处于网络堆栈的不同级别。本文将深入分析 SSH 和 SSL 主要区别在哪些方面。 概念…

简单的ELK部署学习

简单的ELK部署学习 1. 需求 我们公司现在使用的是ELK日志跟踪,在出现问题的时候,我们可以快速定为到问题,并且可以对日志进行分类检索,比如对服务名称,ip , 级别等信息进行分类检索。此文章为本人学习了解我们公司的…

2024年11月3号深铁璟城人才房看房记

我为什么看深铁璟城二期? 答:价格哈。 最开始看大康书记的文章是预测2.88万,由于个人经济缘故保障房超过2.5w就不去看房。没想到周五的时候,人才房群里销售精英说均价为2.4~2.5w了,这不就是和润珑苑的定价策略接近嘛?…

零基础Java第十二期:类和对象(三)

目录 一、static成员(补) 1.1. static修饰成员方法 1.2. static成员变量初始化 二、代码块 2.1. 静态代码块和实例代码块 ​三、对象的打印 一、static成员(补) 1.1. static修饰成员方法 public class Linear {public st…

钉钉平台开发小程序

一、下载小程序开发者工具 官网地址:小程序开发工具 - 钉钉开放平台 客户端类型 下载链接 MacOS x64 https://ur.alipay.com/volans-demo_MiniProgramStudio-x64.dmg MacOS arm64 https://ur.alipay.com/volans-demo_MiniProgramStudio-arm64.dmg Windows ht…

本地部署bert-base-chinese模型交互式问答,gradio

首先下载bert-base-chinese,可以在 Huggingface, modelscope, github下载 pip install gradio torch transformers import gradio as gr import torch from transformers import BertTokenizer, BertForQuestionAnswering# 加载bert-base-chinese模型和分词器 mod…

正式开源:从 Greenplum 到 Cloudberry 迁移工具 cbcopy 发布

Cloudberry Database 作为 Greenplum 衍生版本和首选开源替代,由 Greenplum 原始团队成员创建,与 Greenplum 保持原生兼容,并能实现无缝迁移,且具备更新的 PostgreSQL 内核和更丰富的功能。GitHub: https://github.com/cloudberry…

计算机网络:网络层 —— 路由信息协议 RIP

文章目录 路由选择协议动态路由协议路由信息协议 RIPRIP 的重要特点RIP的基本工作过程RIP的距离向量算法RIP存在的问题RIP版本和相关报文的封装 路由选择协议 因特网是全球最大的互联网,它所采取的路由选择协议具有以下三个主要特点: 自适应&#xff1a…

构建主干交换网络实验

转载请注明出处 该实验为交换网络综合实验,仅供参考。 根据下表配置计算机IP地址和划分VLAN。划分方式见课本48页,不再赘述 计算机名 IP地址 所属VLAN PC0 192.168.10.1 VLAN10 PC1 192.168.20.1 VLAN20 PC2 192.168.10.2 VLAN10 PC3 192.…

MySQL超大分页怎么优化处理?limit 1000000,10 和 limit 10区别?覆盖索引、面试题

1. limit 100000,10 和 limit 10区别 LIMIT 100000, 10: 这个语句的意思是,从查询结果中跳过前100000条记录,然后返回接下来的10条记录。这通常用于分页查询中,当你需要跳过大量的记录以获取后续的记录时。例如,如果你…

电科金仓(人大金仓)更新授权文件(致命错误: XX000: License file expired.)

问题:电科金仓(人大金仓)数据库链接异常,重启失败,查看日志如下: 致命错误: XX000: License file expired. 位置: PostmasterMain, postmaster.c:725 解决方法: 一、下载授权文件 根据安装版本在官网下载授权文件(电科金仓-成为世界卓越的数据库产品与服务提供商)…

DMFLDR数据载入使用实践

1、DMFLDR概述 1.1DMFLDR功能介绍 dmfldr(DM Fast Loader)是 DM 提供的快速数据装载命令行工具。用户通过使用 dmfldr 工具能够把按照一定格式 排序的文本数据以简单、快速、高效的方式载入到 DM 数据库中,或把 DM 数据库中的数据按照一定格…

计算机网络(Ⅵ)应用层原理

一些网络应用的例子: E-mail Internaet电话 Web 电子支付 文本信息 搜索 P2P文件共享 流媒体 即时通讯 实时电视会议 .... .... 创建一个网络应用: 1.编程 2.在不同的端系统上运行。 网络应用的体系架构 可能的应用架构 1.客户-服…

《使用Gin框架构建分布式应用》阅读笔记:p393-p437

《用Gin框架构建分布式应用》学习第17天,p393-p437总结,总45页。 一、技术总结 1.Prometheus Prometheus放在代码里面使用,还是第一次见。在本人实际的工作中未看到这种用法。 2.Grafana Grafana用于被监控数据的可视化。 3.Telegraf …

【动手学强化学习】part7-Actor-Critic算法

阐述、总结【动手学强化学习】章节内容的学习情况,复现并理解代码。 文章目录 一、算法背景1.1 算法目标1.2 存在问题1.3 解决方法 二、Actor-Critic算法2.1 必要说明 优势函数 2.2 伪代码 算法流程简述 2.3 算法代码2.4 运行结果 结果分析 2.5 算法流程说明 初始化…