地址解析协议

✍ dations ◷ 2025-12-04 06:28:29 #网络协议,互联网标准,数据链路层

地址解析协议(英语:Address Resolution Protocol,缩写:ARP)是一个通过解析网络层地址来找寻数据链路层地址的网络传输协议,它在IPv4中极其重要。ARP最初在1982年的RFC 826(征求意见稿)中提出并纳入互联网标准 STD 37. ARP 也可能指是在多数操作系统中管理其相关地址的一个进程。

ARP是通过网络地址来定位MAC地址。 ARP已经在很多网路层和数据链接层之间得以实现,包括IPv4,Chaosnet(英语:Chaosnet), DECnet(英语:DECnet)和Xerox PARC Universal Packet(英语:PARC Universal Packet)(PUP)使用IEEE 802标准, 光纤分布式数据接口, X.25, 帧中继和异步传输模式(ATM),IEEE 802.3和IEEE 802.11标准上IPv4占了多数流量。

在IPv6中邻居发现协议(NDP)用于代替地址解析协议(ARP)。

在以太网协议中规定,同一局域网中的一台主机要和另一台主机进行直接通信,必须要知道目标主机的MAC地址。而在TCP/IP协议中,网络层和传输层只关心目标主机的IP地址。这就导致在以太网中使用IP协议时,数据链路层的以太网协议接到上层IP协议提供的数据中,只包含目的主机的IP地址。于是需要一种方法,根据目的主机的IP地址,获得其MAC地址。这就是ARP协议要做的事情。所谓地址解析(address resolution)就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。

另外,当发送主机和目的主机不在同一个局域网中时,即便知道对方的MAC地址,两者也不能直接通信,必须经过路由转发才可以。所以此时,发送主机通过ARP协议获得的将不是目的主机的真实MAC地址,而是一台可以通往局域网外的路由器的MAC地址。于是此后发送主机发往目的主机的所有帧,都将发往该路由器,通过它向外发送。这种情况称为委托ARP或ARP代理(ARP Proxy)。

在点对点链路中不使用ARP,实际上在点对点网络中也不使用MAC地址,因为在此类网络中分别已经获取了对端的IP地址。

地址解析协议的消息格式很简单,仅包含单一的地址解析请求或响应。ARP 消息的长度取决于上下两层地址的大小,上层地址由所使用的网络协议类型(通常是 IPv4)决定,下层地址则由上层协议所使用的硬件或虚拟链路层的类型决定。消息的报头中包含了这些类型以及对应的地址长度信息,此外还包含了表示请求(1)和应答(2)的操作码。数据包的有效负载为收发双方的硬件地址、协议地址,总计四个地址。

为了把IP地址映射到48位以太网地址用于传输,需要一个体现地址转换协议的包格式。

在每台安装有TCP/IP协议的电脑或路由器里都有一个ARP缓存表,表里的IP地址与MAC地址是一对应的,如下表所示。

以主机A(192.168.38.10)向主机B(192.168.38.11)发送数据为例。
1.当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。如果找到就知道目标MAC地址为(00-BB-00-62-C2-02),直接把目标MAC地址写入帧里面发送就可。
2.如果在ARP缓存表中没有找到相对应的IP地址,主机A就会在网络上发送一个广播(ARP request),目标MAC地址是“FF.FF.FF.FF.FF.FF”,这表示向同一网段内的所有主机发出这样的询问:“192.168.38.11的MAC地址是什么?”

3.网络上其他主机并不响应ARP询问,只有主机B接收到这个帧时,才向主机A做出这样的回应(ARP response):“192.168.38.11的MAC地址是00-BB-00-62-C2-02”,此回应以单播方式。这样,主机A就知道主机B的MAC地址,它就可以向主机B发送信息。同时它还更新自己的ARP高速缓存(ARP cache),下次再向主机B发送信息时,直接从ARP缓存表里查找就可。


ARP缓存表采用老化机制,在一段时间内如果表中的某一行没有使用,就会被删除,这样可减少缓存表的长度,加快查询速度。

免费ARP(gratuitous ARP),他是指主机发送ARP查询(广播)自己的IP地址,当ARP功能被开启或者是端口初始配置完成,主机向网络发送免费ARP来查询自己的IP地址确认地址唯一可用。

作用:

Windows:开始 → 运行 → cmd → arp -a(参数a表示显示所有内容)

Linux:终端 → arp -nv

MacOS:终端 → arp -nla

相关

  • 裸藻裸藻纲(Euglenophyceae)在生物分类学上是眼虫门(Euglenophyta)下的一个纲。医学导航: 原虫感染变形虫, 古虫, 囊泡虫 (结构)变形虫, 古虫, 囊泡藻变形虫, 古虫, 囊泡藻
  • 拟寄生物拟寄生物(Parasitoid)也称类寄生生物或捕食寄生生物,是指幼虫期寄生宿主体内,后期将宿主杀死,成虫营自由生活的生物,成虫多半会利用产卵管将卵注入至宿主体内。“拟寄生”是一种介
  • 藻类去氧核糖核酸病毒科绿藻病毒属 Chlorovirus 寄生藻病毒属 Prasinovirus 金藻病毒属 Prymnesiovirus 褐藻病毒属 Phaeovirus 针晶藻病毒属 Raphidovirus 颗石藻类病毒属 Coccolithovirus藻类去
  • 逻辑学逻辑(古希腊语:λογική;德语:Logik;法语:logique;英语:logic;意大利语、西班牙语、葡萄牙语: logica),又称理则、论理、推理、推论,是对有效推论的哲学研究。逻辑被使用在大部分的
  • 贾比尔阿布·穆萨·贾比尔·伊本·哈扬(阿拉伯语:جابر بن حيان‎,721年-815年),波斯炼金术士、药剂师、哲学家、天文学家、占星家、物理学家、地理学家、医生和工程师,被称为“
  • 楠梓庄楠梓庄,为1920年至1944年间存在之行政区,其原属高雄州高雄郡,1924年后改隶冈山郡。楠梓庄辖区相当为今楠梓区东侧(后劲、楠梓、土库)、桥头区以及燕巢区的凤山厝、中路林等地楠梓
  • 卢迪亚纳बाप तहसील घंटियाली city卢迪亚纳(旁遮普语:ਲੁਧਿਆਣਾ)为印度旁遮普邦最大的城市,总人口1,395,053人(2001年),卢迪亚纳县(旁遮普语:ਲੁਧਿਆਣਾ ਜ਼ਿਲ੍
  • 乌干达总统乌干达总统是乌干达的国家元首。这个职位设立初期,实权仍在总理手上。受到君主主义政党卡巴卡耶卡党的影响,布干达国王穆特萨二世成为了乌干达第一任总统。1966年,米尔顿·奥博
  • 乔治·伊士曼乔治·伊士曼(George Eastman,1854年7月12日-1932年3月14日),美国发明家,柯达公司创办人以及胶卷发明人。伊士曼于1854年出生于美国纽约州,少年时代就已经投身社会工作,曾在保险和银
  • 曲奇曲奇(美式英文:Cookie)是一种小而扁平和甜的烘焙或煮熟的食物。它通常含有面粉,糖和某种油或脂肪。也有可能包括其他原料,如葡萄干,燕麦,巧克力片,坚果,果酱等。在美国与加拿大解为细