【HCIA】学习--ICMP协议

188 阅读2分钟

image.png

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第3天,点击查看活动详情

前言

学习数通知识,考证书~ 考证书,记笔记,记笔记~


ICMP Internet Control Message Protocol,因特网控制消息协议

是网络层的一个重要协议,ICMP协议用于在网络设备之间传递各种差错和控制信息,对于收集网络信息,诊断和排除网络故障有着至关重要的作用,使用基于ICMP的应用时,需要对ICMP的工作原理非常熟悉。综上,该协议用于IP网络设备之间发送控制报文,传递差错、控制、查询等信息。

  • ICMP重定向,用于支持路由功能
  • ICMP差错控制,常用于诊断源和目的网络的连通性,以及报文的返回时间
  • 用于可达性测试,例如使用ping命令调用
  • ICMP 错误报告,当TTL超时后,中间网络会发送目的网络不可达消息,当无法找到网络的时候,会发送目的网络不可达,如果网络设备无法找到目的网络中的主机,则发送目的主机不可达消息

ICMP的帧格式:如下图所示:

image.png

比较重要的就是Type和Code,ICMP的消息类型和编码类型如下图所示:

image.png
  • 超时:对方主机不在线或者屏蔽等
  • 传输失败:当主机尝试访问其他网络内的主机,而本身没有配置网关
  • 无法访问:网关没有路由,没有获取到MAC地址

ICMP应用

  • ping 用于检测网络连通性的常用工具,同时也能收集相关信息,如ICMP报文长度,发送的ICMP的报文个数、等待回复响应的超时时间等,根据配置的参数来构造并发送ICMP报文,进行ping命令等测试。
  • Tracert 基于报文TTL值逐跳跟踪报文的转发路径,TTL 1 、2、3直到到达目的地,用于检测网络丢包以及路径时延的有效手段。

ICMP总结

  • ping 利用ICMP Echo请求消息来发起检测目的地的可达性。目的ICMP Echo请求后,根据IP报文头中的源地址向源端发送ICMP Echo回复消息,Type值为0.

  • 如果IP数据包在到达目的地之前TTL降为0,则收到IP数据包的网络设备会丢弃该数据包,并向源端发送ICMP消息通知源端TTL超时。