Barr Hibbs Implementation Issues with RFC 2131, "Dynamic Host Configuration Protocol" Internet Draft 2003 2 24
RFC2131 Dynamic Host Configuration Protocol 11300J083
Implementation Issues with RFC 2131, "Dynamic Host Configuration Protocol <draft-ietf-dhc-implementation-00.txt> 2003/2/24 ; Barr Hibbs RFC2131 RFC2131 RFC2131
RFC951 (1) BOOTP BOOTstrap Protocol RFC951 TCP/IP BOOTP IP DNS DHCP
RFC951 (2) 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 op (1) htype (1) hlen (1) hops (1) xid (4) secs (2) -- (2) ciaddr (4) yiaddr (4) siaddr (4) giaddr (4) chaddr (16) sname (64) File (128) vend (64) hlen Hardware address length 10mb ethernet 6(byte) htype Hardware address type 10mb ethernet 1 chaddr Client hardware address ethernet MAC BOOTP
RFC951 (3) 10mb ethernet htype '1' hlen 6bytes = 48bits chaddr MAC ADDRESS
RFC2131 (1) DHCP Dynamic Host Configuration Protocol IP
RFC2131 (2) 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 op (1) htype (1) hlen (1) hops (1) xid (4) --(unused) flags Flags secs (2) flags (2) ciaddr (4) yiaddr (4) siaddr (4) giaddr (4) chaddr (16) sname (64) file (128) ciaddr Client IP address ARP vend options Optional parameters field options (variable) DHCP
RFC2131 (3) DHCPDISCOVER DHCPOFFER DHCPREQUEST DHCPACK DHCPNAK DHCPRELEASE DHCPDISCOVER (a) (b) (c) DHCP
RFC2131 (4) Begins initialization DHCPDISCOVER DHCPDISCOVER Determines configuration DHCPOFFER Determines configuration DHCPOFFER Collects replies Selects configuration DHCPREQUEST DHCPREQUEST Commits configuration DHCPACK Initialization complete DHCP Graceful shutdown DHCPRELEASE Discards lease
RFC2131 (5) INIT-REBOOT -/ Send DHCPREQUEST INIT DHCPACK/ Record lease, set timers T1, T2 DHCPNAK/ Restart REBOOTING DHCPOFFER/ Discard DHCPOFFER, DHCPACK, DHCPNAK/Discard / DHCPNAK/ Discard offer DHCPACK (not accept.)/ Send DHCPDECLINE REQUESTING DHCPACK/ Record lease, set timers T1, T2 BOUND T1 expires/ Send DHCPREQUEST to leasing server Select offer/ Send DHCPREQUEST DHCPACK/ Record lease, set timers T1, T2 DHCPACK/ Record lease, set timers T1, T2 RENEWING -/ Send DHCPDISCOVER SELECTING DHCPOFFER/ Collect replies REBINDING T2 expires/ Broadcast DHCPREQUEST DHCP DHCPACK, Lease expired/ Halt network DHCPNAK/ Halt network
RFC2131 RFC2131
DHCP Client Identifier(1) DHCP 1. client identifier DHCP Option 61 [RFC2132] 2. BOOTPREQUEST chaddr client identifier client identifier 'chaddr'
DHCP Client Identifier(2) chaddr DNS
DHCP Client Identifier(3) RFC2131 htype / chaddr type-value DHCP chaddr
DHCPREQUEST DHCPREQUEST INIT INIT-REBOOT REBINDING RENEWING
DHCPRELEASE(1) DHCPRELEASE IP MUST NOT MUST NOT MAY DHCP DHCPRELEASE ID MAY ID MUST NOT ID MUST MUST NOT MUST NOT SHOULD MUST NOT MUST NOT DHCPRELEASE "hostname"
DHCPRELEASE(2) DHCPRELEASE 'op' BOOTREQUEST 'htype' "Assigned Numbers" RFC 'hlen' 'hops' 0 'xid' 'secs' 0 'flags' 0 'ciaddr' 'yiaddr', 'siaddr', 'giaddr' 0 'chaddr' 'sname' 'file' 'options' DHCPRELEASE MUST NOT
(1) RFC2131 4.2 4.3 RFC1541
(2) DHCP
(3) BOOTP DHCP BOOTP 300bytes BOOTP relay agent RFC951 RFC2131 RFC951 300bytes DHCP BOOTP
(4) ciaddr BOOTP IP ciaddr ARP RFC2131 DHCPINFORM DHCPREQUEST ciaddr
RFC2131
RFC951 Bootstrap Protocol http://www.geocities.co.jp/heartland/7630/rfc 951j.txt RFC2119 Key words for use in RFCs to Indicate Requirement Levels RFC2131 Dynamic Host Configuration Protocol http://www.bekkoame.ne.jp/~poetlabo/libra RY/rfc2131j.txt