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