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

学习计算机网络(五)——ICMP协议

ICMP 协议(Internet Control Message Protocol,互联网控制报文协议),主要用于在 IP 网络中传递控制消息和差错报告。

ICMP在IP系统间传递差错和管理报文,是任何IP实现必需和要求的组成部分。

可把ICMP报文分成两类:差错和查询。

ICMP 协议的功能包括:

  • 差错报告:当网络中的路由器或主机在处理 IP 数据包时遇到问题,例如数据包无法到达目标地址、TTL(Time To Live,生存时间)超时等,会向源主机发送 ICMP 差错报文,通知源主机出现的错误情况。
  • 网络诊断:通过使用 ICMP 协议的一些工具,如 Ping 和 Traceroute,网络管理员可以检测网络的连通性、测量数据包在网络中的传输路径和延迟等。

例如,当您使用 Ping 命令来测试与另一台主机的连通性时,源主机向目标主机发送 ICMP 回显请求(Echo Request)报文,目标主机收到后会返回一个 ICMP 回显应答(Echo Reply)报文,从而确定网络是否可达以及往返时间。

Traceroute 则通过发送一系列具有不同 TTL 值的 ICMP 数据包,根据中间路由器返回的 ICMP 超时消息,来确定数据包从源到目标所经过的路径。

  • 拥塞控制:当网络发生拥塞时,路由器可以使用 ICMP 源抑制报文通知源主机降低发送数据的速率。

ICMP 协议虽然不是用于传输用户数据的,但对于网络的管理、维护和故障排除具有重要意义。

需要注意的是,ICMP 协议本身并不能保证数据的可靠传输,它只是提供了一种反馈机制和辅助工具来帮助网络更好地运行。

相关文章:

学习计算机网络(五)——ICMP协议

ICMP 协议(Internet Control Message Protocol,互联网控制报文协议),主要用于在 IP 网络中传递控制消息和差错报告。 ICMP在IP系统间传递差错和管理报文,是任何IP实现必需和要求的组成部分。 可把ICMP报文分成两类&a…...

request.getRequestURI()与request.getRequestURL()的区别

1.返回值的区别: request.getRequestURL() 返回值是一个StringBuffer类型 request.getRequestURI() 返回值是一个String类型 先看 request.getRequestURL() 返回的是一个具体的地址,访问网页的地址 而 request.getRequestURI() 返回的是一个映射地址&a…...

3154. 到达第 K 级台阶的方案数(24.8.20)

今天发晚了,嘿嘿,玩黑神话玩的 题目 给你有一个 非负 整数 k 。有一个无限长度的台阶,最低 一层编号为 0 。 Alice 有一个整数 jump ,一开始值为 0 。Alice 从台阶 1 开始,可以使用 任意 次操作,目标是到达…...

如何使用docker打包后端项目并部署到阿里云k8s集群上

如何使用docker打包后端项目并部署到阿里云k8s集群上 1. 引言 在现代软件开发中,容器化技术已经成为主流,而Kubernetes (K8s) 是管理容器的首选平台之一。本文将详细介绍如何将一个后端项目使用Docker打包,并将其部署到阿里云的Kubernetes集群上。 2. 前置条件 阿里云账号…...

ES6中解构的使用

一、提取几个属性,构造一个新的对象 在JavaScript中,你可以使用对象解构(Object Destructuring)来提取一个对象中的几个属性,并构造一个新的对象。下面是一个示例: 在这个例子中,name和email属性…...

拖拽式报表设计器优点好 实现流程化办公就靠它!

当前,实现流程化办公是很多企业都想要实现的目标。利用低代码技术平台、拖拽式报表设计器的优势特点,可以为企业降低开发成本、提升办公效率、创造更多市场价值。那么,您知道拖拽式报表设计器的优点是什么吗?通过本文一起了解拖拽…...

Spring项目:文字花园(四)

一.实现登录 传统思路: • 登陆⻚⾯把⽤⼾名密码提交给服务器. • 服务器端验证⽤⼾名密码是否正确, 并返回校验结果给后端 • 如果密码正确, 则在服务器端创建 Session . 通过 Cookie 把 sessionId 返回给浏览器. 问题: 集群环境下⽆法直接使⽤Session. 原因分析: 我们开…...

Web开发:ORM框架之Freesql的入门和技巧使用小结

目录 零、官网链接 一、字段映射表 二、查询 1.freesql独特封装:between关键字 2.分页(每页 20 条数据,查询第 1 页) 3.Withsql(子查询,不建议) 3.简单查询、映射查询 4.参数查询、自定义…...

