1: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2: <html lang="en"><head><title>ISC-DHCP-REFERENCES: ISC DHCP References Collection</title>
3: <meta http-equiv="Expires" content="Thu, 23 Jul 2009 00:21:33 +0000">
4: <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5: <meta name="description" content="ISC DHCP References Collection">
6: <meta name="keywords" content="ISC, DHCP, Reference Implementation">
7: <meta name="generator" content="xml2rfc v1.33 (http://xml.resource.org/)">
8: <style type='text/css'><!--
9: body {
10: font-family: verdana, charcoal, helvetica, arial, sans-serif;
11: font-size: small; color: #000; background-color: #FFF;
12: margin: 2em;
13: }
14: h1, h2, h3, h4, h5, h6 {
15: font-family: helvetica, monaco, "MS Sans Serif", arial, sans-serif;
16: font-weight: bold; font-style: normal;
17: }
18: h1 { color: #900; background-color: transparent; text-align: right; }
19: h3 { color: #333; background-color: transparent; }
20:
21: td.RFCbug {
22: font-size: x-small; text-decoration: none;
23: width: 30px; height: 30px; padding-top: 2px;
24: text-align: justify; vertical-align: middle;
25: background-color: #000;
26: }
27: td.RFCbug span.RFC {
28: font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;
29: font-weight: bold; color: #666;
30: }
31: td.RFCbug span.hotText {
32: font-family: charcoal, monaco, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;
33: font-weight: normal; text-align: center; color: #FFF;
34: }
35:
36: table.TOCbug { width: 30px; height: 15px; }
37: td.TOCbug {
38: text-align: center; width: 30px; height: 15px;
39: color: #FFF; background-color: #900;
40: }
41: td.TOCbug a {
42: font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, sans-serif;
43: font-weight: bold; font-size: x-small; text-decoration: none;
44: color: #FFF; background-color: transparent;
45: }
46:
47: td.header {
48: font-family: arial, helvetica, sans-serif; font-size: x-small;
49: vertical-align: top; width: 33%;
50: color: #FFF; background-color: #666;
51: }
52: td.author { font-weight: bold; font-size: x-small; margin-left: 4em; }
53: td.author-text { font-size: x-small; }
54:
55: /* info code from SantaKlauss at http://www.madaboutstyle.com/tooltip2.html */
56: a.info {
57: /* This is the key. */
58: position: relative;
59: z-index: 24;
60: text-decoration: none;
61: }
62: a.info:hover {
63: z-index: 25;
64: color: #FFF; background-color: #900;
65: }
66: a.info span { display: none; }
67: a.info:hover span.info {
68: /* The span will display just on :hover state. */
69: display: block;
70: position: absolute;
71: font-size: smaller;
72: top: 2em; left: -5em; width: 15em;
73: padding: 2px; border: 1px solid #333;
74: color: #900; background-color: #EEE;
75: text-align: left;
76: }
77:
78: a { font-weight: bold; }
79: a:link { color: #900; background-color: transparent; }
80: a:visited { color: #633; background-color: transparent; }
81: a:active { color: #633; background-color: transparent; }
82:
83: p { margin-left: 2em; margin-right: 2em; }
84: p.copyright { font-size: x-small; }
85: p.toc { font-size: small; font-weight: bold; margin-left: 3em; }
86: table.toc { margin: 0 0 0 3em; padding: 0; border: 0; vertical-align: text-top; }
87: td.toc { font-size: small; font-weight: bold; vertical-align: text-top; }
88:
89: ol.text { margin-left: 2em; margin-right: 2em; }
90: ul.text { margin-left: 2em; margin-right: 2em; }
91: li { margin-left: 3em; }
92:
93: /* RFC-2629 <spanx>s and <artwork>s. */
94: em { font-style: italic; }
95: strong { font-weight: bold; }
96: dfn { font-weight: bold; font-style: normal; }
97: cite { font-weight: normal; font-style: normal; }
98: tt { color: #036; }
99: tt, pre, pre dfn, pre em, pre cite, pre span {
100: font-family: "Courier New", Courier, monospace; font-size: small;
101: }
102: pre {
103: text-align: left; padding: 4px;
104: color: #000; background-color: #CCC;
105: }
106: pre dfn { color: #900; }
107: pre em { color: #66F; background-color: #FFC; font-weight: normal; }
108: pre .key { color: #33C; font-weight: bold; }
109: pre .id { color: #900; }
110: pre .str { color: #000; background-color: #CFF; }
111: pre .val { color: #066; }
112: pre .rep { color: #909; }
113: pre .oth { color: #000; background-color: #FCF; }
114: pre .err { background-color: #FCC; }
115:
116: /* RFC-2629 <texttable>s. */
117: table.all, table.full, table.headers, table.none {
118: font-size: small; text-align: center; border-width: 2px;
119: vertical-align: top; border-collapse: collapse;
120: }
121: table.all, table.full { border-style: solid; border-color: black; }
122: table.headers, table.none { border-style: none; }
123: th {
124: font-weight: bold; border-color: black;
125: border-width: 2px 2px 3px 2px;
126: }
127: table.all th, table.full th { border-style: solid; }
128: table.headers th { border-style: none none solid none; }
129: table.none th { border-style: none; }
130: table.all td {
131: border-style: solid; border-color: #333;
132: border-width: 1px 2px;
133: }
134: table.full td, table.headers td, table.none td { border-style: none; }
135:
136: hr { height: 1px; }
137: hr.insert {
138: width: 80%; border-style: none; border-width: 0;
139: color: #CCC; background-color: #CCC;
140: }
141: --></style>
142: </head>
143: <body>
144: <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table>
145: <table summary="layout" width="66%" border="0" cellpadding="0" cellspacing="0"><tr><td><table summary="layout" width="100%" border="0" cellpadding="2" cellspacing="1">
146: <tr><td class="header">ISC-DHCP-REFERENCES</td><td class="header">D. Hankins</td></tr>
147: <tr><td class="header"> </td><td class="header">ISC</td></tr>
148: <tr><td class="header"> </td><td class="header">May 2007</td></tr>
149: </table></td></tr></table>
150: <h1><br />ISC DHCP References Collection</h1>
151:
152: <h3>Copyright Notice</h3>
153:
154: <p>Copyright (c) 2006-2007,2009 by Internet Systems Consortium, Inc.
155: ("ISC")
156: </p>
157: <p>Permission to use, copy, modify, and distribute this software for
158: any purpose with or without fee is hereby granted, provided that the
159: above copyright notice and this permission notice appear in all
160: copies.
161: </p>
162: <p>THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
163: WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
164: MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR
165: ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
166: WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
167: ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
168: OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
169: </p>
170: <h3>Abstract</h3>
171:
172: <p>This document describes a collection of Reference material that
173: ISC DHCP has been implemented to.
174: </p><a name="toc"></a><br /><hr />
175: <h3>Table of Contents</h3>
176: <p class="toc">
177: <a href="#anchor1">1.</a>
178: Introduction<br />
179: <br />
180: <a href="#anchor2">2.</a>
181: Definition: Reference Implementation<br />
182: <br />
183: <a href="#anchor3">3.</a>
184: Low Layer References<br />
185: <a href="#anchor4">3.1.</a>
186: Ethernet Protocol References<br />
187: <a href="#anchor5">3.2.</a>
188: Token Ring Protocol References<br />
189: <a href="#anchor6">3.3.</a>
190: FDDI Protocol References<br />
191: <a href="#anchor7">3.4.</a>
192: Internet Protocol Version 4 References<br />
193: <a href="#anchor8">3.5.</a>
194: Unicast Datagram Protocol References<br />
195: <br />
196: <a href="#anchor9">4.</a>
197: BOOTP Protocol References<br />
198: <br />
199: <a href="#anchor10">5.</a>
200: DHCP Protocol References<br />
201: <a href="#anchor11">5.1.</a>
202: DHCPv4 Protocol<br />
203: <a href="#anchor12">5.1.1.</a>
204: Core Protocol References<br />
205: <a href="#anchor13">5.2.</a>
206: DHCPv6 Protocol References<br />
207: <a href="#anchor14">5.3.</a>
208: DHCP Option References<br />
209: <a href="#anchor15">5.3.1.</a>
210: Relay Agent Information Option Options<br />
211: <a href="#anchor16">5.3.2.</a>
212: Dynamic DNS Updates References<br />
213: <a href="#anchor17">5.3.3.</a>
214: Experimental: Failover References<br />
215: <a href="#anchor18">5.4.</a>
216: DHCP Procedures<br />
217: <br />
218: <a href="#rfc.references1">6.</a>
219: References<br />
220: <br />
221: <a href="#rfc.authors">§</a>
222: Author's Address<br />
223: </p>
224: <br clear="all" />
225:
226: <a name="anchor1"></a><br /><hr />
227: <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table>
228: <a name="rfc.section.1"></a><h3>1.
229: Introduction</h3>
230:
231: <p>As a little historical anecdote, ISC DHCP once packaged all the
232: relevant RFCs and standards documents along with the software
233: package. Until one day when a voice was heard from one of the
234: many fine institutions that build and distribute this software...
235: they took issue with the IETF's copyright on the RFC's. It
236: seems the IETF's copyrights don't allow modification of RFC's
237: (except for translation purposes).
238: </p>
239: <p>Our main purpose in providing the RFCs is to aid in
240: documentation, but since RFCs are now available widely from many
241: points of distribution on the Internet, there is no real need to
242: provide the documents themselves. So, this document has been
243: created in their stead, to list the various IETF RFCs one might
244: want to read, and to comment on how well (or poorly) we have
245: managed to implement them.
246: </p>
247: <a name="anchor2"></a><br /><hr />
248: <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table>
249: <a name="rfc.section.2"></a><h3>2.
250: Definition: Reference Implementation</h3>
251:
252: <p>ISC DHCP, much like its other cousins in ISC software, is
253: self-described as a 'Reference Implementation.' There has been
254: a great deal of confusion about this term. Some people seem to
255: think that this term applies to any software that once passed
256: a piece of reference material on its way to market (but may do
257: quite a lot of things that aren't described in any reference, or
258: may choose to ignore the reference it saw entirely). Other folks
259: get confused by the word 'reference' and understand that to mean
260: that there is some special status applied to the software - that
261: the software itself is the reference by which all other software
262: is measured. Something along the lines of being "The DHCP
263: Protocol's Reference Clock," it is supposed.
264: </p>
265: <p>The truth is actually quite a lot simpler. Reference
266: implementations are software packages which were written
267: to behave precisely as appears in reference material. They
268: are written "to match reference."
269: </p>
270: <p>If the software has a behaviour that manifests itself
271: externally (whether it be something as simple as the 'wire
272: format' or something higher level, such as a complicated
273: behaviour that arises from multiple message exchanges), that
274: behaviour must be found in a reference document.
275: </p>
276: <p>Anything else is a bug, the only question is whether the
277: bug is in reference or software (failing to implement the
278: reference).
279: </p>
280: <p>This means:
281: </p>
282: <ul class="text">
283: <li>To produce new externally-visible behaviour, one must first
284: provide a reference.
285: </li>
286: <li>Before changing externally visible behaviour to work around
287: simple incompatibilities in any other implementation, one must
288: first provide a reference.
289: </li>
290: </ul>
291: <p>That is the lofty goal, at any rate. It's well understood that,
292: especially because the ISC DHCP Software package has not always been
293: held to this standard (but not entirely due to it), there are many
294: non-referenced behaviours within ISC DHCP.
295: </p>
296: <p>The primary goal of reference implementation is to prove the
297: reference material. If the reference material is good, then you
298: should be able to sit down and write a program that implements the
299: reference, to the word, and come to an implementation that
300: is distinguishable from others in the details, but not in the
301: facts of operating the protocol. This means that there is no
302: need for 'special knowledge' to work around arcane problems that
303: were left undocumented. No secret handshakes need to be learned
304: to be imparted with the necessary "real documentation".
305: </p>
306: <p>Also, by accepting only reference as the guidebook for ISC
307: DHCP's software implementation, anyone who can make an impact on
308: the color texture or form of that reference has a (somewhat
309: indirect) voice in ISC DHCP's software design. As the IETF RFC's
310: have been selected as the source of reference, that means everyone
311: on the Internet with the will to participate has a say.
312: </p>
313: <a name="anchor3"></a><br /><hr />
314: <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table>
315: <a name="rfc.section.3"></a><h3>3.
316: Low Layer References</h3>
317:
318: <p>It may surprise you to realize that ISC DHCP implements 802.1
319: 'Ethernet' framing, Token Ring, and FDDI. In order to bridge the
320: gap there between these physical and DHCP layers, it must also
321: implement IP and UDP framing.
322: </p>
323: <p>The reason for this stems from Unix systems' handling of BSD
324: sockets (the general way one might engage in transmission of UDP
325: packets) on unconfigured interfaces, or even the handling of
326: broadcast addressing on configured interfaces.
327: </p>
328: <p>There are a few things that DHCP servers, relays, and clients all
329: need to do in order to speak the DHCP protocol in strict compliance
330: with <a class='info' href='#RFC2131'>RFC2131<span> (</span><span class='info'>Droms, R., “Dynamic Host Configuration Protocol,” March 1997.</span><span>)</span></a> [RFC2131].
331: </p>
332: <ol class="text">
333: <li>Transmit a UDP packet from IP:0.0.0.0 Ethernet:Self, destined to
334: IP:255.255.255.255 LinkLayer:Broadcast on an unconfigured (no IP
335: address yet) interface.
336: </li>
337: <li>Receive a UDP packet from IP:remote-system LinkLayer:remote-system,
338: destined to IP:255.255.255.255 LinkLayer:Broadcast, again on an
339: unconfigured interface.
340: </li>
341: <li>Transmit a UDP packet from IP:Self, Ethernet:Seelf, destined to
342: IP:remote-system LinkLayer:remote-system, without transmitting a
343: single ARP.
344: </li>
345: <li>And of course the simple case, a regular IP unicast that is
346: routed via the usual means (so it may be direct to a local system,
347: with ARP providing the glue, or it may be to a remote system via
348: one or more routers as normal). In this case, the interfaces are
349: always configured.
350: </li>
351: </ol>
352: <p>The above isn't as simple as it sounds on a regular BSD socket.
353: Many unix implementations will transmit broadcasts not to
354: 255.255.255.255, but to x.y.z.255 (where x.y.z is the system's local
355: subnet). Such packets are not received by several known DHCP client
356: implementations - and it's not their fault, <a class='info' href='#RFC2131'>RFC2131<span> (</span><span class='info'>Droms, R., “Dynamic Host Configuration Protocol,” March 1997.</span><span>)</span></a> [RFC2131] very explicitly demands that these packets' IP
357: destination addresses be set to 255.255.255.255.
358: </p>
359: <p>Receiving packets sent to 255.255.255.255 isn't a problem on most
360: modern unixes...so long as the interface is configured. When there
361: is no IPv4 address on the interface, things become much more murky.
362: </p>
363: <p>So, for this convoluted and unfortunate state of affairs in the
364: unix systems of the day ISC DHCP was manufactured, in order to do
365: what it needs not only to implement the reference but to interoperate
366: with other implementations, the software must create some form of
367: raw socket to operate on.
368: </p>
369: <p>What it actually does is create, for each interface detected on
370: the system, a Berkeley Packet Filter socket (or equivalent), and
371: program it with a filter that brings in only DHCP packets. A
372: "fallback" UDP Berkeley socket is generally also created, a single
373: one no matter how many interfaces. Should the software need to
374: transmit a contrived packet to the local network the packet is
375: formed piece by piece and transmitted via the BPF socket. Hence
376: the need to implement many forms of Link Layer framing and above.
377: The software gets away with not having to implement IP routing
378: tables as well by simply utilizing the aforementioned 'fallback'
379: UDP socket when unicasting between two configured systems is the
380: need.
381: </p>
382: <p>Modern unixes have opened up some facilities that diminish how
383: much of this sort of nefarious kludgery is necessary, but have not
384: found the state of affairs absolutely absolved. In particular,
385: one might now unicast without ARP by inserting an entry into the
386: ARP cache prior to transmitting. Unconfigured interfaces remain
387: the sticking point, however...on virtually no modern unixes is
388: it possible to receive broadcast packets unless a local IPv4
389: address has been configured, unless it is done with raw sockets.
390: </p>
391: <a name="anchor4"></a><br /><hr />
392: <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table>
393: <a name="rfc.section.3.1"></a><h3>3.1.
394: Ethernet Protocol References</h3>
395:
396: <p>ISC DHCP Implements Ethernet Version 2 ("DIX"), which is a variant
397: of IEEE 802.2. No good reference of this framing is known to exist
398: at this time, but it is vaguely described in <a class='info' href='#RFC0894'>RFC894<span> (</span><span class='info'>Hornig, C., “Standard for the transmission of IP datagrams over Ethernet networks,” April 1984.</span><span>)</span></a> [RFC0894] (see the section titled "Packet format"), and
399: the following URL is also thought to be useful.
400: </p>
401: <p>http://en.wikipedia.org/wiki/DIX
402: </p>
403: <a name="anchor5"></a><br /><hr />
404: <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table>
405: <a name="rfc.section.3.2"></a><h3>3.2.
406: Token Ring Protocol References</h3>
407:
408: <p>IEEE 802.5 defines the Token Ring framing format used by ISC
409: DHCP.
410: </p>
411: <a name="anchor6"></a><br /><hr />
412: <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table>
413: <a name="rfc.section.3.3"></a><h3>3.3.
414: FDDI Protocol References</h3>
415:
416: <p><a class='info' href='#RFC1188'>RFC1188<span> (</span><span class='info'>Katz, D., “Proposed Standard for the Transmission of IP Datagrams over FDDI Networks,” October 1990.</span><span>)</span></a> [RFC1188] is the most helpful
417: reference ISC DHCP has used to form FDDI packets.
418: </p>
419: <a name="anchor7"></a><br /><hr />
420: <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table>
421: <a name="rfc.section.3.4"></a><h3>3.4.
422: Internet Protocol Version 4 References</h3>
423:
424: <p><a class='info' href='#RFC0760'>RFC760<span> (</span><span class='info'>Postel, J., “DoD standard Internet Protocol,” January 1980.</span><span>)</span></a> [RFC0760] fundamentally defines the
425: bare IPv4 protocol which ISC DHCP implements.
426: </p>
427: <a name="anchor8"></a><br /><hr />
428: <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table>
429: <a name="rfc.section.3.5"></a><h3>3.5.
430: Unicast Datagram Protocol References</h3>
431:
432: <p><a class='info' href='#RFC0768'>RFC768<span> (</span><span class='info'>Postel, J., “User Datagram Protocol,” August 1980.</span><span>)</span></a> [RFC0768] defines the User Datagram
433: Protocol that ultimately carries the DHCP or BOOTP protocol. The
434: destination DHCP server port is 67, the client port is 68. Source
435: ports are irrelevant.
436: </p>
437: <a name="anchor9"></a><br /><hr />
438: <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table>
439: <a name="rfc.section.4"></a><h3>4.
440: BOOTP Protocol References</h3>
441:
442: <p>The DHCP Protocol is strange among protocols in that it is
443: grafted over the top of another protocol - BOOTP (but we don't
444: call it "DHCP over BOOTP" like we do, say "TCP over IP"). BOOTP
445: and DHCP share UDP packet formats - DHCP is merely a conventional
446: use of both BOOTP header fields and the trailing 'options' space.
447: </p>
448: <p>The ISC DHCP server supports BOOTP clients conforming to
449: <a class='info' href='#RFC0951'>RFC951<span> (</span><span class='info'>Croft, B. and J. Gilmore, “Bootstrap Protocol,” September 1985.</span><span>)</span></a> [RFC0951] and <a class='info' href='#RFC1542'>RFC1542<span> (</span><span class='info'>Wimer, W., “Clarifications and Extensions for the Bootstrap Protocol,” October 1993.</span><span>)</span></a> [RFC1542].
450: </p>
451: <a name="anchor10"></a><br /><hr />
452: <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table>
453: <a name="rfc.section.5"></a><h3>5.
454: DHCP Protocol References</h3>
455:
456: <a name="anchor11"></a><br /><hr />
457: <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table>
458: <a name="rfc.section.5.1"></a><h3>5.1.
459: DHCPv4 Protocol</h3>
460:
461: <p>"The DHCP[v4] Protocol" is not defined in a single document. The
462: following collection of references of what ISC DHCP terms "The
463: DHCPv4 Protocol".
464: </p>
465: <a name="anchor12"></a><br /><hr />
466: <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table>
467: <a name="rfc.section.5.1.1"></a><h3>5.1.1.
468: Core Protocol References</h3>
469:
470: <p><a class='info' href='#RFC2131'>RFC2131<span> (</span><span class='info'>Droms, R., “Dynamic Host Configuration Protocol,” March 1997.</span><span>)</span></a> [RFC2131] defines the protocol format
471: and procedures. ISC DHCP is not known to diverge from this document
472: in any way. There are, however, a few points on which different
473: implementations have arisen out of vagueries in the document.
474: DHCP Clients exist which, at one time, present themselves as using
475: a Client Identifier Option which is equal to the client's hardware
476: address. Later, the client transmits DHCP packets with no Client
477: Identifier Option present - essentially identifying themselves using
478: the hardware address. Some DHCP Servers have been developed which
479: identify this client as a single client. ISC has interpreted
480: RFC2131 to indicate that these clients must be treated as two
481: separate entities (and hence two, separate addresses). Client
482: behaviour (Embedded Windows products) has developed that relies on
483: the former implementation, and hence is incompatible with the
484: latter. Also, RFC2131 demands explicitly that some header fields
485: be zeroed upon certain message types. The ISC DHCP Server instead
486: copies many of these fields from the packet received from the client
487: or relay, which may not be zero. It is not known if there is a good
488: reason for this that has not been documented.
489: </p>
490: <p><a class='info' href='#RFC2132'>RFC2132<span> (</span><span class='info'>Alexander, S. and R. Droms, “DHCP Options and BOOTP Vendor Extensions,” March 1997.</span><span>)</span></a> [RFC2132] defines the initial set of
491: DHCP Options and provides a great deal of guidance on how to go about
492: formatting and processing options. The document unfortunately
493: waffles to a great extent about the NULL termination of DHCP Options,
494: and some DHCP Clients (Windows 95) have been implemented that rely
495: upon DHCP Options containing text strings to be NULL-terminated (or
496: else they crash). So, ISC DHCP detects if clients null-terminate the
497: host-name option and, if so, null terminates any text options it
498: transmits to the client. It also removes NULL termination from any
499: known text option it receives prior to any other processing.
500: </p>
501: <a name="anchor13"></a><br /><hr />
502: <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table>
503: <a name="rfc.section.5.2"></a><h3>5.2.
504: DHCPv6 Protocol References</h3>
505:
506: <p>For now there is only one document that specifies the DHCPv6
507: protocol (there have been no updates yet), <a class='info' href='#RFC3315'>RFC3315<span> (</span><span class='info'>Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C., and M. Carney, “Dynamic Host Configuration Protocol for IPv6 (DHCPv6),” July 2003.</span><span>)</span></a> [RFC3315].
508: </p>
509: <p>Support for DHCPv6 was added first in version 4.0.0. The server
510: and client support only IA_NA. While the server does support multiple
511: IA_NAs within one packet from the client, our client only supports
512: sending one. There is no relay support.
513: </p>
514: <p>DHCPv6 introduces some new and uncomfortable ideas to the common
515: software library.
516: </p>
517: <ol class="text">
518: <li>Options of zero length are normal in DHCPv6. Currently, all
519: ISC DHCP software treats zero-length options as errors.
520: </li>
521: <li>Options sometimes may appear multiple times. The common
522: library used to treat all appearance of multiple options as
523: specified in RFC2131 - to be concatenated. DHCPv6 options
524: may sometimes appear multiple times (such as with IA_NA or
525: IAADDR), but often must not.
526: </li>
527: <li>The same option space appears in DHCPv6 packets multiple times.
528: If the packet was got via a relay, then the client's packet is
529: stored to an option within the relay's packet...if there were two
530: relays, this recurses. At each of these steps, the root "DHCPv6
531: option space" is used. Further, a client packet may contain an
532: IA_NA, which may contain an IAADDR - but really, in an abstract
533: sense, this is again re-encapsulation of the DHCPv6 option space
534: beneath options it also contains.
535: </li>
536: </ol>
537: <p>Precisely how to correctly support the above conundrums has not
538: quite yet been settled, so support is incomplete.
539: </p>
540: <a name="anchor14"></a><br /><hr />
541: <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table>
542: <a name="rfc.section.5.3"></a><h3>5.3.
543: DHCP Option References</h3>
544:
545: <p><a class='info' href='#RFC2241'>RFC2241<span> (</span><span class='info'>Provan, D., “DHCP Options for Novell Directory Services,” November 1997.</span><span>)</span></a> [RFC2241] defines options for
546: Novell Directory Services.
547: </p>
548: <p><a class='info' href='#RFC2242'>RFC2242<span> (</span><span class='info'>Droms, R. and K. Fong, “NetWare/IP Domain Name and Information,” November 1997.</span><span>)</span></a> [RFC2242] defines an encapsulated
549: option space for NWIP configuration.
550: </p>
551: <p><a class='info' href='#RFC2485'>RFC2485<span> (</span><span class='info'>Drach, S., “DHCP Option for The Open Group's User Authentication Protocol,” January 1999.</span><span>)</span></a> [RFC2485] defines the Open Group's
552: UAP option.
553: </p>
554: <p><a class='info' href='#RFC2610'>RFC2610<span> (</span><span class='info'>Perkins, C. and E. Guttman, “DHCP Options for Service Location Protocol,” June 1999.</span><span>)</span></a> [RFC2610] defines options for
555: the Service Location Protocol (SLP).
556: </p>
557: <p><a class='info' href='#RFC2937'>RFC2937<span> (</span><span class='info'>Smith, C., “The Name Service Search Option for DHCP,” September 2000.</span><span>)</span></a> [RFC2937] defines the Name Service
558: Search Option (not to be confused with the domain-search option).
559: The Name Service Search Option allows eg nsswitch.conf to be
560: reconfigured via dhcp. The ISC DHCP server implements this option,
561: and the ISC DHCP client is compatible...but does not by default
562: install this option's value. One would need to make their relevant
563: dhclient-script process this option in a way that is suitable for
564: the system.
565: </p>
566: <p><a class='info' href='#RFC3004'>RFC3004<span> (</span><span class='info'>Stump, G., Droms, R., Gu, Y., Vyaghrapuri, R., Demirtjis, A., Beser, B., and J. Privat, “The User Class Option for DHCP,” November 2000.</span><span>)</span></a> [RFC3004] defines the User-Class
567: option. Note carefully that ISC DHCP currently does not implement
568: to this reference, but has (inexplicably) selected an incompatible
569: format: a plain text string.
570: </p>
571: <p><a class='info' href='#RFC3011'>RFC3011<span> (</span><span class='info'>Waters, G., “The IPv4 Subnet Selection Option for DHCP,” November 2000.</span><span>)</span></a> [RFC3011] defines the Subnet-Selection
572: plain DHCPv4 option. Do not confuse this option with the relay agent
573: "link selection" sub-option, although their behaviour is similar.
574: </p>
575: <p><a class='info' href='#RFC3319'>RFC3319<span> (</span><span class='info'>Schulzrinne, H. and B. Volz, “Dynamic Host Configuration Protocol (DHCPv6) Options for Session Initiation Protocol (SIP) Servers,” July 2003.</span><span>)</span></a> [RFC3319] defines the SIP server
576: options for DHCPv6.
577: </p>
578: <p><a class='info' href='#RFC3396'>RFC3396<span> (</span><span class='info'>Lemon, T. and S. Cheshire, “Encoding Long Options in the Dynamic Host Configuration Protocol (DHCPv4),” November 2002.</span><span>)</span></a> [RFC3396] documents both how long
579: options may be encoded in DHCPv4 packets, and also how multiple
580: instances of the same option code within a DHCPv4 packet will be
581: decoded by receivers.
582: </p>
583: <p><a class='info' href='#RFC3397'>RFC3397<span> (</span><span class='info'>Aboba, B. and S. Cheshire, “Dynamic Host Configuration Protocol (DHCP) Domain Search Option,” November 2002.</span><span>)</span></a> [RFC3397] documents the Domain-Search
584: Option, which allows the configuration of the /etc/resolv.conf
585: 'search' parameter in a way that is <a class='info' href='#RFC1035'>RFC1035<span> (</span><span class='info'>Mockapetris, P., “Domain names - implementation and specification,” November 1987.</span><span>)</span></a> [RFC1035] wire format compatible (in fact, it uses the RFC1035 wire
586: format). ISC DHCP has both client and server support, and supports
587: RFC1035 name compression.
588: </p>
589: <p><a class='info' href='#RFC3646'>RFC3646<span> (</span><span class='info'>Droms, R., “DNS Configuration options for Dynamic Host Configuration Protocol for IPv6 (DHCPv6),” December 2003.</span><span>)</span></a> [RFC3646] documents the DHCPv6
590: name-servers and domain-search options.
591: </p>
592: <p><a class='info' href='#RFC3633'>RFC3633<span> (</span><span class='info'>Troan, O. and R. Droms, “IPv6 Prefix Options for Dynamic Host Configuration Protocol (DHCP) version 6,” December 2003.</span><span>)</span></a> [RFC3633] documents the Identity
593: Association Prefix Delegation, which is included here for protocol
594: wire reference, but which is not supported by ISC DHCP.
595: </p>
596: <p><a class='info' href='#RFC3679'>RFC3679<span> (</span><span class='info'>Droms, R., “Unused Dynamic Host Configuration Protocol (DHCP) Option Codes,” January 2004.</span><span>)</span></a> [RFC3679] documents a number of
597: options that were documented earlier in history, but were not
598: made use of.
599: </p>
600: <p><a class='info' href='#RFC3898'>RFC3898<span> (</span><span class='info'>Kalusivalingam, V., “Network Information Service (NIS) Configuration Options for Dynamic Host Configuration Protocol for IPv6 (DHCPv6),” October 2004.</span><span>)</span></a> [RFC3898] documents four NIS options
601: for delivering NIS servers and domain information in DHCPv6.
602: </p>
603: <p><a class='info' href='#RFC3925'>RFC3925<span> (</span><span class='info'>Littlefield, J., “Vendor-Identifying Vendor Options for Dynamic Host Configuration Protocol version 4 (DHCPv4),” October 2004.</span><span>)</span></a> [RFC3925] documents a pair of
604: Enterprise-ID delimited option spaces for vendors to use in order
605: to inform servers of their "vendor class" (sort of like 'uname'
606: or 'who and what am I'), and a means to deliver vendor-specific
607: and vendor-documented option codes and values.
608: </p>
609: <p><a class='info' href='#RFC3942'>RFC3942<span> (</span><span class='info'>Volz, B., “Reclassifying Dynamic Host Configuration Protocol version 4 (DHCPv4) Options,” November 2004.</span><span>)</span></a> [RFC3942] redefined the 'site local'
610: option space.
611: </p>
612: <p><a class='info' href='#RFC4075'>RFC4075<span> (</span><span class='info'>Kalusivalingam, V., “Simple Network Time Protocol (SNTP) Configuration Option for DHCPv6,” May 2005.</span><span>)</span></a> [RFC4075] defines the DHCPv6 SNTP
613: Servers option.
614: </p>
615: <p><a class='info' href='#RFC4242'>RFC4242<span> (</span><span class='info'>Venaas, S., Chown, T., and B. Volz, “Information Refresh Time Option for Dynamic Host Configuration Protocol for IPv6 (DHCPv6),” November 2005.</span><span>)</span></a> [RFC4242] defines the Information
616: Refresh Time option, which advises DHCPv6 Information-Request
617: clients to return for updated information.
618: </p>
619: <p><a class='info' href='#RFC4280'>RFC4280<span> (</span><span class='info'>Chowdhury, K., Yegani, P., and L. Madour, “Dynamic Host Configuration Protocol (DHCP) Options for Broadcast and Multicast Control Servers,” November 2005.</span><span>)</span></a> [RFC4280] defines two BCMS server
620: options.
621: </p>
622: <p><a class='info' href='#RFC4388'>RFC4388<span> (</span><span class='info'>Woundy, R. and K. Kinnear, “Dynamic Host Configuration Protocol (DHCP) Leasequery,” February 2006.</span><span>)</span></a> [RFC4388] defined the DHCPv4
623: LEASEQUERY message type and a number of suitable response messages,
624: for the purpose of sharing information about DHCP served addresses
625: and clients.
626: </p>
627: <p><a class='info' href='#RFC4580'>RFC4580<span> (</span><span class='info'>Volz, B., “Dynamic Host Configuration Protocol for IPv6 (DHCPv6) Relay Agent Subscriber-ID Option,” June 2006.</span><span>)</span></a> [RFC4580] defines a DHCPv6
628: subscriber-id option, which is similar in principle to the DHCPv4
629: relay agent option of the same name.
630: </p>
631: <p><a class='info' href='#RFC4649'>RFC4649<span> (</span><span class='info'>Volz, B., “Dynamic Host Configuration Protocol for IPv6 (DHCPv6) Relay Agent Remote-ID Option,” August 2006.</span><span>)</span></a> [RFC4649] defines a DHCPv6 remote-id
632: option, which is similar in principle to the DHCPv4 relay agent
633: remote-id.
634: </p>
635: <a name="anchor15"></a><br /><hr />
636: <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table>
637: <a name="rfc.section.5.3.1"></a><h3>5.3.1.
638: Relay Agent Information Option Options</h3>
639:
640: <p><a class='info' href='#RFC3046'>RFC3046<span> (</span><span class='info'>Patrick, M., “DHCP Relay Agent Information Option,” January 2001.</span><span>)</span></a> [RFC3046] defines the Relay Agent
641: Information Option and provides a number of sub-option
642: definitions.
643: </p>
644: <p><a class='info' href='#RFC3256'>RFC3256<span> (</span><span class='info'>Jones, D. and R. Woundy, “The DOCSIS (Data-Over-Cable Service Interface Specifications) Device Class DHCP (Dynamic Host Configuration Protocol) Relay Agent Information Sub-option,” April 2002.</span><span>)</span></a> [RFC3256] defines the DOCSIS Device
645: Class sub-option.
646: </p>
647: <p><a class='info' href='#RFC3527'>RFC3527<span> (</span><span class='info'>Kinnear, K., Stapp, M., Johnson, R., and J. Kumarasamy, “Link Selection sub-option for the Relay Agent Information Option for DHCPv4,” April 2003.</span><span>)</span></a> [RFC3527] defines the Link Selection
648: sub-option.
649: </p>
650: <a name="anchor16"></a><br /><hr />
651: <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table>
652: <a name="rfc.section.5.3.2"></a><h3>5.3.2.
653: Dynamic DNS Updates References</h3>
654:
655: <p>The collection of documents that describe the standards-based
656: method to update dns names of DHCP clients starts most easily
657: with <a class='info' href='#RFC4703'>RFC4703<span> (</span><span class='info'>Stapp, M. and B. Volz, “Resolution of Fully Qualified Domain Name (FQDN) Conflicts among Dynamic Host Configuration Protocol (DHCP) Clients,” October 2006.</span><span>)</span></a> [RFC4703] to define the overall
658: architecture, travels through RFCs <a class='info' href='#RFC4702'>4702<span> (</span><span class='info'>Stapp, M., Volz, B., and Y. Rekhter, “The Dynamic Host Configuration Protocol (DHCP) Client Fully Qualified Domain Name (FQDN) Option,” October 2006.</span><span>)</span></a> [RFC4702]
659: and <a class='info' href='#RFC4704'>4704<span> (</span><span class='info'>Volz, B., “The Dynamic Host Configuration Protocol for IPv6 (DHCPv6) Client Fully Qualified Domain Name (FQDN) Option,” October 2006.</span><span>)</span></a> [RFC4704] to describe the DHCPv4 and
660: DHCPv6 FQDN options (to carry the client name), and ends up at
661: <a class='info' href='#RFC4701'>RFC4701<span> (</span><span class='info'>Stapp, M., Lemon, T., and A. Gustafsson, “A DNS Resource Record (RR) for Encoding Dynamic Host Configuration Protocol (DHCP) Information (DHCID RR),” October 2006.</span><span>)</span></a> [RFC4701] which describes the DHCID
662: RR used in DNS to perform a kind of atomic locking.
663: </p>
664: <p>ISC DHCP adopted early versions of these documents, and has not
665: yet synchronized with the final standards versions.
666: </p>
667: <p>For RFCs 4702 and 4704, the 'N' bit is not yet supported. The
668: result is that it is always set zero, and is ignored if set.
669: </p>
670: <p>For RFC4701, which is used to match client identities with names
671: in the DNS as part of name conflict resolution. Note that ISC DHCP's
672: implementation of DHCIDs vary wildly from this specification.
673: First, ISC DHCP uses a TXT record in which the contents are stored
674: in hexadecimal. Second, there is a flaw in the selection of the
675: 'Identifier Type', which results in a completely different value
676: being selected than was defined in an older revision of this
677: document...also this field is one byte prior to hexadecimal
678: encoding rather than two. Third, ISC DHCP does not use a digest
679: type code. Rather, all values for such TXT records are reached
680: via an MD5 sum. In short, nothing is compatible, but the
681: principle of the TXT record is the same as the standard DHCID
682: record. However, for DHCPv6 FQDN, we do use DHCID type code '2',
683: as no other value really makes sense in our context.
684: </p>
685: <a name="anchor17"></a><br /><hr />
686: <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table>
687: <a name="rfc.section.5.3.3"></a><h3>5.3.3.
688: Experimental: Failover References</h3>
689:
690: <p>The Failover Protocol defines a means by which two DHCP Servers
691: can share all the relevant information about leases granted to
692: DHCP clients on given networks, so that one of the two servers may
693: fail and be survived by a server that can act responsibly.
694: </p>
695: <p>Unfortunately it has been quite some years since the last time
696: this document was edited, and the authors no longer show any
697: interest in fielding comments or improving the document.
698: </p>
699: <p>The status of this protocol is very unsure, but ISC's
700: implementation of it has proven stable and suitable for use in
701: sizable production environments.
702: </p>
703: <p><a class='info' href='#draft-failover'>draft-ietf-dhc-failover-12.txt<span> (</span><span class='info'>Droms, R., “DHCP Failover Protocol,” March 2003.</span><span>)</span></a> [draft‑failover]
704: describes the Failover Protocol. In addition to what is described
705: in this document, ISC DHCP has elected to make some experimental
706: changes that may be revoked in a future version of ISC DHCP (if the
707: draft authors do not adopt the new behaviour). Specifically, ISC
708: DHCP's POOLREQ behaviour differs substantially from what is
709: documented in the draft, and the server also implements a form of
710: 'MAC Address Affinity' which is not described in the failover
711: document. The full nature of these changes have been described on
712: the IETF DHC WG mailing list (which has archives), and also in ISC
713: DHCP's manual pages. Also note that although this document
714: references a RECOVER-WAIT state, it does not document a protocol
715: number assignment for this state. As a consequence, ISC DHCP has
716: elected to use the value 254.
717: </p>
718: <p><a class='info' href='#RFC3074'>RFC3074<span> (</span><span class='info'>Volz, B., Gonczi, S., Lemon, T., and R. Stevens, “DHC Load Balancing Algorithm,” February 2001.</span><span>)</span></a> [RFC3074] describes the Load Balancing
719: Algorithm (LBA) that ISC DHCP uses in concert with the Failover
720: protocol. Note that versions 3.0.* are known to misimplement the
721: hash algorithm (it will only use the low 4 bits of every byte of
722: the hash bucket array).
723: </p>
724: <a name="anchor18"></a><br /><hr />
725: <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table>
726: <a name="rfc.section.5.4"></a><h3>5.4.
727: DHCP Procedures</h3>
728:
729: <p><a class='info' href='#RFC2939'>RFC2939<span> (</span><span class='info'>Droms, R., “Procedures and IANA Guidelines for Definition of New DHCP Options and Message Types,” September 2000.</span><span>)</span></a> [RFC2939] explains how to go about
730: obtaining a new DHCP Option code assignment.
731: </p>
732: <a name="rfc.references1"></a><br /><hr />
733: <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table>
734: <h3>6. References</h3>
735: <table width="99%" border="0">
736: <tr><td class="author-text" valign="top"><a name="RFC0760">[RFC0760]</a></td>
737: <td class="author-text">Postel, J., “<a href="http://tools.ietf.org/html/rfc760">DoD standard Internet Protocol</a>,” RFC 760, January 1980 (<a href="ftp://ftp.isi.edu/in-notes/rfc760.txt">TXT</a>).</td></tr>
738: <tr><td class="author-text" valign="top"><a name="RFC0768">[RFC0768]</a></td>
739: <td class="author-text">Postel, J., “<a href="http://tools.ietf.org/html/rfc768">User Datagram Protocol</a>,” STD 6, RFC 768, August 1980 (<a href="ftp://ftp.isi.edu/in-notes/rfc768.txt">TXT</a>).</td></tr>
740: <tr><td class="author-text" valign="top"><a name="RFC0894">[RFC0894]</a></td>
741: <td class="author-text">Hornig, C., “<a href="http://tools.ietf.org/html/rfc894">Standard for the transmission of IP datagrams over Ethernet networks</a>,” STD 41, RFC 894, April 1984 (<a href="ftp://ftp.isi.edu/in-notes/rfc894.txt">TXT</a>).</td></tr>
742: <tr><td class="author-text" valign="top"><a name="RFC0951">[RFC0951]</a></td>
743: <td class="author-text">Croft, B. and J. Gilmore, “<a href="http://tools.ietf.org/html/rfc951">Bootstrap Protocol</a>,” RFC 951, September 1985 (<a href="ftp://ftp.isi.edu/in-notes/rfc951.txt">TXT</a>).</td></tr>
744: <tr><td class="author-text" valign="top"><a name="RFC1035">[RFC1035]</a></td>
745: <td class="author-text">Mockapetris, P., “<a href="http://tools.ietf.org/html/rfc1035">Domain names - implementation and specification</a>,” STD 13, RFC 1035, November 1987 (<a href="ftp://ftp.isi.edu/in-notes/rfc1035.txt">TXT</a>).</td></tr>
746: <tr><td class="author-text" valign="top"><a name="RFC1188">[RFC1188]</a></td>
747: <td class="author-text"><a href="mailto:dkatz@merit.edu">Katz, D.</a>, “<a href="http://tools.ietf.org/html/rfc1188">Proposed Standard for the Transmission of IP Datagrams over FDDI Networks</a>,” RFC 1188, October 1990 (<a href="ftp://ftp.isi.edu/in-notes/rfc1188.txt">TXT</a>).</td></tr>
748: <tr><td class="author-text" valign="top"><a name="RFC1542">[RFC1542]</a></td>
749: <td class="author-text"><a href="mailto:Walter.Wimer@CMU.EDU">Wimer, W.</a>, “<a href="http://tools.ietf.org/html/rfc1542">Clarifications and Extensions for the Bootstrap Protocol</a>,” RFC 1542, October 1993 (<a href="ftp://ftp.isi.edu/in-notes/rfc1542.txt">TXT</a>).</td></tr>
750: <tr><td class="author-text" valign="top"><a name="RFC2131">[RFC2131]</a></td>
751: <td class="author-text"><a href="mailto:droms@bucknell.edu">Droms, R.</a>, “<a href="http://tools.ietf.org/html/rfc2131">Dynamic Host Configuration Protocol</a>,” RFC 2131, March 1997 (<a href="ftp://ftp.isi.edu/in-notes/rfc2131.txt">TXT</a>, <a href="http://xml.resource.org/public/rfc/html/rfc2131.html">HTML</a>, <a href="http://xml.resource.org/public/rfc/xml/rfc2131.xml">XML</a>).</td></tr>
752: <tr><td class="author-text" valign="top"><a name="RFC2132">[RFC2132]</a></td>
753: <td class="author-text"><a href="mailto:sca@engr.sgi.com">Alexander, S.</a> and <a href="mailto:droms@bucknell.edu">R. Droms</a>, “<a href="http://tools.ietf.org/html/rfc2132">DHCP Options and BOOTP Vendor Extensions</a>,” RFC 2132, March 1997 (<a href="ftp://ftp.isi.edu/in-notes/rfc2132.txt">TXT</a>, <a href="http://xml.resource.org/public/rfc/html/rfc2132.html">HTML</a>, <a href="http://xml.resource.org/public/rfc/xml/rfc2132.xml">XML</a>).</td></tr>
754: <tr><td class="author-text" valign="top"><a name="RFC2241">[RFC2241]</a></td>
755: <td class="author-text"><a href="mailto:donp@Novell.Com">Provan, D.</a>, “<a href="http://tools.ietf.org/html/rfc2241">DHCP Options for Novell Directory Services</a>,” RFC 2241, November 1997 (<a href="ftp://ftp.isi.edu/in-notes/rfc2241.txt">TXT</a>, <a href="http://xml.resource.org/public/rfc/html/rfc2241.html">HTML</a>, <a href="http://xml.resource.org/public/rfc/xml/rfc2241.xml">XML</a>).</td></tr>
756: <tr><td class="author-text" valign="top"><a name="RFC2242">[RFC2242]</a></td>
757: <td class="author-text"><a href="mailto:droms@bucknell.edu">Droms, R.</a> and <a href="mailto:kfong@novell.com">K. Fong</a>, “<a href="http://tools.ietf.org/html/rfc2242">NetWare/IP Domain Name and Information</a>,” RFC 2242, November 1997 (<a href="ftp://ftp.isi.edu/in-notes/rfc2242.txt">TXT</a>, <a href="http://xml.resource.org/public/rfc/html/rfc2242.html">HTML</a>, <a href="http://xml.resource.org/public/rfc/xml/rfc2242.xml">XML</a>).</td></tr>
758: <tr><td class="author-text" valign="top"><a name="RFC2485">[RFC2485]</a></td>
759: <td class="author-text"><a href="mailto:drach@sun.com">Drach, S.</a>, “<a href="http://tools.ietf.org/html/rfc2485">DHCP Option for The Open Group's User Authentication Protocol</a>,” RFC 2485, January 1999 (<a href="ftp://ftp.isi.edu/in-notes/rfc2485.txt">TXT</a>, <a href="http://xml.resource.org/public/rfc/html/rfc2485.html">HTML</a>, <a href="http://xml.resource.org/public/rfc/xml/rfc2485.xml">XML</a>).</td></tr>
760: <tr><td class="author-text" valign="top"><a name="RFC2610">[RFC2610]</a></td>
761: <td class="author-text"><a href="mailto:Charles.Perkins@Sun.Com">Perkins, C.</a> and <a href="mailto:Erik.Guttman@Sun.Com">E. Guttman</a>, “<a href="http://tools.ietf.org/html/rfc2610">DHCP Options for Service Location Protocol</a>,” RFC 2610, June 1999 (<a href="ftp://ftp.isi.edu/in-notes/rfc2610.txt">TXT</a>).</td></tr>
762: <tr><td class="author-text" valign="top"><a name="RFC2937">[RFC2937]</a></td>
763: <td class="author-text">Smith, C., “<a href="http://tools.ietf.org/html/rfc2937">The Name Service Search Option for DHCP</a>,” RFC 2937, September 2000 (<a href="ftp://ftp.isi.edu/in-notes/rfc2937.txt">TXT</a>).</td></tr>
764: <tr><td class="author-text" valign="top"><a name="RFC2939">[RFC2939]</a></td>
765: <td class="author-text">Droms, R., “<a href="http://tools.ietf.org/html/rfc2939">Procedures and IANA Guidelines for Definition of New DHCP Options and Message Types</a>,” BCP 43, RFC 2939, September 2000 (<a href="ftp://ftp.isi.edu/in-notes/rfc2939.txt">TXT</a>).</td></tr>
766: <tr><td class="author-text" valign="top"><a name="RFC3004">[RFC3004]</a></td>
767: <td class="author-text">Stump, G., Droms, R., Gu, Y., Vyaghrapuri, R., Demirtjis, A., Beser, B., and J. Privat, “<a href="http://tools.ietf.org/html/rfc3004">The User Class Option for DHCP</a>,” RFC 3004, November 2000 (<a href="ftp://ftp.isi.edu/in-notes/rfc3004.txt">TXT</a>).</td></tr>
768: <tr><td class="author-text" valign="top"><a name="RFC3011">[RFC3011]</a></td>
769: <td class="author-text">Waters, G., “<a href="http://tools.ietf.org/html/rfc3011">The IPv4 Subnet Selection Option for DHCP</a>,” RFC 3011, November 2000 (<a href="ftp://ftp.isi.edu/in-notes/rfc3011.txt">TXT</a>).</td></tr>
770: <tr><td class="author-text" valign="top"><a name="RFC3046">[RFC3046]</a></td>
771: <td class="author-text">Patrick, M., “<a href="http://tools.ietf.org/html/rfc3046">DHCP Relay Agent Information Option</a>,” RFC 3046, January 2001 (<a href="ftp://ftp.isi.edu/in-notes/rfc3046.txt">TXT</a>).</td></tr>
772: <tr><td class="author-text" valign="top"><a name="RFC3074">[RFC3074]</a></td>
773: <td class="author-text">Volz, B., Gonczi, S., Lemon, T., and R. Stevens, “<a href="http://tools.ietf.org/html/rfc3074">DHC Load Balancing Algorithm</a>,” RFC 3074, February 2001 (<a href="ftp://ftp.isi.edu/in-notes/rfc3074.txt">TXT</a>).</td></tr>
774: <tr><td class="author-text" valign="top"><a name="RFC3256">[RFC3256]</a></td>
775: <td class="author-text">Jones, D. and R. Woundy, “<a href="http://tools.ietf.org/html/rfc3256">The DOCSIS (Data-Over-Cable Service Interface Specifications) Device Class DHCP (Dynamic Host Configuration Protocol) Relay Agent Information Sub-option</a>,” RFC 3256, April 2002 (<a href="ftp://ftp.isi.edu/in-notes/rfc3256.txt">TXT</a>).</td></tr>
776: <tr><td class="author-text" valign="top"><a name="RFC3315">[RFC3315]</a></td>
777: <td class="author-text">Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C., and M. Carney, “<a href="http://tools.ietf.org/html/rfc3315">Dynamic Host Configuration Protocol for IPv6 (DHCPv6)</a>,” RFC 3315, July 2003 (<a href="ftp://ftp.isi.edu/in-notes/rfc3315.txt">TXT</a>).</td></tr>
778: <tr><td class="author-text" valign="top"><a name="RFC3319">[RFC3319]</a></td>
779: <td class="author-text">Schulzrinne, H. and B. Volz, “<a href="http://tools.ietf.org/html/rfc3319">Dynamic Host Configuration Protocol (DHCPv6) Options for Session Initiation Protocol (SIP) Servers</a>,” RFC 3319, July 2003 (<a href="ftp://ftp.isi.edu/in-notes/rfc3319.txt">TXT</a>).</td></tr>
780: <tr><td class="author-text" valign="top"><a name="RFC3396">[RFC3396]</a></td>
781: <td class="author-text">Lemon, T. and S. Cheshire, “<a href="http://tools.ietf.org/html/rfc3396">Encoding Long Options in the Dynamic Host Configuration Protocol (DHCPv4)</a>,” RFC 3396, November 2002 (<a href="ftp://ftp.isi.edu/in-notes/rfc3396.txt">TXT</a>).</td></tr>
782: <tr><td class="author-text" valign="top"><a name="RFC3397">[RFC3397]</a></td>
783: <td class="author-text">Aboba, B. and S. Cheshire, “<a href="http://tools.ietf.org/html/rfc3397">Dynamic Host Configuration Protocol (DHCP) Domain Search Option</a>,” RFC 3397, November 2002 (<a href="ftp://ftp.isi.edu/in-notes/rfc3397.txt">TXT</a>).</td></tr>
784: <tr><td class="author-text" valign="top"><a name="RFC3527">[RFC3527]</a></td>
785: <td class="author-text">Kinnear, K., Stapp, M., Johnson, R., and J. Kumarasamy, “<a href="http://tools.ietf.org/html/rfc3527">Link Selection sub-option for the Relay Agent Information Option for DHCPv4</a>,” RFC 3527, April 2003 (<a href="ftp://ftp.isi.edu/in-notes/rfc3527.txt">TXT</a>).</td></tr>
786: <tr><td class="author-text" valign="top"><a name="RFC3633">[RFC3633]</a></td>
787: <td class="author-text">Troan, O. and R. Droms, “<a href="http://tools.ietf.org/html/rfc3633">IPv6 Prefix Options for Dynamic Host Configuration Protocol (DHCP) version 6</a>,” RFC 3633, December 2003 (<a href="ftp://ftp.isi.edu/in-notes/rfc3633.txt">TXT</a>).</td></tr>
788: <tr><td class="author-text" valign="top"><a name="RFC3646">[RFC3646]</a></td>
789: <td class="author-text">Droms, R., “<a href="http://tools.ietf.org/html/rfc3646">DNS Configuration options for Dynamic Host Configuration Protocol for IPv6 (DHCPv6)</a>,” RFC 3646, December 2003 (<a href="ftp://ftp.isi.edu/in-notes/rfc3646.txt">TXT</a>).</td></tr>
790: <tr><td class="author-text" valign="top"><a name="RFC3679">[RFC3679]</a></td>
791: <td class="author-text">Droms, R., “<a href="http://tools.ietf.org/html/rfc3679">Unused Dynamic Host Configuration Protocol (DHCP) Option Codes</a>,” RFC 3679, January 2004 (<a href="ftp://ftp.isi.edu/in-notes/rfc3679.txt">TXT</a>).</td></tr>
792: <tr><td class="author-text" valign="top"><a name="RFC3898">[RFC3898]</a></td>
793: <td class="author-text">Kalusivalingam, V., “<a href="http://tools.ietf.org/html/rfc3898">Network Information Service (NIS) Configuration Options for Dynamic Host Configuration Protocol for IPv6 (DHCPv6)</a>,” RFC 3898, October 2004 (<a href="ftp://ftp.isi.edu/in-notes/rfc3898.txt">TXT</a>).</td></tr>
794: <tr><td class="author-text" valign="top"><a name="RFC3925">[RFC3925]</a></td>
795: <td class="author-text">Littlefield, J., “<a href="http://tools.ietf.org/html/rfc3925">Vendor-Identifying Vendor Options for Dynamic Host Configuration Protocol version 4 (DHCPv4)</a>,” RFC 3925, October 2004 (<a href="ftp://ftp.isi.edu/in-notes/rfc3925.txt">TXT</a>).</td></tr>
796: <tr><td class="author-text" valign="top"><a name="RFC3942">[RFC3942]</a></td>
797: <td class="author-text">Volz, B., “<a href="http://tools.ietf.org/html/rfc3942">Reclassifying Dynamic Host Configuration Protocol version 4 (DHCPv4) Options</a>,” RFC 3942, November 2004 (<a href="ftp://ftp.isi.edu/in-notes/rfc3942.txt">TXT</a>).</td></tr>
798: <tr><td class="author-text" valign="top"><a name="RFC4075">[RFC4075]</a></td>
799: <td class="author-text">Kalusivalingam, V., “<a href="http://tools.ietf.org/html/rfc4075">Simple Network Time Protocol (SNTP) Configuration Option for DHCPv6</a>,” RFC 4075, May 2005 (<a href="ftp://ftp.isi.edu/in-notes/rfc4075.txt">TXT</a>).</td></tr>
800: <tr><td class="author-text" valign="top"><a name="RFC4242">[RFC4242]</a></td>
801: <td class="author-text">Venaas, S., Chown, T., and B. Volz, “<a href="http://tools.ietf.org/html/rfc4242">Information Refresh Time Option for Dynamic Host Configuration Protocol for IPv6 (DHCPv6)</a>,” RFC 4242, November 2005 (<a href="ftp://ftp.isi.edu/in-notes/rfc4242.txt">TXT</a>).</td></tr>
802: <tr><td class="author-text" valign="top"><a name="RFC4280">[RFC4280]</a></td>
803: <td class="author-text">Chowdhury, K., Yegani, P., and L. Madour, “<a href="http://tools.ietf.org/html/rfc4280">Dynamic Host Configuration Protocol (DHCP) Options for Broadcast and Multicast Control Servers</a>,” RFC 4280, November 2005 (<a href="ftp://ftp.isi.edu/in-notes/rfc4280.txt">TXT</a>).</td></tr>
804: <tr><td class="author-text" valign="top"><a name="RFC4388">[RFC4388]</a></td>
805: <td class="author-text">Woundy, R. and K. Kinnear, “<a href="http://tools.ietf.org/html/rfc4388">Dynamic Host Configuration Protocol (DHCP) Leasequery</a>,” RFC 4388, February 2006 (<a href="ftp://ftp.isi.edu/in-notes/rfc4388.txt">TXT</a>).</td></tr>
806: <tr><td class="author-text" valign="top"><a name="RFC4580">[RFC4580]</a></td>
807: <td class="author-text">Volz, B., “<a href="http://tools.ietf.org/html/rfc4580">Dynamic Host Configuration Protocol for IPv6 (DHCPv6) Relay Agent Subscriber-ID Option</a>,” RFC 4580, June 2006 (<a href="ftp://ftp.isi.edu/in-notes/rfc4580.txt">TXT</a>).</td></tr>
808: <tr><td class="author-text" valign="top"><a name="RFC4649">[RFC4649]</a></td>
809: <td class="author-text">Volz, B., “<a href="http://tools.ietf.org/html/rfc4649">Dynamic Host Configuration Protocol for IPv6 (DHCPv6) Relay Agent Remote-ID Option</a>,” RFC 4649, August 2006 (<a href="ftp://ftp.isi.edu/in-notes/rfc4649.txt">TXT</a>).</td></tr>
810: <tr><td class="author-text" valign="top"><a name="RFC4701">[RFC4701]</a></td>
811: <td class="author-text">Stapp, M., Lemon, T., and A. Gustafsson, “<a href="http://tools.ietf.org/html/rfc4701">A DNS Resource Record (RR) for Encoding Dynamic Host Configuration Protocol (DHCP) Information (DHCID RR)</a>,” RFC 4701, October 2006 (<a href="ftp://ftp.isi.edu/in-notes/rfc4701.txt">TXT</a>).</td></tr>
812: <tr><td class="author-text" valign="top"><a name="RFC4702">[RFC4702]</a></td>
813: <td class="author-text">Stapp, M., Volz, B., and Y. Rekhter, “<a href="http://tools.ietf.org/html/rfc4702">The Dynamic Host Configuration Protocol (DHCP) Client Fully Qualified Domain Name (FQDN) Option</a>,” RFC 4702, October 2006 (<a href="ftp://ftp.isi.edu/in-notes/rfc4702.txt">TXT</a>).</td></tr>
814: <tr><td class="author-text" valign="top"><a name="RFC4703">[RFC4703]</a></td>
815: <td class="author-text">Stapp, M. and B. Volz, “<a href="http://tools.ietf.org/html/rfc4703">Resolution of Fully Qualified Domain Name (FQDN) Conflicts among Dynamic Host Configuration Protocol (DHCP) Clients</a>,” RFC 4703, October 2006 (<a href="ftp://ftp.isi.edu/in-notes/rfc4703.txt">TXT</a>).</td></tr>
816: <tr><td class="author-text" valign="top"><a name="RFC4704">[RFC4704]</a></td>
817: <td class="author-text">Volz, B., “<a href="http://tools.ietf.org/html/rfc4704">The Dynamic Host Configuration Protocol for IPv6 (DHCPv6) Client Fully Qualified Domain Name (FQDN) Option</a>,” RFC 4704, October 2006 (<a href="ftp://ftp.isi.edu/in-notes/rfc4704.txt">TXT</a>).</td></tr>
818: <tr><td class="author-text" valign="top"><a name="draft-failover">[draft-failover]</a></td>
819: <td class="author-text">Droms, R., “<a href="https://www.isc.org/sw/dhcp/drafts/draft-ietf-dhc-failover-12.txt">DHCP Failover Protocol</a>,” March 2003.</td></tr>
820: </table>
821:
822: <a name="rfc.authors"></a><br /><hr />
823: <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table>
824: <h3>Author's Address</h3>
825: <table width="99%" border="0" cellpadding="0" cellspacing="0">
826: <tr><td class="author-text"> </td>
827: <td class="author-text">David W. Hankins</td></tr>
828: <tr><td class="author-text"> </td>
829: <td class="author-text">Internet Systems Consortium,
830: Inc.</td></tr>
831: <tr><td class="author-text"> </td>
832: <td class="author-text">950 Charter Street</td></tr>
833: <tr><td class="author-text"> </td>
834: <td class="author-text">Redwood City, CA 94063</td></tr>
835: <tr><td class="author" align="right">Phone: </td>
836: <td class="author-text">+1 650 423 1300</td></tr>
837: <tr><td class="author" align="right">Email: </td>
838: <td class="author-text"><a href="mailto:David_Hankins@isc.org">David_Hankins@isc.org</a></td></tr>
839: </table>
840: </body></html>
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>