Concepts•Jun 2026•3 min read

Bootp vs Rarp

BOOTP and RARP both hand an IP address to a booting machine, but only one of them earned a future. The verdict on two legacy network bootstrap protocols.

The short answer

Bootp over Rarp for most cases. BOOTP carried a full configuration payload (IP, gateway, boot server, filename) over routable UDP, so it crossed subnets and became the direct ancestor of DHCP.

  • Pick Bootp if studying how network bootstrap actually works, tracing DHCP's lineage, or maintaining anything that touched PXE — BOOTP is the real branch of the family tree
  • Pick Rarp if reading a 1984 RFC for historical curiosity or supporting a fossilized diskless workstation that somehow still boots. Otherwise, never
  • Also consider: Neither belongs in a new deployment. In practice you run DHCP, which absorbed everything BOOTP did and made RARP irrelevant. Pick these only as learning artifacts, not as live infrastructure.

— Nice Pick, opinionated tool recommendations

What they actually are

Both solve the same chicken-and-egg problem: a freshly booted, diskless machine knows its hardware (MAC) address but not its IP. RARP (Reverse ARP, RFC 903, 1984) flips the ARP question — it broadcasts 'here is my MAC, tell me my IP.' That's all it does. One answer, nothing else. BOOTP (Bootstrap Protocol, RFC 951, 1985) showed up a year later and looked at RARP's single trick with open contempt. It returns the IP plus the subnet mask, default gateway, the boot server's address, and the boot filename — a whole configuration in one exchange. RARP answers a question; BOOTP provisions a machine. Same era, same problem, wildly different ambition. One of these protocols was thinking about the next ten years and one was thinking about the next packet.

The layer-2 cage that killed RARP

RARP's fatal flaw is architectural, not cosmetic. It rides directly on top of the link layer — it is not a UDP/IP service, it is its own Ethernet frame type. That means RARP cannot be routed. A RARP request dies at the first router it meets, so every single subnet needs its own RARP server holding the MAC-to-IP table. In a building with twenty VLANs that's twenty servers and twenty hand-maintained tables. BOOTP runs over UDP/IP and supports relay agents, so one central server handles the whole network across subnet boundaries. This is the difference between a protocol that scales and a protocol that makes you copy a config file to every closet. RARP wasn't unlucky; it was built in a cage and never tried to leave.

Lineage decides it

Follow the bloodline and the argument ends. BOOTP didn't just beat RARP — it became the foundation of DHCP. DHCP is, quite literally, BOOTP with extensions: the same packet format, the same UDP ports (67/68), backward compatibility with BOOTP relays, and the 'vendor extensions' field repurposed into DHCP options. Every IP address your laptop has ever leased traces back through DHCP to the BOOTP packet structure. RARP's descendants? There are none worth naming. It was so thin that even its narrow job got swallowed whole. When you can draw a straight inheritance line from a 1985 protocol to the thing running on every network on Earth in 2026, and the competitor left no heirs at all, the comparison is not close.

When either still shows up

You will not deploy these on purpose. Where they surface is legacy: old PXE boot chains reference BOOTP semantics, some embedded and diskless-workstation firmware from the SPARC/Sun era spoke RARP, and CCNA-style coursework still drags both out to explain how DHCP got here. If you're debugging an ancient netboot setup and see RARP traffic, treat it as a sign you're in a time capsule, not a system to extend — migrate it to DHCP. BOOTP knowledge is at least transferable because DHCP inherited its shape; RARP knowledge is trivia. Learn BOOTP to understand the network you actually run. Learn RARP only to appreciate why nobody runs it anymore. Both are retired; only one retired with a legacy.

Quick Comparison

FactorBootpRarp
Data returnedFull config: IP, mask, gateway, boot server, boot filenameIP address only
Network layerUDP/IP — routable, supports relay agents across subnetsLink layer — cannot be routed, one server per subnet
Legacy / lineageDirect ancestor of DHCP (same ports, packet format)Dead end, no surviving descendants
ScalabilityOne central server for the whole networkPer-subnet server with hand-maintained MAC tables
Relevance todayConceptually alive via DHCP and PXEMuseum-grade trivia

The Verdict

Use Bootp if: You are studying how network bootstrap actually works, tracing DHCP's lineage, or maintaining anything that touched PXE — BOOTP is the real branch of the family tree.

Use Rarp if: You are reading a 1984 RFC for historical curiosity or supporting a fossilized diskless workstation that somehow still boots. Otherwise, never.

Consider: Neither belongs in a new deployment. In practice you run DHCP, which absorbed everything BOOTP did and made RARP irrelevant. Pick these only as learning artifacts, not as live infrastructure.

Bootp vs Rarp: FAQ

Is Bootp or Rarp better?

Bootp is the Nice Pick. BOOTP carried a full configuration payload (IP, gateway, boot server, filename) over routable UDP, so it crossed subnets and became the direct ancestor of DHCP. RARP could only return an IP, ran at the link layer, and died. One evolved; the other is a museum exhibit.

When should you use Bootp?

You are studying how network bootstrap actually works, tracing DHCP's lineage, or maintaining anything that touched PXE — BOOTP is the real branch of the family tree.

When should you use Rarp?

You are reading a 1984 RFC for historical curiosity or supporting a fossilized diskless workstation that somehow still boots. Otherwise, never.

What's the main difference between Bootp and Rarp?

BOOTP and RARP both hand an IP address to a booting machine, but only one of them earned a future. The verdict on two legacy network bootstrap protocols.

How do Bootp and Rarp compare on data returned?

Bootp: Full config: IP, mask, gateway, boot server, boot filename. Rarp: IP address only. Bootp wins here.

Are there alternatives to consider beyond Bootp and Rarp?

Neither belongs in a new deployment. In practice you run DHCP, which absorbed everything BOOTP did and made RARP irrelevant. Pick these only as learning artifacts, not as live infrastructure.

🧊
The Bottom Line
Bootp wins

BOOTP carried a full configuration payload (IP, gateway, boot server, filename) over routable UDP, so it crossed subnets and became the direct ancestor of DHCP. RARP could only return an IP, ran at the link layer, and died. One evolved; the other is a museum exhibit.

Related Comparisons

Disagree? nice@nicepick.dev