计算机网络中的地址解析协议 (ARP) 及其类型

2024年8月28日 | 阅读 7 分钟

地址解析协议 (ARP) 在弥合网络和计算机硬件之间的鸿沟方面至关重要。ARP 是本地区域网络 (LAN) 中用于将网络层的 IP 地址转换为数据链路层的 MAC 地址的关键机制。本文探讨了 ARP 的作用、其工作原理以及它与网络和计算机技术的关系。

ARP 基础知识

互联网协议 (IP) 套件利用 ARP 协议,尤其是在第 2 层和第 3 层数据链路层和网络层。在本地网络段内,其主要功能是将 IP 地址转换为相应的 MAC 地址。

ARP表

IP 到 MAC 地址的映射保存在由网络设备维护的 ARP 表中。此表对于高效的本地网络数据传输至关重要。

ARP请求

当网络设备需要与另一台设备通信但仅知道目标 IP 地址时,它会通过广播 ARP 请求数据包。

ARP 中继

ARP 回复数据包由拥有请求 IP 地址的设备作为响应发送回来。目标 MAC 地址包含在此数据包中,允许请求设备完成数据链路层寻址。

ARP 缓存

设备会暂时将 ARP 映射保存在其 ARP 表中以提高网络速度。在特定时间段后或网络配置更改时,这些映射会失效。

MAC 地址

MAC 地址是分配给每个网络接口卡 (NIC) 的唯一硬件地址,是 ARP 的基础。为了在本地网络段中定位设备,MAC 地址至关重要。

网络接口卡

NIC 负责设备与网络之间的物理连接。它们使用 MAC 地址在网络上发送和接收数据帧。

以太网帧

ARP 消息被封装在以太网帧中,使用 MAC 地址。源 MAC 地址表示发送方,而目标 MAC 地址指定接收方。

IP 寻址

ARP 与 IP 地址紧密集成。虽然 IP 地址对于 Internet 中的逻辑寻址至关重要,但 MAC 地址对于数据链路层通信至关重要。

子网边界

ARP 在本地网络段或子网内运行。它无法解析不同子网上的地址;路由器在互连此类段方面起着至关重要的作用。

故障排除和监控

网络管理员使用 ARP 来诊断网络问题并监控网络活动。ARP 表和 ARP 缓存查看等工具有助于识别潜在问题。

ARP 欺骗

ARP 欺骗是一种恶意活动,攻击者会操纵 ARP 消息,将网络流量重定向到恶意设备。这可能导致多种安全漏洞。

安全措施

采用 ARP 缓存中毒检测和静态 ARP 条目等措施来应对 ARP 欺骗和其他安全威胁。

ARP (地址解析协议) 的类型

代理 ARP

代理 ARP 是一种情况,其中网络上的一个设备响应针对另一设备的 ARP 请求。路由器通常这样做是为了允许不同子网上的设备之间的通信。

函数

代理 ARP 是一种特殊形式,其中网络设备代表同一网络中的其他设备响应 ARP 请求。

操作

设备(通常是路由器)响应非本地子网 IP 地址的 ARP 请求。代理 ARP 允许设备与远程子网上的主机通信,而无需了解精确的路由信息。

用例

代理 ARP 用于复杂的网络配置,例如当路由器需要帮助设备查找其他子网上的主机时。

示例

考虑连接到路由器的子网 A 和子网 B。子网 A 上的设备 X 需要与子网 B 上的设备 Y 通信。路由器执行代理 ARP 并用其 MAC 地址响应设备 X 的 ARP 请求。设备 X 将数据发送到路由器,然后由路由器转发给设备 Y。

免费 ARP

免费 ARP 是一种 ARP 消息,其中设备会宣告其 MAC 地址及其 IP 地址,通常是为了宣布其存在或更新其 ARP 缓存。

示例

假设服务器具有新 IP 地址被添加到网络段。为了告知网络上的所有设备其存在和 IP-MAC 映射,服务器会发送一个包含其 IP 和 MAC 地址的免费 ARP。这有助于其他设备相应地更新其 ARP 缓存。

反向 ARP (RARP)

在本地区域网络 (LAN) 中,客户端设备使用网络协议向 ARP 网关路由器表请求其 IPv4 地址。网络管理员在网关路由器中创建了一个表,用于查找 MAC 地址与相应 IP 地址的对应关系。

