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 Features
 Protocol for providing configuration
parameters to hosts over network
 Dynamic allocation of IP addresses...
Sample Network
Router
Internet
DHCP
Server
UDP Port
68
UDP Port
68
UDP Port
68
UDP Port
67
DHCP
Clients
Preliminaries
 (DHCP) Message = DHCP-PDU (A-PDU)
 Client = DHCP Client
 Server = DHCP Server
 Well-known port numbers
...
Initial Message Flow
Server A Client Server B
Client attempts to discover
available DHCP serversDHCPDISCOVE
R
DHCPDISCOVE
...
DHCP Message Types
DHCP
Message
Use
DHCPDISCOVER Client broadcast to locate available servers
DHCPOFFER Server to client r...
Lease Renewal Times (Client)
 T1 < T2 < Lease time
 T1 default value = 1/2 of lease time
 T2 default value = 7/8 of lea...
Renewal Message Flow
Server A Client Server B
Client unicasts request to
continue using IP addressDHCPREQUES
T
Server ackn...
Client FSM (Simplified)
INIT
SELECTIN
G
-/DHCPDISCOV
ER
DHCPOFFER/
Process offer
REQUESTIN
G
Select
offer/DHCPREQUEST
BOUN...
Retransmissions
 Client responsible for all retransmissions
 Retransmission strategy
 Exponential backoff
 Randomized
...
Server Storage
 Permanent storage
 Pool of available IP addresses
 Local configuration parameters
 Mapping between cli...
Server Logic (Simplified)
Event Action Taken
DHCPDISCOVER
If current lease for client exists, send DHCPOFFER
Else, if IP a...
DHCP PDU Format
32 Bits
Operation Code Hardware Type Hardware Length Hop Count
Transaction ID
Seconds Elapsed B Must Be Ze...
DHCP Options
255 End of options
Code Length Data
1 byte 1 byte Length bytes
0 Padding
1 4 255 255 255 0
Subnet Mask:
99 13...
Another Sample Network
Router Internet
DHCP
Server
DHCP
Clients
Relay Agent
within
Relay Agents
 Remove restriction of having DHCP server on
every network
 Listen for DHCP messages and transmit them
to a...
Demonstration
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 addresse...
Dynamic DNS
 If IP address changes due to DHCP, DNS
entry is wrong
 Client or server can update DNS
 Option 81: Client ...
Reliability
 Two synchronized DHCP servers on the same
network: Primary, Secondary
 Permanent storage constantly communi...
