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

(考研湖科大教书匠计算机网络)第四章网络层-第八节:网际控制报文协议ICMP

  • 获取pdf:密码7281
  • 专栏目录首页:【专栏必读】考研湖科大教书匠计算机网络笔记导航

文章目录

  • 一:网际控制报文协议ICMP
    • (1)ICMP差错报告报文
      • A:终点不可达
      • B:源点抑制
      • C:时间超过
      • D:参数问题
      • E:改变路由
    • (2)ICMP查询报文
  • 二:ICMP应用举例
    • (1)分组网间探测PING
    • (2)跟踪路由

本节对应视频如下

  • 【计算机网络微课堂(有字幕无背景音乐版)】:网际控制报文协议ICMP

一:网际控制报文协议ICMP

网际控制报文协议ICMP:为了更有效地转发IP数据报和提高交付成功的机会,在网际层使用了网际控制报文协议。主机或路由器使用ICMP来发送差错报告报文询问报文。ICMP报文被封装在IP数据报中发送

(1)ICMP差错报告报文

ICMP差错报告报文共有以下五种

  • 终点不可达
  • 源点抑制
  • 时间超过
  • 参数问题
  • 改变路由(重定向)

以下情况不应发送ICMP差错报告报文

  • 对ICMP差错报告报文不再发送ICMP差错报告报文
  • 对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文
  • 对具有多播地址的数据报都不发送ICMP差错报告报文
  • 对具有特殊地址(如127.0.0.00.0.0.0) 的数据报不发送ICMP差错报告报文

A:终点不可达

终点不可达:当路由器或主机不能交付数据报时,就向源点发送终点不可达报文。具体可再根据ICMP的代码字段细分为目的网络不可达、目的主机不可达、目的协议不可达、目的端口不可达、目的网络未知、目的主机未知等13种错误

例如下图,假设主机H1给H2发送IP数据报,H1会将IP数据报发送给路由器R1,由R1帮其转发,若R1的路由表中没有网络N3的路由记录、默认路由以及主机H2的特定主机路由,则R1就不知道如何转发该数据报,只能将其丢弃,并向发送该数据报的源主机H1发送ICMP差错报文,其类型为终点不可达

在这里插入图片描述

B:源点抑制

源点抑制:当路由器或主机由于拥塞而丢弃数据报时,就向源点发送源点抑制报文,使源点知道应当把数据报的发送速率放慢

例如下图,H1给H2发送IP数据报,当该数据报传输到路由器R2时,由于R2拥塞,所以R2根据自己的丢包策略丢弃了该数据报,并向发送该数据报的源主机H1发送ICMP差错报告报文,其类型为源点抑制

在这里插入图片描述

C:时间超过

时间超过:当路由器收到一个目的IP地址不是自己的IP数据报时,会将其生存时间TTL字段的值减1。若结果不为0,则将该IP数据报转发出去;若结果为0,除丢弃该IP数据报外,还要向源点发送时间超过报文。另外,当终点在预先规定的时间内不能收到- -个数据报的全部数据报片时,就把已收到的数据报片都丢弃,也会向源点发送时间超过报文

例如下图,某个生存时间等于2的IP数据报传输到了路由器R1,R1将其生存时间减1后结果为1,这表明该数据报的生存时间还未结束,R1将其转发出去;当该数据报传输到路由器R2后,R1将其生存时间减1后结果为0,这表明该数据报的生存时间结束了。R2丢弃该数据报, 并向发送该数据报的源主机H1发送ICMP差错报告报文,其类型为时间超过

在这里插入图片描述

D:参数问题

参数问题:当路由器或目的主机收到IP数据报后,根据其首部中的检验和字段发现首部在传输过程中出现了误码,就丢弃该数据报,并向源点发送参数问题报文

例如下图是H1发送给H2的IP数据报,假设该数据报在传输过程中收到了干扰,其首部出现了误码,当该数据报传输到路由器R1后,R1检测出该数据报首部出错,于是丢弃该数据报,并向发送该数据报的源主机H1发送ICMP差错报告报文,其类型为参数问题

