龙空技术网

Ping命令是如何工作的呢?这篇文章给你答案

网工班主任 775

前言:

眼前同学们对“局域网 广播地址”大约比较注意,看官们都需要了解一些“局域网 广播地址”的相关知识。那么小编也在网上网罗了一些对于“局域网 广播地址””的相关资讯,希望咱们能喜欢,你们快快来学习一下吧!

ping命令我们见怪不怪了,一般来说,我们们用 ping查看网络情况,主要是检查两个指标:

1、对方是否可达

2、延迟是否太高

如果超时那么肯定是网络有问题(禁 ping情况除外),如果延迟太高,网络情况肯定也是很糟糕的。

我们知道它的作用,但是ping到底是如何检查网络的?它背后的原理又是什么呢?

接下来我们做个实验来验证一下!

环境准备和抓包

01 环境准备

抓包工具:Wireshark 准备两台电脑,进行互 ping操作:

A电脑(IP地址:192.168.27.1 / MAC地址:54-89-98-75-5F-DA)B电脑(IP地址:192.168.2.179 / MAC地址:54-89-98-63-42-38)

02 抓包操作

打开 Wireshark,选取指定的网卡进行抓包,进行 ping操作,在 A电脑上 ping B电脑的 IP。抓包情况如下:

在上图中可以看到发送方和接收方的IP以及使用的协议等、在下面的封包列表中显示被选中的详细信息,信息按OSI Layer进行分组;

上面就是整个 ping命令的过程,但我们知道 ping命令不是依托于 TCP或者 UDP这种传输层协议的,而是依托于 ICMP协议实现的, 那么什么是 ICMP 协议呢?这里简单介绍下:

1、ICMP是什么?

ICMP是控制报文协议,它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息,这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

从技术角度说,ICMP就是一个"错误侦测与回报机制",其目的就是让我们能够检测网路的连线状况﹐也能确保连线的准确性﹐其功能主要有:

· 侦测远端主机是否存在。

· 建立及维护路由资料。

· 重导资料传送路径(ICMP重定向)。

ICMP在沟通之中,主要是透过不同的类别(Type)与代码(Code) 让机器来识别不同的连线状况。常用的类别如下表所列:

可见,ICMP 是个非常有用的协议﹐尤其是当我们要对网路连接状况进行判断的时候。

02 Ping过程解析

了解了上面的基础概念后,我们来分析下抓包的数据,其流程如下:

A 主机( 192.168.27.1)发起 ping请求, ping 192.168.27.5A 主机广播发起 ARP请求,查询 192.168.27.5的 MAC地址B 电脑应答 ARP请求,向 A电脑发起单向应答,告诉 A电脑自己的 MAC地址为 54-89-98-63-42-38知道了对方的 MAC地址后,开始进行真正的 ping请求,由于 B电脑可以根据A电脑发送的请求知道 源 MAC地址,所以就可以根据源 MAC地址进行响应了

上面的请求过程我画成流程图比较直观一点:

关于ping

1、ping命令是依托于 ICMP协议的, ICMP协议是网络层辅助IP工作的协议,存在就是为了更高效的转发 IP数据报和提高交付成功的机会。

ping命令除了依托于 ICMP,在局域网下还要借助于 ARP协议, ARP协议能根据 IP地址反查出计算机的 MAC地址。

另外 ARP是有缓存的,为了保证 ARP的准确性,计算机会更新ARP缓存。

标签: #局域网 广播地址