240 likes | 593 Views
DHCP. Dynamic Host Configuration Protocol. CIS 856: TCP/IP and Upper Layer Protocols Presented by Kyle Getz October 20, 2005. Motivation for DHCP. Configuration parameters for network hosts IP address Router Subnet Mask Many more… Before DHCP Manual assignment RARP BOOTP.
E N D
DHCP Dynamic Host Configuration Protocol CIS 856: TCP/IP and Upper Layer Protocols Presented by Kyle Getz October 20, 2005
Motivation for DHCP • Configuration parameters for network hosts • IP address • Router • Subnet Mask • Many more… • Before DHCP • Manual assignment • RARP • BOOTP
DHCP Features • Protocol for providing configuration parameters to hosts over network • Dynamic allocation of IP addresses • Minimal human intervention
Sample Network DHCP Server DHCP Clients UDP Port 68 UDP Port 68 UDP Port 68 UDP Port 67 Router Internet
Preliminaries • (DHCP) Message = DHCP-PDU (A-PDU) • Client = DHCP Client • Server = DHCP Server • Well-known port numbers • DHCP Server: UDP port 67 • DHCP Client: UDP port 68 • No ephemeral ports • Broadcast and unicast used for PDU’s in both directions • “Broadcast”: link and IP addresses are broadcast • “Unicast”: link and IP addresses are unicast
Client attempts to discover available DHCP servers DHCPDISCOVER DHCPDISCOVER Servers reply with offers DHCPOFFER DHCPOFFER Client broadcasts request for one of the received offers DHCPREQUEST DHCPREQUEST Server acknowledges client’s use of IP address DHCPACK Client explicitly releases use of IP address DHCPRELEASE Initial Message Flow Server A Client Server B Client collects offers and decides which offer to accept Configuration complete Graceful shutdown
Lease Renewal Times (Client) • T1 < T2 < Lease time • T1 default value = 1/2 of lease time • T2 default value = 7/8 of lease time • Communicated via DHCPOFFER, DHCPACK • Client actions when times elapse • T1: client must renew address with the DHCP server • T2: client must renew address with any DHCP server • Lease time: client must stop using IP address
Client unicasts request to continue using IP address DHCPREQUEST Server acknowledges request and updates lease DHCPACK Client unicasts request to continue using IP address DHCPREQUEST Client broadcasts request to continue using IP address DHCPREQUEST DHCPREQUEST Server acknowledges request and updates lease DHCPACK Renewal Message Flow Server A Client Server B T1 elapses Configuration complete T1 elapses T2 elapses Configuration complete
DHCPNAK/ Stop using IP address RENEWING DHCPNAK, Lease expires/ Stop using IP address T2/Broadcast DHCPREQUEST REBINDING DHCPACK/Set T1,T2 DHCPNAK/ Discard offer DHCPACK (in use)/ DHCPDECLINE DHCPACK/Set T1,T2 T1/ Unicast DHCPREQUEST -/DHCPDISCOVER REQUESTING Select offer/DHCPREQUEST DHCPACK/Set T1,T2 SELECTING BOUND DHCPOFFER/ Process offer Client FSM (Simplified) INIT
Retransmissions • Client responsible for all retransmissions • Retransmission strategy • Exponential backoff • Randomized • Recommendations • Base delay doubled for each retransmission • Random number picked from [-1,+1] • Maximum base delay: 64 seconds
Server Storage • Permanent storage • Pool of available IP addresses • Local configuration parameters • Mapping between clients and leases • Flexibility concerning storage update • When DHCPOFFER sent • When DHCPACK sent
DHCP PDU Format 32 Bits Magic Cookie
DHCP Options Magic Cookie: 4 bytes Option format: 1 byte 1 byte Length bytes Subnet Mask: One-byte options: 0 Padding 255 End of options
Another Sample Network DHCP Clients Internet Relay Agent within Router DHCP Server
Relay Agents • Remove restriction of having DHCP server on every network • Listen for DHCP messages and transmit them to appropriate machine • Client to server relay • Broadcast from client ® Unicast to server(s) • Server to client relay • Broadcast from server ® Broadcast to client • Unicast from server ® Unicast to client
Advanced Topics • Lease times • Dynamic DNS • Reliability • Security
Lease Times • Anywhere from 15 minutes – 1 year • Common lease times & rationales • 15 minutes: Maximum number of addresses free • 3 days: Microsoft default • 4 months: Students can keep lease over summer • Tradeoff
Dynamic DNS • If IP address changes due to DHCP, DNS entry is wrong • Client or server can update DNS • Option 81: Client FQDN 1 byte 1 byte “Length” bytes
Reliability • Two synchronized DHCP servers on the same network: Primary, Secondary • Permanent storage constantly communicated • Failure: Secondary server takes over Primary Server Secondary Server DHCP Clients
Security • Potentially unauthorized clients • Malicious client could exhaust address pool • Malicious server (Rogue server) • Supply incorrect configuration parameters • Supply malicious configuration parameters