【计算机网络笔记】ICMP(互联网控制报文协议)

系列文章目录

什么是计算机网络?
什么是网络协议?
计算机网络的结构
数据交换之电路交换
数据交换之报文交换和分组交换
分组交换 vs 电路交换
计算机网络性能(1)——速率、带宽、延迟
计算机网络性能(2)——时延带宽积、丢包率、吞吐量/率
计算机网络体系结构概念
OSI参考模型基本概念
OSI参考模型中非端-端层(物理层、数据链路层、网络层)功能介绍
OSI参考模型中端-端层(传输层、会话层、表示层、应用层)功能介绍
TCP/IP参考模型基本概念,包括五层参考模型
网络应用的体系结构
网络应用进程通信
网络应用对传输服务的需求
Web应用之HTTP协议(涉及HTTP连接类型和HTTP消息格式)
Cookie技术
Web缓存/代理服务器技术
传输层服务概述、传输层 vs. 网络层
传输层——多路复用和多路分用
传输层——UDP简介
传输层——可靠数据传输原理之Rdt协议
传输层——可靠数据传输之流水线机制与滑动窗口协议
传输层——TCP特点与段结构
传输层——TCP的可靠数据传输
TCP连接管理(图解三次握手和四次挥手)
传输层——拥塞控制原理与解决方法
TCP的拥塞控制机制
网络层服务与核心功能
网络层服务模型——虚电路网络
网络层服务模型——数据报网络
Internet网络的网络层——IP协议之IP数据报的结构
IP分片
IP编址与有类IP地址
IP子网划分与子网掩码
CIDR与路由聚合
DHCP协议
网络地址转换(NAT)


  • 系列文章目录
  • ICMP(互联网控制报文协议)


ICMP(互联网控制报文协议)

互联网控制报文协议 ICMP (Internet Control Message Protocol)支持主机或路由器完成差错(或异常)报告网络探询

ICMP协议通过发送特定的ICMP报文来实现这两种功能。所以有两大类ICMP报文:

  • 差错报告报文(5种)

    • 目的不可达报文。数据到达目的后无法成功交付给目的,比如目的网络、目的主机、目的端口等等。这时这个IP数据报会被丢弃,同时会向源主机发送目的不可达的ICMP报文
    • 源抑制(Source Quench) 报文。当一个路由器发现自身的缓存已满导致后面发来的数据被丢弃,就可以向源主机发送源抑制ICMP报文,目的是让源主机降低发送IP数据报的速度。这时最初的目的。但目前的互联网中并没有按照这种方式进行拥塞控制
    • 超时/超期报文。最常见的就是TTL超时。TTL为0时,该IP数据报会被丢弃
    • 参数问题报文。如果发现IP数据报有一些参数有问题,就会被丢弃
    • 重定向 (Redirect)报文。当路由器收到一个IP数据报,但这个数据报所要到达的目的网络不应该由这个路由器进行转发,而是另一个路由器,就发送重定向 (Redirect)报文
  • 网络探询报文(2组)。这类报文通常是由主机或路由器主动发送的

    • 回声(Echo)请求与应答报文(Reply)。验证能否成功到达目的。最具有代表性的工具就是ping这个工具
    • 时间戳请求与应答报文

ICMP报文是通过一个类型号和编码来给出具体的不同类型的报文。比如:
在这里插入图片描述

有一些例外情况:

  • 几种不发送 ICMP差错报告报文的特殊情况:

    • 对ICMP差错报告报文不再发送 ICMP差错报告报文
    • 除第1个IP数据报分片外,对所有后续分片均不发送ICMP差错报告报文
    • 对所有多播IP数据报均不发送 ICMP差错报告报文
    • 对具有特殊地址(如127.0.0.0 或 0.0.0.0)的IP数据报不发送 ICMP 差错报告报文
  • 几种 ICMP 报文已不再使用:

    • 信息请求与应答报文
    • 子网掩码请求和应答报文
    • 路由器询问和通告报文