Security
 Potentially unauthorized clients
 Malicious client could exhaust address pool
 Malicious server (Rogue server...
Upcoming SlideShare
Loading in …5
×

DHCP

2,269 views

Published on

Dynamic Host Configuration Protocol is used to assign IP address To various Clients Requesting it. It uses BOOTP protocol but it also provides dynamic configurations..Various Uses Are mentioned In the slide..This u will find helpful and find interesting..

Published in: Education, Technology
  • Be the first to comment

DHCP

  1. 1. DHCP Dynamic Host Configuration Protocol CIS 856: TCP/IP and Upper Layer Protocols Presented by Kyle Getz October 20, 2005
  2. 2. Motivation for DHCP  Configuration parameters for network hosts  IP address  Router  Subnet Mask  Many more…  Before DHCP  Manual assignment  RARP  BOOTP
  3. 3. DHCP Features  Protocol for providing configuration parameters to hosts over network  Dynamic allocation of IP addresses  Minimal human intervention
  4. 4. Sample Network Router Internet DHCP Server UDP Port 68 UDP Port 68 UDP Port 68 UDP Port 67 DHCP Clients
  5. 5. 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
  6. 6. Initial Message Flow Server A Client Server B Client attempts to discover available DHCP serversDHCPDISCOVE R DHCPDISCOVE R Servers reply with offers DHCPOFFE R DHCPOFFE R Client collects offers and decides which offer to accept Client broadcasts request for one of the received offersDHCPREQUES T DHCPREQUES T Server acknowledges client’s use of IP addressDHCPAC K Configuration complete Client explicitly releases use of IP addressDHCPRELEA SE Graceful shutdown
  7. 7. DHCP Message Types DHCP Message Use DHCPDISCOVER Client broadcast to locate available servers DHCPOFFER Server to client response offering configuration parameters DHCPREQUEST Client broadcast requesting offered parameters DHCPDECLINE Client to server notification that IP address is in use DHCPACK Server to client response confirming a request DHCPNAK Server to client response denying a request DHCPRELEASE Client to server request to relinquish IP address DHCPINFORM Client to server request for configuration parameters
  8. 8. 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
  9. 9. Renewal Message Flow Server A Client Server B Client unicasts request to continue using IP addressDHCPREQUES T Server acknowledges request and updates leaseDHCPACK Client broadcasts request to continue using IP addressDHCPREQUES T DHCPREQUES T Server acknowledges request and updates leaseDHCPAC K Configuration complete T1 elapses T1 elapses Client unicasts request to continue using IP addressDHCPREQUES T T2 elapses Configuration complete
  10. 10. Client FSM (Simplified) INIT SELECTIN G -/DHCPDISCOV ER DHCPOFFER/ Process offer REQUESTIN G Select offer/DHCPREQUEST BOUN D DHCPACK/Set T1,T2 DHCPACK/Set T1,T2 DHCPACK/Set T1,T2 RENEWIN G T1/ Unicast DHCPREQUES T REBINDIN G T2/Broadcast DHCPREQUEST DHCPNAK/ Stop using IP addressDHCPNAK, Lease expires/ Stop using IP address DHCPACK (in use)/ DHCPDECLINE DHCPNAK/ Discard offer
  11. 11. 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
  12. 12. 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
  13. 13. Server Logic (Simplified) Event Action Taken DHCPDISCOVER If current lease for client exists, send DHCPOFFER Else, if IP address available, send DHCPOFFER Else, do nothing DHCPREQUEST If IP address available, send DHCPACK Else, send DHCPNAK DHCPDECLINE Mark IP address unavailable, notify network administrator DHCPRELEASE Mark IP address available, delete lease DHCPINFORM Send DHCPACK with configuration parameters Lease expiration Mark IP address available, delete lease
  14. 14. DHCP PDU Format 32 Bits Operation Code Hardware Type Hardware Length Hop Count Transaction ID Seconds Elapsed B Must Be Zero (MBZ) Client IP address Your IP address Server IP address Relay agent IP address Client hardware address (16 bytes) Server host name (64 bytes) Boot file name (128 bytes) Options (up to 312 bytes) Magic Cookie
  15. 15. DHCP Options 255 End of options Code Length Data 1 byte 1 byte Length bytes 0 Padding 1 4 255 255 255 0 Subnet Mask: 99 130 83 99Magic Cookie: Option format: One-byte options: 4 bytes
  16. 16. Another Sample Network Router Internet DHCP Server DHCP Clients Relay Agent within
  17. 17. 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
  18. 18. Demonstration
  19. 19. Advanced Topics  Lease times  Dynamic DNS  Reliability  Security
  20. 20. 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
  21. 21. Dynamic DNS  If IP address changes due to DHCP, DNS entry is wrong  Client or server can update DNS  Option 81: Client FQDN 81 Length Flags rcode1 rcode2 Name… 1 byte 1 byte “Length” bytes
  22. 22. Reliability  Two synchronized DHCP servers on the same network: Primary, Secondary  Permanent storage constantly communicated  Failure: Secondary server takes over Secondar y Server DHCP Clients Primary Server
  23. 23. Security  Potentially unauthorized clients  Malicious client could exhaust address pool  Malicious server (Rogue server)  Supply incorrect configuration parameters  Supply malicious configuration parameters

×