计算机网络 - ping命令的过程
那么整个ping的过程应该是这样的:1、应用层在应用层阶段会随机产生一些数据来封装起来,用以作为发送给主机B的数据这个数据的内容我们通常不关注。封装好了以后将数据传输至传输层2、传输层因为ping命令是由icmp协议实现的,icmp协议工作在网络层,因此在传输层阶段数据并没有改变。......
我们经常使用ping命令来测试两台主机之间是否能够通信:
如果request包能发过去并且reply包能够返回,就说明两台机器之间能够通信
那么ping命令的工作流程是怎样的呢?
让我们从数据封装的角度来看看
假设主机 A ping 主机B
A的ip地址是:192.168.10.1
B的ip地址是:192.168.10.254
##############################################
那么整个ping的过程应该是这样的:
1、应用层
在应用层阶段会随机产生一些数据来封装起来,用以作为发送给主机B的数据这个数据的内容我们通常不关注。封装好了以后将数据传输至传输层
2、传输层
因为ping命令是由icmp协议实现的,icmp协议工作在网络层,因此在传输层阶段数据并没有改变。
3、网络层
数据到了网络层,首先icmp协议会先将数据解封装,然后添加一个icmp头部,但是icmp协议是不能添加源地址和目的地址的,它依赖于ip协议来封装这些数据,到了ip协议这里,ip协议会将源ip地址和目的IP地址,协议号,TTL等信息封装起来,并添加一个ip头部信息,然后数据就往下到了数据链路层。
4、数据链路层
数据链路层,到了帧的层面,将数据解封装以后,接下来要封装源mac和目的mac了,但是此时源mac是自己主机,是知道的,目的mac却不知道,于是主机A就会查看自己电脑里面的arp缓存表来查看是否有目的ip的mac地址,如果有的话,就知道目的ip的mac地址了,如果没有的话,arp协议(地址解析协议)就会发送arp广播,获取主机B的mac地址,然后将源mac和目的mac等信息封装起来并在数据帧上面添加一个mac头部信息,然后将数据帧传至物理层
5、物理层
数据帧到了物理层,通过比特流的形式发给主机B,主机B收到以后又给主机A发送reply响应包,这样ping的过程就完成了。
更多推荐
所有评论(0)