ARP和RARP协议

一. 什么是ARP

ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。其作用是在以太网环境中,数据的传输所依懒的是MAC地址而非IP地址,而将已知IP地址转换为MAC地址的工作是由ARP协议来完成的。

在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。

 

二、ARP映射方式

1. 静态映射

静态映射的意思是要手动创建一张ARP表,把逻辑(IP)地址和物理地址(MAC)关联起来。这个ARP表储存在网络中的每一台机器上。例如,知道其机器的IP地址但不知道其物理地址的机器就可以通过查ARP表找出对应的物理地址。这样做有一定的局限性,因为物理地址可能发生变化:

(1)机器可能更换NIC(网络适配器),结果变成一个新的物理地址。

(2)在某些局域网中,每当计算机加电时,他的物理地址都要改变一次。

(3)移动电脑可以从一个物理网络转移到另一个物理网络,这样会时物理地址改变。

要避免这些问题出现,必须定期维护更新ARP表,此类比较麻烦而且会影响网络性能。

2. 动态映射

动态映射时,每次只要机器知道另一台机器的逻辑(IP)地址,就可以使用协议找出相对应的物理地址。已经设计出的实现了动态映射协议的有ARP和RARP两种。ARP把IP地址映射为MAC地址。RARP把MAC地址映射为IP地址。

 

三、ARP原理及流程

在任何时候,一台主机有IP数据报文发送给另一台主机,它都要知道接收方的逻辑(IP)地址。但是IP地址必须封装成帧才能通过物理网络。这就意味着发送方必须有接收方的物理(MAC)地址,因此需要完成逻辑地址到物理地址的映射。而ARP协议可以接收来自IP协议的逻辑地址,将其映射为相应的物理地址,然后把物理地址递交给数据链路层。

ARP和RARP协议

 

 

四、ARP缓存

主机A收到ARP回复以后,会检查ARP报文中目的MAC地址是否与自己的MAC匹配。如果匹配,ARP报文中的源MAC地址和源IP地址会被记录到主机A的ARP缓存表中。

 

五、ARP和IP为何缺一不可

主机A想要发送IP数据报给主机B必须经过路由器C,即使知道了主机B的MAC地址,由于路由器C会隔断网络,还是无法直接由主机A发送数据报给主机B,此时主机A必须现将数据报发送给路由器C的MAC地址C1

ARP和RARP协议
 

六、RARP协议

RARP是将ARP反过来,从MAC地址定位IP地址的一种协议。平时我们可以通过电脑设置IP,也可以通过DHCP自动分配获取IP地址。比如局域网中有一台主机只知道物理地址而不知道IP地址,那么可以通过RARP协议发出征求自身IP地址的广播请求,然后由RARP服务器负责回答。

ARP和RARP协议