idnits 2.17.1 draft-ietf-v6ops-v6onbydefault-03.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Looks like you're using RFC 2026 boilerplate. This must be updated to follow RFC 3978/3979, as updated by 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 == The page length should not exceed 58 lines per page, but there was 1 longer page, the longest (page 11) being 66 lines Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) 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 (July 2004) is 7218 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: 'I-D.ietf-tsvwg-sctpimpguide' is defined on line 409, but no explicit reference was found in the text ** Downref: Normative reference to an Informational draft: draft-ietf-v6ops-application-transition (ref. 'I-D.ietf-v6ops-application-transition') == Outdated reference: A later version (-04) exists of draft-ietf-v6ops-onlinkassumption-02 ** Downref: Normative reference to an Informational draft: draft-ietf-v6ops-onlinkassumption (ref. 'I-D.ietf-v6ops-onlinkassumption') ** Obsolete normative reference: RFC 2461 (Obsoleted by RFC 4861) ** Obsolete normative reference: RFC 3484 (Obsoleted by RFC 6724) == Outdated reference: A later version (-16) exists of draft-ietf-tsvwg-sctpimpguide-10 -- Obsolete informational reference (is this intentional?): RFC 2462 (Obsoleted by RFC 4862) Summary: 6 errors (**), 0 flaws (~~), 6 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group S. Roy 3 Internet-Draft J. Paugh 4 Expires: February 2005 A. Durand 5 Sun Microsystems, Inc. 6 July 2004 8 Issues with Dual Stack IPv6 on by Default 9 draft-ietf-v6ops-v6onbydefault-03.txt 11 Status of this Memo 13 This document is an Internet-Draft and is in full conformance with 14 all provisions of Section 10 of RFC2026. 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 19 Internet-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 http:// 27 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 October 30, 2004. 34 Copyright Notice 36 Copyright (C) The Internet Society (2004). All Rights Reserved. 38 Abstract 40 This document discusses problems that can occur when dual stack nodes 41 that have IPv6 enabled by default are deployed in IPv4 or mixed IPv4 42 and IPv6 environments. The problems include application connection 43 delays, poor connectivity, and network insecurity. The purpose of 44 this memo is to raise awareness of these problems so that they can be 45 fixed or worked around, not to try to specify whether IPv6 should be 46 enabled by default or not. 48 Table of Contents 50 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 51 2. No IPv6 Router . . . . . . . . . . . . . . . . . . . . . . . . 3 52 2.1 Problems with Default Address Selection for IPv6 . . . . . 3 53 2.2 Neighbor Discovery's On-Link Assumption Considered 54 Harmful . . . . . . . . . . . . . . . . . . . . . . . . . 5 55 2.3 Transport Protocol Robustness . . . . . . . . . . . . . . 6 56 3. Other Problematic Scenarios . . . . . . . . . . . . . . . . . 6 57 3.1 IPv6 Network of Smaller Scope . . . . . . . . . . . . . . 6 58 3.1.1 Alleviating the Scope Problem . . . . . . . . . . . . 7 59 3.2 Poor IPv6 Network Performance . . . . . . . . . . . . . . 7 60 3.3 Security . . . . . . . . . . . . . . . . . . . . . . . . . 8 61 3.3.1 Mitigating Security Risks . . . . . . . . . . . . . . 8 62 4. Application Robustness . . . . . . . . . . . . . . . . . . . . 9 63 5. Security Considerations . . . . . . . . . . . . . . . . . . . 9 64 6. References . . . . . . . . . . . . . . . . . . . . . . . . . . 9 65 6.1 Normative References . . . . . . . . . . . . . . . . . . . . 9 66 6.2 Informative References . . . . . . . . . . . . . . . . . . . 10 67 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 10 68 A. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 11 69 B. Changes from draft-ietf-v6ops-v6onbydefault-02 . . . . . . . . 11 70 C. Changes from draft-ietf-v6ops-v6onbydefault-01 . . . . . . . . 11 71 D. Changes from draft-ietf-v6ops-v6onbydefault-00 . . . . . . . . 11 72 Intellectual Property and Copyright Statements . . . . . . . . 13 74 1. Introduction 76 This document specifically addresses operating system implementations 77 that implement the dual stack IPv6 model, and would ship with IPv6 78 enabled by default. It addresses the case where such systems are 79 installed and placed in IPv4-only or mixed IPv4 and IPv6 80 environments, and documents potential problems that users on such 81 systems could experience if the IPv6 connectivity is non-existent or 82 sub-optimal. The purpose of this document is not to try to specify 83 whether IPv6 should be enabled by default or not, but to raise 84 awareness of the potential issues involved. 86 This memo begins in Section 2 by examining problems within IPv6 87 implementations that defeat the destination address selection 88 mechanism defined in [RFC3484] and contribute to poor IPv6 89 connectivity. Starting with Section 3 it then examines other issues 90 that network software engineers and network and systems 91 administrators should be aware of when deploying dual stack systems 92 with IPv6 enabled. 94 2. No IPv6 Router 96 Consider a scenario in which a dual stack system has IPv6 enabled and 97 is placed on a link with no IPv6 routers. The system is using IPv6 98 Stateless Address Autoconfiguration [RFC2462], so it only has a 99 link-local IPv6 address configured. It also has a single IPv4 100 address that happens to be a private address as defined in [RFC1918]. 102 An application on this system is trying to communicate with a 103 destination whose name resolves to public and global IPv4 and IPv6 104 addresses. The application uses an address resolution API that 105 implements the destination address selection mechanism described in 106 Default Address Selection for IPv6 [RFC3484]. The application will 107 attempt to connect to each address, in the order they were returned, 108 until one succeeds. Since the system has no off-link IPv6 routes, 109 the optimal scenario would be if the IPv4 addresses returned were 110 ordered before the IPv6 addresses. The following sections describe 111 what things can go wrong with this scenario. 113 2.1 Problems with Default Address Selection for IPv6 115 The Default Address Selection for IPv6 [RFC3484] destination address 116 selection mechanism could save the application a few useless 117 connection attempts by placing the IPv4 addresses in front of the 118 IPv6 addresses. This would be desired since all IPv6 destinations in 119 this scenario are unreachable (there's no route to them), and the 120 system's only IPv6 source address is inadequate to communicate with 121 off-link destinations even if it did have an off-link route. 123 Let's examine how the destination address selection mechanism behaves 124 in the face of this scenario when given one IPv4 destination and one 125 IPv6 destination. 127 The first rule, "Avoid unusable destinations", would prefer the IPv4 128 destination over the IPv6 destination, but only if the IPv6 129 destination were determined to be unreachable. The unreachability 130 determination for a destination as it pertains to this rule is an 131 implementation detail. One implementable method is to do a simple 132 forwarding table lookup on the destination, and to deem the 133 destination as reachable if the lookup succeeds. The Neighbor 134 Discovery on-link assumption mentioned in Section 2.2 makes this 135 method somewhat irrelevant, however, as an implementation of the 136 assumption could simply be to insert an IPv6 default on-link route 137 into the system's forwarding table when the default router list is 138 empty. The side-effect is that the rule would always determine that 139 all IPv6 destinations are reachable. Therefore, this rule will not 140 necessarily prefer one destination over the other. 142 The second rule, "Prefer matching scope", could prefer the IPv4 143 destination over the IPv6 destination, but only if the IPv4 144 destination's scope matches the scope of the system's IPv4 source 145 address. Since [RFC3484] considers private addresses (as defined in 146 [RFC1918]) of site-local scope, then this rule will not prefer either 147 destination over the other. The link-local IPv6 source doesn't match 148 the global IPv6 destination, and the "site-local" IPv4 source doesn't 149 match the global IPv4 destination. The tie-breaking rule in this 150 case is rule 6, "Prefer higher precedence". Since IPv6 destinations 151 are of higher precedence than IPv4 destinations in the default policy 152 table, the IPv6 destination will be preferred. 154 The solution in this case could be to add a new rule after rule 2 155 (rule 2.5) that avoids non-link-local IPv6 destinations whose 156 selected source addresses are link-local. Of course, if the host is 157 manually assigned a global IPv6 source address, then rule 2 will 158 automatically prefer the IPv6 destination, and there is no fix other 159 than to make sure rule 1 considers IPv6 destinations unreachable in 160 this scenario. 162 Fixing the destination address selection mechanism by adding such a 163 rule is only a mitigating factor if applications use standard name 164 resolution API's that implement this mechanism, and these 165 applications try addresses in the order returned. This may not be an 166 acceptable assumption in some cases, as there are applications that 167 use hard coded addresses and address search orders and/or literal 168 addresses passed in from the user. 170 For example, one such application is the DNS resolver. In this case, 171 a configuration file usually contains a list of literal addresses to 172 be used as DNS name servers. The resolver client tries these servers 173 in the order that they appear in the file, bypassing address 174 selection rules. 176 Such applications will obviously be subject to whatever connection 177 delays are associated with attempting a connection to an unreachable 178 destination. This is discussed in more detail in the next few 179 sections. 181 2.2 Neighbor Discovery's On-Link Assumption Considered Harmful 183 Let's assume that the application described in Section 2 is 184 attempting a connection to an IPv6 address first, either because the 185 destination address selection mechanism described in Section 2.1 186 returned the addresses in that order, or because the application 187 isn't trying the addresses in the order returned. Regardless, the 188 user expects that the application will quickly connect to the 189 destination. It is therefore important that the system quickly 190 determine that the IPv6 destination is unreachable so that the 191 application can try the IPv4 destination. 193 Neighbor Discovery's [RFC2461] conceptual sending algorithm states 194 that when sending a packet to a destination, if a host's default 195 router list is empty, then the host assumes that the destination is 196 on-link. This issue is described in detail in 197 [I-D.ietf-v6ops-onlinkassumption]. In summary, this assumption makes 198 the unreachability detection of off-link nodes in the absence of a 199 default router a lengthy operation. This is due to the cost of 200 attempting Neighbor Discovery link-layer address resolution for each 201 destination, and potential transport layer costs associated with 202 connection timeouts. The transport layer issues are discussed later 203 in Section 2.3. 205 On a network that has no IPv6 routing and no IPv6 neighbors, making 206 the assumption that every IPv6 destination is on-link will be costly 207 and incorrect. If an application has a list of addresses associated 208 with a destination and the first 15 are IPv6 addresses, then the 209 application won't be able to successfully send a packet to the 210 destination until the attempts to resolve each IPv6 address have 211 failed. This could take 45 seconds (MAX_MULTICAST_SOLICIT * 212 RETRANS_TIMER * 15). This could be compounded by any transport 213 timeouts associated with each connection attempt, bringing the 214 timeouts to even dozens of minutes. 216 If IPv6 hosts don't assume that destinations are on-link as described 217 above, then communication with destinations that are not on-link and 218 unreachable should immediately fail. The IPv6 implementation should 219 be able to immediately notify applications or the transport layer 220 that it has no route to such IPv6 destinations, so that applications 221 won't waste time waiting for address resolution to fail. 223 If hosts need to communicate with on-link destinations in the absence 224 of default routers, then then they need to be explicitly configured 225 to have on-link routes for those destinations. 227 2.3 Transport Protocol Robustness 229 Making the same set of assumptions as Section 2.2, regardless of how 230 long the network layer takes to determine that the IPv6 destination 231 is unreachable, the delay associated with a connection attempt to an 232 unreachable destination can be compounded by the transport layer. 233 When the unreachability of a destination is obviated by the reception 234 of an ICMPv6 destination unreachable message, the transport layer 235 should make it possible for the application or API to deal with this. 236 It could fail the connection attempt, pass ICMPv6 errors up to the 237 application, or pass them up to an API that is handling this for the 238 application, etc. 240 3. Other Problematic Scenarios 242 This section describes problems that could arise for a dual stack 243 system with IPv6 enabled when placed on a network with IPv6 244 connectivity. 246 3.1 IPv6 Network of Smaller Scope 248 A network that has a smaller scope of connectivity for IPv6 as it 249 does for IPv4 could be a problem in some cases. If applications have 250 access to name to address mapping information that is of greater 251 scope than the connectivity to those addresses, there is obvious 252 potential for suboptimal network performance. Hosts will attempt to 253 communicate with IPv6 destinations that are outside the scope of the 254 IPv6 routing, and depending on how the scope boundaries are enforced, 255 applications may not be notified that packets are being dropped at 256 the scope boundary. 258 If applications aren't immediately notified of the lack of 259 reachability to IPv6 destinations, then they aren't able to 260 efficiently fall back to IPv4. They then have to rely on transport 261 layer timeouts which can be minutes in the case of TCP. 263 An example of such a network is an enterprise network that has both 264 IPv4 and IPv6 routing within the enterprise and has a firewall 265 configured to allow some IPv4 communication, but no IPv6 266 communication. 268 3.1.1 Alleviating the Scope Problem 270 To allow applications to correctly fall back to IPv4 when IPv6 271 packets are destined beyond their allowed scope, the devices 272 enforcing the scope boundary must send ICMPv6 Destination Unreachable 273 messages back to senders of such packets. The sender's transport 274 layer should act on these errors as described in Section 2.3. 276 3.2 Poor IPv6 Network Performance 278 Most applications on dual stack nodes will try IPv6 destinations 279 first by default due to the Default Address Selection mechanism 280 described in [RFC3484]. If the IPv6 connectivity to those 281 destinations is poor while the IPv4 connectivity is better (i.e., the 282 IPv6 traffic experiences higher latency, lower throughput, or more 283 lost packets than IPv4 traffic), applications will still communicate 284 over IPv6 at the expense of network performance. There is no 285 information available to applications in this case to advise them to 286 try another destination address. 288 An example of such a situation is a node which obtains IPv4 289 connectivity natively through an ISP, but whose IPv6 connectivity is 290 obtained through a configured tunnel whose other endpoint is 291 topologically such that most IPv6 communication is done through 292 triangular IPv4 paths. Operational experience on the 6bone shows 293 that IPv6 RTT's are poor in such situations. 295 3.3 Security 297 Enabling IPv6 on a host implies that the services on the host may be 298 open to IPv6 communication. If the service itself is insecure and 299 depends on a security policy enforced somewhere else on the network 300 (such as in a firewall), then there is potential for new attacks 301 against the service. 303 A firewall may not be enforcing the same policy for IPv4 as for IPv6 304 traffic, which could be due to misconfiguration of the firewall. One 305 possibility is that the firewall could have more relaxed policy for 306 IPv6, perhaps by letting all IPv6 packets pass through, or by letting 307 all IPv4 protocol 41 packets pass through. In this scenario, the 308 dual stack hosts within the protected network could be subject to 309 different attacks than for IPv4. 311 Even if a firewall has a stricter policy or identical policy for IPv6 312 traffic than for IPv4 (the extreme case being that it drops all IPv6 313 traffic), IPv6 packets could go through the network untouched if 314 tunneled over a transport layer. This could open the host to direct 315 IPv6 attacks. It should be noted that IPv4 packets can also be 316 tunneled, so this is not a new security concern for IPv6. Firewalls 317 must be deliberately and properly configured. 319 A similar problem could exist for virtual private network (VPN) 320 software. A VPN could protect all IPv4 packets but transmit all 321 others onto the local subnet unprotected. At least one widely used 322 VPN behaves this way. This is problematic on a dual stack host that 323 has IPv6 enabled on its local network. It establishes its VPN link 324 and attempts to communicate with destinations that resolve to both 325 IPv4 and IPv6 addresses. The destination address selection mechanism 326 prefers the IPv6 destination so the application sends packets to an 327 IPv6 address. The VPN doesn't know about IPv6, so instead of 328 protecting the packets and sending them to the remote end of the VPN, 329 it passes such packets in the clear to the local network. 331 This is problematic for a number of reasons. The first is that if 332 the node has a default IPv6 route, the packets will be forwarded 333 off-link to an unknown destination. Another is if no legitimate 334 router is on-link and the node makes the on-link assumption discussed 335 in Section 2.2, the packets will simply be sent onto the local link 336 to be potentially viewed by a node spoofing the destination. A third 337 is if a rogue IPv6 router exists on-link. In that case the malicious 338 node will simply be sent all IPv6 packets in the clear. 340 3.3.1 Mitigating Security Risks 342 The security policy implemented in firewalls, VPN software, or other 343 devices, must take a stance whether it applies equally to both IPv4 344 and IPv6 traffic. It is probably desirable for the policy to apply 345 equally to both IPv4 and IPv6, but the most important thing is to be 346 aware of the potential problem, and to make the policy clear to the 347 administrator and user. 349 There is still a risk that IPv6 packets could be tunneled over a 350 transport layer such as UDP, implicitly bypassing the security 351 policy. Some more complex mechanisms could be implemented to apply 352 the correct policy to such packets. This could be easy to do if 353 tunnel endpoints are co-located with a firewall, but more difficult 354 if internal nodes do their own IPv6 tunneling. 356 4. Application Robustness 358 Enabling IPv6 on a dual stack node is only useful if applications 359 that support IPv6 on that node properly cycle through addresses 360 returned from name lookups and fall back to IPv4 when IPv6 361 communication fails. Simply cycling through the list of addresses 362 returned from a name lookup when attempting connections works in most 363 cases for most applications, but there are still cases where that's 364 not enough. Applications also need to be aware that the fact that a 365 dual stack destination's IPv6 address is published in the DNS does 366 not necessarily imply that all services on that destination function 367 over IPv6. This problem, along with a thorough discussion of IPv6 368 application transition guidelines, is discussed in 369 [I-D.ietf-v6ops-application-transition]. 371 5. Security Considerations 373 This document raises security concerns in Section 3.3. They are 374 summarized below: 376 o Firewalls need to be configured properly to have deliberate 377 security policies for IPv6 packets, including IPv6 packets 378 encapsulated in other layers. 380 o Implementations of virtual private networks need to have a 381 deliberate IPv6 security policy that doesn't allow packets to 382 accidentally appear in the clear when they were intended to be 383 sent securely over the VPN. 385 6. References 387 6.1 Normative References 389 [I-D.ietf-v6ops-application-transition] 390 Shin, M., "Application Aspects of IPv6 Transition", 391 draft-ietf-v6ops-application-transition-03 (work in 392 progress), June 2004. 394 [I-D.ietf-v6ops-onlinkassumption] 395 Roy, S., Durand, A. and J. Paugh, "IPv6 Neighbor Discovery 396 On-Link Assumption Considered Harmful", 397 draft-ietf-v6ops-onlinkassumption-02 (work in progress), 398 May 2004. 400 [RFC2461] Narten, T., Nordmark, E. and W. Simpson, "Neighbor 401 Discovery for IP Version 6 (IPv6)", RFC 2461, December 402 1998. 404 [RFC3484] Draves, R., "Default Address Selection for Internet 405 Protocol version 6 (IPv6)", RFC 3484, February 2003. 407 6.2 Informative References 409 [I-D.ietf-tsvwg-sctpimpguide] 410 Stewart, R., "Stream Control Transmission Protocol (SCTP) 411 Implementors Guide", draft-ietf-tsvwg-sctpimpguide-10 412 (work in progress), December 2003. 414 [RFC1122] Braden, R., "Requirements for Internet Hosts - 415 Communication Layers", STD 3, RFC 1122, October 1989. 417 [RFC1918] Rekhter, Y., Moskowitz, R., Karrenberg, D., Groot, G. and 418 E. Lear, "Address Allocation for Private Internets", BCP 419 5, RFC 1918, February 1996. 421 [RFC2462] Thomson, S. and T. Narten, "IPv6 Stateless Address 422 Autoconfiguration", RFC 2462, December 1998. 424 Authors' Addresses 426 Sebastien Roy 427 Sun Microsystems, Inc. 428 1 Network Drive 429 UBUR02-212 430 Burlington, MA 01801 432 EMail: sebastien.roy@sun.com 433 Alain Durand 434 Sun Microsystems, Inc. 435 17 Network Circle 436 UMPK17-202 437 Menlo Park, CA 94025 439 EMail: alain.durand@sun.com 441 James Paugh 442 Sun Microsystems, Inc. 443 17 Network Circle 444 UMPK17-202 445 Menlo Park, CA 94025 447 EMail: james.paugh@sun.com 449 Appendix A. Acknowledgments 451 The authors gratefully acknowledge the contributions of Jim Bound, 452 Fernando Gont, Tony Hain, Tim Hartrick, Mika Liljeberg, Erik 453 Nordmark, Kacheong Poon, Pekka Savola, Randall Stewart, and Ronald 454 van der Pol. 456 Appendix B. Changes from draft-ietf-v6ops-v6onbydefault-02 458 o Removed all text suggesting solutions to the problems described 459 by this draft. 461 o Removed the all sub-sections of Section 2.3 that offered solutions 462 to the problems being presented. 464 o Removed Section 3.2.1, which described a solution to dealing with 465 poor IPv6 network performance. 467 Appendix C. Changes from draft-ietf-v6ops-v6onbydefault-01 469 o Added specificity to the DNS resolver problem in Section 2.1. 471 o Added a few paragraphs in Section 2.3.1.1 describing potential 472 drawbacks to TCP aborting connections ins SYN-SENT or SYN-RECEIVED 473 state. 475 o Added Section 2.3.1.3 describing how a higher level API could be 476 used to manage connections. 478 o Expanded Section 2.3.3 to describe desired SCTP behavior when 479 encountering soft errors. 481 o Added a summary of security concerns to Section 5. 483 o Miscellaneous editorial changes. 485 Appendix D. Changes from draft-ietf-v6ops-v6onbydefault-00 487 o Clarified in the abstract and introduction that the document is 488 meant to raise awareness, and not to specify whether IPv6 should 489 be enabled by default or not. 491 o Shortened Section 2.2 and made reference to 492 [I-D.ietf-v6ops-onlinkassumption]. 494 o Added clarification in Section 2.3 about packets that are lost 495 without ICMPv6 notification. 497 o Section 2.3 now has subsections for TCP, UDP, and SCTP. 499 o Removed text in Section 2.3.1.1 suggesting that hosts usually were 500 only assigned one address when [RFC1122] was written. 502 o Added text in Section 2.3.1.1 suggesting a method for applications 503 to advise TCP of their preference for ICMPv6 handling. 505 o Added Section 2.3.1.2. 507 o Added Section 2.3.2. 509 o Added Section 2.3.3. 511 o Strengthened wording in Section 3.1.1 to suggest that devices 512 enforcing scope boundaries must send ICMPv6 Destination 513 Unreachable messages. 515 o Clarified that the VPN problem described in Section 3.3 is due to 516 a combination of the VPN software and either the on-link 517 assumption and/or a "bad guy". 519 o Shortened Section 4 and made reference to 520 [I-D.ietf-v6ops-application-transition]. 522 o Miscellaneous editorial changes. 524 Intellectual Property Statement 526 The IETF takes no position regarding the validity or scope of any 527 intellectual property or other rights that might be claimed to 528 pertain to the implementation or use of the technology described in 529 this document or the extent to which any license under such rights 530 might or might not be available; neither does it represent that it 531 has made any effort to identify any such rights. Information on the 532 IETF's procedures with respect to rights in standards-track and 533 standards-related documentation can be found in BCP-11. Copies of 534 claims of rights made available for publication and any assurances of 535 licenses to be made available, or the result of an attempt made to 536 obtain a general license or permission for the use of such 537 proprietary rights by implementors or users of this specification can 538 be obtained from the IETF Secretariat. 540 The IETF invites any interested party to bring to its attention any 541 copyrights, patents or patent applications, or other proprietary 542 rights which may cover technology that may be required to practice 543 this standard. Please address the information to the IETF Executive 544 Director. 546 Full Copyright Statement 548 Copyright (C) The Internet Society (2004). All Rights Reserved. 550 This document and translations of it may be copied and furnished to 551 others, and derivative works that comment on or otherwise explain it 552 or assist in its implementation may be prepared, copied, published 553 and distributed, in whole or in part, without restriction of any 554 kind, provided that the above copyright notice and this paragraph are 555 included on all such copies and derivative works. However, this 556 document itself may not be modified in any way, such as by removing 557 the copyright notice or references to the Internet Society or other 558 Internet organizations, except as needed for the purpose of 559 developing Internet standards in which case the procedures for 560 copyrights defined in the Internet Standards process must be 561 followed, or as required to translate it into languages other than 562 English. 564 The limited permissions granted above are perpetual and will not be 565 revoked by the Internet Society or its successors or assignees. 567 This document and the information contained herein is provided on an 568 "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING 569 TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING 570 BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION 571 HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF 572 MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 574 Acknowledgment 576 Funding for the RFC Editor function is currently provided by the 577 Internet Society.