导航
导航

ARP/RARP协议

引言

对于TCP/IP协议族中的IP地址,数据链路都有自己的寻址机制。当一台主机把以太网数据帧发送到位于同一局域网上的另一台主机时,是根据48bit的以太网地址来确定目的接口的。设备驱动程序从不检查IP数据报中的目的IP地址。然而数据路由过程中都是以IP地址进行路由的,所以在数据最重到达目标主机时就必须要提供IP地址与物理地址进行映射。ARP和RARP就是来完成这两种地址的影射功能。

ARP协议

功能

ARP(地址解析协议)的功能是在32bit的IP地址和采用不同网络技术的硬件地址之间提供动态映射。

ARP分组格式

ARP高速缓存

为了ARP高效的运行,每个主机上都设置了ARP高速缓存。ARP高速缓存中存放了最近Internet地址到硬件地址之间的映射纪录。其中没一项的生存时间一般设置位20分钟,起始时间从被创建时开始算起。示例如下:

以太网中ARP的解析过程

  1. ARP发送ARP请求的数据帧给以太网上的每个主机;
  2. 目的主机的ARP层收到这份广播报文后,识别出这是发送端在询问他的IP地址,于是发送一个ARP应答,这个应答包含IP地址以及对应的物理地址;
  3. 收到ARP应答后,开始传送IP数据报。

ARP代理

如果ARP请求是从一个网络的主机发往另一个网络上的主机,那么连接这两个网络的路由器就可以回答该请求,这个过程称作委托ARP或者ARP代理(Proxy ARP)。

RARP

RARP(逆地址解析协议)是将局域网中某个主机的物理地址转换为IP地址,比如局域网中有一台主机只知道物理地址而不知道IP地址,那么可以通过RARP协议发出征求自身IP地址的广播请求,然后由RARP服务器负责回答。RARP协议广泛用于获取无盘工作站的IP地址。

##RARP分组格式
RARP的分组格式与ARP的分组格式基本一致,只是相应的类型字段不通。对应于ARP,RARP请求以广播方式传送,而RARP应答一般是单波传送。