ICMP报文封装到IP数据报中进行传输。ICMP报文也是由头部和数据部分构成的。

在这里插入图片描述

ICMP差错报告报文数据封装:

在这里插入图片描述

ICMP的应用举例:**Traceroute。**用于网络跟踪。

  • 源主机向目的主机发送一系列 UDP数据报。可以设置数据报的TTL。
    • 第1组IP数据报TTL =1
    • 第2组IP数据报TTL=2,以此类推
    • 目的端口号为不可能使用的端口号
  • 当第n组数据报(TTL=n)到达第 n个路由器时:
    • 路由器丢弃数据报
    • 向源主机发送ICMP报文 (type=11, code=0)
    • ICMP报文携带路由器名称和 IP地址信息
  • 当ICMP报文返回到源主机时, 记录RTT
  • 停止准则:
    • UDP数据报最终到达目的主机
    • 目的主机返回“目的端口不可 达”ICMP报文 (type=3, code=3)
    • 源主机停止

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/159734.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

农户建档管理系统的设计与实现-计算机毕业设计源码20835

摘 要 随着互联网趋势的到来,各行各业都在考虑利用互联网将自己推广出去,最好方式就是建立自己的互联网系统,并对其进行维护和管理。在现实运用中,应用软件的工作规则和开发步骤,采用Java技术建设农户建档管理系统。 本…

项目技术复盘

背景 该项目接手时已是8月中下旬,并且客户要求九月中旬输出第一版本。这么紧急的节奏,不知道商务是如何答应的。临危受命,让我承担开发经理岗位,主导该项目。 开发团队 岗位 人员 base 架构师兼高级软件工程师 季工 上海 高…

Java中利用OpenCV进行人脸识别

OpenCV 概述 ​ OpenCV(Open Source Computer Vision Library)是一个开源计算机视觉库,它提供了丰富的工具和算法,用于处理图像和视频数据。该库由一系列高效的计算机视觉算法组成,涵盖了许多领域,包括目…

C++单调向量算法:132 模式解法三枚举1

本题不同解法 包括题目及代码C二分查找算法:132 模式解法一枚举3C二分查找算法:132 模式解法二枚举2代码最简洁C二分查找算法:132 模式解法三枚举1性能最佳C单调向量算法:132 模式解法三枚举1 分析 时间复杂度 2轮循环时间复杂…

「引流工具」火炬多平台多功能引流高效推广脚本,抖音+快手+小红书多平台自动引流软件

全自动多平台多功能引流脚本: 脚本支持斗音,快手,小红薯,扣扣。默默,弹弹,金日头条,微博,知乎,bibi,易车,最右,美团,汽车…

微软正式宣布其首款人工智能芯片 Maia 100 及基于 Arm 的通用计算芯片 Cobalt 100

微软确认了此前的传闻:该公司已自主开发了 AI 芯片,旨在训练大型语言模型,减少对 Nvidia 的依赖。此外,微软还研制了自家的基于 Arm 架构的 CPU,专为云计算工作负载设计。这两款定制硅芯片旨在为其 Azure 数据中心提供…

Axure基础详解二十:中继器随机抽奖效果

