zoukankan      html  css  js  c++  java
  • ICMP协议

    简介

      ICMP是封装在IP数据报当中的

      ICMP通常被IP层或更高的协议使用,ICM报文时在IP数据报内部被传输的。




      类型字段可以有15个不同的值,主要用来描述报文的作用,下图介绍了类型和代码分表代表了那些请求或响应



      有几种情况都不会产生ICMP差错报文:

    1.ICMP差错报文
        因为已经是报的差错报文了,如果它还产生差错报文会产生死循环
    
    2.目的地址是广播或多播地址的IP数据报
    
    3.作为链路层广播的数据报
    
    4.不是IP分片的第一片
        只有ip分片的第一片才带有端口信息,没有端口信息返回的ICMP没有作用
    
    5.源地址不是单个主机的数据报
    

    例子

      拿最常用的ping来说,他就是依靠ICMP协议来进行确认的,下面看下ICMP报文格式



      下图是抓包的例子



    1.类型是8,代码是0 对照上述的类型表可以发现该报文是一个请求报文。
    
    2.checksum是校验和
    
    3.identifier(be)和identifier(le)
        是标识符,只不过wireshark考虑到windows系统和liunx系统发出ping报文的
        字节顺序不一样,分别告诉信息,其本质内容是没有变的
        (windows为LE:little-endian byte order,Linux为BE:big-endian)
        
    4.sequence number(BE)和sequence number(LE)
        同identifier一样
    

      这里是回显报文,和刚才的查询报文明显的区别就是在类型和代码上的。



  • 相关阅读:
    OpenStack功能简介
    Openstack(七)keystone
    Openstack(六)RabbitMQ集群
    Openstack(五)Memcache- repcached集群
    Openstack(四)Mysql主从
    Openstack(三)Haproxy+Keepalived双机
    Openstack(二)基本环境准备--网络、时间、yum源等
    Openstack架构简介(一)
    运维监控系统之Open-Falcon
    python高级之Flask框架
  • 原文地址:https://www.cnblogs.com/zhengyazhao/p/13151665.html
Copyright © 2011-2022 走看看