ICMP协议

时间:2021-08-13
本文章向大家介绍ICMP协议,主要包括ICMP协议使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

ICMP(网际控制报文协议)

  1. ICMP允许主机或者路由器报告差错情况。ICMP是互联网的协议标准。但ICMP并不是高层协议。因为ICMP报文是封装在IP数据报中,ICMP报文作为IP数据报的数据部分。加上IP数据报的首部,组成了IP数据报。ICMP报文格式如图所示:
  2. ICMP报文种类分为两类:
    1. ICMP差错报告报文
    2. ICMP询问报文
  3. ICMP报文的前4个字节是统一的,共有三个字段:
    • 类型
    • 代码
    • 检验和
  4. 中间4个字节决定ICMP类型,最后是数据字段
  5. ICMP差错报告报文有四种
    1. (3)终点不可达:当路由器或者主机不能交付数据报时就向源点发送终点不可达报文。
    2. (11)时间超时:当路由器收到TTL=0IP数据报,除了丢弃这个数据报,还要向源地点发送时间超时报文。
    3. (12)参数问题:当路由器或者目的主机接收到的数据报的首部有的字段不正确时候,就丢弃这个报文,并向源地点发送参数问题报文。
    4. (5)改变路由(重定向):路由器把改变路由报文发送给主机,让主机下一应该将数据报发送给另外的路由器(可能是有更好的路由器)。
  6. ICMP询问报文有两种
    1. (8/0)回送请求和回答:ICMP回送请求报文是路由器或者主机向一个特定的目标主机发送的询问。收到报文的主机必须向源主机或者路由器发送ICMP回送回答报文。这种询问报文用来测试目的站是否可达等相关信息。
    2. (13/14)时间戳的请求与回答:ICMP时间戳请求报文是请某台主机或者路由器回答当前的日期和时间,在ICMP时间戳回答报文里一共有32个位的字段,其中写入的整数代表从1900年1月1日到当前时刻一共有多少秒,时间戳请求与回答可用于时钟同步和时间测量
  7. ICMP应用举例
    1. 一个重要作用就是ping(packet Internet Groper)用来测试两台主机的连通性。ping使用了ICMP回送请求与回送回答报文。ping 是应用层直接使用网络层ICMP的一个例子
    2. 另一个命令是tracert命令,他用来跟踪一个分组从源点到终点的路径

原文地址:https://www.cnblogs.com/xiaomitu/p/15139311.html