Internet控制报文协议,即为ICMP(Internet Control Message Protocal),用于主机,路由器之间传递信息,其目的是让我们能够检测网路的连线状况﹐也能确保连线的准确性,所以是每一个IP实现中的必要组成部分。

ICMP报文的分类


ICMP报文大致可以分为差错类和信息类:

  • 有关IP数据报传递的ICMP报文称为差错报文
  • 有关信息采集和配置的ICMP报文称为信息类报文

差错类报文:

 最常见的差错报文类型包括:

  • 目的不可达(不可达的主机/协议)
  • 重定向(表示应该被使用的可选路由器)
  • 超时(资源耗尽)
  • 参数问题(有问题的数据包或者头部)
  • 源端抑制(表示拥塞弃用) 

  下面各种情况都不会导致产生ICMP差错报文:

1) ICMP差错报文(ICMP查询报文可能会产生ICMP差错报文)。

2) 目的地址是广播地址或多播地址的IP数据报。

3) 作为链路层广播的数据报。

4) 不是IP分片的第一片。

5) 源地址不是单个主机的数据报。这就是说,源地址不能为零地址、环回地址、广播地址或多播地址。

这些规则是为了防止过去允许ICMP差错报文对广播分组响应所带来的广播风暴。

信息类报文

 信息类报文包括:

  • 回显请求(ping请求)
  • 回显应答(ping应答,返回数据)
  • 路由器通告(指示路由器地址/优先级)
  • 路由器请求(请求路由器通告)

  


  感谢ICMP协议详解作者的帮助

   

<TCP/IP>ICMP报文的分类的更多相关文章

  1. TCP/IP||ICMP

    1.概述 ICMP为IP组成部分之一,传递差错报文并返回用户进程,在IP数据报内部被传输 类型字段可以有15个不同的值,以描述特定类型的ICMP报文,检验和字段覆盖整个ICMP报文. 2.报文类型 在 ...

  2. [TCP/IP]ICMP和IGMP的区别

    ICMP(Internet 控制消息协议,Internet Control Message Protocol)协议用来给IP协议提供控制服务,允许路由器或目标主机给数据的发送方提供反馈信息.需要发送反 ...

  3. TCP/IP协议族简介

    OSI网络分层介绍 网络结构的标准模型是OSI模型,由国际互联网标准化组织定义的网络分层模型.虽然目前没有完全按照这种模型实现的网络协议栈,但是学习这个模型对于我们理解网络协议还是很有帮助的. 1.O ...

  4. 【转】TCP/IP协议栈及OSI参考模型详解

    OSI参考模型 OSI RM:开放系统互连参考模型(open systeminterconnection reference model) OSI参考模型具有以下优点: 简化了相关的网络操作: 提供设 ...

  5. TCP/IP协议栈及OSI参考模型详解

    OSI参考模型 OSI RM:开放系统互连参考模型(open systeminterconnection reference model) OSI参考模型具有以下优点: 简化了相关的网络操作: 提供设 ...

  6. tcp/ip详解(转)

    与UDP不同的是,TCP提供了一种面向连接的.可靠的字节流服务.TCP协议的可靠性主要有以下几点保障: (1)应用数据分割成TCP认为最适合发送的数据块.这部分是通过“MSS”(最大数据包长度)选项来 ...

  7. TCP/IP 协议栈及 OSI 参考模型详解

    OSI参考模型 OSI RM:开放系统互连参考模型(open systeminterconnection reference model) OSI参考模型具有以下优点: 简化了相关的网络操作: 提供设 ...

  8. 协议系列之TCP/IP协议

    根据前面介绍的几种协议,将IP协议.TCP协议.UDP协议组合起来,于是便有了TCP/IP协议.现在很多的应用的通信都是建立在TCP/IP协议的基础上,运用非常广泛,很有必要对其学习一下. 打个不太恰 ...

  9. centos Linux系统日常管理2 tcpdump,tshark,selinux,strings命令, iptables ,crontab,TCP,UDP,ICMP,FTP网络知识 第十五节课

    centos  Linux系统日常管理2  tcpdump,tshark,selinux,strings命令, iptables ,crontab,TCP,UDP,ICMP,FTP网络知识 第十五节课 ...

随机推荐

  1. [JVM-1]Java运行时数据区域

    Java虚拟机(JVM)内部定义了程序在运行时需要使用到的内存区域 这些区域都有自己的用途,以及创建和销毁的时间.有些区域随着虚拟机进程的启动而存在,有的区域则依赖用户线程的启动和结束而销毁和建立. ...

  2. Oracle优化学习

    SQL执行效率对系统使用有很大影响,本文总结平时排查问题中遇到的一些Oracle优化问题的解决方案,或者日常学习所得. 1. Oracle sql执行顺序 sql语法的分析是从右到左. 1.1 SQL ...

  3. [Android] Android 异步定时任务实现的三种方法(以SeekBar的进度自动实现为例)

    [Android] Android 定时异步任务实现的三种方法(以SeekBar的进度自动实现为例) 一.采用Handler与线程的sleep(long)方法 二.采用Handler与timer及Ti ...

  4. Nginx不支持Post数据中带有"."

    如果提交的数据中带有.,nginx会把数据过滤掉,会导致后台收不到数据.下面是一个错误示例及解决办法

  5. VS2017 15.6之后支持直接反编译了

    在 15.6 预览版 2 中,增加了导航到反编译源功能. 启用后,在任何引用的类型或成员上调用转到定义或查看定义时,将显示其通过 ILSpy 反编译使用重新构造方法主体的定义. 要打开此功能,请转到“ ...

  6. java mongoTemplate的group统计

    @Service public class MongoCountServiceImpl implements MongoCountService { @Autowired private MongoT ...

  7. B - 签到题

    计算机系统中使用的UTC时间基于原子钟,这种计时方式同“地球自转一周是24小时”的计时方式有微小的偏差.为了弥补这种偏差,我们偶尔需要增加一个“闰秒”. 最近的一次闰秒增加发生在UTC时间2016年的 ...

  8. luogu P4916 魔力环

    传送门 表示这种\(Burnside\)定理之类的东西一用就忘qwq 题目要求不同染色方案数,因为变换方式只有旋转,所以只有\(n\)个置换,然后可能会出现某种方案有循环节,这个循环节长度显然要是\( ...

  9. 转:springmvc常用注解标签详解

    Spring5:@Autowired注解.@Resource注解和@Service注解 - IT·达人 - 博客园--这篇顺序渐进,讲得超级好--此人博客很不错http://www.cnblogs.c ...

  10. Django学习手册 - 创建Django工程项目以及APP

    前置步骤: 下载python,django 并且安装好 python 解释器以及django模块. 整体步骤阐述: 创建django工程项目 步骤一:进入安装的python目录 步骤二:输入创建工程的 ...