摘要:在测试和部署网络通信利用时,咱们常常会遇到网络不通的问题,个别都会想到ping一下。本文将带您理解ping命令的作用和原理~

在测试和部署网络通信利用时,咱们常常会遇到网络不通的问题。个别都会想到ping一下。那么ping命令的作用和原理到底是什么呢?

ping 命令是基于 ICMP 协定来工作的,要明确ping, 先理解下ICMP协定吧~

ICMP协定

ICMP全称为互联网管制报文协定(Internet Control Message Protocol)。

那么具体是怎么“管制”的呢?

在简单的网络传输环境里,数据包经常会遇到各种问题导致传输失败。网络层的IP协定是一种无连贯的,不牢靠的数据包协定,它并不能保证数据肯定被送达,因而,咱们须要其它的协定,在数据包传发送异样时,能将异样信息传回来,这样才能够调整传输策略,以此来管制整个场面。

ICMP协定格局

ICMP 协定是通过IP协定来发送的,报文封装在 IP 包外面。如下:

ICMP报文格式:

ICMP数据包由8bit的类型字段和8bit的代码字段以及16bit的校验字段再加上选项数据组成。

ICMP报文大抵分为两类:查问报文类型过错报文类型

查问报文类型

查问报文次要利用于ping查问、子网掩码查问、工夫戳查问等。

ping命令其实就是对ICMP协定查问报文类型的应用。

主机A ping 主机B时,ping命令在主机A构建ICMP申请数据包时,ICMP的类型字段为8(回送申请),当主机B构建ICMP申请数据包时,ICMP的类型字段为0(回送应答)。如果主机A在肯定工夫内收到了主机B的应答,则表明两台主机之间网络是可达的。

过错报文类型

过错报文次要产生于数据传送发送谬误的时候,包含:指标不可达(网络不可达、主机不可达、协定不可达、端口不可达、禁止分片等)、超时、参数问题、重定向(网络重定向、主机重定向等)等。

IP 路由器无奈将 IP 数据包发送给指标地址时,会给发送端主机返回一个指标不可达的 ICMP 音讯,并在这个音讯中显示不可达的具体起因,起因记录在 ICMP 包头的代码字段。

ping命令的工作过程

举一个例子来形容「ping」命令的工作过程:

假如有两个主机,主机A(192.168.0.1)和主机B(192.168.0.2),当初咱们要监测主机A和主机B之间网络是否可达,

在主机A上输出命令:ping 192.168.0.2

  1. 发送端主机构建ICMP申请数据包。ping命令会在主机A上构建一个 ICMP的申请数据包。数据包蕴含多个字段,次要的有类型和序号。

类型:在申请数据包中,类型字段为8;

序号:次要用于辨别间断 ping 的时候收回的多个数据包。

每收回一个申请数据包,序号会主动加 1。为了可能计算往返工夫 RTT,它会在报文的数据局部插入发送工夫。

  1. IP层构建IP数据包。 ICMP协定会将这个数据包以及指标IP(192.168.0.2)等信息一起交给IP层协定。IP层协定失去这些信息后,将源地址(即本机IP)、指标地址(即指标IP:192.168.0.2)、再加上一些其它的管制信息,构建成一个IP数据包。
  2. 退出MAC地址。须要通过ARP映射表找出指标IP(192.168.0.2)所对应的MAC地址。当拿到了指标主机的MAC地址和本机MAC后,一并交给数据链路层,组装成一个数据帧,根据以太网的介质拜访规定,将它们传送出进来。

主机B收到数据帧后,进行如下步骤:

  1. 查看MAC地址,抛弃或接管,提取IP数据包。当主机B收到这个数据帧之后,会首先查看它的指标MAC地址是不是本机,如果是就接管下来解决,接管之后会查看这个数据帧,将数据帧中的IP数据包取出来,交给本机的IP层协定。
  2. IP层查看IP。IP层协定查看完之后,再将ICMP数据包取出来交给ICMP协定解决。
  3. 构建ICMP应答包。应答包的类型字段为 0,序号为接管到的申请数据包中的序号。
  4. 应答数据包回发给主机A。

在肯定的工夫内,如果主机A收到了应答包,则阐明它与主机B之间网络可达,如果没有收到,则阐明网络不可达。除了监测是否可达以外,还能够利用应答工夫和发动工夫之间的差值,计算出数据包的提早耗时。

课堂练习

对于ICMP协定与ping命令如何工作咱们曾经理解了,那对于咱们在云上搭建的利用,如何测试弹性云服务器间的通信情况呢?

回顾一下,弹性云服务器数据流量的进出是须要恪守平安组规定的,没有平安组规定的容许,谁都不能拜访。

那咱们就能够在平安组中增加放通ICMP协定的平安组规定,容许其余云服务器通过 ICMP 协定拜访该云服务器,进而实现通过ping命令来测试弹性云服务器间的通信情况了。

平安组规定配置如下:

本文分享自华为云社区《【云小课】根底服务第65课 网络常识一箩筐——网络好不好,ping一下就晓得》,原文作者:云小萌。获取更多平安组信息,请戳这里。

点击关注,第一工夫理解华为云陈腐技术~