530 likes | 1.04k Views
The Dynamic Host Configuration Protocol (DHCP). A Guide to TCP/IP. Objectives. After reading this chapter and completing the exercises you will be able to: Understand the basic services DHCP offers to its clients Explain DHCP’s background, history, and origins
E N D
The Dynamic Host Configuration Protocol (DHCP) A Guide to TCP/IP Chapter 8
Objectives After reading this chapter and completing the exercises you will be able to: • Understand the basic services DHCP offers to its clients • Explain DHCP’s background, history, and origins • Describe the basic software components that permit DHCP to function Chapter 8
Objectives After reading this chapter and completing the exercises you will be able to: • Understand the specifics of IP address management using DHCP • Read and understand basic DHCP message types • Explain and configure basic settings for DHCP services Chapter 8
Introducing DHCP • DHCP is a service that permits network administrators to set up servers to allocate and manage collections of IP addresses for workstations, desktop computers, and other client machines that do not require fixed IP addresses • DHCP can also supply important IP configuration data for clients, including the subnet mask, the local IP gateway (router) address, and even DNS and WINS data, where needed or appropriate Chapter 8
Introducing DHCP • DHCP servers can manage one or more ranges of IP addresses, each of which may be called an address pool (if considered as a range of available addresses from which unused addresses may be allocated), or an address scope (if considered as a range of numeric IP addresses that fall under DHCP’s control)
Introducing DHCP • Here’s a brief rundown of how DHCP works, from a client perspective: • When TCP/IP is configured on the client computer, the Obtain an IP address automatically option button is the only necessary set-up element. Everything is automatic • The next time the workstation attempts to access the network (older versions of Windows must be rebooted first), it broadcasts a DHCP address request to the network because it has no IP address, but is now configured as a DHCP client. All DHCP servers present on the same cable segment or broadcast domain receive this request, and send back a message that indicates a willingness to grant an address lease, if an address is available Chapter 8
DHCP’s Origins • The DHCP protocol is an extension of an earlier IP protocol called BOOTP • BOOTP was originally developed to permit diskless workstations to bootstrap from a Programmable Read-Only Memory (PROM) or Erasable PROM (EPROM) on their network interface cards Chapter 8
DHCP Software Elements • Three pieces of software that work together define a complete DHCP networking environment: • DHCP client • DHCP server • DHCP relay agent • Please note that most other DHCP requests—such as lease renewals or surrenders—occur as unicast messages because as soon as a machine obtains an IP address and a default IP gateway address, it is able to communicate directly with the DHCP server and no longer needs an intermediary Chapter 8
DHCP Lease Types • A DHCP server recognizes three types of address leases: • Manual: With a manual lease, the administrator explicitly assigns all IP addresses manually • Automatic: The DHCP server permanently assigns certain IP addresses • Dynamic: The DHCP server assigns addresses for specific periods of time Chapter 8
More About DHCP Leases • Here’s a brief explanation of why dynamic address leasing is the best practice presently used for clients: • Server addresses are advertised using the DNS, which resolves domain names into IP addresses, and vice versa • DNS is not a dynamic environment so all address updates must be entered manually • Client addresses usually come into play only when e-mail addresses of the form user@domain.name must be resolved. E-mail servers can resolve this information when clients connect so dynamic address resolution works perfectly well for clients Chapter 8
More About DHCP Leases • A typical IP addressing scheme on a network might look like this: • Servers have fixed IP addresses because their DNS entries must stay consistent • Routers (or IP gateways, be they routers or other machines) have fixed IP addresses because their addresses are key parts of any subnet’s IP configuration • Clients use dynamic IP addresses because e-mail access through POP3, SMTP, and IMAP4 avoids the need for fixed addresses (resolution occurs each time a message transfer is made) Chapter 8
Understanding IP Address Management with DHCP • When a DHCP client has no IP address (booting for the first time, or after a lease expires), it must broadcast a request for an IP address to obtain one—this process is called DHCP Discovery • DHCP servers that can hear this discovery broadcast offer an IP address to a client for a specific amount of time (the lease time) • The default DHCP lease time varies according to which server is used (eight days for Windows 2000 and 36 hours for Windows NT 4.0, for example) Chapter 8
Understanding IP Address Management with DHCP • In the middle of the lease time, the client starts a renewal process to determine if it can keep the address past the lease time • If the client cannot renew the address from that DHCP server within the stipulated lease period, that client must begin the more desperate process of renewing the address from another DHCP server • This is called the rebinding process • If rebinding fails, a client must completely release its address Chapter 8
Understanding IP Address Management with DHCP • The DHCP Discovery process relies on the initial DHCP broadcast • Naturally, routers do not forward these discovery broadcasts so the entire discovery process is a local process • There must be a DHCP server on the local network segment • Because it is impractical to place a DHCP server on every network segment, the DHCP specification includes the relay agent process to help route the DHCP discovery broadcasts to another network segment Chapter 8
The Standard Address Discovery Process • When a DHCP client boots up, it performs the Standard Address Discovery process before it can communicate on the network • After the process completes successfully, the DHCP client tests the IP address using a duplicate IP address ARP broadcast Chapter 8
The Standard Address Discovery Process • The DHCP Discovery process actually uses four packets: • DHCP Discover packet • DHCP Offer packet • DHCP Request packet • DHCP Acknowledge packet Chapter 8
The Discover Packet • During the DHCP Discovery process, the client broadcasts a Discover packet that identifies the client’s hardware address • If the DHCP client was on the network before, the client also defines a preferred address—typically the client prefers the last address it used • In the DHCP Discover packet shown in Figure 8-3, the Message Type value is one—this indicates that this packet is a DHCP Discover packet • The Client Identifier field value is based on the client’s hardware address Chapter 8
DHCP Discover Packet Is Always Sent as a Hardware and IP Broadcast Chapter 8
The Offer Packet • The DHCP server sends the Offer packet to offer an IP address to the DHCP client • The Offer packet includes the IP address that is offered to the client, and sometimes answers to the requested options in the DHCP Discover packet • Note in the IP address field that the DHCP server offers 10.1.0.2 to the client Chapter 8
DHCP Offer Packet Includes the Suggested IP Address for the DHCP Client Chapter 8
The Request Packet • Once the Offer packet is received, the client can either accept the offer by issuing a DHCP Request packet, or reject the offer by sending a DHCP Decline packet • Typically, a client only sends a Decline if it received more than one Offer Chapter 8
DHCP Client May List Additional Configuration Parameters in the DHCP Request Packet Chapter 8
The Acknowledgement Packet • The Acknowledgement packet is sent from the server to the client to indicate the completion of the four-packet DHCP Discovery process • This response contains answers to any options to which the DHCP server replies Chapter 8
The Acknowledgement Packet • The Acknowledgement packet shown in Figure 8-6 includes some answers to the client’s request for information, as listed below: • The client subnet mask is 255.255.0.0 • The client’s default gateway address is 10.0.0.1 • The client’s DNS server address is 10.0.0.1 Chapter 8
The Address Renewal Process • When a DHCP client receives an address from a DHCP server, the client also receives a lease time and notes the time that the address was received The Renewal Time (T1) • T1 is defined as the time that the client tries to renew its network address by contacting the DHCP server that sent the original address to the client Chapter 8
The Address Renewal Process The Rebinding Time (T2) • T2 is defined as the time that the client begins to broadcast a renewal request hoping that another DHCP server can extend the lease time • The DHCP client continues to retry the rebinding process until one minute from the lease expiration time • If the client is unsuccessful in renewing the lease, it must give up the address at the expiration of the lease time, and reinitialize Chapter 8
DHCP Timeline Includes the Lease Time (LT), Renewal Time (T1), and Rebinding Time (T2) Chapter 8
DHCP Client Begins Advertising an Address of 0.0.0.0 When It Gives Up Its IP Address Chapter 8
The DHCP Address Release Process • Although not required by the specification, the client should release its address by sending a DHCP Release packet to the server (called the release process) Chapter 8
DHCP Packet Structures • Figure 8-9 shows the standard DHCP packet structure Chapter 8
DHCP Packet Structures Operation Code Field • This 1-byte field indicates whether this packet is a DHCP request (0x01) or DHCP reply (0x02) Hardware Type Field • This 1-byte field identifies the hardware address type, and matches the values assigned for ARP hardware type definitions Hardware Length Field • This 1-byte field indicates the length of the hardware address Chapter 8
DHCP Packet Structures Hops Field • This field is set to zero by the client, and may be used by relay agents as they assist a client in obtaining an IP address and/or configuration information Transaction ID Number Field • This 4-byte field contains a random number selected by the client, and is used to match requests and responses between the client and server Chapter 8
DHCP Packet Structures Seconds Since Boot Field • This 2-byte field indicates the number of seconds that elapsed since the client began requesting a new address, or renewal of an existing address Flags Field • The first bit of the 2-byte Flags field can be toggled to one to indicate that the DHCP client cannot accept unicast MAC layer datagrams before the IP software is completely configured Chapter 8
DHCP Packet Structures Client IP Address Field • The DHCP client fills in this 4-byte field with its IP address after it is assigned and bound to the IP stack Your IP Address Field • This 4-byte field contains the address being offered by the DHCP server Server IP Address Field • This 4-byte field contains the IP address of the DHCP server to use in the boot process Chapter 8
DHCP Packet Structures Gateway IP Address Field • This 4-byte field contains the address of the DHCP relay agent, if one is used Client Hardware Address Field • This 16-byte field contains the hardware address of the client Chapter 8
DHCP Packet Structures Server Host Name Field • This 64-byte field can contain the server host name, but such information is optional • This field can contain a null-terminated string (all zeroes) Boot File Field • This field contains an optional boot filename or null-terminated string Chapter 8
DHCP Options Fields • DHCP options are used to expand the data that is included in the DHCP packet Chapter 8
DHCP Options Chapter 8
DHCP Options Chapter 8
DHCP Option 53: Message Type • This required option indicates the general purpose of any DHCP message • As you may recall, the DHCP boot sequence uses the following message types: • DHCP Message Type 1: Discover (client to server) • DHCP Message Type 2: Offer (server to client) • DHCP Message Type 3: Request (client to server) • DHCP Message Type 4: ACK (server to client) Chapter 8
Broadcast and Unicast in DHCP • As you examine DHCP communications, you will note they use a strange mix of broadcast and unicast addressing • DHCP clients must use broadcast until obtaining IP addresses through a successful completion of the Discovery, Offer, Request, and Acknowledgement processes Chapter 8
DHCP Relay Agents • The relay agent function is typically loaded on a router connected to the segment containing DHCP clients • This relay agent device is configured with the address of the DHCP server, and can communicate unicast directly with that server Chapter 8
DHCP Relay Agents • Figure 8-11 shows the communication sequence on a network that supports a DHCP relay agent Chapter 8
Microsoft DHCP Scopes and Classes • Microsoft uses the term scope to define a set of IP addresses that the Windows 2000 DHCP server can assign to clients • Microsoft refers to a collection of multiple individual scopes as a superscope Chapter 8
The Future of DHCP • As IPv6 development and deployment move forward, DHCP’s role changes significantly • One of the great advantages of IPv6 is autoconfiguration—IPv6 hosts can create local IP addresses using their hardware addresses and the Neighbor Discovery process Chapter 8
Troubleshooting DHCP • The best way to troubleshoot DHCP is with an analyzer—compare a problematic boot up sequence with the standard four-packet boot up sequence Chapter 8
Troubleshooting DHCP • You can release and/or renew an IP address using the following commands: • ipconfig/release - Releases the IP address for the specified adapter • ipconfig/renew – Renews the IP address for the specified adapter Chapter 8
Summary • DHCP provides a way for computers to obtain usable, unique IP addresses and necessary TCP/IP configurations even when no IP addresses were assigned to those machines • From the administrative side, DHCP makes is easy to define and manage pools of IP addresses, which Microsoft calls a scope in the singular and a superscope in the plural Chapter 8
Summary • DHCP’s origins lie in an earlier TCP/IP Application layer protocol, called BOOTP, used to enable diskless workstations to boot remotely across a network • DHCP supports three types of address allocation: manual, in which administrators directly manage all addresses; automatic, in which relatively static address assignments may be made under DHCP’s control; and dynamic, in which addresses are allocated with explicit expiration intervals called leases Chapter 8
Summary • DHCP supports a wide variety of message types and options, but only Message Type 53 (DHCP Message) is mandatory for any given DHCP message • A protocol analyzer is especially effective when diagnosing DHCP difficulties, particularly those related to the DHCP boot sequence, because it can display the sequence of messages that occurs on a network, which may then be compared to the usual, prescribed sequence Chapter 8