简介
    为了更有效地转发IP数据报和提高交付成功的机会,在网际层使用了网际控制报文协议ICMP(Internet Control Message Protocol)
    ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告
    ICMP不是高层协议,而是IP层的协议
    ICMP报文作为IP层数据报的数据,加上数据报的首部,组成IP数据报发送出去
    ICMP报文格式.jpg

    ICMP报文的种类

    ICMP报文种类 类型的值 ICMP报文的类型



    差错报文报告
    3 终点不可达
    11 时间超过
    12 参数问题
    5 改变路由(Redirect)


    询问报文
    8或0 回送(Echo)请求或回答
    13或14 时间戳(Timestamp)请求或回答

    (1)差错报文
    ①重点不可达
    当路由器或主机不能交付数据报时间时就像源点发送重点不可达报文
    ②时间超过
    当路由器收到生存时间为零的数据报时,除丢弃该数据外,还要向源点发送时间超过报文。当终点在预先规定的时间内不能收到一个数据报的全部数据报片时,就把已收到的数据报片全部丢弃,并向源点发送时间超过报文
    ③参数问题
    当路由器或目的主机收到的数据报的首部中有的字段的值不正确时,就丢弃该数据报,并向源点发送参数问题报文
    ④改变路由(重定向)
    路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器(可通过更好的路由)
    ICMP差错报告报文内容.png
    (2)询问报文
    ①回送请求和回答
    ICMP回送请求报文是由主机或路由器向一个特定的目的主机发出的询问。收到此报文的主机必须给源主机或路由器发送ICMP回送回答报文
    ②时间戳请求和回答
    ICMP时间戳请求报文是请求某台主机或路由器回答当前的日期和时间。时间戳请求与回答可用于时钟同步和时间测量