05-10-2012, 01:51 PM
Dynamic Host Configuration Protocol (DHCP)
Dynamic Host.pdf (Size: 172.24 KB / Downloads: 192)
Dynamic Assignment of IP addresses
• Dynamic assignment of IP addresses is desirable for several
reasons:
– IP addresses are assigned on-demand
– Avoid manual IP configuration
– Support mobility of laptops
• Three Protocols:
– RARP (until 1985, no longer used)
– BOOTP (1985-1993)
– DHCP (since 1993)
• Only DHCP is widely used today.
Solutions for dynamic assignment of IP addresses
• Reverse Address Resolution Protocol (RARP)
– RARP is no longer used
– Works similar to ARP
– Broadcast a request for the IP address associated
with a given MAC address
– RARP server responds with an IP address
– Only assigns IP address (not the default router and
subnetmask)
BOOTP
• BOOTstrap Protocol (BOOTP)
• Host can configure its IP parameters at boot time.
• 3 services.
– IP address assignment.
– Detection of the IP address for a serving machine.
– The name of a file to be loaded and executed by the client
machine (boot file name)
– Not only assigns IP address, but also default router,
network mask, etc.
– Sent as UDP messages (UDP Port 67 (server) and 68
(host))
– Use limited broadcast address (255.255.255.255):
• These addresses are never forwarded
DHCP
• Dynamic Host Configuration Protocol (DHCP)
– Designed in 1993
– An extension of BOOTP (Many similarities to BOOTP)
– Same port numbers as BOOTP
– Extensions:
• Supports temporary allocation (“leases”) of IP addresses
• DHCP client can acquire all IP configuration parameters
– DHCP is the preferred mechanism for dynamic assignment
of IP addresses
– DHCP can interoperate with BOOTP clients.
BOOTP/DHCP
• OpCode: 1 (Request), 2(Reply)
Note: DHCP message type is sent in an option
• Hardware Type: 1 (for Ethernet)
• Hardware address length: 6 (for Ethernet)
• Hop count: set to 0 by client
• Transaction ID: Integer (used to match reply to response)
• Seconds: number of seconds since the client started to boot
• Client IP address, Your IP address, server IP address,
Gateway IP address, client hardware address, server
host name, boot file name:
client fills in the information that it has, leaves rest blank