首页 . 理学 . 计算机科学技术 . 计算机网络 . 网络协议 . 网络层协议

地址解析协议

/address resolution protocol,ARP/
条目作者唐亚哲

唐亚哲

最后更新 2022-12-23
浏览 189
最后更新 2022-12-23
浏览 189
0 意见反馈 条目引用

完成协议地址(如网络层IP地址)到本地网络地址(如链路层MAC地址)转换的协议。英文缩写为ARP。按RFC 826文档(见ARP欺骗)所述,地址解析协议又称以太网地址解析协议(an ethernet address resolution protocol),或者变换网络协议地址为48比特以太网地址,以便在以太网硬件上进行信息传输(converting network protocol addresses to 48.bit ethernet address for transmission on ethernet hardware)。

英文名称
address resolution protocol,ARP
又称
以太网地址解析协议
所属学科
计算机科学技术

网络层数据包通常需要通过以太网传输,以太网传输信息时使用的不是网络层地址,而是以太网地址(如MAC地址),即主机或者路由器物理接口硬件(网卡)的地址。因此以太网中两台主机通信时,源主机必须知道目标主机的MAC地址。

一种简单的方法是把主机的物理地址编码到IP地址的主机部分。比如,当物理地址是二进制0010000101001001(十进制33 81)时,就可以把其IP地址设置为192.168.33.81。这种方法在某些网络中曾经使用,其缺点是物理地址长度限制为16比特以下,显然不适用于具有48比特地址的以太网。

更一般的方法是每个主机维护一个IP地址到物理地址的映射表。相比于由一个集中的管理者负责管理和分发这个映射表到网络上的每一台主机,更好的方法是每台主机动态获取这个映射表。

通过目标主机网络层地址获取目标主机MAC地址的协议就是地址解析协议(ARP)。ARP协议最早于1982年在RFC 826文档中提出,已经实现了多种网络层协议和链路层协议的转换。其包括IEEE 802、FDDI、X.25、Frame Relay和ATM之上的IPv4、DECnet以及Xerox等网络层协议;以及IEEE 802.3和IEEE 802.11之上的IPv4(见电气电子工程师学会802.11协议簇)。

ARP协议最典型的例子是IPv4中32位网络层地址到IEEE 802系列以太网48位MAC地址之间的转换。在IPv6中不再使用ARP协议,而是邻居发现协议(neighbor discovery protocol,NDP)。

主机需要和同一个网段内的另外一台已知网络层地址的主机完成通信时,需要使用ARP协议获取对方的MAC地址。ARP协议的执行,是一个请求/响应的过程。发送方主机发送请求,目标主机回复响应。ARP协议消息封装在链路层协议负载中。主机发送ARP请求消息时,将包含目标IP地址的ARP请求广播给网络上的所有主机;每个主机收到广播的请求消息,对比其中的目标IP地址与自己的IP地址,如果相同,则目标主机发回响应消息给请求主机,说明自己的IP地址和MAC地址。

为了减少ARP协议交互的次数,ARP协议引入了缓存的概念,其本质是暂存最近使用过的目标主机的IP地址和MAC地址对应关系。当发送主机需要给目标主机发送消息时,首先检查目标主机的IP和MAC地址是否暂存在ARP缓存中。如果能找到,则可以立即开始通信而不需要ARP交互;如果找不到,才需要进行ARP交互。ARP缓存中存储的IP地址和MAC地址对会更新、删除,以确保其保存最近最新使用过的目标主机的地址信息。

ARP表根据生成方式不同分为动态ARP表和静态ARP表。动态ARP表由ARP协议维护,根据目标主机响应的ARP报文更新。静态ARP表由手工配置,不会老化,也不会被动态表项覆盖。

  • 谢希仁.计算机网络(第5版).北京:电子工业出版社,2008.

相关条目

阅读历史

    意见反馈

    提 交

    感谢您的反馈

    我们会尽快处理您的反馈!
    您可以进入个人中心的反馈栏目查看反馈详情。
    谢谢!