0%

《计算机网络》RARP协议

介绍

RARP(Reserve ARP)协议是与ARP功能相反的一个协议,他们运行在同一层,数据包格式非常相似,只是协议类型字段不一样。

ARP是通过IP地址得到MAC地址,而RARP是通过MAC地址得到IP地址。

ARP协议是TCP/IP在内核中实现的一部分,而RARP需要一个RARP服务器,由用户进程来提供。

工作原理

  1. 发送主机发送一个本地的RARP广播,在此广播包中,声明自己的MAC地址并且请求任何收到此请求的RARP服务器分配一个IP地址;
  2. 本地网段上的RARP服务器收到此请求后,检查其RARP列表,查找该MAC地址对应的IP地址;
  3. 如果存在,RARP服务器就给源主机发送一个响应数据包并将此IP地址提供给对方主机使用;
  4. 如果不存在,RARP服务器对此不做任何的响应;
  5. 源主机收到从RARP服务器的响应信息,就利用得到的IP地址进行通讯;如果一直没有收到RARP服务器的响应信息,表示初始化失败。 [1]

与DHCP协议的不同

RARP在功能上有点类似于DHCP协议,确切的说DHCP是BOOTP协议的升级,而BOOTP在某种意义上又是RARP协议的升级。

BOOTP和 RARP的区别在于RARP是在数据链路层实现的,而BOOTP实在应用层实现的,作为BOOTP的升级版DHCP也是在应用层实现的。

这种实现层面的差别也从RARP和BOOTP/DHCP的报文封装格式的差别上体现出来了,RARP直接封装在以太网帧中,协议类型置为0x0800以标识这个报文是 ARP/RARP报文,BOOTP/DHCP报文是直接封装在UDP报文中,作为UDP的数据段出现的。

RARP是早期提供的通过硬件地址获取ip的解决方案,但它有自己的局限性,比如RARP客户与RARP服务器不在同一网段,中间有路由器等设备连接,这时候利用RARP就显得无能为力,因为RARP请求报文不能通过路由器,BOOTP/DHCP提供了很好的解决方法。

特性 RARP BOOTP DHCP
依赖于服务器来分配IP地址
消息封装在IP和UDP中,所以它们可以转发到远端服务器
客户端可发现自己的掩码、网关、DNS和下载服务器
由IP地址池动态分配地址,而不需要知道客户端的MAC地址
允许IP地址的临时租用
包含注册客户端主机的FQDN(用DNS)的扩展功能



微信关注我,及时接收最新技术文章