CIS 856: TCP/IP and Upper Layer Protocols Karthik Ravindra Nov 11, 2008 Dynamic Host Configuration Protocol [DHCP] - RFC 2131
Internet Router Boot Server DNS Server File Server ee:ee:ee:ee:ee:01ee:ee:ee:ee:ee:03ee:ee:ee:ee:ee:04 Diskless Workstations Where am I? ee:ee:ee:ee:ee:02 What’s my IP Who has my boot file? Where is my boot file? Motivation
RARP Provides IP Address for the diskless computer However –RARP is a user process but works over link layer directly RARP server and system must be on same network –Returns only IP address Booting and configuration parameters not returned Host needs ICMP to complete booting Can’t relay RARP requests to a central server.
BOOTP
Port 67/UDPPort 68/UDP ee:ee:ee:ee:ee:02 | ff:ff:ff:ff:ff:ff | | 68 BOOTP PDU BOOTREQUEST ee:ee:ee:ee:ee:02 | ee:ee:ee:ee:ee: | | 68 BOOTP PDU BOOTREPLY BOOTP Client (A) BOOTP UDPIPEthernet Is server name my name? Do I know the host with server name? I’ll discard this PDU I’ll unicast this PDU to the host who has server name after updating the gateway interface address field Is server name local? Is client IP address ? Optional Is client hardware address in our DB? I’ll create the BOOTREPLY PDU and send to the client YES NO YES BOOTP Server (B) ee:ee:ee:ee:ee:02 ee:ee:ee:ee:ee:05 DD DSSSSDDDSS S D Source Destination BOOTP Operation
Is server name my name? Do I know the host with server name? I’ll discard this PDU I’ll unicast this PDU to the host who has server name after updating the gateway interface address field Is server name local? Is client IP address ? Optional Is client hardware address in our DB? I’ll create the BOOTREPLY PDU and send to the client YES NO YES NO Identify the limitation ?
Router Boot Server DNS Server File Server I don’t know, I’ve never seen you here before. New Roaming Client What is my network configuration? ee:ee:ee:ee:ee:01 ee:ee:ee:ee:ee:02 ee:ee:ee:ee:ee:03 ee:ee:ee:ee:ee:04 Internet Identify the limitation ?
Purpose of DHCP –Automates the assignment of unique IP addresses, subnet masks, default gateways, and other IP parameters to individual computers and devices on the network. –Reduces the work necessary to administer a large IP (Internet Protocol) network. DHCP lets a network administrator supervise and distribute IP addresses from a central point and automatically sends a new IP address when a computer is plugged into a different place in the network.
DHCP Address Allocation Manual allocation Automatic allocation Dynamic allocation
DHCP as compared to BOOTP Is an extension of BOOTP. Allows diskless clients configure automatically. Centralizes and manages the allocation of TCP/IP. Automatically assigns IP config settings M anually configured IP DHCP clients get IP config settings from DHCP server
Without DHCP Servers Administrative overhead –Need to keep track of all IP assignments –Need to manually enter IP settings Bad or duplicate IP addresses –Mistakes will happen! Moving between subnets –Need to manually change IP settings
DHCP Operation Phases DCHP DISCOVER DCHP OFFER
DHCP Operation DCHP DISCOVER At this time, the DHCP client can start using the IP address Renewing a Lease
DHCP Operation DCHP RELEASE At this time, the DHCP client has released the IP address
Initial Message Flow Server AClientServer B Client attempts to discover available DHCP servers DHCPDISCOVER Servers reply with offers DHCPOFFER Client collects offers and decides which offer to accept Client broadcasts request for one of the received offers DHCPREQUEST Server acknowledges client’s use of IP address DHCPACK Configuration complete Client explicitly releases use of IP address DHCPRELEASE Graceful shutdown
Renewal Message Flow Server AClientServer B Client unicasts request to continue using IP address DHCPREQUEST Server acknowledges request and updates lease DHCPACK Client broadcasts request to continue using IP address DHCPREQUEST Server acknowledges request and updates lease DHCPACK Configuration complete T1 elapses Client unicasts request to continue using IP address DHCPREQUEST T2 elapses Configuration complete
Client FSM (Simplified) INIT SELECTING -/DHCPDISCOVER DHCPOFFER/ Process offer REQUESTING Select offer/DHCPREQUEST BOUND DHCPACK/Set T1,T2 RENEWING T1/ Unicast DHCPREQUEST REBINDING T2/Broadcast DHCPREQUEST DHCPNAK/ Stop using IP address DHCPNAK, Lease expires/ Stop using IP address DHCPACK (in use)/ DHCPDECLINE DHCPNAK/ Discard offer
Relay Agents
DHCP Pros Reduces a great deal of manual configuration work. Mobility of devices between networks and to automatically obtain valid configuration parameters for the current network can be of great benefit. Because IP addresses are only allocated when clients are actually active, it is possible to reduce the total number of addresses in use in an organization.
DHCP Cons Potentially unauthorized clients Malicious client could exhaust address Malicious server (Rogue server) –Supply incorrect configuration parameters –Supply malicious configuration parameters
BOOTP allows default router, subnet mask, DNS DHCP allows dynamic allocation DHCP is backward compatible with BOOTP Summary
DHCP PDUUse DHCPDISCOVER Client broadcast to find its local servers DHCPOFFER Server response to client offering configuration parameters DHCPREQUEST Client broadcast requesting offered parameters DHCPDECLINE Client to server notification that IP address is in use DHCPACK Server response to client confirming a request DHCPNAK Server response to client denying a request DHCPRELEASE Client notice to server on release of address DHCPINFORM Client request to server for additional configuration parameters DHCP PDU Types
Figure 17-5 DHCP transition diagram
Exchanging messages