ARP协议和RARP协议都是五层网络协议中的网络层协议。
-
ARP(Address Resolution Protocol)地址解析协议:作用是将网络层IP地址转换为数据链路层MAC地址,即完成IP地址与物理地址的映射。
-
RARP(Reverse Address Resolution Protocol)逆地址解析协议:作用是完成硬件地址到IP地址的映射
ARP协议的工作原理
- 1)首先,每个主机都会在自己的ARP缓冲区中建立一个ARP缓存表,以表示IP地址和MAC地址之间的对应关系。
- 2)当源主机要发送数据时,首先检查自己的ARP列表中是否存在该IP地址对应的MAC地址
- 如果有,则直接发送数据到该MAC地址;
- 如果没有,就向本网段的所有主机发送ARP数据包,查询此目的主机对应的MAC地址;该数据包包括的内容有:(源主机 IP地址,源主机MAC地址,目的主机的IP 地址)。
- 3)当本网络的所有主机收到该ARP数据包时,首先检查数据包中的目的IP地址是否是自己的IP地址;
- 如果不是,则忽略该数据包;
- 如果是,则首先从数据包中取出源主机的IP和MAC地址写入到ARP列表中,如果已经存在,则覆盖;然后将自己的MAC地址写入ARP响应包中,并发送给源主机,告诉源主机自己是它想要找的MAC地址。
- 4)源主机收到ARP响应包后,将目的主机的IP和MAC地址写入ARP列表,并利用此信息发送数据。
- 如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。
RARP协议的工作原理
- 1)发送主机发送一个本地的RARP广播,在此广播包中,声明自己的MAC地址并且请求任何收到此请求的RARP服务器分配一个IP地址。
- 2)本地网段上的RARP服务器收到此请求后,检查其RARP列表,查找该MAC地址对应的IP地址。
- 3)如果存在,RARP服务器就给源主机发送一个响应数据包并将此IP地址提供给对方主机使用。
- 4)如果不存在,RARP服务器对此不做任何的响应。
- 5)源主机收到从RARP服务器的响应信息,就利用得到的IP地址进行通讯;如果一直没有收到RARP服务器的响应信息,表示初始化失败。