软件工程(4)面向对象方法:面向对象软件工程OOSE与案例实践

OOSE(Object-Oriented Software Engineering,面向对象软件工程)是一种用于开发软件系统的工程方法论,它强调使用面向对象的技术和方法来设计和实现软件。OOSE 方法是由 Ivar Jacobson 提出的,主要包括以下几个关键方面…...

【数据结构篇】~链表算法题1(含快慢指针的解析)

前言 关于环形指针与快慢指针是算法题中的常客,如果能掌握将是我们的一大助力! 1.快慢指针 1 移除链表元素​ https://leetcode.cn/problems/remove-linked-list-elements/description/ 1)思路 这道题可以用一个新链表来保存原链表中不…...

洛谷 P1135 奇怪的电梯

链接直达:P1135 奇怪的电梯 - 洛谷 | 计算机科学教育新生态 题目来源 洛谷 题目内容 奇怪的电梯 题目背景 感谢 yummy 提供的一些数据。 题目描述 呵呵,有一天我做了一个梦,梦见了一种很奇怪的电梯。大楼的每一层楼都可以停电梯&…...

vue使用axios请求后端数据

前后端分离项目的基础: 前后端跨域访问 vite.config.js中加入 // 1.为什么要跨域 //因为浏览器的同源策略,不同站点之间访问需要跨域 //实现跨域的方式:server: {proxy: {// 假设要跨域访问的后端 API 地址以 /api 开头/api: { //表示拦截以/api开头的…...

目标检测 | yolov10 原理和介绍

相关系列: 目标检测 | yolov1 原理和介绍 目标检测 | yolov2/yolo9000 原理和介绍 目标检测 | yolov3 原理和介绍 目标检测 | yolov4 原理和介绍 目标检测 | yolov5 原理和介绍 目标检测 | yolov6 原理和介绍 目标检测 | yolov7 原理和介绍 目标检测 | yolov8 原理和…...

基于Springboot 和Vue 的高校宿舍管理系统源码

网络上很多宿舍管理系统都不完整,大多数缺少数据库文件,所在使用极其不方便,由于本人程序员,根据代码,自己花时间不全了数据库文件,并且可以完美运行!!!!&…...

3:2比例的程序员专业显示器,效率提升显著,摸鱼时间又多了

对于我们程序员来说,显示器的重要性不言而喻,作为我们与代码交流的直接工具,他影响着我们的工作效率、舒适度和整体编程体验。我在家用的是自己笔记本的屏幕,简单写写代码还行,涉及到多任务协同或者大代码量开发就有点…...

vue3 cascader省市区三级联动如何指定字段,如何根据id查到对应的名字

如果我们接口数据字段名不是value和code。要加个props :props"{ value:code,label:regionName}"根据id查name需要一个ref和一个change事件<el-cascader :options"areaData" ref"addressCodeRef" change"handleChange" :props"…...

算法4:前缀和(上)

