idnits 2.17.1 draft-ietf-v6ops-v6onbydefault-01.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 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.) ** The document seems to lack a both a reference to RFC 2119 and the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords. RFC 2119 keyword, line 261: '... [HOSTREQS] document, in section 4.2.3.9., states that TCP MUST NOT...' RFC 2119 keyword, line 265: '...ute failed), and SHOULD abort connecti...' RFC 2119 keyword, line 303: '... In section 4.2.4.1, [HOSTREQS] states that there MUST be a mechanism...' RFC 2119 keyword, line 310: '... As noted in [HOSTREQS] section 4.1.3.3, UDP implementations MUST pass...' 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 (February 13, 2004) is 7378 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) ** Obsolete normative reference: RFC 3484 (ref. 'ADDRSEL') (Obsoleted by RFC 6724) -- Possible downref: Non-RFC (?) normative reference: ref. 'APPTRANS' ** Obsolete normative reference: RFC 2461 (ref. 'ND') (Obsoleted by RFC 4861) -- Possible downref: Non-RFC (?) normative reference: ref. 'ONLINK' -- Obsolete informational reference (is this intentional?): RFC 2462 (ref. 'AUTOCONF') (Obsoleted by RFC 4862) Summary: 5 errors (**), 0 flaws (~~), 2 warnings (==), 5 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 Network Working Group S. Roy 2 Internet-Draft A. Durand 3 Expires: August 13, 2004 J. Paugh 4 Sun Microsystems, Inc. 5 February 13, 2004 7 Issues with Dual Stack IPv6 on by Default 8 draft-ietf-v6ops-v6onbydefault-01.txt 10 Status of this Memo 12 This document is an Internet-Draft and is in full conformance with 13 all provisions of Section 10 of RFC2026. 15 Internet-Drafts are working documents of the Internet Engineering 16 Task Force (IETF), its areas, and its working groups. Note that other 17 groups may also distribute working documents as Internet-Drafts. 19 Internet-Drafts are draft documents valid for a maximum of six months 20 and may be updated, replaced, or obsoleted by other documents at any 21 time. It is inappropriate to use Internet-Drafts as reference 22 material or to cite them other than as "work in progress." 24 The list of current Internet-Drafts can be accessed at http:// 25 www.ietf.org/ietf/1id-abstracts.txt. 27 The list of Internet-Draft Shadow Directories can be accessed at 28 http://www.ietf.org/shadow.html. 30 This Internet-Draft will expire on August 13, 2004. 32 Copyright Notice 34 Copyright (C) The Internet Society (2004). All Rights Reserved. 36 Abstract 38 This document discusses problems that can occur when dual stack nodes 39 that have IPv6 enabled by default are deployed in IPv4 or mixed IPv4 40 and IPv6 environments. The problems include application connection 41 delays, poor connectivity, and network security. Its purpose is to 42 raise awareness of these problems so that they can be fixed or worked 43 around. The purpose of this document is not to try to specify whether 44 IPv6 should be enabled by default or not, but to raise awareness of 45 the potential issues involved. 47 Table of Contents 49 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . 3 50 2. No IPv6 Router . . . . . . . . . . . . . . . . . . . . . . 3 51 2.1 Problems with Default Address Selection for IPv6 . . . . . 3 52 2.2 Neighbor Discovery's On-Link Assumption Considered 53 Harmful . . . . . . . . . . . . . . . . . . . . . . . . . 5 54 2.3 Transport Protocol Robustness . . . . . . . . . . . . . . 6 55 2.3.1 TCP Implications . . . . . . . . . . . . . . . . . . . . . 6 56 2.3.1.1 TCP Connection Termination . . . . . . . . . . . . . . . . 6 57 2.3.1.2 Asynchronous Application Notification . . . . . . . . . . 7 58 2.3.2 UDP Implications . . . . . . . . . . . . . . . . . . . . . 7 59 2.3.3 SCTP Implications . . . . . . . . . . . . . . . . . . . . 8 60 3. Other Problematic Scenarios . . . . . . . . . . . . . . . 8 61 3.1 IPv6 Network of Smaller Scope . . . . . . . . . . . . . . 8 62 3.1.1 Alleviating the Scope Problem . . . . . . . . . . . . . . 8 63 3.2 Poor IPv6 Network Performance . . . . . . . . . . . . . . 8 64 3.2.1 Dealing with Poor IPv6 Network Performance . . . . . . . . 9 65 3.3 Security . . . . . . . . . . . . . . . . . . . . . . . . . 9 66 3.3.1 Mitigating Security Risks . . . . . . . . . . . . . . . . 10 67 4. Application Robustness . . . . . . . . . . . . . . . . . . 10 68 5. Security Considerations . . . . . . . . . . . . . . . . . 11 69 Normative References . . . . . . . . . . . . . . . . . . . 11 70 Informative References . . . . . . . . . . . . . . . . . . 11 71 Authors' Addresses . . . . . . . . . . . . . . . . . . . . 12 72 A. Acknowledgments . . . . . . . . . . . . . . . . . . . . . 12 73 B. Changes from draft-ietf-v6ops-v6onbydefault-00 . . . . . . 12 74 Intellectual Property and Copyright Statements . . . . . . 14 76 1. Introduction 78 This document specifically addresses operating system implementations 79 that implement the dual stack IPv6 model, and would ship with IPv6 80 enabled by default. It addresses the case where such a system is 81 installed and placed in an IPv4 only or mixed IPv4 and IPv6 82 environment, and documents potential problems that users on such 83 systems could experience if the IPv6 connectivity is non-existent or 84 sub-optimal. The purpose of this document is not to try to specify 85 whether IPv6 should be enabled by default or not, but to raise 86 awareness of the potential issues involved. 88 It begins in Section 2 by examining problems within IPv6 89 implementations that defeat the destination address selection 90 mechanism defined in [ADDRSEL] and contribute to poor IPv6 91 connectivity. Starting with Section 3 it then examines other issues 92 that network software engineers and network and systems 93 administrators should be aware of when deploying dual stack systems 94 with IPv6 enabled. 96 2. No IPv6 Router 98 Consider a scenario in which a dual stack system has IPv6 enabled and 99 placed on a link with no IPv6 routers. The system is using IPv6 100 Stateless Address Autoconfiguration [AUTOCONF], so it only has a 101 link-local IPv6 address configured. It also has a single IPv4 102 address that happens to be a private address as defined in 103 [PRIVADDR]. 105 An application on this system is trying to communicate with a 106 destination whose name resolves to public and global IPv4 and IPv6 107 addresses. The application uses an address resolution API that 108 implements the destination address selection mechanism described in 109 Default Address Selection for IPv6 [ADDRSEL]. The application will 110 attempt to connect to each address returned in order until one 111 succeeds. Since the system has no off-link IPv6 routes, the optimal 112 scenario would be if the IPv4 addresses returned were ordered before 113 the IPv6 addresses. The following sections describe where things can 114 go wrong with this scenario. 116 2.1 Problems with Default Address Selection for IPv6 118 The Default Address Selection for IPv6 [ADDRSEL] destination address 119 selection mechanism could save the application a few useless 120 connection attempts by placing the IPv4 addresses in front of the 121 IPv6 addresses. This would be desired since all IPv6 destinations in 122 this scenario are unreachable (there's no route to them), and the 123 system's only IPv6 source address is inadequate to communicate with 124 off-link destinations even if it did have an off-link route. 126 Let's examine how the destination address selection mechanism behaves 127 in the face of this scenario when given one IPv4 destination and one 128 IPv6 destination. 130 The first rule, "Avoid unusable destinations", could prefer the IPv4 131 destination over the IPv6 destination, but only if the IPv6 132 destination is determined to be unreachable. The unreachability 133 determination for a destination as it pertains to this rule is an 134 implementation detail. One implementable method is to do a simple 135 forwarding table lookup on the destination, and to deem the 136 destination as reachable if the lookup succeeds. The Neighbor 137 Discovery on-link assumption mentioned in Section 2.2 makes this 138 method somewhat irrelevant, however, as an implementation of the 139 assumption could simply be to insert an IPv6 default on-link route 140 into the system's forwarding table when the default router list is 141 empty. The side-effect is that the rule would always determine that 142 all IPv6 destinations are reachable. Therefore, this rule will not 143 necessarily prefer one destination over the other. 145 The second rule, "Prefer matching scope", could prefer the IPv4 146 destination over the IPv6 destination, but only if the IPv4 147 destination's scope matches the scope of the system's IPv4 source 148 address. Since [ADDRSEL] considers private addresses (as defined in 149 [PRIVADDR]) of site-local scope, then this rule will not prefer 150 either destination over the other. The link-local IPv6 source 151 doesn't match the global IPv6 destination, and the site-local IPv4 152 source doesn't match the global IPv4 destination. The tie-breaking 153 rule in this case is rule 6, "Prefer higher precedence". Since IPv6 154 destinations are of higher precedence than IPv4 destinations in the 155 default policy table, the IPv6 destination will be preferred. 157 The solution in this case could be to add a new rule after rule 2 158 (rule 2.5) that avoids non-link-local IPv6 destinations whose source 159 addresses are link-local. Of course, if the host is manually 160 assigned a global IPv6 source address, then rule 2 will automatically 161 prefer the IPv6 destination, and there is no fix other than to make 162 sure rule 1 considers IPv6 destinations unreachable in this scenario. 164 Fixing the destination address selection mechanism by adding such a 165 rule is only a mitigating factor if applications use standard name 166 resolution API's that implement this mechanism, and these 167 applications try addresses in the order returned. This may not be an 168 acceptable assumption in some cases, as there are applications that 169 use hard coded addresses and address search orders (DNS resolver is 170 one example), and/or literal addresses passed in from the user. Such 171 applications will obviously be subject to whatever connection delays 172 are associated with attempting a connection to an unreachable 173 destination. This is discussed in more detail in the next few 174 sections. 176 2.2 Neighbor Discovery's On-Link Assumption Considered Harmful 178 Let's assume that the application described in Section 2 is 179 attempting a connection to an IPv6 address first, either because the 180 destination address selection mechanism described in Section 2.1 181 returned the addresses in that order, or because the application 182 isn't trying the addresses in the order returned. Regardless, the 183 user expects that the application will quickly connect to the 184 destination. It is therefore important that the system quickly 185 determine that the IPv6 destination is unreachable so that the 186 application can try the IPv4 destination. 188 Neighbor Discovery's [ND] conceptual sending algorithm states that 189 when sending a packet to a destination, if a host's default router 190 list is empty, then the host assumes that the destination is on-link. 191 This issue is described in detail in [ONLINK]. In summary, this 192 assumption makes the unreachability detection of off-link nodes in 193 the absence of a default router a lengthy operation. This is due to 194 the cost of attempting Neighbor Discovery link-layer address 195 resolution for each destination, and potential transport layer costs 196 associated with connection timeouts. The transport layer issues are 197 discussed later in Section 2.3. 199 On a network that has no IPv6 routing and no IPv6 neighbors, making 200 the assumption that every IPv6 destination is on-link will be a 201 costly and incorrect assumption. If an application has a list of 202 addresses associated with a destination and the first 15 are IPv6 203 addresses, then the application won't be able to successfully send a 204 packet to the destination until the attempts to resolve each IPv6 205 address have failed. This could take 45 seconds 206 (MAX_MULTICAST_SOLICIT * RETRANS_TIMER * 15). This could be 207 compounded by any transport timeouts associated with each connection 208 attempt. 210 If IPv6 hosts don't assume that destinations are on-link as described 211 above, then communication with destinations that are not on-link and 212 unreachable should immediately fail. The IPv6 implementation should 213 be able to immediately notify applications or the transport layer 214 that it has no route to such IPv6 destinations, and applications 215 won't waste time waiting for address resolution to fail. 217 If hosts need to communicate with on-link destinations in the absence 218 of default routers, then then they need to be explicitly configured 219 to have on-link routes for those destinations. 221 2.3 Transport Protocol Robustness 223 Making the same set of assumptions as Section 2.2, regardless of how 224 long the network layer takes to determine that the IPv6 destination 225 is unreachable, the delay associated with a connection attempt to an 226 unreachable destination can be compounded by the transport layer. 227 When the unreachability of a destination is obviated by the reception 228 of an ICMPv6 destination unreachable message, the transport layer 229 should make it possible for the application to deal with this by 230 failing the connection attempt, passing ICMPv6 errors up to the 231 application, etc... Such messages would be received in the cases 232 mentioned in Section 2 in which a node has no default routers and NUD 233 fails for destinations assumed to be on-link, and when firewalls or 234 other systems that enforce scope boundaries send such ICMPv6 errors 235 as described in Section 3.1 and Section 3.3. 237 For cases when packets to a destination are essentially black-holed 238 and no ICMPv6 errors are generated, there is very little additional 239 remedy other than the existing timer mechanisms inside transport 240 layers and applications. The following transport layer implication 241 discussions deal with the former case, in which ICMPv6 errors are 242 received. 244 2.3.1 TCP Implications 246 In the case of a socket application attempting a connection via TCP, 247 it would be unreasonable for the application to block even after the 248 system has received notification that the destination address is 249 unreachable via an ICMPv6 Destination Unreachable message. 251 Following are some ways of solving TCP related delays associated with 252 destination unreachability when ICMPv6 errors are generated. 254 2.3.1.1 TCP Connection Termination 256 One solution is for TCP to abort connections in SYN-SENT or 257 SYN-RECEIVED state when it receives an ICMPv6 Destination Unreachable 258 message. 260 It should be noted that the Requirements for Internet Hosts 261 [HOSTREQS] document, in section 4.2.3.9., states that TCP MUST NOT 262 abort connections when receiving ICMP Destination Unreachable 263 messages that indicate "soft errors", where soft errors are defined 264 as ICMP codes 0 (network unreachable), 1 (host unreachable), and 5 265 (source route failed), and SHOULD abort connections upon receiving 266 the other codes (which are considered "hard errors"). ICMPv6 didn't 267 exist when that document was written, but one could extrapolate the 268 concept of soft errors to ICMPv6 Type 1 codes 0 (no route to 269 destination) and 3 (address unreachable), and hard errors to the 270 other codes. Thus, it could be argued that a TCP implementation that 271 behaves as suggested in this section is in conflict with [HOSTREQS]. 273 When [HOSTREQS] was written, most applications would mostly only try 274 one address when establishing communication with a destination. Not 275 aborting a connection was a sane thing to do if re-trying a single 276 address was a better alternative over quitting the application 277 altogether. With IPv6, and especially on dual stack systems, 278 destinations are often assigned multiple addresses (at least one IPv4 279 and one IPv6 address), and applications iterate through destination 280 addresses when attempting connections. 282 Since soft errors conditions are those that would entice an 283 application to continue iterating to another address, TCP shouldn't 284 make the distinction between ICMPv6 soft errors and hard errors when 285 in SYN-SENT or SYN-RECEIVED state. It should abort a connection in 286 those states when receiving any ICMPv6 Destination Unreachable 287 message. When in any other state, TCP would behave as described in 288 [HOSTREQS]. 290 Many TCP implementations already behave this way, but others do not. 291 This should be noted as a best current practice in this case. 293 A tangential method of handling the problem in this way would be for 294 applications to somehow notify the TCP layer of their preference in 295 the matter. An application could notify TCP that it should abort a 296 connection upon receipt of particular ICMPv6 errors. Similarly, it 297 could notify TCP that it should not abort a connection. This would 298 allow existing TCP implementations to maintain their status quo at 299 the expense of increased application complexity. 301 2.3.1.2 Asynchronous Application Notification 303 In section 4.2.4.1, [HOSTREQS] states that there MUST be a mechanism 304 for reporting soft TCP error conditions to the application. Such a 305 mechanism (assuming one is implemented) could be used by applications 306 to cycle through destination addresses. 308 2.3.2 UDP Implications 310 As noted in [HOSTREQS] section 4.1.3.3, UDP implementations MUST pass 311 to the application layer all ICMP error messages that it receives 312 from the IP layer. As a result, proper handling destination 313 unreachability by UDP applications is the responsibility of the 314 applications themselves. 316 2.3.3 SCTP Implications 318 According to [SCTPIMP], SCTP ignores all ICMPv6 destination 319 unreachable messages. The existing SCTP specifications do not 320 suggest any action on the part of the implementation on reception of 321 such messages. Investigation needs to be done to determine the 322 implications. 324 3. Other Problematic Scenarios 326 This section describes problems that could arise for a dual stack 327 system with IPv6 enabled when placed on a network with IPv6 328 connectivity. 330 3.1 IPv6 Network of Smaller Scope 332 A network that has a smaller scope of connectivity for IPv6 as it 333 does for IPv4 could be a problem in some cases. If applications have 334 access to name to address mapping information that is of greater 335 scope than the connectivity to those addresses, there is obvious 336 potential for suboptimal network performance. Hosts will attempt to 337 communicate with IPv6 destinations that are outside the scope of the 338 IPv6 routing, and depending on how the scope boundaries are enforced, 339 applications may not be notified that packets are being dropped at 340 the scope boundary. 342 If applications aren't immediately notified of the lack of 343 reachability to IPv6 destinations, then they aren't able to 344 efficiently fall back to IPv4. They then have to rely on transport 345 layer timeouts which can be minutes in the case of TCP. 347 An example of such a network is an enterprise network that has both 348 IPv4 and IPv6 routing within the enterprise and has a firewall 349 configured to allow some IPv4 communication, but no IPv6 350 communication. 352 3.1.1 Alleviating the Scope Problem 354 To allow applications to correctly fall back to IPv4 when IPv6 355 packets are destined beyond their allowed scope, the devices 356 enforcing the scope boundary must send ICMPv6 Destination Unreachable 357 messages back to senders of such packets. The sender's transport 358 layer should act on these errors as described in Section 2.3. 360 3.2 Poor IPv6 Network Performance 362 Most applications on dual stack nodes will try IPv6 destinations 363 first by default due to the Default Address Selection mechanism 364 described in [ADDRSEL]. If the IPv6 connectivity to those 365 destinations is poor while the IPv4 connectivity is better (i.e., the 366 IPv6 traffic experiences higher latency, lower throughput, or more 367 lost packets than IPv4 traffic), applications will still communicate 368 over IPv6 at the expense of network performance. There is no 369 information available to applications in this case to advise them to 370 try another destination address. 372 An example of such a situation is a node which obtains IPv4 373 connectivity natively through an ISP, but whose IPv6 connectivity is 374 obtained through a configured tunnel whose other endpoint is 375 topologically such that most IPv6 communication is done through 376 triangular IPv4 paths. Operational experience on the 6bone shows 377 that IPv6 RTT's are poor in such situations. 379 3.2.1 Dealing with Poor IPv6 Network Performance 381 There are few options from the end node's perspective. One is to 382 configure each node to prefer IPv4 destinations over IPv6. If hosts 383 implement the Default Address Selection for IPv6 [ADDRSEL] policy 384 table, IPv4 mapped addresses could be assigned higher precedence, 385 resulting in applications trying IPv4 for communication first. This 386 has the negative side-effect that these nodes will almost never use 387 IPv6 unless the only address published in the DNS for a given name is 388 IPv6, presumably because of this phenomenon. 390 Disabling IPv6 on the end nodes is another solution. The idea would 391 be that enabling IPv6 on dual stack nodes is a manual process that 392 would be done when the administrator knows that IPv6 connectivity is 393 adequate. 395 3.3 Security 397 Enabling IPv6 on a host implies that the services on the host may be 398 open to IPv6 communication. If the service itself is insecure and 399 depends on security policy enforced somewhere else on the network 400 (such as in a firewall), then there is potential for new attacks 401 against the service. 403 A firewall, for example, may not be enforcing the same policy for 404 IPv4 as for IPv6 traffic. One possibility is that the firewall could 405 have more relaxed policy for IPv6, perhaps by letting all IPv6 406 packets pass through, or by letting all IPv4 protocol 41 packets pass 407 through. In this scenario, the dual stack hosts within the protected 408 network could be subject to different attacks than for IPv4. 410 Even if a firewall has a stricter policy or identical policy for IPv6 411 traffic than for IPv4 (the extreme case being that it drops all IPv6 412 traffic), IPv6 packets could go through the network untouched if 413 tunneled over a transport layer. This could open the host to direct 414 IPv6 attacks. 416 A similar problem could exist for VPN software. A VPN could protect 417 all IPv4 packets but transmit all others onto the local subnet 418 unprotected. At least one widely used VPN behaves this way. This is 419 problematic on a dual stack host that has IPv6 enabled on its local 420 network. It establishes its VPN link and attempts to communicate 421 with destinations that resolve to both IPv4 and IPv6 addresses. The 422 destination address selection mechanism prefers the IPv6 destination 423 so the application sends packets to an IPv6 address. The VPN doesn't 424 know about IPv6, so instead of protecting the packets and sending 425 them to the remote end of the VPN, it passes such packets in the 426 clear to the local network. The reason that packets meant to be 427 protected would be sent in the clear on the local network is either 428 because of the on-link assumption discussed in Section 2.2, or of 429 malicious hijacking of traffic by a rogue "fake" router advertising a 430 prefix. 432 3.3.1 Mitigating Security Risks 434 The security policy implemented in firewalls, VPN software, or other 435 devices, must take a stance whether it applies equally to both IPv4 436 and IPv6 traffic. It is probably desirable for policy to apply 437 equally to both IPv4 and IPv6, but the most important thing is to be 438 aware of the potential problem, and to make the policy clear to the 439 administrator and user. 441 There is still a risk that IPv6 packets could be tunneled over a 442 transport layer such as UDP, implicitly bypassing security policy. 443 Some more complex mechanism could be implemented to apply the correct 444 policy to such packets. This could be easy to do if tunnel endpoints 445 are co-located with a firewall, but more difficult if internal nodes 446 do their own IPv6 tunneling. 448 4. Application Robustness 450 Enabling IPv6 on a dual stack node is only useful if applications 451 that support IPv6 on that node properly cycle through addresses 452 returned from name lookups and fall back to IPv4 when IPv6 453 communication fails. Simply cycling through the list of addresses 454 returned from a name lookup when attempting connections works in most 455 cases for most applications, but there are still cases where that's 456 not enough. Applications also need to be aware that the fact that a 457 dual stack destination's IPv6 address is published in the DNS does 458 not necessarily imply that all services on that destination function 459 over IPv6. This problem, along with a thorough discussion of IPv6 460 application transition guidelines, is discussed in [APPTRANS]. 462 5. Security Considerations 464 This document raises security concerns in Section 3.3. 466 Normative References 468 [ADDRSEL] Draves, R., "Default Address Selection for Internet 469 Protocol version 6 (IPv6)", RFC 3484, February 2003. 471 [APPTRANS] 472 Hong, Y-G., Hagino, J., Savola, P. and M. Castro, 473 "Application Aspects of IPv6 Transition", October 2003. 475 draft-ietf-v6ops-application-transition-00 477 [ND] Narten, T., Nordmark, E. and W. Simpson, "Neighbor 478 Discovery for IP Version 6 (IPv6)", RFC 2461, December 479 1998. 481 [ONLINK] Roy, S., Durand, A. and J. Paugh, "IPv6 Neighbor Discovery 482 On-Link Assumption Considered Harmful", October 2003. 484 draft-ietf-v6ops-onlinkassumption-00 486 Informative References 488 [AUTOCONF] 489 Thomson, S. and T. Narten, "IPv6 Stateless Address 490 Autoconfiguration", RFC 2462, December 1998. 492 [HOSTREQS] 493 Braden, R., "Requirements for Internet Hosts -- 494 Communication Layers", STD 3, RFC 1122, October 1989. 496 [PRIVADDR] 497 Rekhter, Y., Moskowitz, B., Karrenberg, D., de Groot, G. 498 and E. Lear, "Address Allocation for Private Internets", 499 BCP 5, RFC 1918, February 1996. 501 [SCTPIMP] Stewart, R., Arias-Rodriguez, I., Poon, K., Caro, A. and 502 M. Tuexen, "", November 2003. 504 draft-ietf-tsvwg-sctpimpguide-10 506 Authors' Addresses 508 Sebastien Roy 509 Sun Microsystems, Inc. 510 1 Network Drive 511 UBUR02-212 512 Burlington, MA 01801 514 EMail: sebastien.roy@sun.com 516 Alain Durand 517 Sun Microsystems, Inc. 518 17 Network Circle 519 UMPK17-202 520 Menlo Park, CA 94025 522 EMail: alain.durand@sun.com 524 James Paugh 525 Sun Microsystems, Inc. 526 17 Network Circle 527 UMPK17-202 528 Menlo Park, CA 94025 530 EMail: james.paugh@sun.com 532 Appendix A. Acknowledgments 534 The authors gratefully acknowledge the contributions of Jim Bound, 535 Tim Hartrick, Mika Liljeberg, Erik Nordmark, Pekka Savola, and Ronald 536 van der Pol. 538 Appendix B. Changes from draft-ietf-v6ops-v6onbydefault-00 540 o Clarified in the abstract and introduction that the document is 541 meant to raise awareness, and not to specify whether IPv6 should 542 be enabled by default or not. 544 o Shortened section Section 2.2 and made reference to [ONLINK]. 546 o Added clarification in section Section 2.3 about packets that are 547 lost without ICMPv6 notification. 549 o Section Section 2.3 now has subsections for TCP, UDP, and SCTP. 551 o Removed text in Section 2.3.1.1 suggesting that hosts usually were 552 only assigned one address when [HOSTREQS] was written. 554 o Added text in Section 2.3.1.1 suggesting a method for applications 555 to advise TCP of their preference for ICMPv6 handling. 557 o Added section Section 2.3.1.2. 559 o Added section Section 2.3.2. 561 o Added section Section 2.3.3. 563 o Strengthened wording in section Section 3.1.1 to suggest that 564 devices enforcing scope boundaries must send ICMPv6 Destination 565 Unreachable messages. 567 o Clarified that the VPN problem described in Section 3.3 is due to 568 a combination of the VPN software and either the on-link 569 assumption and/or a "bad guy". 571 o Shortened section Section 4 and made reference to [APPTRANS]. 573 o Miscellaneous editorial changes. 575 Intellectual Property Statement 577 The IETF takes no position regarding the validity or scope of any 578 intellectual property or other rights that might be claimed to 579 pertain to the implementation or use of the technology described in 580 this document or the extent to which any license under such rights 581 might or might not be available; neither does it represent that it 582 has made any effort to identify any such rights. Information on the 583 IETF's procedures with respect to rights in standards-track and 584 standards-related documentation can be found in BCP-11. Copies of 585 claims of rights made available for publication and any assurances of 586 licenses to be made available, or the result of an attempt made to 587 obtain a general license or permission for the use of such 588 proprietary rights by implementors or users of this specification can 589 be obtained from the IETF Secretariat. 591 The IETF invites any interested party to bring to its attention any 592 copyrights, patents or patent applications, or other proprietary 593 rights which may cover technology that may be required to practice 594 this standard. Please address the information to the IETF Executive 595 Director. 597 Full Copyright Statement 599 Copyright (C) The Internet Society (2004). All Rights Reserved. 601 This document and translations of it may be copied and furnished to 602 others, and derivative works that comment on or otherwise explain it 603 or assist in its implementation may be prepared, copied, published 604 and distributed, in whole or in part, without restriction of any 605 kind, provided that the above copyright notice and this paragraph are 606 included on all such copies and derivative works. However, this 607 document itself may not be modified in any way, such as by removing 608 the copyright notice or references to the Internet Society or other 609 Internet organizations, except as needed for the purpose of 610 developing Internet standards in which case the procedures for 611 copyrights defined in the Internet Standards process must be 612 followed, or as required to translate it into languages other than 613 English. 615 The limited permissions granted above are perpetual and will not be 616 revoked by the Internet Society or its successors or assignees. 618 This document and the information contained herein is provided on an 619 "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING 620 TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING 621 BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION 622 HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF 623 MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 625 Acknowledgment 627 Funding for the RFC Editor function is currently provided by the 628 Internet Society.