zoukankan      html  css  js  c++  java
  • TCP/IP||ICMP

      

    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中

  • 相关阅读:
    很漂亮的按钮css样式(没有用到图片,可直接拷贝代码使用)
    if、while中变量的作用域问题
    笔记
    搭建高可用mongodb集群(一)——配置mongodb
    Java编程:删除 List 元素的三种正确方法
    MySQL 数据类型
    MySQL 通用查询日志(General Query Log)
    mysql 创建一个用户,指定一个数据库
    MySQL 5.7 免安装版配置
    String,StringBuffer与StringBuilder的区别??
  • 原文地址:https://www.cnblogs.com/EraserHead/p/6654842.html
Copyright © 2011-2022 走看看