在这里插入图片描述

E:改变路由

改变路由:路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器(可通过更好的路由)

例如下图,假设我们给主机H1指定的默认网关是路由器R1,则H1要发往网络N2的IP数据报都会传输给R1,由其帮忙转发,当R1发现H1发往N2的数据报的最佳路由不应该经过R1而应该经过R4时,就用改变路由报文把这个情况告诉主机。于是H1就在自己的路由表中添加一个项目,到达N2应该经过路由器R4,而不是默认网关R1。之后H1要发往N2的IP数据报都会传输给R4

在这里插入图片描述

(2)ICMP查询报文

ICMP查询报文常见有以下两种

  • 回送请求和回答:ICMP回送请求报文是由主机或路由器向一个特定的目的主机发出的询问。收到此报文的主机必须给源主机或路由器发送ICMP回送回答报文。这种询问报文用来测试目的站是否可达及了解其有关状态
  • 时间戳请求和回答:ICMP时间戳请求报文是请某个主机或路由器回答当前的日期和时间。在ICMP时间戳回答报文中有一个32位的字段,其中写入的整数代表从1900年1月1日起到当前时刻一共有多少秒。这种询问报文用来进行时钟同步和测量时间

二:ICMP应用举例

(1)分组网间探测PING

分组网间探测PING:用来测试主机或路由器间的连通性,应用层直接使用网际层的ICMP (没有通过运输层的TCP或UDP)使用ICMP回送请求和回答报文

如下图,使用ping命令测试某网站连通性

在这里插入图片描述

(2)跟踪路由

跟踪路由:用来测试IP数据报从源主机到达目的主机要经过哪些路由器

在这里插入图片描述

如下图,在Windows中使用tracert命令测试到达某主机需要经过哪些路由器

在这里插入图片描述

相关文章:

(考研湖科大教书匠计算机网络)第四章网络层-第八节:网际控制报文协议ICMP

获取pdf:密码7281专栏目录首页:【专栏必读】考研湖科大教书匠计算机网络笔记导航 文章目录一:网际控制报文协议ICMP(1)ICMP差错报告报文A:终点不可达B:源点抑制C:时间超过D&#xff…...

华为OD机试 - GPU 调度 | 备考思路,刷题要点,答疑 【新解法】

最近更新的博客 【新解法】华为OD机试 - 关联子串 | 备考思路,刷题要点,答疑,od Base 提供【新解法】华为OD机试 - 停车场最大距离 | 备考思路,刷题要点,答疑,od Base 提供【新解法】华为OD机试 - 任务调度 | 备考思路,刷题要点,答疑,od Base 提供【新解法】华为OD机试…...

华为OD机试题 - 任务总执行时长(JavaScript)

