ARP协议(Address Resolution Protocol)
概念
地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。
划分
由于是IP协议使用了ARP协议,因此通常就把ARP协议划归网络层。但是ARP协议的用途是为了从网络层使用的IP地址解析出在数据链路层使用的硬件地址,因此,把ARP协议划归在数据链路层也是可以的。
高速缓存(ARP cache)
每一个主机都设有一个ARP高速缓存,里面有本局域网上的各主机和路由器的IP地址到硬件地址的映射表。当主机A要向本局域网上的某个主机B发送IP数据报的时候,就先在其ARP高速缓存查看有无主机B的IP地址。如有,就在ARP高速缓存中查找出其对应的硬件地址,再向硬件地址发送MAC帧。
步骤
当在高速缓存中查找不到对应的IP地址映射的时候,执行以下步骤:
(1)MCU进程在本局域网上广播发送一个ARP请求分组。如图所示,分组主要内容是:“我的IP地址是192.168.1.9,MAC地址是:xxx,谁的IP地址是192.168.1.15??”
(2)在本局域网上的所有主机上运行的ARP进程都收到此ARP请求分组。
(3)电脑A的IP地址与ARP请求分组中药查询的IP地址一致,就手下这个ARP请求分组,并向MCU放松ARP-响应分组,如图所示,大概内容是“我的IP地址是192.168.1.15,MAC地址是xxx”
(4)MCU收到电脑A的ARP响应分组后,就在其ARP高速缓存中写入电脑A的IP地址到硬件地址的映射。
逆地址解析协议(RARP)
作用是使只知道自己硬件地址的主机能够通过RARP协议找出其IP地址。