地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。相关协议有RARP、代理ARP。NDP用于在IPv6中代替地址解析协议。
原理
工作过程
主机A的IP地址为192.168.1.1,MAC地址为0A-11-22-33-44-01;
主机B的IP地址为192.168.1.2,MAC地址为0A-11-22-33-44-02;
当主机A要与主机B通信时,地址解析协议可以将主机B的IP地址(192.168.1.2)解析成主机B的MAC地址,以下为工作流程:
第1步:根据主机A上的路由表内容,IP确定用于访问主机B的转发IP地址是192.168.1.2。然后A主机在自己的本地ARP缓存中检查主机B的匹配MAC地址。
第2步:如果主机A在ARP缓存中没有找到映射,它将询问192.168.1.2的硬件地址,从而将ARP请求帧广播到本地网络上的所有主机。源主机A的IP地址和MAC地址都包括在ARP请求中。本地网络上的每台主机都接收到ARP请求并且检查是否与自己的IP地址匹配。如果主机发现请求的IP地址与自己的IP地址不匹配,它将丢弃ARP请求。
第3步:主机B确定ARP请求中的IP地址与自己的IP地址匹配,则将主机A的IP地址和MAC地址映射添加到本地ARP缓存中。
第4步:主机B将包含其MAC地址的ARP回复消息直接发送回主机A。
第5步:当主机A收到从主机B发来的ARP回复消息时,会用主机B的IP和MAC地址映射更新ARP缓存。本机缓存是有生存期的,生存期结束后,将再次重复上面的过程。主机B的MAC地址一旦确定,主机A就能向主机B发送IP通信了。
工作要素:ARP缓存
ARP缓存是个用来储存IP地址和MAC地址的缓冲区,其本质就是一个IP地址-->MAC地址的对应表,表中每一个条目分别记录了网络上其他主机的IP地址和对应的MAC地址。每一个以太网或令牌环网络适配器都有自己单独的表。当地址解析协议被询问一个已知IP地址节点的MAC地址时,先在ARP缓存中查看,若存在,就直接返回与之对应的MAC地址,若不存在,才发送ARP请求向局域网查询。
为使广播量最小,ARP维护IP地址到MAC地址映射的缓存以便将来使用。ARP缓存可以包含动态和静态项目。动态项目随时间推移自动添加和删除。每个动态ARP缓存项的潜在生命周期是10分钟。新加到缓存中的项目带有时间戳,如果某个项目添加后2分钟内没有再使用,则此项目过期并从ARP缓存中删除;如果某个项目已在使用,则又收到2分钟的生命周期;如果某个项目始终在使用,则会另外收到2分钟的生命周期,一直到10分钟的最长生命周期。静态项目一直保留在缓存中,直到重新启动计算机为止。
地址解析协议是IPv4中必不可少的协议,但在IPv6中将不再存在地址解析协议。在IPv6中,地址解析协议的功能将由NDP(邻居发现协议,Neighbor Discovery Protocol)实现,它使用一系列IPv6控制信息报文(ICMPv6)来实现相邻节点(同一链路上的节点)的交互管理,并在一个子网中保持网络层地址和数据链路层地址之间的映射。邻居发现协议中定义了5种类型的信息:路由器宣告、路由器请求、路由重定向、邻居请求和邻居宣告。与ARP相比,NDP可以实现路由器发现、前缀发现、参数发现、地址自动配置、地址解析(代替ARP和RARP)、下一跳确定、邻居不可达检测、重复地址检测、重定向等更多功能。
NDP与ARP的区别
IPv4中地址解析协议是独立的协议,负责IP地址到MAC地址的转换,对不同的数据链路层协议要定义不同的地址解析协议。IPv6中NDP包含了ARP的功能,且运行于因特网控制信息协议ICMPv6上,更具有一般性,包括更多的内容,而且适用于各种数据链路层协议;
地址解析协议以及ICMPv4路由器发现和ICMPv4重定向报文基于广播,而NDP的邻居发现报文基于高效的组播和单播
1.ARP工作原理
前面介绍到,ARP协议是用于由节点IP地址解析其MAC地址,然后进行局域网内部通信的。例如要与某主机连接,可以在浏览器或运行窗口中输入其IP地址,然而在局域网内是没有网络层的,网络中的主机设备不能识别IP地址,只识别MAC地址,所以这时就需要ARP协议来转换。ARP协议的基本功能就是通过数据包中的目标节点的IP地址查询目标节点的MAC地址,以便把数据包发送到目标设备中。
ARP的基本工作原理如下:
(1)每台主机都会根据以往在网络中与其他节点的通信,在自己的ARP缓存区(ARP Cache)中建立一个ARP列表,以表示网络中节点IP地址和MAC地址的对应关系。
【说明】ARP缓存表采用了老化机制,在一段时间内如果表中的某一行没有使用(Windows系统的这个时间为2分钟,而Cisco路由器的这个时间为5分钟),就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。
(2)当源节点需要将一个数据包发送到目标节点时,会首先检查自己ARP列表中是否存在该包中所包含的目标节点IP地址对应的MAC地址。如果有,则直接将数据包发送到这个MAC地址节点上;如果没有,就向本地网段发起一个ARP请求的广播包,查询此IP地址目标节点对应的MAC地址。此ARP请求数据包里包括源节点的IP地址、硬件地址,以及目标节点的IP地址。
(3)网络中所有的节点在收到这个ARP请求后,会检查数据包中的目标IP地址是否和自己的IP地址一致。如果不相同就忽略此数据包;如果相同,该节点首先将源端的MAC地址和IP地址的对应表项添加到自己的ARP列表中。如果发现ARP表中已经存在该IP地址所对应的MAC地址表项信息,则将其覆盖,然后给源节点发送一个ARP响应数据包,告诉对方自己是它需要查找的MAC地址节点。
(4)源节点在收到这个ARP响应数据包后,将得到的目标节点的IP地址和MAC地址对应表项添加到自己的ARP列表中,并利用此信息开始数据的传输。如果源节点一直没有收到ARP响应数据包,则表示ARP查询失败。
2.RARP工作原理
ARP协议是根据IP地址找其对应的MAC地址,而RARP则是根据MAC地址找其对应IP地址,所以称之为"反向ARP"。具有本地磁盘的系统引导时,一般是从磁盘上的配置文件中读取IP地址,然后即可直接用ARP协议找出与其对应的主机MAC地址。但是无盘机,如X终端或无盘工作站,启动时是通过MAC地址来寻址的,这时就需要通过RARP协议获取IP地址。
RARP的基本工作原理如下:
(1)发送端发送一个本地的RARP广播包,在此广播包中声明自己的MAC地址,并且请求任何收到此请求的RARP服务器分配一个IP地址。
(2)本地网段上的RARP服务器收到此请求后,检查其RARP列表,查找该MAC地址对应的IP地址。如果存在,RARP服务器就给源主机发送一个响应数据包,并将此IP地址提供给对方主机使用;如果不存在,RARP服务器对此不做任何响应。
(3)源端在收到从RARP服务器来的响应信息后,利用得到的IP地址进行通信;如果一直没有收到RARP服务器的响应信息,则表示初始化失败。
相关推荐
网络基础和ARP协议是计算机通信领域中的核心概念,它们对于理解数据在网络中的传输至关重要。本文将深入探讨这两个主题,特别是ARP协议的工作原理及其在互联网架构中的作用。 首先,我们来了解网络基础。网络是由多...
学习网络基础知识的入门教程,arp协议简介
**ARP协议介绍** ARP,即Address Resolution Protocol(地址解析协议),是网络层的重要协议,用于在IPv4网络中将IP地址映射为物理地址(MAC地址)。在局域网环境中,当一个设备(如计算机)想要发送数据到另一台...
在本文中,我们将详细介绍 ARP 协议的基本概念、数据包格式、无为 ARP 协议、反向 ARP 协议、代理 ARP 协议、ARP 缓冲操作等。 ARP 协议的基本概念 ----------------- ARP 协议的主要功能是将 IP 地址解析为 MAC ...
### ARP协议介绍 ARP协议的主要任务是解决IPv4网络中的地址解析问题。当一个主机需要与另一台具有特定IP地址的主机通信时,它会发送一个ARP请求到本地网络,询问哪个硬件地址对应于目标IP。网络中的其他设备接收到这...
ARP 协议分析 Wireshark 是一款功能强大且广泛使用的网络协议分析工具,通过它可以对网络协议进行深入分析,了解协议的工作原理和实现细节。其中,ARP 协议是解决同一个局域网上主机或路由器的IP 地址和MAC 地址的...
ARP、RARP、GARP、Proxy ARP 协议解析 ARP 协议(Address Resolution Protocol)是工作在 OSI 模型的数据链路层,用于将 IP 地址解析为 MAC 地址。在以太网中,网络设备之间互相通信是用 MAC 地址而不是 IP 地址。...
Wireshark 分析以太网帧与 ARP 协议 本资源旨在使用 Wireshark 分析以太网帧和 ARP 协议,了解以太网帧的结构和 ARP 协议的工作机理。实验中,我们使用 Wireshark 分析了以太网帧和 ARP 协议的工作过程,并回答了...
本章我们将深入探讨ARP协议的工作原理、功能、以及如何在局域网中获取活动主机的物理地址。 一、ARP协议简介 ARP协议是基于无连接的通信协议,它在发送数据前不需要建立连接,而是直接通过广播方式寻找目标主机的...
本文将通过实验和分析,对ARP协议的原理和分组格式进行详细的介绍。 ARP协议的原理: ARP协议是Address Resolution Protocol的缩写,是一种将IP地址转换为MAC地址的协议。ARP协议工作在网络层和链路层之间,负责将...
**实验2 ARP协议解码详解** **一、ARP协议简介** ARP,即Address Resolution Protocol,中文称为地址解析协议。它工作在网络层的下一层——数据链路层,负责在这一层与硬件接口交互,同时也向上层协议提供服务。在...
arp协议---ARP协议的初步认识、ARP 协议的介绍、常见的ARP攻击方法、防ARP攻击的方法
**ARP协议概述** ARP,即Address Resolution Protocol,是因特网协议栈中的一种重要协议,主要功能是在局域网(LAN)中将IP地址解析为硬件地址,如以太网的MAC地址。ARP协议允许网络设备(如计算机、路由器等)在...
在标题“arp.zip_ARP协议_arp_arp协议_zxarps.rar download”中,我们可以推断这是一个关于ARP协议的资源包,其中可能包含了关于ARP协议的详细资料,以及一个名为"zxarps.rar"的压缩文件,可能是C语言实现的ARP协议...
【标题】:Java模拟ARP协议 在计算机网络中,ARP(Address Resolution Protocol)协议是用于将IP地址解析为物理(MAC)地址的关键协议。当主机需要向其他IP地址发送数据时,它首先需要知道目标IP对应的MAC地址。...
### ARP协议及其应用知识点 #### 实验概述 本次实验旨在深入了解ARP协议的工作原理及其实现方式,通过实际操作加深对网络通信中地址解析的理解。实验分为两个主要部分:ARP协议的解析过程以及IP协议的报文格式研究...