ARP是地址解析协议,其工作原理是:
① 首先,每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系。
②当源主机要发送数据时,首先检查ARP列表中是否有对应的IP地址的目的地址的主机的MAC地址,如果有,则直接发送数据。如果没有,就向本网段的所有主机发送ARP数据包,该数据包包括的内容有:源主机IP地址,源主机MAC地址,目的主机的IP地址。
③当本网段的所有主机收到该ARP数据包时,首先检查数据包中的IP地址是否有自己的IP地址,如果没有,则忽略该数据包。如果没有,则首先从数据包中取出源主机的IP和MAC地址写入到ARP列表中,如果已存在,则覆盖,然后将自己的MAC地址写入ARP响应包中,告诉源主机自己是它想要找的MAC地址。
④源主机收到ARP响应包后,将目的主机的IP和MAC地址写入到ARP列表,并利用此信息发送数据。如果源主机一直没有收到ARP相应数据包,表示ARP查询失败。
广播发送ARP请求,单播发送ARP响应。
RARP协议的工作原理:
RARP是逆地址解析协议,作用是完成硬件地址到IP地址的映射,主要用于无盘工作站,因为给无盘工作站配置的IP地址不能保存。工作流程:在网络中配置一台RARP服务器,里面保存着IP地址和MAC地址的映射关系,当无盘工作站启动后,就封装一个RARP数据包,里面有其MAC地址,然后广播到网络上去,当服务器收到请求包后,就查找对应的MAC地址的IP地址装入响应报文中发回给请求者。因为需要广播请求报文,因此RARP只能用于具有广博能力的网络。