Date post: | 03-Jan-2016 |
Category: |
Documents |
Upload: | philippa-parker |
View: | 229 times |
Download: | 1 times |
DHCP - Managed Configuration of TCP/IP
Hosts
Dr. Ralph DromsBucknell [email protected]
DHCP - Managed Configuration of TCP/IP
Hosts
Dr. Ralph DromsBucknell [email protected]
From RFC2131:
The Dynamic Host Configuration Protocol (DHCP) provides a framework for passing configuration information to hosts on a TCP/IP network. DHCP consists of two components: a protocol for delivering host-specific configuration parameters from a DHCP server to a host and a mechanism for allocation of network addresses to hosts.
Purpose of DHCPPurpose of DHCP
A host without a valid IP address locates and communicates with a DHCP serverA DHCP server passes configuration parameters, including an IP address, to the hostThe DHCP server may dynamically allocate addresses to hosts and reuse addressesHosts can detect when they require a new IP addressUnavailability of DHCP server has minimal effect on operation of hosts
DHCP Functional GoalsDHCP Functional Goals
Provides protocol stack, application and other configuration parameters to hostsEliminates need for individual, manual configuration for hostsIncludes administrative controls for network administratorsBackward compatible packet format for BOOTP interoperation (RFC 1542)Can coexist with hosts that have pre-assigned IP addresses and hosts that do not participate in DHCP
What Does DHCP Do?What Does DHCP Do?
Eliminate manual configuration of hostsPrevent use of any IP address by more than one hostShould not require a server on every subnetAllow for multiple serversProvide a mechanism, not a policyProvide same configuration - including IP address - to a host whenever possible
Design GoalsDesign Goals
Plug-and-playMove clients/desktop PCs between officesRenumberOther restructuring - change subnet masksMobile IP - laptopsMoving equipment - cartable
What Can You Do With DHCP?What Can You Do With DHCP?
Support multiple addresses per interfaceInform running host that parameters have changedPropagate new addresses to DNS (yet!)Support inter-server communication (yet!)Provide authenticated message delivery (yet!)
What DHCP Doesn’t DoWhat DHCP Doesn’t Do
DHCP purpose and goalsBackground and history of DHCP
- Origin of DHCP
- Specification documents
- Protocol statusOperational detailsUsing DHCP
OutlineOutline
Internet Engineering Task Force (IETF)Dynamic Host Configuration Working Group (DHC WG)BootP
What Is DHCP and Where Does It Come From?
What Is DHCP and Where Does It Come From?
Formal process for development, review and acceptance of TCP/IP protocol suite standardsInitial specifications published as Internet Drafts (I-Ds)Accepted specifications published as Request for Comments (RFCs)
IETF StandardsIETF Standards
DHCP has been accepted as a Draft Standard; the specifications are published in:
- RFC 2131: Dynamic Host Configuration Protocol- RFC 2132: DHCP Options and BOOTP Vendor
Extensions- RFC 1534: Interoperation between DHCP and
BOOTP- RFC 1542: Clarifications and Extensions for the
Bootstrap ProtocolSeveral additional options are in development
Protocol StatusProtocol Status
DHCP is an open standard, with freely available specificationsCan be (and has been) implemented entirely from the specificationCommercial implementations are widely availableNon-commerical implementations are also available
Implementation StatusImplementation Status
Compilation of DHCP-related WWW links and other information:
http://www.bucknell.edu/~droms/dhcp/index.htmlDHCP FAQ (maintained by John Wobus): http://web.syr.edu/~jmwobus/comfaqs/[email protected] mailing list (admin requests to [email protected])IETF information can be retrieved from:
http://www.ietf.cnri.reston.va.usI-Ds and RFCs can also be retrieved from:
http://ds.internic.net
DHCP ResourcesDHCP Resources
DHCP purpose and goalsBackground and history of DHCPOperational details
- Server function- Address allocation and leases- Message sequences- Options
Using DHCP
OutlineOutline
Provide a variety of mechanisms for controlled configurationCan override default parameters from Host Requirements“Classing” for individualized configuration of new hosts
Server Manages Client ConfigurationsServer Manages Client Configurations
Static (BOOTP): client must be pre-configured into databaseAutomatic: server can allocate new address to clientDynamic: server can allocate and reuse addresses
Address AllocationAddress Allocation
Dynamic addresses are allocated for a period of time known as the leaseClient is allowed to use the address until the lease expiresClient MUST NOT use the address after the lease expires, even if there are active connections using the addressServer MUST NOT reuse the address before the lease expires
LeasesLeases
An IP internet may not always be completely operational; there may not always be connectivity between any two hosts, so:
- Can’t use distributed (client-based) assignment of addresses- Can’t use “address defense” before server
reuse of addressesLeases guarantee an agreement as to when an address may be safely reused even if the server can’t contact the client
Motivation for LeasesMotivation for Leases
Server MAY choose to reuse an address by reassigning it to a different client after the lease has expiredServer can check using ICMP echo to see if the address is still in use (but no response is not a definitive answer!)Allows address sharing
- From old computers replaced by new ones
- Among a pool of computers not always using TCP/IP
- For transient hosts like laptops
Address ReuseAddress Reuse
Clients check on address validity at reboot time (renumbering)Clients can extend the lease on an address at startup timeClients can extend the lease on an address as expiration time approaches (without closing and restarting existing connections)Clients with addresses that have been configured manually can use DHCP to obtain other configuration parameters
Address Allocation DetailsAddress Allocation Details
INIT - acquire an IP address and configuration informationINIT-REBOOT - confirm validity of previously acquired address and configurationRENEWING - extend a lease from the original serverREBINDING - extend a lease from any server
Four Ways a Client Uses DHCPFour Ways a Client Uses DHCP
Client broadcasts DISCOVER to locate serversServer chooses address and returns in OFFERClient selects a server and sends REQUEST for addressServer commits allocation and returns ACK with address and other parametersClient can now use configured address
Client Server
DISCOVER
OFFER
REQUEST
ACK
Obtaining A New AddressObtaining A New Address
Client puts address in REQUEST and broadcastsServer checks validity and returns ACK with parameters
Client Server
REQUEST
ACK
Rebooting ClientRebooting Client
Client puts requested lease extension in REQUEST and sends to serverServer commits extension and returns ACK with parameters
Client Server
REQUEST
ACK
Renewing ClientRenewing Client
Client puts requested lease extension in REQUEST and broadcastsServer commits extension and returns ACK
Client Server
REQUEST
ACK
Rebinding ClientRebinding Client
Client broadcasts INFORMServer returns ACK with parameters
Client Server
INFORM
ACK
Client With Externally Configured AddressClient With Externally Configured Address
Using hardware and IP broadcast still limits DHCP message from client to single physical networkRelay agent can retransmit DHCP message to a remote serverServer replies to relay agent, which retransmits the message to the DHCP clientRelay agent and server exchange messages using unicast UDP
- Servers can be located anywhere on organization’s internet
- Servers can be centrally located for ease of administration
Relay AgentsRelay Agents
Client and server are on different physical networksClient and relay agent are on same physical networkRelay agent retransmits broadcast from client and response from server
Client Server
REQUEST
ACKRelay agent
REQUEST
ACK
Illustration of Relay AgentIllustration of Relay Agent
Identical to BOOTP relay agents (except for ‘broadcast flag’)Very simple in function and implementation
- Stateless; all information carried in DHCP messages- Needs to examine only a couple of header
fields, not the entire DHCP message and options
Usually, but not necessarily, located in routersMore than one relay agent on a physical network is OK
Implementation of Relay AgentsImplementation of Relay Agents
DHCP purpose and goalsBackground and history of DHCPOperational detailsUsing DHCP
- Using multiple servers- Lease times and strategies- Some scenarios for using DHCP- Integrated DHCP/IP address
management tools
OutlineOutline
Client behavior is designed to accommodate multiple serversUsing multiple servers can provide reliability through redundancy
- UDP does not guarantee delivery- Server may be down
All coordination must be managed by DHCP administrator
- Distributed database- Off-line batch updates- Manually
Using Multiple ServersUsing Multiple Servers
Split address pool for each subnet among serversCoordinate leases off-lineReallocate addresses when needed
Strategies For Using Multiple ServersStrategies For Using Multiple Servers
Choice of lease times made by DHCP administratorLong lease times decrease traffic and server load, short lease times increase flexibilityShould choose lease time allow for server unavailability
- Allows clients to use old addresses- For example, long enough to span
weekendsCan use management tools to differentiate between desktop computers, cartable systems and laptops
Lease Times and StrategiesLease Times and Strategies
Fresh out-of-the-box systemsRenumberingChanging other parametersMoving to new locationReplacing a system
ScenariosScenarios
500 new computers show up on loading dock Friday afternoonSoftware loaded, network cards installed - all ready to goBut... these systems go to six different departments in three different buildings
New SystemsNew Systems
Make sure network infrastructure is in place
- Routers (correctly configured)- Network addresses- Subnet masks- DHCP servers
Configure DHCP management with class identifiers (if desired)Plug them in...
New Systems - DHCP SolutionNew Systems - DHCP Solution
Network administrator may have to change IP addresses across significant parts of an enterprise internet
- Change in subnet numbering scheme- Change of ISP- Restructuring of internal
network architectureWant to minimize downtime
RenumberingRenumbering
Set up plan for renumbering- New network architecture- Network addresses, server
addresses- Timing of cutovers
Force DHCP clients to contact server for notification about new address
- Set short leases- Require all clients be rebooted
Renumbering - DHCP SolutionRenumbering - DHCP Solution
Use FQDNs for servers; when servers move, DHCP clients will find new IP addressesRebooting, although not elegant, probably most reliableSchedule subnet cutover for overnight or weekend, force reboot through “alternate protocol” (e.g.., e-mail to all users)
Renumbering - DHCP SolutionRenumbering - DHCP Solution
Other configuration parameters such as print servers may changeReconfigure DHCP server with new parametersAt next reconfirmation, clients will get new addressesUse INFORM on computers that get IP addresses through some other mechanism
Changing Other Configuration ParametersChanging Other Configuration Parameters
User may get moved to a new location on a different subnetUser may arrange to move computer system without contacting network administratorDHCP will allocate address for new locationWhat about old lease?
- New server can notify network administrator about address allocation
- Client can issue RELEASE before moving from old location
Moving A Client To A New LocationMoving A Client To A New Location
User may get new computer on desktopNetwork administrator wants to allocate same IP address to the new computerBut, new computer will have different hardware address Use client id as system identifier and transfer to new system
Replacing A SystemReplacing A System