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

13 IP层协议-网际控制报文协议ICMP

        计算机网络资料下载:CSDNicon-default.png?t=N7T8https://mp.csdn.net/mp_blog/creation/editor/140148186

        为了更有效的转发IP数据报和提高交付成果的机会,在网际层使用了网际控制报文协议ICMP。ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告。ICMP不是高层协议数据IP层数据层协议。

ICMP报文种类

ICMP报文的种类有两种,即ICMP差错报告报文和ICMP询问报文。

ICMP差错报告报文共有四种:

1)终点不可达 当路由器或主机不能交付数据报时就向源点发送终点不可达报文

2)时间超时 当路由器收到生存时间为0的数据报时,除丢弃该数据报外,还要向源点发送时间超过报文。当终点在预先规定的时间内不能收到一个数据报全部数据报片时,就把收到的数据报片全部丢弃,并向源点发送时间超过报文。

3)参数问题 当路由器或目的主机收到的数据报的首部中有的i段的值不正确时,则丢弃该数据报,并向源点发送参数问题报文;

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

不发送ICMP差错报文的几种情况:

1,对ICMP差错报告报文,不再发送ICMP差错报告报文。

2,对第一个分片的数据报片的所有后续数据报片,都不发送ICMP差错报告报文

3,对具有多播地址的数据报,都不发送ICMP差错报告报文

4,对具有特殊地址(如127.0.0.0或0.0.0.0)的数据报,不发送ICMP差错报告报文。

常用的ICMP询问报文

1)回送请求和回答 ICMP会送请求报文是由主机或路由器向一个特定的目的主机发出的询问,收到此报文的主机必须给源主机或路由器发送ICMP回送回答报文。这种询问报文用来测试目的站是否可达以及了解其有关状态

2) 时间戳请求和回答 ICMP时间戳请求报文是请某台主机或路由器回答当前的日期和时间。在ICMP时间戳回答报文中有一个32位的字段,表示从1900年1月1日到当前时刻一共多少秒。时间戳请求和回答用于时钟同步和时间测量。

ICMP协议的使用

ping (packet internet groper)分组网间探测,用来测试两台主机之间的连通性

traceroute(Linux下),tracert(windows下):traceroute用来跟踪一个分组从源点到终点的路径。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 人工智能算法工程师(中级)课程13-神经网络的优化与设计之梯度问题及优化与代码详解
  • 【正点原子i.MX93开发板试用连载体验】录音小程序采集语料
  • C++客户端Qt开发——常用控件(多元素控件)
  • 数据库管理1
  • 【Linux】centos7安装PHP7.4报错:libzip版本过低
  • 计算机网络入门
  • Ubuntu 磁盘扩容
  • PHP全功能微信投票迷你平台系统小程序源码
  • [web]-图片上传、文件包含-图片上传
  • GNSS技术干货(34):天灵灵 地灵灵 不如C/N0灵
  • Python酷库之旅-第三方库Pandas(026)
  • C++ --> 类和对象(二)
  • Mysql:解决CPU飙升至100%问题的系统诊断与优化策略
  • 深度学习中激活函数的演变与应用:一个综述
  • 解决RuntimeError: Couldn‘t load custom C++ ops. This can happen if your PyTorch
  • 【108天】Java——《Head First Java》笔记(第1-4章)
  • 【React系列】如何构建React应用程序
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • 【知识碎片】第三方登录弹窗效果
  • es6
  • JavaScript设计模式之工厂模式
  • java正则表式的使用
  • Node项目之评分系统(二)- 数据库设计
  • npx命令介绍
  • php中curl和soap方式请求服务超时问题
  • Python 基础起步 (十) 什么叫函数?
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • Spring Cloud中负载均衡器概览
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 第十八天-企业应用架构模式-基本模式
  • 构建二叉树进行数值数组的去重及优化
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 前端_面试
  • 使用parted解决大于2T的磁盘分区
  • 微信小程序:实现悬浮返回和分享按钮
  • 在electron中实现跨域请求,无需更改服务器端设置
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • 【干货分享】dos命令大全
  • 阿里云API、SDK和CLI应用实践方案
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • # 数据结构
  • #pragma预处理命令
  • (7)STL算法之交换赋值
  • (PHP)设置修改 Apache 文件根目录 (Document Root)(转帖)
  • (二)JAVA使用POI操作excel
  • (二)PySpark3:SparkSQL编程
  • (二十三)Flask之高频面试点
  • (区间dp) (经典例题) 石子合并
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (算法)区间调度问题
  • *1 计算机基础和操作系统基础及几大协议
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .NET 将多个程序集合并成单一程序集的 4+3 种方法
  • .Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化