文章目录 一维前缀和二维前缀和寻找数组的中心下标除自身以外数组的乘积 一维前缀和 二维前缀和 寻找数组的中心下标 class Solution { public:int pivotIndex(vector<int>& nums) {int n nums.size();vector<int> f(n), g(n);f[0] nums[0];g[n - 1] num…...

美国政府紧急应对三星Galaxy手机安全漏洞

一、美国政府紧急通知更新三星Galaxy手机系统 美国政府近日发布紧急通知&#xff0c;要求联邦政府雇员在8月28日前更新三星Galaxy手机系统&#xff0c;否则将面临禁止使用这些设备的后果。这是继7月针对Pixel手机用户的类似要求之后的又一次紧急行动。此次事件的导火索是谷歌发…...

看 逆行人生

电影和我的职业本身有相关性&#xff0c;而且我特别喜欢徐峥执导的电影&#xff0c;这次的题材也算是碰上自己的胃口。 周六&#xff0c;下了大半天的雨&#xff0c;早上驱车到公司加班&#xff0c;下午六点多到时候特别想去看电影&#xff0c;果断再驱车从公司赶回来&#xff…...

0819、0820梳理及一些面试题梳理

一、抓包分析 二、HTTP服务器 三、动态库与静态库 四、一些面试题 指针数组和数组指针的区别&#xff1a;指针数组本质是一个数组&#xff0c;只是数组中存储的是指针变量。数组指针存储的是该数组的起始地址&#xff0c;对该指针来说每偏移一个单位就是偏移了一整个数组的地…...

SecGPT-14B提示工程:提升OpenClaw安全报告可读性的秘诀

SecGPT-14B提示工程&#xff1a;提升OpenClaw安全报告可读性的秘诀 1. 当安全报告遇上OpenClaw&#xff1a;我的真实痛点 上周五凌晨2点&#xff0c;我被OpenClaw的告警邮件惊醒——它发现我的个人服务器存在一个高危漏洞。但当我打开那份自动生成的安全报告时&#xff0c;眼…...

STM32按键控制LED的5种实用场景与代码优化技巧

STM32按键控制LED的5种实用场景与代码优化技巧 在嵌入式开发中&#xff0c;按键控制LED是最基础却最能体现设计功底的场景之一。很多开发者认为这不过是GPIO的简单操作&#xff0c;但实际项目中&#xff0c;按键响应速度、稳定性、功耗控制等细节往往决定了产品的用户体验。我曾…...

m4s-converter:让B站缓存重获新生的轻量级格式转换工具

m4s-converter&#xff1a;让B站缓存重获新生的轻量级格式转换工具 【免费下载链接】m4s-converter 一个跨平台小工具&#xff0c;将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 当你辛苦缓存的B站视频因下架…...

cv_unet_image-matting图像抠图:5分钟快速部署,小白也能轻松上手

cv_unet_image-matting图像抠图&#xff1a;5分钟快速部署&#xff0c;小白也能轻松上手 1. 引言&#xff1a;为什么选择这个工具&#xff1f; 你是否遇到过这样的烦恼&#xff1a;需要快速抠出一张人像照片&#xff0c;但Photoshop操作太复杂&#xff1f;或者有一批产品图片…...

NAssistant上位机实战:从TOFSense数据解析到固件升级全流程

1. NAssistant上位机初识&#xff1a;连接TOFSense的起点 第一次打开NAssistant上位机时&#xff0c;那个简洁的灰色界面可能会让你觉得无从下手。别担心&#xff0c;我刚开始用的时候也是这样。这个由Nooploop开发的工具其实设计得非常直观&#xff0c;只是需要一点时间来熟悉…...

别再手动记数据了!用MATLAB脚本自动读取串口,5分钟搞定数据采集

别再手动记数据了&#xff01;用MATLAB脚本自动读取串口&#xff0c;5分钟搞定数据采集 还在用串口助手手动记录数据&#xff1f;每次实验都要盯着屏幕抄写数值&#xff0c;不仅效率低下&#xff0c;还容易出错。想象一下&#xff1a;当你正在进行长达数小时的温度监测实验&…...

芯片工程师如何从AI那里“榨出“隐性知识?

大语言模型里藏着很多东西&#xff0c;但大部分人只用到了表面。这些模型在训练时吃进去的不只是教科书和官方文档&#xff0c;还有大量的技术博客、论坛讨论、开源代码、甚至是一些没公开发表的技术报告。这些知识以一种隐性的方式存在于模型参数中&#xff0c;不会主动跳出来…...

台式电脑怎么连接打印机 4种方法详细教程

台式电脑连接打印机的方法多种多样&#xff0c;具体选择取决于打印机类型和使用环境。合理选择连接方式&#xff0c;不仅能提高打印效率&#xff0c;还能减少后续使用中的故障问题。下面将详细介绍几种常见的连接方法及操作步骤。 一、通过USB数据线连接 这种方式最为直接常见…...

Typora风格文档化:使用Markdown实时记录PyTorch 2.8实验过程

Typora风格文档化&#xff1a;使用Markdown实时记录PyTorch 2.8实验过程 1. 为什么需要实验过程文档化 在深度学习研究领域&#xff0c;实验过程的可复现性一直是个老大难问题。很多研究者都有这样的经历&#xff1a;三个月前跑的实验&#xff0c;现在想复现结果&#xff0c;…...

别只埋头改Bug!从Flutter高德地图鸿蒙适配,聊聊跨平台插件架构设计的最佳实践

从Flutter高德地图鸿蒙适配看跨平台插件架构设计的黄金法则 当Flutter遇上鸿蒙&#xff0c;开发者们既兴奋又忐忑。兴奋的是跨平台开发框架与国产操作系统的强强联合&#xff0c;忐忑的是两者结合带来的技术适配挑战。去年我们团队在将高德地图SDK集成到Flutter鸿蒙应用时&…...