TCP/IP卷一 阅读笔记 RARP逆地址解析协议

作用

通过MAC地址获取IP地址,通常用于无盘系统地启动。
通常IP地址被存储在文件中,所以无盘系统无法正常获取IP地址,而是靠RARP协议通过网络获取IP地址。

格式

在以太网中,RARP请求格式如下:
在这里插入图片描述
RAPR请求格式同ARP一致,只是某些位的内容需要变化。
帧类型:0x8035
操作字段op:请求为3,应答为4

方式

当一个主机需要将MAC地址映射为IP地址时,会以广播的形式,向网络上的所有主机发送RAPR请求,这点同ARP请求一样。但是不一样的是请求的响应。RAP请求只会有一个主机响应,而RARP请求则会被当前网络中的所有主机响应。所以,源主机可能会受到多条回复,此时,会以第一次收到的响应为准。

tcpdump命令实例

在这里插入图片描述
第一行
第一行是发送者发送的数据。其中 8:0:20:3:f6:42 表示源主机MAC地址,而 ff:ff:ff:ff:ff:ff 表示广播,该消息会发送给当前网路上的所有主机。 rarp表示该数据帧的数据类型为RARP,60表示消息长度为60。 后面的rarp表示rarp请求。
who-is 8:0:20:3:f6:42 tell 8:0:20:3:f6:42,按照英足字面意思理解就是,告诉8:0:20:3:f6:42 谁是 8:0:20:3:f6:42 ,也就是说,8:0:20:3:f6:42 的IP地址是多少。
第二行
开头同第一行相同,但是数据长度却是42,小于以太网帧长度。
这是因为tcpdump命够获取到这些数据是通过BSD分组过滤器在驱动程序处接收来的。而BSD会rarpd(逆地址解析协议程序) 将带有以太网帧数据头和数据内容的数据返回给tcpdump命令。此时,驱动程序还未像数据中添加空白的填充字符。
rarp reply表示该条消息是rarp应答。8:0:20:3:f6:42 at sun 表示8:0:20:3:f6:42 的IP地址是 sun,次处使用主机名代替了IP地址。
第三行
此例中的rarp操作时发送在无盘操作系统启动时,当主机获取到自己的IP地址后,就会通过TFTP请求,来请求读取配置文件,该条消息就是做的该操作。

超时

rarp请求可能会超时,由于rarp请求的作用是请求IP地址,而IP地址在网络通信中是不能省略地,所以,rarp请求会被不断地发送,直到获得结果。
但是此过程中,超时时间会在不断变化,每次超时后,超时时间都会增加一个固定值,直至超时时间超过某个阈值后,又会变化为最小的超时时间,如此循环。

RARP服务器

RARP服务器的作用就是为无盘系统系统提供从MAC地址到IP地址的映射。

但是,与ARP协议不同,MAC到IP的映射关系一般存储在磁盘上的文件中,所以RARP协议需要读取文件。但是内核一般是不会读取文件的,所以RARP服务器不能像ARP协服务器一样作为内核的一部分,在内核中实现,而是需要通过用户空间的应用程序来完成。

此时,就需要系统级别的支持,支持用户空间的进程接收和发送特定的以太网帧数据,所以RARP服务器的运行对系统拥有依赖性。

与RAP请求不同,ARP请求只会有一个应答,而RARP请求则不同,如果网络中存在多个个服务器,则RARP请求就会被回复多次,不仅会导致网络中的流量增减,还可能会产生同时回复的网络冲突问题。

习题

如何防止一个有多个RAPR服务器的网络上防止他们之间的响应冲突
为服务器分级,有主服务器和从服务器。主服务器用于回复RARP响应,当主服务器宕机时,RAPR请求会重复发送,而此时再由次RAPR服务器回复。
也就是,主服务器回复首次接收到的RARP请求,而次RARP服务器回复重复的RAPR请求。

** RARP需要不同的帧类型字段吗?ARP和RARP都使用相同的值0x0806吗?**
理论上时不需要的,因为有OP字段描述了该条消息的类型。
但实际上时有的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值