计算机网络学习|什么是ping?

PING的基本概念

PING (Packet Internet Grope),因特网包探索器,用于测试网络连接量的程序。
PING可以说是ICMP的最著名的应用,是TCP/IP协议的一部分。 利用“ping”命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障。
工作原理: 本地主机向目的IP地址发送一个ICMP请求包,并要求目的主机回发给本主机一个相同大小的数据报,用来测试网络的连通性。

ICMP
这里提到了ICMP,那了解PING之前我们先了解ICMP
—— Internet Control Message Protocol,也就是互联?控制报?协议。
ICMP 主要的功能包括:确认 IP 包是否成功送达?标地址、报告发送过程中 IP 包被废弃的原因和改善?络设置等。
在 IP 通信中如果某个 IP 包因为某种原因未能达到?标地址,那么这个具体的原因将由 ICMP 负责通知。假如主机A需要向主机B发送消息,期间经过多个路由器,由于某种原因,最后一个路由器发送ARP请求来知道主机BMAC地址,但是未能发现主机B。这个时候路由器会返回一个ICMP包。被主机A分解,得到反馈。这种消息与IP有关,ICMP 报?是封装在 IP 包??,它?作在?络层,是 IP 协议的助?。
所以ICMP包头的类型字段分为
?类是?于诊断的查询消息,也就是「查询报?类型」
【计算机网络学习|什么是ping?】?类是通知出错原因的错误消息,也就是「差错报?类型」
计算机网络学习|什么是ping?
文章图片

然后PING就是通过0和8的回送消息实现的,回送消息?于进?通信的主机或路由器之间,判断所发送的数据包是否已经成功到达对端的?种消息。
ICMP的使用还有很多内容,我这里就不提及。
PING的发送和接收过程 一般情况下,我们使用PING是同一子网下,观察自己的主机和目标主机是否连通。
ping 命令执?的时候,源主机?先会构建?个 ICMP 回送请求消息数据包。
ICMP 数据包内包含多个字段,最重要的是两个:
  • 第?个是类型,对于回送请求消息??该字段为 8;
  • 另外?个是序号,主要?于区分连续 ping 的时候发出的多个数据包。
每发出?个请求数据包,序号会?动加 1。为了能够计算往返时间 RTT,它会在报?的数据部分插?发送时间。
ICMP将这个数据包和目标IP地址交给IP层,封装成一个IP数据包。传输过程可能用到ARP协议找MAC地址。然后目标主机收到了,先给自己的IP层,再给ICMP协议,构建一个ICP回送响应消息数据包。当然这只是最简单的,同?个局域???的情况。如果跨?段的话,还会涉及?关的转发、路由器的转发等等。

    推荐阅读