DHCP By group MLK
DHCP Overview, Motivation, History and Standards (Marga) • Technological evolution • RARP – static allocation, lookup IP from table • BOOTP – static allocation, IP, Gateway, Name server • The Need for Dynamic Address Assignment • Portable computers increased • Scarcity of address space
Overview (con’t) DHCP: Building on BOOTP's Strengths • BOOTP as foundation Two major components: • An address allocation mechanism • A protocol that allows clients to request, and servers to provide, configuration information. Overview of DHCP Features • Support BOOTP clients • Support automatic, manual, and dynamic allocation of IP address • Provides various configuration parameters to internet hosts • Assigns each client with a network address for a finite lease • Supports a Relay Agent • Minimal human intervention
Overview (con’t) DHCP supports three mechanisms: • Manual Allocation: Pre-assigns an address to a specific device • Dynamic Allocation: Assigns address for a time-limited allocation or lease A client may: • Extend its lease with subsequent requests. • Ask for a permanent assignment by asking for an infinite lease • Issue a message to release the address back to the server when the client no longer needs the address. • Automatic Allocation: Assigns a permanent address to a client
DHCP Leases, Lease Length Policies and Management DHCP Lease Length Policy and Choosing Lease Durations Long Leases: + Relatively stable addresses of devices - Substantially increases amount of time of no longer needed addresses until it can be reused Short Leases: + Conserve addresses - Constantly-changing addresses Common Lease Durations • One Hour or Less • One Day • Three Days • One Week • One Month • Three Months • One Year
DHCP Leases (con’t) Assigning Lease Length By Client Type • Different lease lengths for certain clients Considering Lease Renewal and Lease Length Selection • Long vs. Short Leases Issues With "Infinite" Leases • Infinite leases can never be recovered -- not a great idea
DHCP Lease "Life Cycle” Overview Allocation: A client begins with no active lease Reallocation: Confirms the lease and acquired operating parameters each time a client reboots Normal Operation: Once a lease is active, the client functions normally, using its assigned IP address and other parameters Renewal: Renewal process after a certain portion of lease time expired Rebinding: If renewal with the original leasing server fails, then the client will try to rebind to any active DHCP server Release: The client may decide at any time that it no longer wishes to use the IP address it was assigned, and may terminate the lease, releasing the IP address.
Renewal and Rebinding Timers Renewal Timer (T1): This timer is set by default to 50% of the lease period. When it expires, the client will begin the process of renewing the lease. It is simply called “T1” in the DHCP standards. Rebinding Timer (T2): This timer is set by default to 87.5% of the length of the lease. When it expires, the client will try to rebind. It is given the snappy name “T2” in the DHCP standards.
DHCP Lease Address Pools, Ranges (Scopes) and Address Management Address Pool Size Selection • Number of clients • Stability and Frequency of Use of Clients • Consequences of Over-Allocation Lease Address Ranges (Scopes) • Scope - A range of IP addresses that the DHCP server can assign to clients that are on one subnet. Simple Address Assignment For a Single Scope
DHCP Lease Address Pools (con’t) Address Assignment With Multiple Scopes • Overlapping scopes allows multiple servers to assign any address from the same pool. Figure:DHCP Multi-Server Non-Overlapping Scopes • Overlapping and Non-Overlapping Scopes
Responsibilities (Laszlo) Request Response • Client – Server relationship Client Server ??? ??? Reply Reply
Server Responsibilities Main function Client configuration • Parameter storage and management • Centralized ownership • Addresses & other configuration parameters (options) • Client specific storage (lookup by subnet & MAC) • Lease Management • Respond to client requests • Administration
Client Responsibilities Main function Obtain configuration • Initiation • Client is active, server is passive • Using UDP, connectionless Retransmit if needed • Parameter management • Track parameters, some or all from server • Lease management • Track status, proactive for renewals, rebinding, etc.
Life Cycle – Client FSM • Processes • Allocation • Reallocation • Renewal • Rebinding
Process: Allocation Can I offer? Should I respond? Special request? This is optional, uses ICMP echo Accept first offer or wait and ‘shop around?’ Chosen server ID ( rejections) Requested IP address Additional parameters requested Or DHCPNAK, if IP no longer available Uses ARP, if fails, send DHCPDECLINE
Process: Reallocation Must broadcast, server may be gone Or send DHCPNAK if lease expired
Process: Renewal & Rebinding Renewal timer, 50% length of lease Rebinding timer 87.5% length of lease unicast • DHCPACK, client goes to BOUND • DHCPNAK, client goes to INIT Agrees to extend lease, or DHCPNAK otherwise
Process: Early Lease Termination Normal state: extend lease indefinitely So, why terminate? • Host moved to a different network • Renumber IPs in network • Get new lease with different server • Reset lease to fix problem Send DHCPRELEASE to server, the server does not respond
Process: Parameters for Non-DHCP addresses (Not a lease process) Can be a client itself
DHCP Messaging, Message Types and Formats (Kent) Message Types: • DHCPDISCOVER • DHCPOFFER • DHCPREQUEST • DHCPACK • DHCPNAK • DHCPDECLINE • DHCPRELEASE • DHCPINFORM
Messaging Formats Can use these fields for ‘Options Overloading’
Option Categories • Vendor Extensions For certain types of hardware that might require • additional information to be passed from the server to the • client in order for the client to boot up. • For Example: • TagNameMeaning • 1 Subnet Mask A 32-bit subnet mask being supplied for the client to use on the current network. • 3 Router Specifies a list of 32-bit router addresses for the client to use on the local network. • 7 Log Server Specifies a list of MIT-LCS UDP log server addresses for the client to use on the local network.
Option Categories (con’t) • IP Layer Parameters Per Host Parameters that control the operation of the • Internet Protocol on a host, which affect the host as a whole and are not interface-specific. • For Example: • TagNameMeaning • 19 Forward On/Off A value 1 turns on IP forwarding (that is, routing) on client that is capable of the function, a value of 0 turns it off. • 23 Default IP TTL Specifies the default value that the client should use for the Time To Live field creating IP datagrams. • 22 MAX DG Assembly Tells the client the size of the largest datagram that the client should be prepared to reassemble.
Option Categories (con’t) • Application And Service Parameters Parameters used to configure or control • the operation of various miscellaneous applications or services. • For Example: • TagNameMeaning • 70 POP3-Server Specifies a list of IP addresses of POP3 servers the client may use. • 72 WWW-Server Specifies a list of IP addresses World Wide Web (HTTP) servers the client may use. • 74 IRC-Server Specifies a list of IP addresses of Internet Relay Chat servers the client may use.
Option Categories (con’t) • DHCP Extensions Parameters that are DHCP-specific, and used to control • the operation of the DHCP protocol itself. • For Example: • TagNameMeaning • 50 Address Request Used in a client’s DHCPDISCOVER message to request a particular IP address • 51 Address Time Used in a client request to ask a server for a particular DHCP lease duration, or in a server reply to tell the offered lease time. • 53DHCP Message Type Indicates the specific type of DHCP message.
Message Transport • Use of UDP • Client use port number 67 for requests. • Servers use port number 68 for reply. • Servers replies either by broadcast to a client reserved port number or unicast. • Client retransmit message if there is no response in a set period of time.
DHCP Server Implementation • It is common for a hardware server to provide DHCP services along with performing other functions rather than having a dedicated computer. • Choice of operating system dictates options for DHCP server software. • Two or more servers are often used in practice because of maintenance or malfunctions. • Decide which network to place DHCP server. • Decide size of address pool and lease decision policies. • Treat DHCP server as a database server.
Conflict Detection Problem: The need to prevent duplicate assignment of the same address if a network has multiple DHCP servers. Conflict Detection Operation: A server replying sends a ICMP Echo (ping) message to an IP address. If it receives a response, repeat actions until there is no response. Then reply with DHCPOFFER.
Security Issues Potential Security Problems: • Unauthorized DHCP Servers. • Unauthorized DHCP Clients. Adding Security to DHCP: • Layer 1 security should be in place by having complete control over the physical access to the network.
References • The TCP/IP Guide. Charles M. Kozierok. Version 3. 2 December 2006. <http://www.tcpipguide.com/free/t_TCPIPDynamicHostConfigurationProtocolDHCP.htm> • Comer, Douglas E. Internetworking with TCP/IP. 5th ed. Upper Saddle River, NJ: Pearson Prentice Hall, 2006.