为何RARP请求采用广播而非单播?已知收发MAC地址
为什么RARP请求要用广播而非单播?
核心原因很直白:发起RARP请求的主机既没有自己的IP地址,也不知道RARP服务器的IP地址,单播根本无法实现。具体拆解如下:
- 单播的前提完全缺失:单播需要明确的目标IP地址,但刚启动的主机(比如无盘工作站)没有配置IP,也没有任何途径预先获知RARP服务器的IP。它只知道自己的MAC地址,而RARP请求是发给能提供IP的服务器的——所谓“明确目标MAC”是误解,RARP请求的目标MAC其实是链路层广播地址
ff:ff:ff:ff:ff:ff,发送方MAC才是主机自身的。 - 服务器发现的必要手段:广播能覆盖整个局域网段,让所有潜在的RARP服务器都收到请求。如果用单播,主机根本不知道该把请求发给哪个设备,自然无法获取IP地址。
- 协议栈的底层限制:RARP是在网络层未就绪时工作的协议,主机此时还没有IP,只能依赖链路层的广播机制来触达服务器。而RARP服务器收到请求后,会用单播回复(因为服务器能从请求帧里拿到主机的MAC地址,封装单播帧返回IP)。
内容的提问来源于stack exchange,提问作者Rama Siva Subrahmanyam
相关产品推荐
相关产品推荐

