广州总校区切换校区
图片
news

新闻资讯

什么是ARP协议

发布时间: 2022-04-18

什么是ARP协议?IP地址作为一种逻辑地址实际上只起到标识主机的作用,在物理网络中通信必须使用物理地址(MAC地址)。ARP和RARP的主要任务就是解决IP地址和物理地址之间的映射关系。

ARP(Address Resolution Protocol)是地址解析协议的英文缩写,它的作用是将IP地址映射到物理地址。由于ARP是由TCP/IP控制的,所以应用程序不能与其直接进行通信。

当应用程序希望与某台网络设备通信时,如果主机不知道对方的MAC地址,则不能完成二层数据帧的封装。所以,主机的TCP/IP协议会发送ARP解析广播去寻找对应于目的IP地址的MAC地址。

每一台主机在内存中都维护着一个ARP表,其初始值为空,这个ARP表就是ARP高速缓存。ARP高速缓存存放了最近了解到的IP地址到硬件物理地址之间的映射条目,其中的每一个条目的生存时间一般为20分钟,起始时间是从被创建时开始算起。

ARP高速缓存的使用提高了ARP的效率。在DOS模式下输入“C:\>ARP-a”命令,可以查看内存中的ARP表,如表1所示。


表1 ARP表条目举例。


从IP地址到物理地址的映射是由网络接口驱动程序完成的。当需要发送数据时,首先在本机内存中的ARP表中寻找目的IP地址与MAC地址的映射。如果没有找到,则接口驱动程序会向网络发送一个ARP请求广播包给本网络的所有主机和路由器。

一旦具有ARP的能力的主机收到ARP请求包,会检查包中的目的IP地址和自己的IP地址是否一致。如果一致则会向发送请求包的主机发送ARP响应包(单点广播形式)。

让我们来举一个实例,如图1所示。

图1 ARP解析与响应

当主机A想要与主机B进行通信时,主机A已经知道主机B的IP地址,但由于实际数据传输需要物理地址,所以在此之前必须确定目的方的物理地址。

主机A开始搜索本机内存中的ARP表,希望能够找到关于主机B的物理地址的映射条目。但由于是第一次通信或很长时间没有通信,在ARP表中没能找到相应的条目。在这种情况下,主机A发送一个ARP请求包,这个请求包中包含主机B的IP地址。

主机B收到这个请求包,首先检查包中的目的IP地址是否和自己的IP地址一样。如果一样,则主机B以单点广播形式向主机A发送一个响应包,包含了双方的IP地址和物理地址。主机A通过响应包知道了主机B的物理地址,并将其映射加入内存中的ARP表中。这样主机A就可以利用该映射向主机B发送数据了。

上一篇: IPV4怎么转换成IPV6

下一篇: TCP传输规则及策略

<
在线咨询 ×

您好,请问有什么可以帮您?我们将竭诚提供最优质服务!