关于网络:网络好不好ping一下就知道

25次阅读

共计 1977 个字符,预计需要花费 5 分钟才能阅读完成。

摘要:在测试和部署网络通信利用时,咱们常常会遇到网络不通的问题,个别都会想到 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 一下就晓得》,原文作者:云小萌。获取更多平安组信息,请戳这里。

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

正文完
 0