Network Layer · Computer Networks

SVGVector Architecture Diagram (SVG)
COMPUTER NETWORKS · Module 3★ High PriorityBootstrap Protocol (BOOTP)IT Sem 6 · Code 100602 · Boot configuration over UDPMNEMONICBOOTP = RARP upgraded: UDP/IP, server port 67, client port 68, relay agent crosses routers.Delivers IP + mask + gateway + TFTP boot file, but from a static table.Core BreakdownOverviewRFC 951 (1985): client-server application protocol over UDP/IP.Server listens on UDP port 67, client on UDP port 68.Relay agentA router (Cisco ip helper-address) turns the local broadcastinto a unicast and sets giaddr to its interface IP.Hub serverOne BOOTP server can serve hundreds of branch subnets.No more one-server-per-wire problem that RARP had.Full configClient IP, subnet mask and default gateway in one exchange.Also TFTP server address and boot file name for the kernel.MessageOpcode, HType, HLen, Hops, xid, secs, flags, four IP fields.Then chaddr 16 B, sname 64 B, file 128 B, vend 64 B.LimitationStatic mapping only: /etc/bootptab lists every MAC to a fixed IP.Unknown laptops get nothing; 1,000 users need 1,000 addresses.Diagram: Relay AgentClientsubnet 1RouterRelay AgentBOOTPserverBroadcast UDP 67Unicast IPRelay fills giaddr = its own interface IPServer listens UDP 67Client listens UDP 68Message fields (fixed layout):Opcode 1=req 2=replyxid transaction IDciaddr yiaddr siaddr giaddrchaddr 16B sname 64B file 128B vend 64BGives IP, mask, gateway, TFTP boot fileLimit: static MAC-to-IP table only⚠️ Exam Traps & Viva Favorites① Which ports and transport?UDP. Server listens on port 67 and the clientreceives on port 68. Mnemonic: server 67,client 68.② How does relay work?Router catches the client broadcast, fills giaddrwith its own interface IP and forwards a unicastIP datagram to the remote BOOTP server.③ BOOTP vs DHCP?BOOTP: static manual MAC-to-IP table, no leases.DHCP: dynamic pool with leases and automaticreclaim of addresses.Tip: BOOTP = static, DHCP = dynamicMaster Revision Table(learn it row by row!)FieldSizePurposeFilled byOpcode1 byte1 = boot request, 2 = boot replyClient / serverxid4 bytesTransaction ID matches reply to requestClientciaddr / yiaddr4 bytes eachClient current IP / your (assigned) IPClient / serversiaddr / giaddr4 bytes eachServer IP / relay gateway IPServer / relaychaddr16 bytesClient hardware (MAC) addressClientsname / file / vend64 / 128 / 64 BServer name, boot file path, optionsServerQUICK FACTSBOOTP RFC 951 (1985) · relay agent RFC 1542 · UDP 67 server, 68 clientDelivers IP, subnet mask, default gateway, TFTP server and boot file nameStatic /etc/bootptab only, which led directly to DHCP dynamic leasesVERIFIED★ Golden rule: BOOTP crosses routers viaa relay, but its table is static.

Bootstrap Protocol (BOOTP)


1. Overview and Evolution

The Bootstrap Protocol (BOOTP) (RFC 951) was developed in 1985 as a major architectural upgrade over the obsolete RARP protocol.

While RARP was trapped at the Data Link layer and could provide only an IP address, BOOTP operates as a Client-Server Application Layer protocol over UDP/IP:

  • UDP Port 67: BOOTP Server listens on Port 67.
  • UDP Port 68: BOOTP Client listens on Port 68.
MermaidDiagram
Rendering diagram…

2. Solving RARP's Limitations

BOOTP resolved both of RARP's fatal flaws:

1. Traversing Routers via BOOTP Relay Agent (RFC 1542)

Because BOOTP messages are encapsulated inside standard UDP and IP datagrams, routers equipped with a Relay Agent (such as Cisco ip helper-address) can intercept client broadcast packets on local subnets, convert them into unicast IP packets, and forward them across intermediate routers to a centralized BOOTP server:

MermaidDiagram
Rendering diagram…

(One central server can now service hundreds of branch subnets, eliminating the need for a server per wire!)

2. Comprehensive Network Configuration

In a single exchange, BOOTP delivers:

  • Client IP Address.
  • Subnet Mask.
  • Default Gateway (Router) IP.
  • TFTP Server IP Address & Bootfile Name (allowing the client to download its operating system kernel via Trivial File Transfer Protocol).

3. BOOTP Message Format

SVGVector Architecture Diagram (SVG)
Opcode (1) HType (1) HLen (6) Hops (0) Transaction ID (xid) Secs (0) Flags (0) Client IP Address (ciaddr) Your Client IP Address (yiaddr) Server IP Address (siaddr) Gateway IP Address (giaddr) Client Hardware Address (chaddr - 16 bytes) Server Host Name (sname - 64 bytes) Boot File Name (file - 128 bytes) Vendor-Specific Options (vend - 64 bytes)

4. Key Limitations of BOOTP

Despite its advantages over RARP, BOOTP had one significant limitation:

  • Static Mapping Only:
    • The administrator had to manually edit a database file (/etc/bootptab) mapping every device's MAC address to a permanent, static IP address.
    • If an unknown mobile laptop plugged into the network, BOOTP could not assign it an IP address.
    • IP addresses were tied permanently to devices, meaning an organization with 1,000 employees but only 200 concurrent users still needed 1,000 IP addresses.

This led directly to the development of DHCP, which extended the BOOTP message format to add dynamic address pooling and temporary leases.


Frequently Asked Questions

QWhat transport layer protocol and port numbers are used by BOOTP?

BOOTP runs over UDP; Server listens on Port 67, Client receives on Port 68.

QHow does a BOOTP Relay Agent work?

When a client broadcasts a BOOTP request on its local subnet, a router acting as a BOOTP Relay Agent catches the broadcast, populates the giaddr field with its own interface IP, and forwards the packet as a unicast IP datagram to the remote BOOTP server.

QWhat is the primary difference between BOOTP and DHCP?

BOOTP uses static, manual MAC-to-IP configuration tables without temporary leasing. DHCP supports dynamic IP allocation from a pool with automatic address reclamation via leases.

QHow did BOOTP improve on RARP?

BOOTP runs over UDP/IP so relay agents can carry requests across routers to one central server, and it returns the full configuration (IP, subnet mask, default gateway, TFTP server and boot file) instead of just an IP address.

Official AppAndroid App

PYQDeck for Android

Solve BEU previous-year exam papers anywhere, anytime. Fast search, offline paper viewing, and step-by-step solutions designed specifically for your phone.

← All Computer Networks modules