您当前的位置: 首页 > 
  • 2浏览

    0关注

    880博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

23.ICMP协议是什么?

CodeAllen嵌入式编程 发布时间:2021-06-05 20:41:35 ,浏览量:2

控制报文协议(Internet Control Message Protocol,ICMP)是 TCP/IP 协议族的一个子协议。ICMP 协议用于在 IP 主机和路由器之间传递控制消息,描述网络是否通畅、主机是否可达、路由器是否可用等网络状态。 由于 IP 协议简单,数据传输天然存在不可靠、无连接等特点,为了解决数据传输出现的问题,人们引入了 ICMP 协议。虽然 ICMP 协议的数据包并不传输用户数据,但是对于用户数据的传递起着重要的作用。

ICMP 协议作用

数据包在发送到目标主机的过程中,通常会经过一个或多个路由器。而数据包在通过这些路由进行传输时,可能会遇到各种问题,导致数据包无法发送到目标主机上。为了了解数据包在传输的过程中在哪个环节出现了问题,就需要用到 ICMP 协议。它可以跟踪消息,把问题反馈给源主机。

ICMP 报文结构

ICMP 报文一般为 8 个字节,包括类型、代码、校验和扩展内容字段。ICMP 报文基本结构如图所示。  

其中,类型表示 ICMP 的消息类型,代码表示对类型的进一步说明,校验和表示对整个报文的报文信息的校验。 在 ICMP 报文中,如果类型和代码不同,ICMP 数据包报告的消息含义也会不同。常见的类型和代码的 ICMP 含义如表所示。  

ICMP 类型、代码及含义 类型代码含义00回显应答(ping 应答)30网络不可达31主机不可达32协议不可达33端口不可达34需要进行分片,但设置不分片位35源站选路失败36目的网络未知37目的主机未知39目的网络被强制禁止310目的主机被强制禁止311由于服务类型 TOS,网络不可达312由于服务类型 TOS,主机不可达313由于过滤,通信被强制禁止314主机越权315优先中止失效40源端被关闭(基本流控制)50对网络重定向51对主机重定向52对服务类型和网络重定向53对服务类型和主机重定向80回显请求(ping 请求)90路由器通告100路由器请求110传输期间生存时间为 0111在数据报组装期间生存时间为 0120坏的 IP 首部121缺少必需的选项130时间戳请求140时间戳应答170地址掩码请求180地址掩码应答
关注
打赏
1665938897
查看更多评论
立即登录/注册

微信扫码登录

0.0418s