• 卷一十八章:ICMP


    ICMP
    Internet Control Message Protocol,由RCF定义的一个网络层协议,用于报告IP数据包传递过程中发生的错误、失败等信息,提供网络诊断功能。
    由于IP是尽力传输协议,其提供的数据传送服务是不可靠的,而且无法提供相反诊断信息,而ICMP正是因此诞生。
    ICMP可分为梁总消息类型:差错消息和查询消息。
    8种ICMP包类型

     
    常用4种介绍:
    (1)Destination Unreachable 目的不可达-----
    《1》目的主机可能不存在或者关机;
    《2》发送或提供的路由无法实现;
    《3》设定了不分段的包太大而不能封装于帧中;

    (2)Echo Request(type=8) 和 Echo Reply(type=0)
    日常我们ping经常使用的来回消息类型;

    (3)TimeExceeded:当IP包中的TTL字段减到0或分片重组定时器到期,此包或任何为未重组的分片将从网络中被删除,删除分组的路由器接着向源发送一个Time Exceeded下次,说明分组未被投递。

    (我的理解:根据TTL的原理,每经过一个节点,设备收到TTL=0的包,回源主机一个ICMP TYPE=11的time exceeded包)

    以及不常用的(统一截图)


    以下介绍ICMP的常用工具:

    ping------------------------------------
    ping是ICMP的一个最常见的应用,主机通过发送ICMP Echo Request而目的主机回ICMP Echo Reply消息。
    假设某个中间设备没有到达目的网络的路由,便会向源主机返回一条ICMP Destinaion Unreachable,告知源主机不可达;如果中间网络异常,源主机没有收到中间路由返回的des unreable消息,因源主机没有收到任何回包而提示目的地址不可达或超时;




    tracert--------------
    原理:发送一个带有特定TTL的值,通过数据包转发每一条使TTL减一的原理。如果TTL值为0则设备会丢弃这个数据包,并向源主机发回一个ICMP超时消息报告错误。
    工作原理:
    《1》RTA发送一个TTL=1的udp报文,目的地址为RTC;
    《2》RTB收到数据包后,TTL-1=0,于是RTB回一个ttl-exceeded报文给RTA,这个报文含有第一跳的地址。这样RTA就得到了第一跳的地址;
    《3》RTA发送一个TTL=2的udp报文,目的地址为RTC;
    《4》报文到RTB后,ttl-1=1,然后丢给RTC。RTC收到后,ttl-1=0,由于RTC为目的地址,且ttl=0,RTC将回一个ttl-exceeded报文给RTA,里面包含RTC的地址。




  • 相关阅读:
    SI与EMI(一)
    设计上如何避免EMC问题
    EMC与地之重新认识地
    EMC学习之电磁辐射
    围殴拓扑和端接之终结篇
    T型及Fly_by拓扑之应用总结
    拓扑结构介绍及其种类
    [转]Verilog综合时wire和reg如何防止被优化
    Verilog基础知识0(`define、parameter、localparam三者的区别及举例)
    [转]jumbo frame介绍
  • 原文地址:https://www.cnblogs.com/key-network/p/12439333.html
Copyright © 2020-2023  润新知