zoukankan      html  css  js  c++  java
  • ICMP报文

    一、        简介

    ICMP(INTERNET CONTROL MESSAGE PROTOCOL)网络控制消息协议。

    协议号为1

    ICMP报文在IP报文内部

    一、        ICMP类型:

    ICMP报文主要有两个功能:查询报文和差错报文

    二、        ICMP报文头:

    //定义ICMP首部
    typedef struct _icmphdr{
      unsigned char i_type; //8位类型
      unsigned char i_code; //8位代码
      unsigned short i_cksum; //16位校验和, 从TYPE开始,直到最后一位用户数据,如果为字节数为奇数则补充一位
      unsigned short i_id ; //识别号(一般用进程号作为识别号), 用于匹配ECHO和ECHO REPLY包
      unsigned short i_seq ; //报文序列号, 用于标记ECHO报文顺序
      unsigned int timestamp; //时间戳
    }ICMP_HEADER;

    一、        ICMP报文的各种状态:

    目的不可达报文(Destination Unreachable Message)

    找不到目的IP传递路径

           code:

                  0 = net unreachable

                  1 = host unreachable

                  2 = protocol unreachable

                  3 = port unreachable

                  4 = fragmentation needed and DF set

                  5 = source route failed

    源端口抑制报文(Source Quench Message)

    路由器在处理报文时会有一个缓存队列。如果超过了最大缓存队列,将无法处理,从而丢弃报文,并向源发送一个ICMP源冷却报文(Type为4),告诉对方不在接收报文了。

    报文格式:

    超时报文(Time Exceeded Message)

    网络传输IP数据报的过程中,如果IP数据报的TTL值逐渐递减为0时,需要丢弃数据报,这时候路由器需要向源发送方发送ICMP超时报文(Type为11),code为0,表示传输过程中超时了。

    参数错误报文(Parameter Problem Message)

    当路由器或主机处理数据报文时,发现因为报文头的参数错误而不得不丢弃报文时,需要向源发送方发送参数错误报文(Type为12).当错误为0时,报文中的Pointer指出错误的字节位置。

    改变路由重定向(Redirect Message)

    当路由收到IP数据报,发现数据报的目的地址在路由表中没有,他就会发ICMP重定向报文(Type为5)个源发送方,告诉它发送的地址不在

    回送请求和回答(Echo or Echo Reply Message)

    Type为8是请求回显报文(Echo);Type(0)是回显应答报文(Echo Reply

    )。请求回显包或回显应答报文属于查询报文,Ping就是用这种报文进行查询和应答的。

    时间戳请求和回答(Timestamp or timestamp Reply Message)

    时间戳报文时用来记录收发以及传输时间的报文Originate Timestamp记录的是发送方发送报文的时刻。Receive Timestamp记录的是接收方收到的报文的时刻;Transmit Timestamp表示回显这最后发送报文的时刻。

  • 相关阅读:
    转载:Android SQLite数据库版本升级原理解析
    Android可移动的Button
    Android详细目录结构
    自动化测试(二)
    不使用if else
    C# 如何实现自己的FormEditor XML Protocol
    C#中的析构函数,GC和IDisposable的用法
    Java中生成和解析JSON
    GCMS笔记
    Android ConstraintLayout的使用(二)
  • 原文地址:https://www.cnblogs.com/wanghao-boke/p/11670473.html
Copyright © 2011-2022 走看看