最近更新的博客 2023新华为OD机试题 - 斗地主(JavaScript)2023新华为OD机试题 - 箱子之形摆放(JavaScript)2023新华为OD机试题 - 考古学家(JavaScript)2023新华为OD机试题 - 相同数字的积木游戏 1(JavaScript)2023新华为OD机试题 - 最多等和不相交连续子序列(JavaScri…...

还在想假期去哪玩?直接做一个旅游攻略小程序

憋了几年好不容易解封准备出去散散心,但看着大江南北这么多景点是不是有点让你选择强迫症呢?那就先制作一个旅游攻略小程序看看驴友们的分享吧。...

十四、vue3项目如何使用three.js

近期在开发过程中,因为项目已经接近尾声,就需要对项目中的数据进行整合,而数据看板不失为一个比较直观的展现形式。在数据看板中3D的展现形式是比较流行的展现形式,那么如何在项目引入一个大的场景,并且能够和后台发生…...

python 向excel表中添加新的sheet页或者向旧sheet中写入数据

import xlwt import xlrd from xlutils.copy import copy import os import numpy as np import pandas as pd class Excel_Add_Sheet():def save_table(self, table, file_name):# 保存表table.save(file_name)def add_new_sheet(self, file_name, sheet_name, titleNone):&q…...

RPC-grpc实践

参考:https://developer.aliyun.com/article/1152352?spma2c6h.12873639.article-detail.33.344f6446zEnbRi&scm20140722.ID_communityarticle1152352._.ID_communityarticle1152352-OR_rec-V_1 参考:https://onejson.blog.csdn.net/article/detai…...

JavaEE——MyBatis配置文件的详细介绍

简单介绍: 需要我们编写的配置文件主要有三个,分别是核心配置文件(mybatis-config.xml),数据库连接信息文件(db.properties),SQL语句映射文件(Mappers)&…...

bwmarrin/snowflake生成ID重复问题排查记录

现象 某日,运营反馈,在某个时间区间丢失了一段日志,让看看是什么问题。 排查 查看项目日志有无错误 发现项目日志有报错信息Error 1062 Duplicate entry 149059529550598144 for key PRIMARY,很显然,问题在此,数据库…...

操作系统题目收录(十)

1、在存储管理中,采用覆盖与交换技术的目的是()。 A:节省主存空间B:物理上扩充主存容量C:提高CPU效率D:实现主存共享 解析 覆盖和交换的提出就是为了解决主存空间不足的问题,但不…...

IOS 自动化测试环境搭建

购买MacPDD 比TB JD 便宜500,下单安装homebrew/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"安装npm cnpmbrew install node; npm install -g cnpm --registryhttps://registry.npm.taobao.org;安装类似Andro…...

系统设计原则

系统设计原则 好的系统是迭代出来的。先解决核心问题,预测未来可能出现的问题,对现有的问题有方案,对未来的问题有预案。不是一上来就按1亿用户量设计,也不要过度复杂化系统。 业务千变万化,技术层出不穷&#xff0c…...

推荐130个网站,非常实用,比涨工资都重要

搞学习 TED(最优质的演讲):https://www.ted.com/ 谷粉学术:https://gfsoso.99lb.net/scholar.html 大学资源网:http://www.dxzy163.com/ 简答题:http://www.jiandati.com/ 网易公开课:https…...

手机棋牌游戏开发的流程是怎样的?

最近几年,随着网络游戏的兴起,棋牌手游开发也越来越受欢迎,在国内,几乎随处可见从事手游和手游的公司。不过,虽然公司和产品很多,但效果也不一样,区别就在于,他们能不能掌握好这款游…...

浅谈C++函数重载

C相较于C语言来说,重载是一重大特性,让我们一起简单的回顾一下重载那些事 传送门函数重载是什么为什么有函数重载函数重载是如何实现的总结函数重载是什么 函数重载:是函数的一种特殊情况,C允许在同一作用域中声明几个功能相似的同名函数 这些同名函数的形参列表(参数个数or类…...

数据分析spss应急考试

数据分析spss应急考试 前言 单项选择 15(项)*2(分)30 判断题 10*1 10 计算题 2*10 案例分析题目(考实验内容) 总四十分,分值不等 老师重点强调了回归分析因子分析方差分析参数、非参数检验 2独立样本的非参数检验应该用什么方法多独立样本…...

Handler postDelayed的实现原理

Handler postDelayed的实现原理 问题描述 Handler.postDelayed()的原理是如何保证延时执行的? 扩展:这样实现的好处是什么? 题目分析 猜测一下 以我们对Handler的了解,内部使用了Looper对消息队列进行循环获取执行&#xff0…...

【数据结构】平衡二叉树

目录 一、平衡二叉树的介绍 二、平衡二叉树的插入 1、平衡二叉树的插入步骤 2、平衡二叉树的旋转 2.1左单旋 2.2右单旋 2.3左右双旋 2.4右左双旋 三、平衡二叉树的删除(略) 四、个人对平衡二叉树见解 五、平衡二叉树整体代码 一、平衡二叉树的…...

Minecraft服务端配置

✨✨前言 ✨✨ 我的世界大家肯定都不陌生,在网易拿下中国区的代理后,很多小伙伴也是都转向了网易版我的世界,网易版我的世界可以说已经做是的十分全面了,使用起来也十分方便,一部分小伙伴也是看重了网易庞大的玩家数量…...

yunUI组件库解析:图片上传与排序组件yImgPro

yunUI是笔者开源的微信小程序功能库。目前其中包含了一些复杂的功能组件。方便使用。未来它将分为组件、样式、js三者合为一体,但分别提供。 本文所用代码皆来源于组件库中的yImgPro组件。详细代码可至github查看。地址: yunUI 。 npm地址:yu…...

电视投屏的终极解决方案:TVBoxOSC如何让手机内容秒变大屏体验

电视投屏的终极解决方案:TVBoxOSC如何让手机内容秒变大屏体验 【免费下载链接】TVBoxOSC TVBoxOSC - 一个基于第三方项目的代码库,用于电视盒子的控制和管理。 项目地址: https://gitcode.com/GitHub_Trending/tv/TVBoxOSC 你是否曾羡慕朋友家的智…...

3步搞定专业简历:yamlresume让求职文书制作效率提升80%

3步搞定专业简历:yamlresume让求职文书制作效率提升80% 【免费下载链接】yamlresume Resumes as code in YAML, brought to you with ❤️ by PPResume. 项目地址: https://gitcode.com/gh_mirrors/ya/yamlresume 当你第5次修改简历格式却发现对齐混乱&#…...

乙巳马年春联生成终端保姆级教程:修复Streamlit中文乱码终极方案

乙巳马年春联生成终端保姆级教程:修复Streamlit中文乱码终极方案 1. 教程目标与价值 你是不是也遇到过这样的问题?辛辛苦苦用Streamlit搭建了一个酷炫的Web应用,界面设计得美轮美奂,功能也跑得顺顺当当,结果一到显示…...

深度解析Infoseek数字公关AI中台:品牌公关领域的技术架构与实践

一、引言在品牌公关领域,舆情管理正经历从“人工驱动”向“AI驱动”的范式转变。面对全网海量信息、多模态数据、实时性要求高等技术挑战,传统基于规则和人工的舆情监测系统已难以满足现代企业的需求。本文将从技术架构、核心算法、系统实现等角度&#…...

AI风口来袭!产品经理转行必看!高薪岗位速进指南_AI产品经理转行分析

近年来,中国AI产业规模迅猛增长,预计2030年将超万亿元。AI产品经理成为企业争抢的热门人才,薪资丰厚。文章推荐了AI产品经理的学习路径,涵盖基础、机器学习、深度学习、产品设计及项目管理等模块,为求职者提供实战指导…...

captcha_voucher 亚马逊

声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 逆向过程 部分python代码url ".c…...

【开题答辩全过程】以 软件工程资源网站为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人,语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…...

Spring Boot 环境变量配置详解:从 IDEA 到 Docker 部署

Spring Boot 环境变量配置详解:从 IDEA 到 Docker 部署 文章目录Spring Boot 环境变量配置详解:从 IDEA 到 Docker 部署一、问题背景1.1 环境二、问题分析2.1 现象描述2.2 根本原因1. Spring Boot RelaxedBinding 机制2. Linux 环境变量大小写敏感3. 为什…...

PyTorch 2.8镜像惊艳效果展示:FlashAttention-2加速下文生视频生成实拍

PyTorch 2.8镜像惊艳效果展示:FlashAttention-2加速下文生视频生成实拍 1. 开篇:专业级视频生成环境 当我们需要处理视频生成这类计算密集型任务时,一个优化到位的深度学习环境能带来质的飞跃。今天要展示的PyTorch 2.8镜像,就是…...

艾尔登法环终极帧率解锁与视野优化完整指南

艾尔登法环终极帧率解锁与视野优化完整指南 【免费下载链接】EldenRingFpsUnlockAndMore A small utility to remove frame rate limit, change FOV, add widescreen support and more for Elden Ring 项目地址: https://gitcode.com/gh_mirrors/el/EldenRingFpsUnlockAndMor…...