idnits 2.17.1 draft-iab-dns-choices-02.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** It looks like you're using RFC 3978 boilerplate. You should update this to the boilerplate described in the IETF Trust License Policy document (see https://trustee.ietf.org/license-info), which is required now. -- Found old boilerplate from RFC 3978, Section 5.1 on line 14. -- Found old boilerplate from RFC 3978, Section 5.5 on line 578. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 555. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 562. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 568. ** This document has an original RFC 3978 Section 5.4 Copyright Line, instead of the newer IETF Trust Copyright according to RFC 4748. ** This document has an original RFC 3978 Section 5.5 Disclaimer, instead of the newer disclaimer which includes the IETF Trust according to RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- == No 'Intended status' indicated for this document; assuming Proposed Standard Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the RFC 3978 Section 5.4 Copyright Line does not match the current year -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (June 7, 2005) is 6897 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Unused Reference: 'RFC2671' is defined on line 501, but no explicit reference was found in the text == Unused Reference: 'RFC2606' is defined on line 516, but no explicit reference was found in the text == Unused Reference: 'RFC3232' is defined on line 523, but no explicit reference was found in the text ** Downref: Normative reference to an Experimental RFC: RFC 1464 ** Obsolete normative reference: RFC 2535 (Obsoleted by RFC 4033, RFC 4034, RFC 4035) ** Obsolete normative reference: RFC 2671 (Obsoleted by RFC 6891) -- Obsolete informational reference (is this intentional?): RFC 2929 (Obsoleted by RFC 5395) -- Obsolete informational reference (is this intentional?): RFC 3445 (Obsoleted by RFC 4033, RFC 4034, RFC 4035) -- Obsolete informational reference (is this intentional?): RFC 3761 (Obsoleted by RFC 6116, RFC 6117) Summary: 6 errors (**), 0 flaws (~~), 5 warnings (==), 10 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group P. Faltstrom 3 Internet-Draft IAB 4 Expires: December 9, 2005 June 7, 2005 6 Design Choices When Expanding DNS 7 draft-iab-dns-choices-02.txt 9 Status of this Memo 11 By submitting this Internet-Draft, each author represents that any 12 applicable patent or other IPR claims of which he or she is aware 13 have been or will be disclosed, and any of which he or she becomes 14 aware will be disclosed, in accordance with Section 6 of BCP 79. 16 Internet-Drafts are working documents of the Internet Engineering 17 Task Force (IETF), its areas, and its working groups. Note that 18 other groups may also distribute working documents as Internet- 19 Drafts. 21 Internet-Drafts are draft documents valid for a maximum of six months 22 and may be updated, replaced, or obsoleted by other documents at any 23 time. It is inappropriate to use Internet-Drafts as reference 24 material or to cite them other than as "work in progress." 26 The list of current Internet-Drafts can be accessed at 27 http://www.ietf.org/ietf/1id-abstracts.txt. 29 The list of Internet-Draft Shadow Directories can be accessed at 30 http://www.ietf.org/shadow.html. 32 This Internet-Draft will expire on December 9, 2005. 34 Copyright Notice 36 Copyright (C) The Internet Society (2005). 38 Abstract 40 This note discusses how to extend the DNS with new data for a new 41 application. DNS extension discussion too often circulates around 42 reuse of the TXT record. This document lists different mechanisms to 43 accomplish the extension to DNS, and comes to the conclusion that the 44 use of a new RR Type is the best solution. 46 Table of Contents 48 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 49 2. Background . . . . . . . . . . . . . . . . . . . . . . . . . . 4 50 3. Extension mechanisms . . . . . . . . . . . . . . . . . . . . . 4 51 3.1 Place selectors inside the RDATA . . . . . . . . . . . . . 4 52 3.2 Add a prefix to the owner name . . . . . . . . . . . . . . 5 53 3.3 Add a suffix to the owner name . . . . . . . . . . . . . . 6 54 3.4 Add a new Class . . . . . . . . . . . . . . . . . . . . . 6 55 3.5 Add a new Resource Record Type . . . . . . . . . . . . . . 7 56 4. Conclusion (why adding a new RR type is the answer) . . . . . 8 57 5. Conclusion and Recommendation . . . . . . . . . . . . . . . . 10 58 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 59 7. Security Considerations . . . . . . . . . . . . . . . . . . . 11 60 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11 61 8.1 Normative References . . . . . . . . . . . . . . . . . . . 11 62 8.2 Informative References . . . . . . . . . . . . . . . . . . 12 63 Author's Address . . . . . . . . . . . . . . . . . . . . . . . 12 64 Intellectual Property and Copyright Statements . . . . . . . . 13 66 1. Introduction 68 The DNS stores multiple categories of data. The two most commonly 69 used categories are infrastructure data for the DNS system itself (NS 70 and SOA records) and data which have to do with mappings between 71 domain names and IP addresses (A, AAAA and PTR). There are other 72 categories as well, some of which are tied to specific applications 73 like email (MX), while others are generic record types used to convey 74 information for multiple protocols (SRV, NAPTR). 76 When storing data in DNS for a new application, the data are usually 77 tied to a "normal" domain name, so the application can query for the 78 data it wants, while minimizing the impact on existing applications. 80 Historically, extending DNS to store data for applications tied to a 81 domain name has been done in different ways at different times. MX 82 records were created as a new resource record type specifically 83 designed to support electronic mail. SRV records are a generic type 84 which use a prefixing scheme in combination with a base domain name. 85 Records associated with ENUM use a suffixing scheme. NAPTR records 86 add selection data inside the RDATA. It is clear the way of adding 87 new data to the DNS has been inconsistent, and the purpose of this 88 document is to attempt to clarify the implications of each of these 89 methods, both for the applications that use them and for the rest of 90 the DNS system. 92 Many parts of this document talk about use of wildcards, and many 93 people might think use of wildcards is not something that happens 94 today. In reality thoug, wildcards are in use, especially for some 95 specific usages like MX records. Because of this, the choice have to 96 be made with existence of wildcards in mind. 98 Another overall issue that have to be taken into account is what the 99 new data in DNS is to describe. In some cases it might be completely 100 new data. In other cases it might be meta-data that is tied to data 101 that already exists in DNS. An example of new data is key 102 information for SSH and data used for fighting spam (meta data that 103 is connected to the MX record). If the new data has connection to 104 data that already exists in DNS, an analysis should be made as to 105 whether having (for example) A record and SSH key information in 106 different zones is a problem, and if it is, whether the owner for the 107 records by design must be the same for both records. 109 This document does not talk about what one should store in DNS. It 110 also doesn't discuss whether DNS is used for service discovery, or 111 whether DNS is (also) used for storage of data specific for the 112 service. In general, DNS is a protocol that apart from holding 113 metadata that makes DNS itself function (NS, SOA, DS RR Types etc) 114 only holds references to where services are located (SRV, NAPTR, A, 115 AAAA RR types). 117 2. Background 119 See RFC 2929 [RFC2929] for a brief summary of DNS query structure. 120 Readers interested in the full story should start with the base DNS 121 specification in RFC 1035 [RFC1035], and continue with the various 122 documents which update, clarify, and extend the base specification. 124 When composing a query against the DNS system, the parameters 125 actually used by the protocol are a triple: a DNS name, a DNS class, 126 and a DNS record type. Every resource record (RR) matching a 127 particular name, type and class is said to belong to the same 128 resource record set (RRSet), and the whole RRSet is always returned 129 to the client which queries for it. Splitting an RRSet is a protocol 130 violation, because it results in coherency problems with the DNS 131 caching mechanism. 133 Note that most of the discussions around MTU size is about the size 134 of the whole DNS packet, and not about the size of an RRSet 135 explicitly. A DNS packet is to fit in the MTU size when using UDP, 136 or else a truncated response is given back from the server (at which 137 point the client can reissue the query over TCP). 139 3. Extension mechanisms 141 The DNS protocol is intended to be extensible to support new kinds of 142 data. This section examines the various ways in which this sort of 143 extension can be accomplished. 145 3.1 Place selectors inside the RDATA 147 For a given query name, one might choose to have a single RRSet (all 148 sharing the same name, type, and class) shared by multiple 149 applications, and have the different applications use selectors 150 within the RR data (RDATA) to determine which records are intended 151 for which applications. This sort of selector mechanism is usually 152 referred to "subtyping", because it is in effect creating an 153 additional type subsystem within a single DNS RR type. 155 Examples of subtyping include NAPTR RRs (see RFC 3761 [RFC3761]) and 156 the original DNSSEC KEY RR type (RFC 2535 [RFC2535]) (before it was 157 updated by RFC 3445 [RFC3445]). 159 All DNS subtyping schemes share a common weakness: With subtyping 160 schemes it is impossible for a client to query for just the data it 161 wants. Instead, the client must fetch the entire RRSet, then select 162 the RRs in which it is interested. Furthermore, since DNSSEC 163 signatures operate on complete RRSets, the entire RRSet must be re- 164 signed if any RR in it changes. As a result, each application that 165 uses a subtyped RR incurs higher overhead than any of the 166 applications would have incurred had they not been using a subtyping 167 scheme. The fact the RRSet is always passed around as an indivisible 168 unit increases the risk the RRSet will not fit in a UDP packet, which 169 in turn increases the risk that the client will have to retry the 170 query with TCP, which substantially increases the load on the name 171 server. More precisely: Having one query fail over to TCP is not a 172 big deal, but since the typical ratio of clients to servers in the 173 DNS system is very high, having a substantial number of DNS messages 174 fail over to TCP may cause the queried name servers to be overloaded 175 by TCP overhead. 177 To conclude, because of the limitations of the size of one RRSet is 178 that not all services tied to a domain can be announced, but instead 179 selected (by the zone administrator). This because all of them can 180 not be announced at the same time. 182 3.2 Add a prefix to the owner name 184 By adding an application-specific prefix to a domain name, we get 185 different name/class/type triples, and therefore different RRSets. 186 One problem with adding prefixes has to do with wildcards, especially 187 if one has records like 189 *.example.com. IN MX 1 mail.example.com. 191 and one wants records tied to those names. Suppose one creates the 192 prefix "_mail". One would then have to say something like 194 _mail.*.example.com. IN X-FOO A B C D 196 but DNS wildcards only work with the "*" as the leftmost token in the 197 domain name. 199 Even when a specific prefix is chosen, the data will still have to be 200 stored in some RR type. This RR type can either be a record type 201 that can store arbitrary data or a new RR type. This implies that 202 some other selection mechanism has to be applied as well, such as 203 ability to distinguish between the records in an RR set given they 204 have the same RR type (see also draft-ietf-dnsext-wcard-clarify 205 [wcardclarify] regarding use of wildcards and DNS). Because of this, 206 one needs both register a unique prefix and define what RR type is to 207 be used for this specific service. 209 If the record has some relationship with another record in the zone, 210 the fact the two records can be in different zones might have 211 implications on the trust the application have in the records. 212 Example: 214 example.com. IN MX 10 mail.example.com. 215 _foo.example.com. IN X-BAR "metadata for the mail service" 217 In this example, the two records might be in two different zones, and 218 because of this signed by two different organizations when using 219 DNSSEC. 221 3.3 Add a suffix to the owner name 223 Adding a suffix to a domain name changes the name/class/type triple, 224 and therefore the RRSet. In this case, since the query name can be 225 set to exactly the data one wants the size of the RRSet is minimized. 226 The problem with adding a suffix is that it creates a parallel tree 227 within the IN class. Further, there is no technical mechanism to 228 ensure that the delegation for "example.com" and "example.com._bar" 229 are made to the same organization. Furthermore, data associated with 230 a single entity will now be stored in two different zones, such as 231 "example.com" and "example.com._bar", which, depending on who 232 controls "_bar", can create new synchronization and update 233 authorization issues. 235 Even when using a different name, the data will still have to be 236 stored in some RR type. This RR type can either be a "kitchen-sink 237 record" or a new RR type. This implies that some other mechanism has 238 to be applied as well, with implications detailed in other parts of 239 this note. 241 In RFC 2163 [RFC2163] an infix token is inserted directly below the 242 TLD, but the result is the same as adding a suffix to the owner name 243 (and because of that creation of a new TLD). 245 3.4 Add a new Class 247 DNS zones are class-specific in the sense that all the records in 248 that zone share the same class as the zone's SOA record and the 249 existence of a zone in one class does not guarantee the existence of 250 the zone in any other class. In practice, only the IN class has ever 251 seen widespread deployment, and the administrative overhead of 252 deploying an additional class would almost certainly be prohibitive. 254 Nevertheless, one could in theory use the DNS class mechanism to 255 distinguish between different kinds of data. However, since the DNS 256 delegation tree (represented by NS RRs) is itself tied to a specific 257 class, attempting to resolve a query by crossing a class boundary may 258 produce unexpected results, because there is no guarantee that the 259 name servers for the zone in the new class will be the same as the 260 name servers in the IN class. The MIT Hesiod system used a scheme 261 like this for storing data in the HS class, but only on a very small 262 scale (within a single institution), and with an administrative fiat 263 requiring that the delegation trees for the IN and HS trees be 264 identical. 266 Even when using a different class, the data will still have to be 267 stored in some RR type or another. This RR type can either be a 268 "kitchen-sink record" or a new RR type. This implies that some other 269 mechanism has to be applied as well, with implications detailed in 270 other parts of this note. 272 3.5 Add a new Resource Record Type 274 When adding a new Resource Record type to the system, entities in 275 four different roles have to be able to handle the new type: 277 1. There must be a way to insert the new resource records into the 278 zone of the Primary Master name server. For some server 279 implementations, the user interface only accepts record types 280 which it understands (perhaps so that the implementation can 281 attempt to validate the data). Other implementations allow the 282 zone administrator to enter an integer for the resource record 283 type code and the RDATA in Base64 or hexadecimal encoding (or 284 even as raw data). RFC 3597 [RFC3597] specifies a standard 285 generic encoding for this purpose. 286 2. A slave authoritative name server must be able to do a zone 287 transfer, receive the data from some other authoritative name 288 server, and serve data from the zone even though the zone 289 includes records of unknown types. Historically, some 290 implementations have had problems parsing stored copies of the 291 zone file after restarting, but those problems have not been seen 292 for a few years. 293 3. A full service resolver will cache the records which are 294 responses to queries. As mentioned in RFC 3597 [RFC3597],there 295 are various pitfalls where a recursive name server might end up 296 having problems. 297 4. The application must be able to get the record with a new 298 resource record type. The application itself may understand the 299 RDATA, but the resolver library might not. Support for a generic 300 interface for retrieving arbitrary DNS RR types has been a 301 requirement since 1989 (see RFC 1123 [RFC1123] Section 6.1.4.2). 302 Some stub resolver library implementations neglect to provide 303 this functionality and cannot handle unknown RR types, but 304 implementation of a new stub resolver library is not particularly 305 difficult, and open source libraries that already provide this 306 functionality are available. 308 4. Conclusion (why adding a new RR type is the answer) 310 By now, the astute reader will be wondering how to use the issues 311 presented so far. We will now attempt to clear up the reader's 312 confusion by following the thought processes of a typical application 313 designer who wishes to store data in DNS, showing how such a designer 314 almost inevitably hits upon the idea of just using TXT RR, and why 315 this is a bad thing, and instead why a new RR type is to be 316 allocated. 318 The overall problem with most solutions has to do with two main 319 issues: 320 o No semantics to prevent collision with other use 321 o Space considerations (in the DNS message) 323 A typical application designer is not interested in the DNS for its 324 own sake, but rather as a distributed database in which application 325 data can be stored. As a result, the designer of a new application 326 is usually looking for the easiest way to add whatever new data the 327 application needs to the DNS in a way that naturally associates the 328 data with a DNS name. 330 As explained in Section 3.4, using the DNS class system as an 331 extension mechanism is not really an option, and in fact most users 332 of the system don't even realize that the mechanism exists. As a 333 practical matter, therefore any extension is likely to be within the 334 IN class. 336 Adding a new RR type is the technically correct answer from the DNS 337 protocol standpoint (more on this below), but doing so requires some 338 DNS expertise, due to the issues listed in Section 3.5. As a result, 339 this option is usually considered. Note that according to RFC2929 340 [RFC2929], some types require IETF Consensus, while others only 341 require a specification. 343 The application designer is thus left with the prospect of reusing 344 some existing DNS type within the IN class, but when the designer 345 looks at the existing types, almost all of them have well-defined 346 semantics, none of which quite match the needs of the new 347 application. This has not completely prevented proposals to reuse 348 existing RR types in ways incompatible with their defined semantics, 349 but it does tend to steer application designers away from this 350 approach. 352 RR Type 40 was registered for the SINK record type. This RR Type was 353 discussed in the DNSIND working group of the IETF, and it was decided 354 at the 46th IETF to not move the I-D forward to become an RFC. 355 Reason was the risk for large RR sets and the ability for application 356 creators to use the SINK RR Type instead of registering a new RR 357 Type. 359 Eliminating all of the above leaves the TXT RR type in the IN class. 360 The TXT RDATA format is free form text, and there are no existing 361 semantics to get in the way. Furthermore, the TXT RR can obviously 362 just be used as a bucket in which to carry around data to be used by 363 some higher level parser, perhaps in some human readable programming 364 or markup language. Thus, for many applications, TXT RRs are the 365 "obvious" choice. Unfortunately, this conclusion, while 366 understandable, is also wrong, for several reasons. 368 The first reason why TXT RRs are not well suited to such use is 369 precisely the lack of defined semantics that make them so attractive. 370 Arguably, the TXT RR is misnamed, and should have been called the 371 Local Container record, because the lack of defined semantics means 372 that a TXT RR means precisely what the data producer says it means. 373 This is fine, so long as TXT RRs are being used by human beings or by 374 private agreement between data producer and data consumer. However, 375 it becomes a problem once one starts using them for standardized 376 protocols in which there is no prior relationship between data 377 producer and data consumer. Reason for this is that there is nothing 378 to prevent collisions with some other incompatible use of TXT RRs. 379 This is even worse than the general subtyping problem described in 380 Section 3.1, because TXT RRs don't even have a standardized selector 381 field in which to store the subtype. RFC1464 [RFC1464] tried, but it 382 was not a success. At best a definition of a subtype is reduced to 383 hoping that whatever scheme one has come up with will not accidently 384 conflict with somebody else's subtyping scheme, and that it will not 385 be possible to mis-parse one application's use of TXT RRs as data 386 intended for a different application. Any attempt to come up with a 387 standardized format within the TXT RR format would be at least 388 fifteen years too late even if it were put into effect immediately. 390 Using one of the naming modifications discussed in Section 3.2 and 391 Section 3.3 would address the subtyping problem, but each of these 392 approaches brings in new problems of its own. The prefix approach 393 (such as SRV RRs use) does not work well with wildcards, which is a 394 particular problem for mail-related applications, since MX RRs are 395 probably the most common use of DNS wildcards. The suffix approach 396 doesn't have wildcard issues, but, as noted previously, it does have 397 synchronization and update authorization issues, since it works by 398 creating a second subtree in a different part of the global DNS name 399 space. 401 The next reason why TXT RRs are not well suited to protocol use has 402 to do with the limited data space available in a DNS message. As 403 alluded to briefly in Section 3.1, typical DNS query traffic patterns 404 involve a very large number of DNS clients sending queries to a 405 relatively small number of DNS servers. Normal path MTU discovery 406 schemes do little good here, because, from the server's perspective, 407 there isn't enough repeat traffic from any one client for it to be 408 worth retaining state. UDP-based DNS is an idempotent query, whereas 409 TCP-based DNS requires the server to keep state (in the form of TCP 410 connection state, usually in the server's kernel) and roughly triples 411 the traffic load. Thus, there's a strong incentive to keep DNS 412 messages short enough to fit in a UDP datagram, preferably a UDP 413 datagram short enough not to require IP fragmentation. 415 Subtyping schemes are therefore again problematic, because they 416 produce larger RRSets than necessary, but verbose text encodings of 417 data are also wasteful, since the data they hold can usually be 418 represented more compactly in a resource record designed specifically 419 to support the application's particular data needs. If the data that 420 need to be carried are so large that there is no way to make them fit 421 comfortably into the DNS regardless of encoding, it is probably 422 better to move the data somewhere else, and just use the DNS as a 423 pointer to the data, as with NAPTR. 425 5. Conclusion and Recommendation 427 Given the problems detailed in Section 4, it is worth reexamining the 428 oft-jumped-to conclusion that specifying a new RR type is hard. 429 Historically, this was indeed the case, but recent surveys suggest 430 that support for unknown RR types [RFC3597] is now widespread, and 431 that lack of support for unknown types is mostly an issue for 432 relatively old software that would probably need to be upgraded in 433 any case as part of supporting a new application. One should also 434 remember that deployed DNS software today should support DNSSEC, and 435 software recent enough to do so will have higher chance of being able 436 to also support RFC3597. 438 Of all the issues detailed in Section 3.5, provisioning the data is 439 in some respects the most difficult. The problem here is less the 440 authoritative name servers themselves than the front-end systems used 441 to enter (and perhaps validate) the data. Hand editing does not work 442 well for maintenance of large zones, so some sort of tool is 443 necessary, and the tool may not be tightly coupled to the name server 444 implementation itself. Note, however, that this provisioning problem 445 exists to some degree with any new form of data to be stored in DNS, 446 regardless of data format, RR type, or naming scheme. Adapting 447 front-end systems to support a new RR type may be a bit more 448 difficult than reusing an existing type, but this appears to be a 449 minor difference in degree rather than a difference in kind. 451 Given the various issues described in this note, we believe that: 452 o there is no magic solution which allows a completely painless 453 addition of new data to the DNS, but 454 o on the whole, the best solution is still to use the DNS type 455 mechanism designed for precisely this purpose, and 456 o of all the alternate solutions, the "obvious" approach of using 457 TXT RRs is almost certainly the worst. 458 This especially for the two reasons outlined above (lack of semantics 459 and its implications, and size leading to the need to use TCP). 461 6. IANA Considerations 463 This document does not require any IANA actions. 465 7. Security Considerations 467 DNS RRSets can be signed using DNSSEC. DNSSEC is almost certainly 468 necessary for any application mechanism that stores authorization 469 data in DNS. DNSSEC signatures significantly increase the size of 470 the messages transported, and because of this, the DNS message size 471 issues discussed in Section 3.1 and Section 4 are more serious than 472 they might at first appear. 474 Adding new RR types (as discussed in Section 3.5) might conceivably 475 trigger bugs and other bad behavior in software which is not 476 compliant with RFC 3597 [RFC3597], but most such software is old 477 enough and insecure enough that it should be updated for other 478 reasons in any case. Basic API support for retrieving arbitrary RR 479 types has been a requirement since 1989 (see RFC 1123 [RFC1123]). 481 Any new protocol that proposes to use the DNS to store data used to 482 make authorization decisions would be well advised not only to use 483 DNSSEC but also to encourage upgrades to DNS server software recent 484 enough not to be riddled with well-known exploitable bugs. Because 485 of this, support for new RR Types will not be as hard as people might 486 think at first. 488 8. References 490 8.1 Normative References 492 [RFC1035] Mockapetris, P., "Domain names - implementation and 493 specification", STD 13, RFC 1035, November 1987. 495 [RFC1464] Rosenbaum, R., "Using the Domain Name System To Store 496 Arbitrary String Attributes", RFC 1464, May 1993. 498 [RFC2535] Eastlake, D., "Domain Name System Security Extensions", 499 RFC 2535, March 1999. 501 [RFC2671] Vixie, P., "Extension Mechanisms for DNS (EDNS0)", 502 RFC 2671, August 1999. 504 [RFC3597] Gustafsson, A., "Handling of Unknown DNS Resource Record 505 (RR) Types", RFC 3597, September 2003. 507 8.2 Informative References 509 [RFC1123] Braden, R., "Requirements for Internet Hosts - Application 510 and Support", STD 3, RFC 1123, October 1989. 512 [RFC2163] Allocchio, C., "Using the Internet DNS to Distribute MIXER 513 Conformant Global Address Mapping (MCGAM)", RFC 2163, 514 January 1998. 516 [RFC2606] Eastlake, D. and A. Panitz, "Reserved Top Level DNS 517 Names", BCP 32, RFC 2606, June 1999. 519 [RFC2929] Eastlake, D., Brunner-Williams, E., and B. Manning, 520 "Domain Name System (DNS) IANA Considerations", BCP 42, 521 RFC 2929, September 2000. 523 [RFC3232] Reynolds, J., "Assigned Numbers: RFC 1700 is Replaced by 524 an On-line Database", RFC 3232, January 2002. 526 [RFC3445] Massey, D. and S. Rose, "Limiting the Scope of the KEY 527 Resource Record (RR)", RFC 3445, December 2002. 529 [RFC3761] Faltstrom, P. and M. Mealling, "The E.164 to Uniform 530 Resource Identifiers (URI) Dynamic Delegation Discovery 531 System (DDDS) Application (ENUM)", RFC 3761, April 2004. 533 [wcardclarify] 534 Halley, B. and E. Lewis, 535 "draft-ietf-dnsext-wcard-clarify-05.txt, The Role of Wild 536 Card Domains in the Domain Name System, work in progress", 537 September 2003. 539 Author's Address 541 Patrik Faltstrom 542 IAB 544 Email: paf@cisco.com 546 Intellectual Property Statement 548 The IETF takes no position regarding the validity or scope of any 549 Intellectual Property Rights or other rights that might be claimed to 550 pertain to the implementation or use of the technology described in 551 this document or the extent to which any license under such rights 552 might or might not be available; nor does it represent that it has 553 made any independent effort to identify any such rights. Information 554 on the procedures with respect to rights in RFC documents can be 555 found in BCP 78 and BCP 79. 557 Copies of IPR disclosures made to the IETF Secretariat and any 558 assurances of licenses to be made available, or the result of an 559 attempt made to obtain a general license or permission for the use of 560 such proprietary rights by implementers or users of this 561 specification can be obtained from the IETF on-line IPR repository at 562 http://www.ietf.org/ipr. 564 The IETF invites any interested party to bring to its attention any 565 copyrights, patents or patent applications, or other proprietary 566 rights that may cover technology that may be required to implement 567 this standard. Please address the information to the IETF at 568 ietf-ipr@ietf.org. 570 Disclaimer of Validity 572 This document and the information contained herein are provided on an 573 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 574 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET 575 ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, 576 INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE 577 INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 578 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 580 Copyright Statement 582 Copyright (C) The Internet Society (2005). This document is subject 583 to the rights, licenses and restrictions contained in BCP 78, and 584 except as set forth therein, the authors retain all their rights. 586 Acknowledgment 588 Funding for the RFC Editor function is currently provided by the 589 Internet Society.