Is a separate frame type field required for RARP? Could the same value be used for ARP and RARP 0x0806?
A separate frame type is not an absolute requirement, since the op field in Figure 4.3 has a different value for all four operations (ARP request, ARP reply, RARP request, and RARP reply). But the implementation of an RARP server, separate from the kernel's ARP server, is made easier with the different frame type field .
With multiple RARP servers on a network, how can they prevent their responses from colliding with each on the network?
Each RARP server can delay for a small random time before sending a response.