函数

反向 ARP 用于查找与已知 MAC 地址关联的 IP 地址,这与传统 ARP 相反。

操作

设备会广播一个包含其 MAC 地址的 RARP 请求数据包。

RARP 服务器会响应相应的 IP 地址。

示例

无盘计算设备启动并向 RARP 服务器发送包含其 MAC 地址的 RARP 请求。服务器响应相应的 IP 地址,使计算设备能够配置其网络设置。

用例

RARP 曾用于早期的无盘工作站以获取其 IP 地址,但已被 DHCP(动态主机配置协议)在很大程度上取代。

逆向 ARP

逆向 ARP 是 ARP 的反向,用于从数据链路层地址查找节点的 IP 地址。这些主要用于帧中继和 ATM 网络,其中第 2 层虚拟电路寻址通常来自第 2 层信令。在使用这些虚拟电路时,相关的第 3 层地址是可用的。

函数

逆向 ARP,或 InARP,是一种在帧中继网络中用于将网络层地址(IP)映射到数据链路层地址(DLCI)的协议。

操作

InARP 在路由器和帧中继交换机之间运行。

路由器向交换机发送 InARP 请求,以学习与特定 IP 地址关联的 DLCI。

用例

逆向 ARP 在帧中继网络中对于建立连接和正确路由数据至关重要,因为它允许路由器动态学习 DLCI 映射。

示例

在帧中继网络中,设备需要确定与特定 DLCI 关联的 IP 地址。它向帧中继交换机发送 ARP 请求,交换机用相应的 IP 地址进行响应。

用途

1. 高效的数据链路层地址解析

ARP 在提供无缝高效的本地网络 IP 地址到 MAC 地址解析方面表现出色。这使得设备能够有效通信,而无需手动配置或维护地址映射。

2. 自动且动态

ARP 在无需用户干预的情况下自动运行。网络中的设备在通信时会自动构建和更新其 ARP 缓存,确保地址映射保持准确,即使有设备加入或离开网络。

3. 简单性和普遍性

ARP 是一种简单的协议,广泛支持各种联网设备,包括计算机、路由器和交换机。其简单性和普遍性使其成为大多数网络环境中的标准功能。

4. 可扩展性

ARP 可有效扩展到网络规模。无论网络有几个设备还是数千个设备,ARP 都能在没有显着开销的情况下提供高效的地址解析。

5. 支持动态 IP 分配

ARP 支持动态分配 IP 地址给设备的网络,例如通过 DHCP(动态主机配置协议)。它确保设备即使 IP 地址发生变化也能始终找到彼此。

缺点

1. 安全漏洞

ARP 容易受到各种安全漏洞的攻击,包括欺骗和缓存中毒。恶意攻击者可以操纵 ARP 消息来重定向网络流量、窃听数据或执行中间人攻击。

2. 仅限于本地网络

ARP 在单个本地网络段或子网内运行。它只能在路由器或代理 ARP 等专用协议的帮助下解析不同子网上的地址。

3. 单点故障

设备上的 ARP 缓存可能成为单点故障。如果此缓存损坏或被攻击者操纵,可能会中断网络通信。

4. 身份验证

ARP 消息缺乏内置的身份验证机制,使得验证 ARP 响应的合法性变得困难。缺乏身份验证使得该协议容易受到攻击。

5. 广播流量

ARP 使用广播消息,这可能导致不必要的网络流量,尤其是在大型网络中。频繁的 ARP 广播会加剧网络拥塞。

6. IPv6 集成有限

ARP 主要为 IPv4 网络设计。虽然可以通过邻居发现协议 (NDP) 等技术对其进行改编以适应 IPv6,但其与 IPv6 的集成不如其在 IPv4 中的原生使用直接。

地址解析协议 (ARP) 是计算机网络的重要组成部分,它提供自动动态的地址解析,以实现高效的数据通信。其优点包括简单、高效和可扩展性。然而,ARP 主要关注安全漏洞、互连不同子网的限制以及广播流量的可能性。ARP 相关的安全风险以及在特定场景下考虑替代协议,有助于在现代网络中最大化 ARP 的优势并最小化其缺点。