6.1 引言
通过逆地址解析协议RARP,客户端可以通过硬件地址得到对应的IP地址,一般用于无盘系统中,用以获得自身的IP地址。rarpd就是处理RARP请求的服务器程序。
RARP分组的格式与ARP分组基本一致。它们之间主要的差别是RARP请求或应答的帧类型代码为0x8035,而且RARP请求的操作代码为3,应答操作代码为4。
6.2 rarpd程序的使用
RARP协议的使用并不常见,一般是在没有本地磁盘的系统启动的时候,系统需要通过网卡的硬件地址,发送一份RARP请求,请求某个主机相应该无盘系统的IP地址。
可以发送RARP请求编写程序(见<./test/getIPbyname.cpp>)。而在局域网中的另一个主机中运行rarpd程序来进行测试。
通过tcpdump的却可以看见请求程序发送的RARP请求:
-------------------------------------------------------------------------------
12:36:25.082273 rarp who-is 00:15:58:de:98:61 (oui Unknown) tell00:15:58:de:98:61 (oui Unknown)
-------------------------------------------------------------------------------
由于本人没有两台主机的控制权,所以没有进行详尽测试。
rarpd程序的选项的解释如下:
-a
不要绑定设备。
-A
不仅回复RARP