1.概述

  ICMP为IP组成部分之一,传递差错报文并返回用户进程,在IP数据报内部被传输

  类型字段可以有15个不同的值,以描述特定类型的ICMP报文,检验和字段覆盖整个ICMP报文。

2.报文类型

  

  在报文类型中,不同类型由报文的类型字段和代码字段来决定,当发送一份ICMP差错报文时,豹纹始终包含IP的首部和产生ICMP报文的IP数据报的前8个字节,在接收ICMP报文的模块会把某个特定协议和用户线程联系,在以下情况不会导致产生差错报文

  1.ICMP差错报文

  2.目的地址是广播地址

  3.链路层广播数据报

  4.不是IP分片得第一片

  5.原地址不是单个地址的数据报,不能是零地址

3.ICMP请求应答

  ICMP报文中的标示符河序列号由发送端任意选择设定,这些值在应答中被返回,发送端可以把应答与请求进行分配。

4.ICMP时间戳请求应答

  时间戳请求允许系统向另一个系统查询当前时间,返回的建议值是自午夜开始计算的毫秒数,这种ICMP报文好处提供毫秒级的分辨率,利用其他参数获取时间

5.ICMP端口不可达报文差错

    ICMP存在一个规则,ICMP差错报文必须包括生成该差错报文的数据报IP首部,也必须包括该IP首部的前8个字节.

    在导致差错的数据报中IP首部要被送回是因为IP首部包含了协议字段,使ICMP知道如何解释后8个字节.

不同类型的不可达报文,代码分别为0~15,ICMP不可达代码为3,第二个32bit为0,当为4时,MTU发现机制允许路由器把外出接口的MTU填在这个32bit的低16bit中

TCP/IP||ICMP的更多相关文章

  1. <TCP/IP>ICMP报文的分类

    Internet控制报文协议,即为ICMP(Internet Control Message Protocal),用于主机,路由器之间传递信息,其目的是让我们能够检测网路的连线状况﹐也能确保连线的准确 ...

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

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

  3. 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网络知识 第十五节课 ...

  4. 《TCP/IP详解卷1:协议》第6章 ICMP:Internet控制报文协议-读书笔记

    章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...

  5. TCP/IP详解学习笔记(5)-- ICMP:internet 控制报文协议

    1.概述      ICMP是(Internet Control Message Protocol)Internet控制报文协议.它是TCP/IP协议族的一个子协议,用于在IP主机.路由器之间传递控制 ...

  6. TCP/IP的网际层协议——ICMP

    ICMP经常被认为是IP层的一个组成部分.它携带于IP数据包中,ICMP封装在IP数据包内部: IP首部 ICMP数据包 下面是一份差错报文的例子: 最右边的+或者-代表该报文是查询报文还是错误报文. ...

  7. TCP/IP, UDP, ICMP, ARP协议族简介--纯图慎点

    ISO/OSI的网络模型架构 TCP/IP参考模型的层次结果 以太网头部结构 以太网属于数据链路层, 属于最基本的协议结构 IP协议 IP协议为TCP, UDP, ICMP提供最基本的数据传输通路 I ...

  8. <再看TCP/IP第一卷>关于网络层及协议细节---ICMP协议几个要注意的地方

    在TCP/IP协议族中,ICMP协议是一个介于网络层和传输层中间的一个协议,许多材料都会认为ICMP是网络层的一个部分,但是ICMP协议的报头是被包裹在IP协议之中的,而UDP协议又可以被ICMP协议 ...

  9. HTTP TCP UDP ICMP IP ARP 协议详解(10.15 第二十一天)

    ARP协议 ARP(Address Resolution Protocol)协议 地址解析协议 把网络层的IP地址翻译成在数据链路层寻址的48位硬件地址(MAC地址) 在OSI模型中ARP协议属于链路 ...

随机推荐

  1. LeetCode109 Convert Sorted List to Binary Search Tree

    Given a singly linked list where elements are sorted in ascending order, convert it to a height bala ...

  2. SharpDX初学者教程第4部分:绘制三角形

    原文 http://www.johanfalk.eu/blog/sharpdx-beginners-tutorial-part-4-drawing-a-triangle 现在我们有了一个Direct3 ...

  3. oralcle函数 AVG([distinct|all]x)

    [功能]统计数据表选中行x列的平均值. [参数]all表示对所有的值求平均值,distinct只对不同的值求平均值,默认为all 如果有参数distinct或all,需有空格与x(列)隔开. [参数] ...

  4. H3C 路由器SSH服务配置命令(续)

  5. Libev源码分析01:Libev中的监视器结构(C结构体实现继承)

    在Libev的源码中,用到了一种用C实现类似C++中继承的技巧,主要是用宏和结构体实现. 在Libev中,最关键的数据结构就是各种监视器,比如IO监视器,信号监视器等等.这些监视器的多数成员都是一样的 ...

  6. Android教程-02 在程序中输出Log

    视频教程,建议采用超清模式观看 在Android中一般都用Log输出日志,常见的有5个不同的级别 Log.v() Log.d() Log.i() Log.w() Log.e() 当然很多程序员还比较习 ...

  7. Websocket 简单对话:静态网页与pycharm对话

    WebSocket websocket 是一种在单个Tcp连接上进行双全工通信的协议.websocket通信协议于2011年被IETF定为标准RFC6455,并 由RFc7936补充规范.WebSoc ...

  8. pytorch adam 源码 关于优化函数的调整 optimizer 调参 重点

    关于优化函数的调整拆下包:https://ptorch.com/docs/1/optim class torch.optim.Optimizer(params, defaults)所有优化的基类. 参 ...

  9. H3C 无线覆盖原则-蜂窝式覆盖

  10. SuperSocket特点

    ²  简单易用,只需要几个类就能创建出健壮的Socket服务器端程序 ²  性能优良, 稳定可靠 ²  支持各种协议, 内置的协议解析工具让你把实现通信协议这种复杂的工作变得很简单 ²  自动支持SS ...