华人澳洲中文论坛

深化理解Ping命令后的任务原理——ICMP协定详解

[复制链接]

2022-10-12 07:19:55 152 0

日常任务中,咱们常常需求判别网络是不是连通,置信大家都会使用ping这个命令,其实ping命令是基于 ICMP 协定来完成的,那末甚么是 ICMP 协定呢?ICMP是 Internet Control Message Protocol 的缩写,即互联网管制动静协定。它用于TCP/IP网络中发送管制动静,提供可能产生在通讯环境中的各种问题反馈,经过这些信息,使网络办理者能够对所产生的问题作出诊断,而后采用适量的措施解决问题。本文就来引见一下ICMP协定的任务原理。


ICMP报文格局
从ICMP的报文格局来讲,ICMP是IP的下层协定,然而ICMP是分担了IP的一部份功用。所以,ICMP也被以为是与IP同层的协定,任务在网络层,是IP协定的助手。如下图所示,ICMP封装在IP报进行传输,ICMP报文自身被封装在IP数据报的数据区中,而这个IP数据报又被封装在帧数据中。在IP数据报报头中的协定(Protocol)字段设置成1,表现该数据是ICMP报文。对于IP报文格局引见详见《计算机网络传输中IP数据报文格局详解并结合Wireshark深化剖析》。


ICMP报文格局如下图所示,ICMP报文的前4个字节是一致的格局,共有三个字段:即类型、代码和检修和。接着的4个字节的内容与ICMP的类型无关,而后是数据部份,长度也取决于类型。


类型:占8位。类型字段能够有15个不同的值,以形容特定类型的ICMP报文。代码:占8位。ICMP报文的代码字段是为了进一步区别某品种型中的几种不同的状况检修和:占16位。用来检修全部ICMP报文。其计算办法和IP头部检修和的计算办法同样的。ICMP报文类型 ICMP报文次要分为两大类:查问报文和过失报文。一切ICMP 用来交流过错通知和信息讯问的报文,都是由类型和代码的组合来表现的。ICMP报文由类型来表白它的大略意义,一共定义了15品种型,需求传递粗大的信息时由代码再来进行分类。


ICMP完成之ping命令
经过下面的叙说,咱们理解了 ICMP 协定的内容,那末上面咱们来看一下ICMP 的详细完成与运用吧。正如后面所说ICMP报文类型其实有好多种,用以反馈网络通讯中的各种情景,而咱们最最罕用的情景是能够经过ping命令能够用来在网络档次上考察与指定机器是不是连通。为了完成这个功用,ping命令使用了两个ICMP 报文:ICMP回送申请(类型是8,代码是0)和ICMP回送应对(类型是0,代码是0)。


首先,源主机向指标主机履行ping命令,源主时机构建一个ICMP回送申请动静数据包,在这个回送申请数据包中,比拟与原生的ICMP除了类型和代码字段,还被追加了标识符和序号字段。标识符和序号字段分别是16位的字段,好比将过程号PID填写在标识符里,用以区别是哪一个运用顺序发ICMP包。关于序号,每送出一个数据包数值就减少1。此外该ICMP报文的选项数据部份还会寄放发送申请的时间值,来计算来回时间。
咱们在IP地址为192.168.0.102主机上履行ping 192.168.0.1的命令,并经过 WireShark 抓包能够看出,源主时机构建一个ICMP回送申请动静数据包如下图所示。能够看到该ICMP报文的类型(Type)为8,对应代码(Code)为0,表现Echo(ping) request——ping回送申请,前面还有检修和(Checksum)等字段,检修ICMP报文构造。


当源主机送出的回送申请抵达指标主机后,指标主机回答这一申请,发送一个ICMP回送应对数据包。这个ICMP 回送应对报文在IP层来看,与被送来的回送申请报文根本上同样。不同的只是,源和指标IP 地址字段被替换了,类型字段里填入了表现回送应对的0。
经过 WireShark 抓包如下图所示,能够看到该ICMP报文的类型(Type)为0,对应代码(Code)为0,表现Echo(ping) Reply——ping回显应对。


假如目的主机能够接纳到回送应对数据包,那咱们就以为指标主机是正常任务着的。进一步,记住发送回送申请数据包的时间,与接纳到回送应对数据包的时间差,就可以计算出数据包一去一回所需求的时间。然而,收到的回送应对报文里写的只是类型和代码的话,发送方主机将无奈判别它是不是是本人收回去申请的回答。因此,后面说到的标识符和序号字段就有它的意义了。将这两个值与回送应对报文中的相反字段值一对比,送行方主机就可以够简略地检测回送应对是不是正确了。履行ping 命令而考察的后果没甚么问题的话,就将指标主机的IP 地址,数据大小,往复破费的时间打印到屏幕上。

发表回复

您需要登录后才可以回帖 登录 | 立即注册

返回列表 本版积分规则

:
中级会员
:
论坛短信
:
未填写
:
未填写
:
未填写

主题33

帖子46

积分211

图文推荐

  • 撞穿学校栅栏害死十一岁男孩的司机不必坐牢

    一位女司机撞穿学校栅栏、害死了11岁男孩,被罚20

  • 全科医生正告花粉症时节正在好转

    全国各地的全科医生正告春季的开端标记着花粉症时

  • 新西兰总理:出世在新西兰的新纳粹Thomas S

    新西兰总理拉克森称新纳粹Thomas Sewell是坏人,

  • 新州护士和助产士承受暂时加薪3%的前提

    新州护士和助产士投票承受政府提出的暂时加薪3%以

  • 新纳粹份子如何利用“普通父母”的掩护在反

    星期天,新纳粹份子在反移民集会开端前大约一个小