效果演示 组件 一、中继器 建立一个“中继器”内部插入一个“正方形”,给“正方形”添加一个【样式效果】>>【选中状态】填充背景为红色,字体白色。在中继器表格中插入两列数据函数:【xuhao】(序号列,按12345……填写&…

【DevOps】Git 图文详解(二):Git 安装及配置

Git 图文详解(二):Git 安装及配置 1.Git 的配置文件2.配置 - 初始化用户3.配置 - 忽略.gitignore Git 官网:https://www.git-scm.com/ 下载安装包进行安装。Git 的使用有两种方式: 命令行:Git 的命令通过系…

L1 频段卫星导航射频前端低噪声放大器芯片MS2659

产品简述 MS2659 是一款具有高增益、低噪声系数的低噪声放大器 (LNA) ,支持 L1 频段多模式全球卫星定位,可以应用于 GPS 、 北斗二代、伽利略、 GLONASS 等 GNSS 导航接收机中。芯片采 用 SOT23-6 的封装形式。 主要特点 ◼ 支持北斗、 …

【mysql】2006 - Server has gone away

执行了一组插入语句 提示:2006 - Server has gone away; 2006-服务器已经消失; 消失去哪里了,被黑洞吞没了吗?!!! 网络问题 网络不稳定?断网了?检查网络连…

asp.net实验室设备管理系统VS开发sqlserver数据库web结构c#编程计算机网页源码项目

一、源码特点 asp.net实验室设备管理系统 是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 asp.net实验室设备管理系统1 二、功能介绍 本系统使用Microsoft Visual Studio 2019为开发工具,SQL …

Appium自动化测试完全指南

背景 在当今快速发展的互联网时代,UI 需求越来越大、越来越高大上、越来越复杂,相对应的 App 作为最重要的大前端的一部分,也不可避免。 App 迭代的不断加速,需求的不断复杂化,给测试人员增加了非常大的工作量&#…

十二.Jenkins持续集成

十二.Jenkins持续集成 一.安装jenkins 1.下载 Jenkins下载地址:http://jenkins-ci.org/ 或 https://mirrors.jenkins-ci.org/redhat/2.安装 可以通过官网的安装方式来安装 安装完后,需要修改以下的配置 vim /usr/lib/systemd/system/jenkins.servic…

揭示高防CDN的局限性与探讨其小众化原因

在网络安全领域,高防CDN(高防御内容分发网络)被认为是保护网站免受恶意攻击的强大工具,然而,尽管其在防护方面表现卓越,高防CDN在广泛应用中仍然相对小众。本文将从高防CDN的局限性出发,深入探讨…

nodejs微信小程序-客户管理管理系统的设计与实现-安卓-python-PHP-计算机毕业设计推荐

然而客户管理系统是一项较为复杂的工作,涉及多个组织、多个层次的协调和共同管理,整个过程需要将管理系统和人员进行全面整合。文章在具体研究过程中从多方面入手,针对当前企业管理中客户管理系统应用存在的问题进行了分析,阐述了…

酷柚易汛ERP - 通用设置操作指南

1、系统设置 对系统进行初步设置,如系统LOGO、站点名称、备案号、版权信息、尾部信息及系统相关的一些基础设置 2、应用/小程序配置 对系统移动端进行相关配置 3、短信配置 对系统短信进行配置,此配置用于移动端一些通知类信息发送【目前仅支持阿里云…

Pandas get_dummies用法

get_dummies 是 pandas 实现one hot encode的方式 ​  one-hot的基本思想:将离散型特征的每一种特征取值都看成一种状态,若指定离散特征中有N个 不相同的取值,那么我们就可以将该特征抽象成N种不同的状态,one-hot编码保证了每一…

vue项目中设置background: url() 是行内样式不生效,样式表是可以的

[TOC](vue项目中设置background: url() 是行内样式不生效,样式表是可以的) 首先:如果不是项目中普通的一个index.html中是可以的 一、原因 在Vue项目中,行内样式和样式表的编译规则是有所不同的。当你在Vue组件的行内样式中使用相对路径引用图…

机器学习:十大算法快速回顾

一、说明 对于机器学习的是个经典算法,本篇将展示一个回顾,注意,本篇不是具体原理信息介绍,没有代码,但是对于初学者是一个有益的导读。 二. 线性回归 2.1 算法描述 有没有想过数据奇才如何预测未来?输入线…

Gdevops北京站 2023年全球敏捷运维峰会-核心PPT资料下载

一、峰会简介 2023 Gdevops全球敏捷运维峰会-北京站成功举办,一众产学研界技术大佬与新锐专家,以智能为主线,就数据库、运维、架构、金融科技等领域进行了前沿技术与实践经验交流,一同畅聊AIGC、云原生、数智化转型下的新机遇。 …