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表示回显这最后发送报文的时刻。

  • 相关阅读:
    flutter canvas 简单绘画直线
    Yapi 部署及遇到的坑
    flutter 时间选择器第三方插件返回时间格式说明
    windows + flutter + vscode 连接其他模拟器
    flutter 配置环境
    flutter 返回键监听
    flutter 自定义主题切换
    flutter Provide 状态管理篇
    flutter 本地存储 (shared_preferences)
    JS做倒计时的例题
  • 原文地址:https://www.cnblogs.com/wanghao-boke/p/11670473.html
Copyright © 2011-2022 走看看