地址转换协议(ARP)是用来实现 IP 地址与本地网络认知的物理地址(以太网 MAC 地址)之间的映射。例如,在第四版 IP 中,IP 地址长为 32 位。然而在以太局域网络中,设备地址长为 48 位。有一张表格,通常称为 ARP 缓冲(ARP cache),来维持每个 MAC 地址与其相应的 IP 地址之间的对应关系。ARP 提供一种形成该对应关系的规则以及提供双向地址转换。
由于每一类局域网协议细节不同,那么就需要为以太网、帧中继、ATM、光纤分布式数据接口、HIPPI 以及其它协议等提供独立的 ARP 规范说明。InARP 是 ARP 的补充协议以支持帧中继环境下的 ARP。
此外还为不知道自己 IP 地址的主机提供了一种反向地址转换协议(RARP),从而可以从网关的 ARP cache 上请求它们的 IP 地址。有关 RARP 的具体细节可参见个别文件。
协议结构
| 16 | 32 bit | |
| Hardware Type | Protocol Type | |
| HLen | Plen | Operation |
| Sender Hardware Address | ||
| Sender Protocol Address | ||
| Target Hardware Address | ||
| Target Protocol Address | ||
- Hardware Type ― 指定一种硬件接口类型,为发送方请求响应所用。
- Protocol Type ― 指由发送方提供的高级协议地址类型。
- Hlen ― 硬件地址大小。
- Plen ― 协议地址大小。
- Operation ― 各个值如下表所示:
| 1 | ARP Request |
| 2 | ARP Response |
| 3 | RARP Request |
| 4 | RARP Response |
| 5 | Dynamic RARP Request |
| 6 | Dynamic RARP Reply |
| 7 | Dynamic RARP Error |
| 8 | InARP Request |
| 9 | InARP Reply |
- Sender Hardware Address ― HLen 二进制大小
- Sender Protocol Address ― PLen 二进制大小
- Target Hardware Address ― HLen二进制大小
- Target Protocol Address ― PLen 二进制大小
组织来源:ARP/IARP 由IETF (http://www.ietf.org)定义在 RFC 826、2390、2625中。
相关链接:
http://www.javvin.com/protocol/rfc826.pdf:An Ethernet Address Resolution Protocol
http://www.javvin.com/protocol/rfc2390.pdf:Inverse Address Resolution Protocol (Frame Relay)
http://www.javvin.com/protocol/rfc2625.pdf:IP and ARP over Fibre Channel


