What is BOOTP, and how does it differ from DHCP?
BOOTP (Bootstrap Protocol) is DHCP's predecessor — it does static IP assignment from an admin-defined table. DHCP added dynamic leasing, more options, and lease renewal.
Historical context:
- BOOTP (1985) — used to boot diskless workstations: get an IP and the URL of a boot image
- DHCP (1993) — extended BOOTP with dynamic leasing, automatic recovery, more configuration options
The relationship:
DHCP is wire-compatible with BOOTP — both use the same packet format and the same UDP ports (67/68). This is why Wireshark labels DHCP packets with the "Bootstrap Protocol" dissector. A DHCP server can answer BOOTP clients and vice versa (with limited features).
Key differences:
| Feature | BOOTP | DHCP |
|---|---|---|
| Address assignment | Static (manually configured per MAC) | Dynamic (lease pool) |
| Lease | Permanent | Time-limited, renewable |
| Options | Limited | 200+ (DNS, gateway, NTP, vendor-specific…) |
| Discovery | Single request/reply | DORA (4 steps) |
| Renewal | None — restart | T1/T2 timers |
Why you still see "BOOTP" in Wireshark:
Wireshark uses the original protocol name in some menus. The actual messages are DHCP-style — but the packet structure is BOOTP at heart. Look at "Bootp flags" — that's DHCP using BOOTP's reserved fields.
Where BOOTP still matters:
- PXE boot (network booting) uses BOOTP/DHCP for OS installation
- Some legacy industrial systems still use pure BOOTP
- Embedded devices with minimal stacks
Tip: When debugging "why won't this device get an IP?", check whether you're dealing with BOOTP-only mode — newer DHCP options (like custom domain) won't be processed by a strict BOOTP client.
Go deeper:
Bootstrap Protocol (Wikipedia) — BOOTP's role booting diskless hosts and how DHCP extended it wire-compatibly.
RFC 951 — BOOTP — the 1985 spec whose packet format DHCP still reuses.