作者:Wolontek 工程团队 | 网络基础知识与基础设施
如果你想让两台计算机在局域网 (LAN) 上通信,你需要一个 IP 地址。但硬件网络的实际情况是这样的: 以太网交换机无法识别IP地址。 交换机只能识别物理硬件地址,也就是 MAC 地址。
那么,如果你的计算机知道目标服务器的 IP 地址,它是如何计算出物理 MAC 地址,从而通过网络实际发送数据帧的呢?
它用 ARP.
无论您是在备考 CCNA 认证、排查服务器链路故障,还是配置企业级交换机,都必须准确理解 ARP 如何弥合软件 IP 地址和物理硬件之间的鸿沟。本文将深入剖析地址解析协议的工作原理、静态缓存和动态缓存的区别,以及您需要警惕的严重安全风险。
什么是ARP?
什么是ARP(地址解析协议)?
ARP(地址解析协议) 是一个基本的网络层协议,用于将本地网络上的逻辑 IP 地址 (IPv4) 转换为物理 MAC(媒体访问控制)地址。
如果没有 ARP,IP 路由就无法在本地以太网段上正常工作。它充当第 3 层(网络层,IP 所在的层)和第 2 层(数据链路层,MAC 所在的层)之间的关键转换器。
(注:ARP 严格来说是 IPv4 协议。在现代 IPv6 网络中,此功能已由邻居发现协议 (NDP) 取代。)
邮局类比:为什么我们需要 IP 和 MAC?
许多初级网络工程师都会问: “如果我已经有了IP地址,为什么还需要MAC地址呢?”
想想寄包裹这件事:
IP地址 邮政编码。它负责将数据包发送到正确的城市和社区(您的本地网络路由器)。IP 地址是逻辑地址,会根据您所在的位置而变化。
MAC地址 这就是固定在你家墙上的实体邮箱。它是由制造商永久写入网卡(NIC)的。
一旦路由器通过 IP 地址将数据包发送到您的本地网络,它就会使用 ARP 协议发出警报。 “这个邮箱是谁的?” 确保数据包被准确送达硬件端口。
ARP 的工作原理是什么?分步流程详解
ARP 算法使用非常简单、快速的协议运行。 请求-and-Reply 机制。当主机 A 想要向同一网络上的主机 B 发送数据时,事件的具体顺序如下:
步骤 1:检查 ARP 缓存 在向网络发出请求之前,主机 A 会检查其自身的内部存储器,称为内存。 ARP表 (或 ARP 缓存)。如果主机 A 最近与主机 B 通信过,则 MAC 地址已保存在缓存中。数据包会立即发送。如果 IP 地址不在缓存表中,则主机 A 进入步骤 2。
步骤 2:ARP 请求(广播) 主机 A 生成一个 ARP 请求数据包。该数据包的内容大致如下: “我需要 IP 地址 192.168.1.50 的 MAC 地址。” 由于主机 A 不知道该 IP 地址的持有者是谁,因此它将此请求作为一项请求发送。 广播 Broadcast (目标 MAC 地址: FF:FF:FF:FF:FF:FF本地交换机上的每个设备都会收到此消息。
步骤 3:ARP 应答(单播) 每个设备都会查看请求。那些执行此操作的设备 不会 IP 地址 192.168.1.50 静默丢弃了该数据包。拥有该 IP 地址的主机 B 生成了一个 ARP 应答。应答内容如下: “这是我的IP地址,这是我的MAC地址。” 主机 B 直接将此回复发送回主机 A。 单播 消息(点对点),防止不必要的网络通信。
步骤 4:更新表格并发送数据 主机 A 收到回复后,将主机 B 的 MAC 地址保存到其 ARP 缓存中以备将来使用,将 IP 数据包封装到以太网帧中,并发送数据有效载荷。
动态ARP与静态ARP
网络管理员可以根据交换机的安全性和性能需求,以两种不同的方式管理 ARP 表。
收发器温度等级
年级
Commercial / 商业 摄氏度
工业 温度
温度范围
0°C到+ 70°C
- 40°C至+ 85°C
典型环境
空调房
户外机柜、工厂、移动通信塔
Cost
低(标准)
高(高级)
芯片级
标准消费者
符合汽车/军用规格的加固型
ARP的阴暗面:ARP欺骗(投毒)
这是ARP协议的主要工程缺陷: 这是盲目信任。 ARP协议设计于20世纪80年代,当时的网络是封闭且相互信任的。默认情况下,ARP不会验证发送ARP应答的设备是否真的发送了真实的应答。
这导致了一种被称为“严重安全漏洞”的严重安全漏洞。 ARP欺骗 (或ARP中毒)。
网络中的恶意用户可以向交换机发送大量伪造的 ARP 应答,从而告知每台计算机: “我是默认网关路由器。请将您的流量发送到我的 MAC 地址。” 这些计算机盲目地更新其ARP表,并将所有互联网流量发送给攻击者。攻击者拦截数据,造成毁灭性后果。 中间人 (MitM) 攻击。
网络工程师如何修复它
为防止这种情况发生,企业数据中心不依赖于基本的ARP协议。网络架构师会进行配置。 动态ARP检测(DAI) 在他们的管理型交换机上,DAI 充当防火墙的角色;它会检查每个 ARP 数据包,并丢弃任何与可信数据库不匹配的伪造回复,从而立即阻止欺骗攻击。
构建可靠的物理网络
虽然像 ARP 这样的协议负责处理二层和三层的逻辑映射,但如果物理层丢包,它们就完全没用了。高频 ARP 请求、广播流量和数据载荷都需要完美的信号完整性才能在交换机上无延迟地传输。
在 Wolontek,我们制造高速网络所需的物理基础。我们拥有 400 多名工程专家,他们直接在我们自己的光纤制造工厂内,生产出公差极小的产品。 光收发器, DAC电缆和 MPO光纤干线 专为企业级交换机和零丢包环境而设计。
无论您是为关键服务器机架配置静态 ARP,还是部署大型二层 LAN,都要确保您的物理层能够正常运行。
准备好扩展您的网络基础设施了吗?
绕过分销商加价,缩短交货时间。探索 Wolontek 全面的产品组合。 工厂直销光收发器和网络基础设施解决方案.
探索工厂直销解决方案
ARP协议能否在不同的网络或路由器之间正常工作?
不。ARP 协议严格在局域网 (LAN) 的第二层(通信层)运行。如果一台计算机需要向不同网络上的 IP 地址发送数据,它会使用 ARP 协议查找其本地默认网关(路由器)的 MAC 地址。然后,路由器会处理跨网络路由。
什么是ARP表(ARP缓存)?
ARP 表是存储在计算机、路由器或交换机内存中的小型数据库。它临时记录设备最近解析的逻辑 IP 地址和物理 MAC 地址之间的映射关系,从而无需为每个数据包广播 ARP 请求。
如果目标 IP 地址在网络中不存在,会发生什么情况?
如果向一个已关闭或不存在的 IP 地址广播 ARP 请求,则任何设备都不会发送 ARP 应答。经过短暂的超时后,发送主机将丢弃该数据包,并通常会向用户显示“目标主机不可达”或“请求超时”错误。
什么是RARP(反向地址解析协议)?
RARP 的功能与 ARP 正好相反。ARP 将已知的 IP 地址转换为未知的 MAC 地址,而 RARP 则将已知的 MAC 地址转换为 IP 地址。如今,RARP 已基本被淘汰,取而代之的是 DHCP 等现代协议。