什么是地址转换协议 ARP?工作流程是什么样的?
地址解析协议(ARP) 是一种将 Internet 协议 (IP) 地址映射到媒体访问控制 (MAC)地址的通信协议,如果没有 ARP,软件和设备将无法相互发送数据。
本文将带您了解一下 ARP 协议,让我们直接开始。
什么是 ARP?
英文全称:
Address Resolution Protocol
中午名称:地址解析协议
ARP 是用于将动态 IP 地址映射到局域网 ( LAN )中的永久物理机器地址的过程,物理机地址也称为媒体访问控制 (MAC) 地址。
ARP 的工作本质上是将 32 位地址转换为 48 位地址.
ARP 在开放系统互连模型(OSI 模型)的第 2 层和第 3 层之间工作,MAC 地址存在于 OSI 模型的第 2 层,即数据链路层,IP 地址存在于第 3 层,即网络层。
ARP 的工作原理
当一台设备要向另一台设备发送 IPv4 数据包时,ARP 执行两个步骤。
首先,ARP 检查 ARP 缓存表,该表由 IPv4 地址到 MAC 地址的映射组成。
如果 ARP 缓存没有查到匹配的 MAC 地址,则进行第二步:在局域网上广播源服务器形成的 ARP 消息。
我们来画图进行讲解一下:
如图,主机 1,IP 地址为192.168.1.1/25
,MAC 地址为11-11-11-11-11-11
,想向主机 2 发送数据包,IP 地址为192.168.1.2/25
,MAC 地址为22-22-22-22-22-22
。
但是,主机 1 还不知道主机 2 的 MAC 地址。
主机 1 使用 ARP 知道主机 2 的 MAC 地址。
主机 1 广播 ARP 请求,目标 MAC 地址为 FFFF-FFFF-FFFF
主机 2 收到 ARP 请求,在本地 ARP 表中记录主机 1 的 IP 和 MAC 地址的映射信息,回复 ARP 响应。
主机 1 收到 ARP 响应,在本地 ARP 表中记录主机 2 的 IP 和 MAC 地址的映射信息,封装 IP 包并发送给主机 2。
ARP 的类型
ARP 一共有 4 种类型:
1、代理 ARP
网络上的代理服务器使用它来回答对该网络上不可用的 IP 地址的 ARP 查询,代理提供自己的 MAC 地址作为目标,并通过隧道或其他接口将流量路由到预期目标。
2、免费 ARP
免费 ARP 用作 ARP 响应,不是由 ARP 请求引起的,当主机需要宣告或更新其 IP 地址到 MAC 地址映射到整个网络时,它会提供帮助。
3、反向 ARP
反向 ARP 从 ARP 网关路由器表中请求 IPv4 地址,没有内存来存储自己的 IP 地址的新系统或机器倾向于使用这种类型的 ARP。
请求设备在发送方和接收方硬件的地址字段中广播具有自己 MAC 地址的反向 ARP 数据包,安装在本地网络中的 RARP 服务器响应该请求,然后,服务器在 IP 到 MAC 地址中找到一个映射表条目,如果匹配成功,则服务器发送带有请求计算机 IP 地址的响应包。
4、逆向 ARP
顾名思义,逆向 ARP 就是 ARP 的反面,使用 MAC 地址来查找 IP 地址。
如何查看 ARP 表?
Windows
命令行中输入:
Linux
命令行中输入:
总结
ARP 是 OSI 模型中网络层的一个重要协议,本文详细的介绍了 ARP 的原理、工作流程以及获取 arp 地址的命令,希望本文对您认识 ARP 有所帮助,有任何问题可以在下方评论区与我讨论。
版权声明: 本文为 InfoQ 作者【wljslmz】的原创文章。
原文链接:【http://xie.infoq.cn/article/ae7c4945c951bf578a52ef48d】。未经作者许可,禁止转载。
评论