ping命令是我们在学习计算机网络中一个很常见的命令

我们经常使用ping命令来测试两台主机之间是否能够通信:

两个pod共享一个hostpath_服务器

 如果request包能发过去并且reply包能够返回,就说明两台机器之间能够通信

那么ping命令的工作流程是怎样的呢?

让我们从数据封装的角度来看看

两个pod共享一个hostpath_两个pod共享一个hostpath_02

 假设主机  A  ping  主机B

A的ip地址是:192.168.10.1

B的ip地址是:192.168.10.254

##############################################

那么整个ping的过程应该是这样的:

1、应用层

        在应用层阶段会随机产生一些数据来封装起来,用以作为发送给主机B的数据这个数据的内容我们通常不关注。封装好了以后将数据传输至传输层

2、传输层

        因为ping命令是由icmp协议实现的,icmp协议工作在网络层,因此在传输层阶段数据并没有改变。

3、网络层

源ip地址和目的IP地址,协议号,TTL等信息封装起来,并添加一个ip头部信息,然后数据就往下到了数据链路层。

4、数据链路层

arp广播,获取主机B的mac地址,然后将源mac和目的mac等信息封装起来并在数据帧上面添加一个mac头部信息,然后将数据帧传至物理层

5、物理层

比特流的形式发给主机B,主机B收到以后又给主机A发送reply响应包,这样ping的过程就完成了。

两个pod共享一个hostpath_服务器_03