idnits 2.17.1 draft-ietf-softwire-lw4over6-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The abstract seems to contain references ([RFC6333]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. == There are 1 instance of lines with non-RFC6890-compliant IPv4 addresses in the document. If these are example addresses, they should be changed. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (July 15, 2013) is 3938 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: 'RFC3484' is defined on line 746, but no explicit reference was found in the text == Unused Reference: 'RFC4213' is defined on line 749, but no explicit reference was found in the text == Outdated reference: A later version (-08) exists of draft-ietf-softwire-unified-cpe-01 ** Downref: Normative reference to an Informational RFC: RFC 3022 ** Obsolete normative reference: RFC 3484 (Obsoleted by RFC 6724) ** Downref: Normative reference to an Informational RFC: RFC 6269 ** Downref: Normative reference to an Experimental RFC: RFC 6346 ** Downref: Normative reference to an Informational RFC: RFC 6431 == Outdated reference: A later version (-13) exists of draft-ietf-pcp-port-set-02 == Outdated reference: A later version (-13) exists of draft-ietf-softwire-map-07 == Outdated reference: A later version (-10) exists of draft-ietf-softwire-public-4over6-09 == Outdated reference: A later version (-02) exists of draft-sun-dhc-port-set-option-01 Summary: 6 errors (**), 0 flaws (~~), 9 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Softwire Working Group Y. Cui 3 Internet-Draft Tsinghua University 4 Intended status: Standards Track Q. Sun 5 Expires: January 16, 2014 China Telecom 6 M. Boucadair 7 France Telecom 8 T. Tsou 9 Huawei Technologies 10 Y. Lee 11 Comcast 12 I. Farrer 13 Deutsche Telekom AG 14 July 15, 2013 16 Lightweight 4over6: An Extension to the DS-Lite Architecture 17 draft-ietf-softwire-lw4over6-01 19 Abstract 21 DS-Lite [RFC6333] describes an architecture for transporting IPv4 22 packets over an IPv6 network. This document specifies an extension 23 to DS-Lite called Lightweight 4over6 which moves the Network Address 24 Translation function from the DS-Lite AFTR to the B4, removing the 25 requirement for a Carrier Grade NAT function in the AFTR. This 26 reduces the amount of centralized state that must be held to a per- 27 subscriber level. In order to delegate the NAPT function and make 28 IPv4 Address sharing possible, port-restricted IPv4 addresses are 29 allocated to the B4s. 31 Status of This Memo 33 This Internet-Draft is submitted in full conformance with the 34 provisions of BCP 78 and BCP 79. 36 Internet-Drafts are working documents of the Internet Engineering 37 Task Force (IETF). Note that other groups may also distribute 38 working documents as Internet-Drafts. The list of current Internet- 39 Drafts is at http://datatracker.ietf.org/drafts/current/. 41 Internet-Drafts are draft documents valid for a maximum of six months 42 and may be updated, replaced, or obsoleted by other documents at any 43 time. It is inappropriate to use Internet-Drafts as reference 44 material or to cite them other than as "work in progress." 46 This Internet-Draft will expire on January 16, 2014. 48 Copyright Notice 50 Copyright (c) 2013 IETF Trust and the persons identified as the 51 document authors. All rights reserved. 53 This document is subject to BCP 78 and the IETF Trust's Legal 54 Provisions Relating to IETF Documents 55 (http://trustee.ietf.org/license-info) in effect on the date of 56 publication of this document. Please review these documents 57 carefully, as they describe your rights and restrictions with respect 58 to this document. Code Components extracted from this document must 59 include Simplified BSD License text as described in Section 4.e of 60 the Trust Legal Provisions and are provided without warranty as 61 described in the Simplified BSD License. 63 Table of Contents 65 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 66 2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 4 67 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 68 4. Lightweight 4over6 Architecture . . . . . . . . . . . . . . . 5 69 5. Lightweight B4 Behavior . . . . . . . . . . . . . . . . . . . 6 70 5.1. Lightweight B4 Provisioning . . . . . . . . . . . . . . . 7 71 5.2. Lightweight B4 Data Plane Behavior . . . . . . . . . . . 8 72 6. Lightweight AFTR Behavior . . . . . . . . . . . . . . . . . . 9 73 6.1. Binding Table Maintenance . . . . . . . . . . . . . . . . 9 74 6.2. lwAFTR Data Plane Behavior . . . . . . . . . . . . . . . 10 75 7. Provisioning of IPv4 address and Port Set . . . . . . . . . . 11 76 8. ICMP Processing . . . . . . . . . . . . . . . . . . . . . . . 11 77 9. Security Considerations . . . . . . . . . . . . . . . . . . . 12 78 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 79 11. Author List . . . . . . . . . . . . . . . . . . . . . . . . . 13 80 12. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 16 81 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 16 82 13.1. Normative References . . . . . . . . . . . . . . . . . . 16 83 13.2. Informative References . . . . . . . . . . . . . . . . . 17 84 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 18 86 1. Introduction 88 Dual-Stack Lite (DS-Lite, [RFC6333]) defines a model for providing 89 IPv4 access over an IPv6 network using two well-known technologies: 90 IP in IP [RFC2473] and Network Address Translation (NAT). The DS- 91 Lite architecture defines two major functional elements as follows: 93 Basic Bridging BroadBand element: A B4 element is a function 94 implemented on a dual-stack capable 95 node, either a directly connected 96 device or a CPE, that creates a 97 tunnel to an AFTR. 99 Address Family Transition Router: An AFTR element is the combination 100 of an IPv4-in-IPv6 tunnel endpoint 101 and an IPv4-IPv4 NAT implemented on 102 the same node. 104 As the AFTR performs the centralized NAT44 function, it dynamically 105 assigns public IPv4 addresses and ports to requesting host's traffic 106 (as described in [RFC3022]). To achieve this, the AFTR must 107 dynamically maintain per-flow state in the form of active NAPT 108 sessions. For service providers with a large number of B4 clients, 109 the size and associated costs for scaling the AFTR can quickly become 110 prohibitive. It can also place a large NAPT logging overhead upon 111 the service provider in countries where legal requirements mandate 112 this. 114 This document describes a mechanism called Lightweight 4 over 6 115 (lw4o6), which provides a solution for these problems. By relocating 116 the NAPT functionality from the centralized AFTR to the distributed 117 B4s, a number of benefits can be realized: 119 o NAPT44 functionality is already widely supported and used in 120 today's CPE devices. Lw4o6 uses this to provide private<->public 121 NAPT44, meaning that the service provider does not need a 122 centralized NAT44 function. 124 o The amount of state that must be maintained centrally in the AFTR 125 can be reduced from per-flow to per-subscriber. This reduces the 126 amount of resources (memory and processing power) necessary in the 127 AFTR. 129 o The reduction of maintained state results in a greatly reduced 130 logging overhead on the service provider. 132 Operator's IPv6 and IPv4 addressing architectures remain independent 133 of each other. Therefore, flexible IPv4/IPv6 addressing schemes can 134 be deployed. 136 Lightweight 4over6 provides a solution for a hub-and-spoke softwire 137 architecture only. It does not offer direct, meshed IPv4 138 connectivity between subscribers without packets traversing the AFTR. 139 If this type of meshed interconnectivity is required, 140 [I-D.ietf-softwire-map] provides a suitable solution. 142 The tunneling mechanism remains the same for DS-Lite and Lightweight 143 4over6. This document describes the changes to DS-Lite that are 144 necessary to implement Lightweight 4over6. These changes mainly 145 concern the configuration parameters and provisioning method 146 necessary for the functional elements. 148 Lightweight 4over6 features keeping per-subscriber state in the 149 service provider's network. It is categorized as Binding approach in 150 [I-D.ietf-softwire-unified-cpe] which defines a unified IPv4-in-IPv6 151 Softwire CPE. 153 This document is an extended case, which covers address sharing for 154 [I-D.ietf-softwire-public-4over6]. It is also a variant of A+P 155 called Binding Table Mode (see Section 4.4 of [RFC6346]). 157 This document focuses on architectural considerations and 158 particularly on the expected behavior of the involved functional 159 elements and their interfaces. Deployment-specific issues are 160 discussed in a companion document. As such, discussions about 161 redundancy and provisioning policy are out of scope. 163 2. Conventions 165 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 166 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 167 document are to be interpreted as described in [RFC2119]. 169 3. Terminology 171 The document defines the following terms: 173 Lightweight 4over6 (lw4o6): An IPv4-over-IPv6 hub and spoke 174 mechanism, which extends DS-Lite by 175 moving the IPv4 translation (NAPT44) 176 function from the AFTR to the B4. 178 Lightweight B4 (lwB4): A B4 element (Basic Bridging BroadBand 179 element [RFC6333]), which supports 180 Lightweight 4over6 extensions. An lwB4 181 is a function implemented on a dual- 182 stack capable node, (either a directly 183 connected device or a CPE), that 184 supports port-restricted IPv4 address 185 allocation, implements NAPT44 186 functionality and creates a tunnel to 187 an lwAFTR 189 Lightweight AFTR (lwAFTR): An AFTR element (Address Family 190 Transition Router element [RFC6333]), 191 which supports Lightweight 4over6 192 extension. An lwAFTR is an IPv4-in- 193 IPv6 tunnel endpoint which maintains 194 per-subscriber address binding only and 195 does not perform a NAPT44 function. 197 Restricted Port-Set: A non-overlapping range of allowed 198 external ports allocated to the lwB4 to 199 use for NAPT44. Source ports of IPv4 200 packets sent by the B4 must belong to 201 the assigned port-set. The port set is 202 used for all port aware IP protocols 203 (TCP, UDP, SCTP etc.) 205 Port-restricted IPv4 Address: A public IPv4 address with a restricted 206 port-set. In Lightweight 4over6, 207 multiple B4s may share the same IPv4 208 address, however, their port-sets must 209 be non-overlapping. 211 Throughout the remainder of this document, the terms B4/AFTR should 212 be understood to refer specifically to a DS-Lite implementation. The 213 terms lwB4/lwAFTR refer to a Lightweight 4over6 implementation. 215 4. Lightweight 4over6 Architecture 217 The Lightweight 4over6 architecture is functionally similar to DS- 218 Lite. lwB4s and an lwAFTR are connected through an IPv6-enabled 219 network. Both approaches use an IPv4-in-IPv6 encapsulation scheme to 220 deliver IPv4 connectivity services. The following figure shows the 221 data plane with the main functional change between DS-Lite and lw4o6: 223 +--------+ +---------+ IPv4-in-IPv6 +------+ +-------------+ 224 |IPv4 LAN|---|lwB4/NAPT|==================|lwAFTR|----|IPv4 Internet| 225 +--------+ +---------+ +------+ +-------------+ 226 ^ | 227 +-------------------------+ 228 NAPT function relocated 229 to lwB4 in lw4o6 231 Figure 1 Lightweight 4over6 Data Plane Overview 233 There are three main components in the Lightweight 4over6 234 architecture: 236 o The lwB4, which performs the NAPT function and encapsulation/de- 237 capsulation IPv4/IPv6. 239 o The lwAFTR, which performs the encapsulation/de-capsulation IPv4/ 240 IPv6. 242 o The provisioning system, which tells the lwB4 which IPv4 address 243 and port set to use. 245 The lwB4 differs from a regular B4 in that it now performs the NAPT 246 functionality. This means that it needs to be provisioned with the 247 public IPv4 address and port set it is allowed to use. This 248 information is provided though a provisioning mechanism such as DHCP, 249 PCP or TR-69. 251 The lwAFTR needs to know the binding between the IPv6 address of each 252 subscriber and the IPv4 address and port set allocated to that 253 subscriber. This information is used to perform ingress filtering 254 upstream and encapsulation downstream. Note that this is per- 255 subscriber state as opposed to per-flow state in the regular AFTR 256 case. 258 The consequence of this architecture is that the information 259 maintained by the provisioning mechanism and the one maintained by 260 the lwAFTR MUST be synchronized (See figure 2). The details of this 261 synchronization depend on the exact provisioning mechanism and will 262 be discussed in a companion draft. 264 The solution specified in this document allows the assignment of 265 either a full or a shared IPv4 address requesting CPEs. 266 [I-D.ietf-softwire-public-4over6] provides a mechanism for assigning 267 a full IPv4 address only. 269 +------------+ 270 /-------|Provisioning|<-----\ 271 | +------------+ | 272 | | 273 V V 274 +--------+ +---------+ IPv4/IPv6 +------+ +-------------+ 275 |IPv4 LAN|---|lwB4/NAPT|==================|lwAFTR|----|IPv4 Internet| 276 +--------+ +---------+ +------+ +-------------+ 278 Figure 2 Lightweight 4over6 Provisioning Synchronization 280 5. Lightweight B4 Behavior 281 5.1. Lightweight B4 Provisioning 283 With DS-Lite, the B4 element only needs to be configured with a 284 single DS-Lite specific parameter so that it can set up the softwire 285 (the IPv6 address of the AFTR). Its IPv4 address can be taken from 286 the well-known range 192.0.0.0/29. 288 In lw4o6, due to the distributed nature of the NAPT function, a 289 number of lw4o6 specific configuration parameters must be provisioned 290 to the lwB4. These are: 292 o IPv6 Address for the lwAFTR 294 o IPv4 External (Public) Address for NAPT44 296 o Restricted port-set to use for NAPT44 298 An IPv6 address from an assigned prefix is also required for the lwB4 299 to use as the encapsulation source address for the softwire. 300 Normally, this is the lwB4's globally unique WAN interface address 301 which can be obtained via an IPv6 address allocation procedure such 302 as SLAAC, DHCPv6 or manual configuration. 304 In the event that the lwB4's encapsulation source address is changed 305 for any reason (such as the DHCPv6 lease expiring), the lwB4's 306 dynamic provisioning process must be re-initiated. 308 For learning the IPv6 address of the lwAFTR, the lwB4 SHOULD 309 implement the method described in section 5.4 of [RFC6333] and 310 implement the DHCPv6 option defined in [RFC6334]. Other methods of 311 learning this address are also possible. 313 An lwB4 MUST support dynamic port-restricted IPv4 address 314 provisioning. The potential port set algorithms are described in 315 [I-D.sun-dhc-port-set-option], and Section 5.1 of 316 [I-D.ietf-softwire-map]. Several different mechanisms can be used 317 for provisioning the lwB4 with its port-restricted IPv4 address such 318 as: DHCPv4, DHCPv6, PCP and PPP. Some alternatives are mentioned in 319 Section 7 of this document. 321 In this document, the lwB4 is a binding mode CPE. It is RECOMMENDED 322 to that provisioning follows section 3.3 of 323 [I-D.ietf-softwire-unified-cpe]. 325 In the event that the lwB4 receives and ICMPv6 error message (type 1, 326 code 5) originating from the lwAFTR, the lwB4 SHOULD interpret this 327 to mean that no matching entry in the lwAFTR's binding table has been 328 found. The lwB4 MAY then re-initiate the dynamic port-restricted 329 provisioning process. The lwB4's re-initiation policy SHOULD be 330 configurable. 332 The DNS considerations described in Section 5.5 and Section 6.4 of 333 [RFC6333] SHOULD be followed. 335 5.2. Lightweight B4 Data Plane Behavior 337 Several sections of [RFC6333] provide background information on the 338 B4's data plane functionality and MUST be implemented by the lwB4 as 339 they are common to both solutions. The relevant sections are: 341 Section 5.2 which covers encapsulation and de-capsulation of 342 tunneled traffic. 344 Section 5.3 which discusses MTU and fragmentation. 346 Section 7.1 which covers tunneling and traffic class mapping 347 between IPv4 and IPv6. 349 The lwB4 element performs IPv4 address translation (NAPT44) as well 350 as encapsulation and de-capsulation. It runs standard NAPT44 351 [RFC3022] using the allocated port-restricted address as its external 352 IPv4 address and port numbers. When lwB4 receives the first IPv4 353 fragmented packet from lwAFTR after decapsulating, the lwB4 MUST re- 354 assemble the packet before performing NAT since the transport 355 protocol information is only available in the first fragment. It is 356 possible to optimize this behavior by using a caching to forward the 357 fragments unchanged. When lwB4 receives an IPv4 packet from its 358 connected host that is larger than the MTU size after encapsulation, 359 the lwB4 MUST fragment the IPv4 packet before encapsulation. This 360 lwB4 behavior will not result IPv6 fragmentation so that lwAFTR does 361 not require to re-assemble the fragmented IPv6 packets. 363 The lwB4 MUST behave as is depicted in bullet (2.2) of section 3.2 of 364 [I-D.ietf-softwire-unified-cpe] when it starts up. The working flow 365 of the lwB4 is illustrated in figure 3. 367 +-------------+ 368 | lwB4 | 369 +--------+ IPv4 |------+------| IPv4-in-IPv6 +----------+ 370 |IPv4 LAN|------->| |Encap.|-------------->|Configured| 371 | |<-------| NAPT | or |<--------------| lwAFTR | 372 +--------+ | |Decap.| +----------+ 373 +------+------+ 375 Figure 3 Working Flow of the lwB4 376 Internally connected hosts source IPv4 packets with an [RFC1918] 377 address. When the lwB4 receives such an IPv4 packet, it performs a 378 NAPT44 function on the source address and port by using the public 379 IPv4 address and a port number from the allocated port-set. Then, it 380 encapsulates the packet with an IPv6 header. The destination IPv6 381 address is the lwAFTR's IPv6 address and the source IPv6 address is 382 the lwB4's IPv6 tunnel endpoint address. Finally, the lwB4 forwards 383 the encapsulated packet to the configured lwAFTR. 385 When the lwB4 receives an IPv4-in-IPv6 packet from the lwAFTR, it de- 386 capsulates the IPv4 packet from the IPv6 packet. Then, it performs 387 NAPT44 translation on the destination address and port, based on the 388 available information in its local NAPT44 table. 390 If the IPv6 source address does not match the configured lwAFTR 391 address, then the packet MUST be discarded. If the decapsulated IPv4 392 packet does not match the lwB4's configuration (i.e. invalid 393 destination IPv4 address or port) then the packet MUST be dropped. 394 An ICMPv4 error message (type 13 - Communication Administratively 395 Prohibited) message MAY be sent back to the lwAFTR. The ICMP policy 396 SHOULD be configurable. 398 The lwB4 is responsible for performing ALG functions (e.g., SIP, 399 FTP), and other NAPT traversal mechanisms (e.g., UPnP, NAPT-PMP, 400 manual binding configuration, PCP) for the internal hosts. This 401 requirement is typical for NAPT44 gateways available today. 403 It is possible that a lwB4 is co-located in a host. In this case, 404 the functions of NAPT44 and encapsulation/de-capsulation are 405 implemented inside the host. 407 6. Lightweight AFTR Behavior 409 6.1. Binding Table Maintenance 411 The lwAFTR maintains an address binding table containing the binding 412 between the lwB4's IPv6 address, the allocated IPv4 address and 413 restricted port-set. Unlike the DS-Lite extended binding table 414 defined in section 6.6 of [RFC6333] which is a 5-tuple NAT table, 415 each entry in the Lightweight 4over6 binding table contains the 416 following 3-tuples: 418 o IPv6 Address for a single lwB4 420 o Public IPv4 Address 422 o Restricted port-set 423 The entry has two functions: the IPv6 encapsulation of inbound IPv4 424 packets destined to the lwB4 and the validation of outbound IPv4-in- 425 IPv6 packets received from the lwB4 for de-capsulation. 427 The lwAFTR does not perform NAPT and so does not need session 428 entries. 430 The lwAFTR MUST synchronize the binding information with the port- 431 restricted address provisioning process. If the lwAFTR does not 432 participate in the port-restricted address provisioning process, the 433 binding MUST be synchronized through other methods (e.g. out-of-band 434 static update). 436 If the lwAFTR participates in the port-restricted provisioning 437 process, then its binding table MUST be created as part of this 438 process. 440 For all provisioning processes, the lifetime of binding table entries 441 MUST be synchronized with the lifetime of address allocations. 443 6.2. lwAFTR Data Plane Behavior 445 Several sections of [RFC6333] provide background information on the 446 AFTR's data plane functionality and MUST be implemented by the lwAFTR 447 as they are common to both solutions. The relevant sections are: 449 Section 6.2 which covers encapsulation and de-capsulation of 450 tunneled traffic. 452 Section 6.3 which discusses MTU and fragmentation. 454 Section 7.1 which covers tunneling and traffic class mapping 455 between IPv4 and IPv6. 457 When the lwAFTR receives an IPv4-in-IPv6 packet from an lwB4, it de- 458 capsulates the IPv6 header and verifies the source addresses and port 459 in the binding table. If both the source IPv4 and IPv6 addresses 460 match a single entry in the binding table and the source port is in 461 the allowed port-set for that entry, the lwAFTR forwards the packet 462 to the IPv4 destination. 464 If no match is found (e.g., no matching IPv4 address entry, port out 465 of range, etc.), the lwAFTR MUST discard or implement a policy (such 466 as redirection) on the packet. An ICMPv6 type 1, code 5 (source 467 address failed ingress/egress policy) error message MAY be sent back 468 to the requesting lwB4. The ICMP policy SHOULD be configurable. 470 When the lwAFTR receives an inbound IPv4 packet, it uses the IPv4 471 destination address and port to lookup the destination lwB4's IPv6 472 address in its binding table. If a match is found, the lwAFTR 473 encapsulates the IPv4 packet. The source is the lwAFTR's IPv6 474 address and the destination is the lwB4's IPv6 address from the 475 matched entry. Then, the lwAFTR forwards the packet to the lwB4 476 natively over the IPv6 network. 478 If no match is found, the lwAFTR MUST discard the packet. An ICMPv4 479 type 3, code 1 (Destination unreachable, host unreachable) error 480 message MAY be sent back. The ICMP policy SHOULD be configurable. 482 The lwAFTR MUST support hairpinning of traffic between two lwB4s, by 483 performing de-capsulation and re-encapsulation of packets. The 484 hairpinning policy MUST be configurable. 486 7. Provisioning of IPv4 address and Port Set 488 There are several dynamically provisioning protocols for IPv4 address 489 and port set. These protocols MAY be implemented. Some possible 490 alternatives include: 492 o DHCP: The DHCP protocol MAY be extended to use for provisioning. 493 [I-D.ietf-softwire-unified-cpe] provides a description of how this 494 is used. 496 o PCP[RFC6887]: an lwB4 MAY use [I-D.ietf-pcp-port-set] to retrieve 497 a restricted IPv4 address and a set of ports. 499 In a Lightweight 4over6 domain, the same provisioning mechanism MUST 500 be enabled in the lwB4s, the AFTRs and the provisioning server. 502 DHCP-based provisioning mechanism (DHCPv4/DHCPv6) is RECOMMENDED by 503 this document. 505 8. ICMP Processing 507 ICMP does not work in an address sharing environment without special 508 handling [RFC6269]. Due to the port-set style address sharing, 509 Lightweight 4over6 requires specific ICMP message handling not 510 required by DS-Lite. 512 The following behavior SHOULD be implemented by the lwAFTR to provide 513 ICMP error handling and basic remote IPv4 service diagnostics for a 514 port restricted CPE: for inbound ICMP messages, the lwAFTR MAY behave 515 in two modes: 517 Either: 519 1. Check the ICMP Type field. 521 2. If the ICMP type is set to 0 or 8 (echo reply or request), then 522 the lwAFTR MUST take the value of the ICMP identifier field as 523 the source port, and use this value to lookup the binding table 524 for an encapsulation destination. If a match is found, the 525 lwAFTR forwards the ICMP packet to the IPv6 address stored in the 526 entry; otherwise it MUST discard the packet. 528 3. If the ICMP type field is set to any other value, then the lwAFTR 529 MUST use the method described in REQ-3 of [RFC5508] to locate the 530 source port within the transport layer header in ICMP packet's 531 data field. The destination IPv4 address and source port 532 extracted from the ICMP packet are then used to make a lookup in 533 the binding table. If a match is found, it MUST forward the ICMP 534 reply packet to the IPv6 address stored in the entry; otherwise 535 it MUST discard the packet. 537 Or: 539 o Discard all inbound ICMP messages. 541 The ICMP policy SHOULD be configurable. 543 The lwB4 SHOULD implement the requirements defined in [RFC5508] for 544 ICMP forwarding. For ICMP echo request packets originating from the 545 private IPv4 network, the lwB4 SHOULD implement the method described 546 in [RFC6346] and use an available port from its port-set as the ICMP 547 Identifier. 549 For both the lwAFTR and the lwB4, ICMPv6 MUST be handled as described 550 in [RFC2473]. 552 9. Security Considerations 554 As the port space for a subscriber shrinks due to address sharing, 555 the randomness for the port numbers of the subscriber is decreased 556 significantly. This means it is much easier for an attacker to guess 557 the port number used, which could result in attacks ranging from 558 throughput reduction to broken connections or data corruption. 560 The port-set for a subscriber can be a set of contiguous ports or 561 non-contiguous ports. Contiguous port-sets do not reduce this 562 threat. However, with non-contiguous port-set (which may be 563 generated in a pseudo-random way [RFC6431]), the randomness of the 564 port number is improved, provided that the attacker is outside the 565 Lightweight 4over6 domain and hence does not know the port-set 566 generation algorithm. 568 More considerations about IP address sharing are discussed in 569 Section 13 of [RFC6269], which is applicable to this solution. 571 10. IANA Considerations 573 This document does not include an IANA request. 575 11. Author List 577 The following are extended authors who contributed to the effort: 579 Jianping Wu 581 Tsinghua University 583 Department of Computer Science, Tsinghua University 585 Beijing 100084 587 P.R.China 589 Phone: +86-10-62785983 591 Email: jianping@cernet.edu.cn 593 Peng Wu 595 Tsinghua University 597 Department of Computer Science, Tsinghua University 599 Beijing 100084 601 P.R.China 603 Phone: +86-10-62785822 605 Email: pengwu.thu@gmail.com 607 Qi Sun 609 Tsinghua University 611 Department of Computer Science, Tsinghua University 613 Beijing 100084 615 P.R.China 616 Phone: +86-10-62785822 618 Email: sunqi@csnet1.cs.tsinghua.edu.cn 620 Chongfeng Xie 622 China Telecom 624 Room 708, No.118, Xizhimennei Street 626 Beijing 100035 628 P.R.China 630 Phone: +86-10-58552116 632 Email: xiechf@ctbri.com.cn 634 Xiaohong Deng 636 France Telecom 638 Email: xiaohong.deng@orange.com 640 Cathy Zhou 642 Huawei Technologies 644 Section B, Huawei Industrial Base, Bantian Longgang 646 Shenzhen 518129 648 P.R.China 650 Email: cathyzhou@huawei.com 652 Alain Durand 654 Juniper Networks 656 1194 North Mathilda Avenue 658 Sunnyvale, CA 94089-1206 660 USA 662 Email: adurand@juniper.net 663 Reinaldo Penno 665 Cisco Systems, Inc. 667 170 West Tasman Drive 669 San Jose, California 95134 671 USA 673 Email: repenno@cisco.com 675 Alex Clauberg 677 Deutsche Telekom AG 679 GTN-FM4 681 Landgrabenweg 151 683 Bonn, CA 53227 685 Germany 687 Email: axel.clauberg@telekom.de 689 Lionel Hoffmann 691 Bouygues Telecom 693 TECHNOPOLE 695 13/15 Avenue du Marechal Juin 697 Meudon 92360 699 France 701 Email: lhoffman@bouyguestelecom.fr 703 Maoke Chen 705 FreeBit Co., Ltd. 707 13F E-space Tower, Maruyama-cho 3-6 709 Shibuya-ku, Tokyo 150-0044 710 Japan 712 Email: fibrib@gmail.com 714 12. Acknowledgement 716 The authors would like to thank Ole Troan, Ralph Droms and Suresh 717 Krishnan for their comments and feedback. 719 This document is a merge of three documents: 720 [I-D.cui-softwire-b4-translated-ds-lite], [I-D.zhou-softwire-b4-nat] 721 and [I-D.penno-softwire-sdnat]. 723 13. References 725 13.1. Normative References 727 [I-D.ietf-softwire-unified-cpe] 728 Boucadair, M., Farrer, I., Perreault, S., and S. 729 Sivakumar, "Unified IPv4-in-IPv6 Softwire CPE", draft- 730 ietf-softwire-unified-cpe-01 (work in progress), May 2013. 732 [RFC1918] Rekhter, Y., Moskowitz, R., Karrenberg, D., Groot, G., and 733 E. Lear, "Address Allocation for Private Internets", BCP 734 5, RFC 1918, February 1996. 736 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 737 Requirement Levels", BCP 14, RFC 2119, March 1997. 739 [RFC2473] Conta, A. and S. Deering, "Generic Packet Tunneling in 740 IPv6 Specification", RFC 2473, December 1998. 742 [RFC3022] Srisuresh, P. and K. Egevang, "Traditional IP Network 743 Address Translator (Traditional NAT)", RFC 3022, January 744 2001. 746 [RFC3484] Draves, R., "Default Address Selection for Internet 747 Protocol version 6 (IPv6)", RFC 3484, February 2003. 749 [RFC4213] Nordmark, E. and R. Gilligan, "Basic Transition Mechanisms 750 for IPv6 Hosts and Routers", RFC 4213, October 2005. 752 [RFC5508] Srisuresh, P., Ford, B., Sivakumar, S., and S. Guha, "NAT 753 Behavioral Requirements for ICMP", BCP 148, RFC 5508, 754 April 2009. 756 [RFC6269] Ford, M., Boucadair, M., Durand, A., Levis, P., and P. 757 Roberts, "Issues with IP Address Sharing", RFC 6269, June 758 2011. 760 [RFC6333] Durand, A., Droms, R., Woodyatt, J., and Y. Lee, "Dual- 761 Stack Lite Broadband Deployments Following IPv4 762 Exhaustion", RFC 6333, August 2011. 764 [RFC6334] Hankins, D. and T. Mrugalski, "Dynamic Host Configuration 765 Protocol for IPv6 (DHCPv6) Option for Dual-Stack Lite", 766 RFC 6334, August 2011. 768 [RFC6346] Bush, R., "The Address plus Port (A+P) Approach to the 769 IPv4 Address Shortage", RFC 6346, August 2011. 771 [RFC6431] Boucadair, M., Levis, P., Bajko, G., Savolainen, T., and 772 T. Tsou, "Huawei Port Range Configuration Options for PPP 773 IP Control Protocol (IPCP)", RFC 6431, November 2011. 775 13.2. Informative References 777 [I-D.cui-softwire-b4-translated-ds-lite] 778 Cui, Y., Sun, Q., Boucadair, M., Tsou, T., Lee, Y., and I. 779 Farrer, "Lightweight 4over6: An Extension to the DS-Lite 780 Architecture", draft-cui-softwire-b4-translated-ds-lite-11 781 (work in progress), February 2013. 783 [I-D.ietf-pcp-port-set] 784 Sun, Q., Boucadair, M., Sivakumar, S., Zhou, C., Tsou, T., 785 and S. Perreault, "Port Control Protocol (PCP) Extension 786 for Port Set Allocation", draft-ietf-pcp-port-set-02 (work 787 in progress), July 2013. 789 [I-D.ietf-softwire-map] 790 Troan, O., Dec, W., Li, X., Bao, C., Matsushima, S., 791 Murakami, T., and T. Taylor, "Mapping of Address and Port 792 with Encapsulation (MAP)", draft-ietf-softwire-map-07 793 (work in progress), May 2013. 795 [I-D.ietf-softwire-public-4over6] 796 Cui, Y., Wu, J., Wu, P., Vautrin, O., and Y. Lee, "Public 797 IPv4 over IPv6 Access Network", draft-ietf-softwire- 798 public-4over6-09 (work in progress), May 2013. 800 [I-D.penno-softwire-sdnat] 801 Penno, R., Durand, A., Hoffmann, L., and A. Clauberg, 802 "Stateless DS-Lite", draft-penno-softwire-sdnat-02 (work 803 in progress), March 2012. 805 [I-D.sun-dhc-port-set-option] 806 Sun, Q., Lee, Y., Sun, Q., Bajko, G., and M. Boucadair, 807 "Dynamic Host Configuration Protocol (DHCP) Option for 808 Port Set Assignment", draft-sun-dhc-port-set-option-01 809 (work in progress), April 2013. 811 [I-D.zhou-softwire-b4-nat] 812 Zhou, C., Boucadair, M., and X. Deng, "NAT offload 813 extension to Dual-Stack lite", draft-zhou- 814 softwire-b4-nat-04 (work in progress), October 2011. 816 [RFC6887] Wing, D., Cheshire, S., Boucadair, M., Penno, R., and P. 817 Selkirk, "Port Control Protocol (PCP)", RFC 6887, April 818 2013. 820 Authors' Addresses 822 Yong Cui 823 Tsinghua University 824 Department of Computer Science, Tsinghua University 825 Beijing 100084 826 P.R.China 828 Phone: +86-10-62603059 829 Email: yong@csnet1.cs.tsinghua.edu.cn 831 Qiong Sun 832 China Telecom 833 Room 708, No.118, Xizhimennei Street 834 Beijing 100035 835 P.R.China 837 Phone: +86-10-58552936 838 Email: sunqiong@ctbri.com.cn 840 Mohamed Boucadair 841 France Telecom 842 Rennes 35000 843 France 845 Email: mohamed.boucadair@orange.com 846 Tina Tsou 847 Huawei Technologies 848 2330 Central Expressway 849 Santa Clara, CA 95050 850 USA 852 Phone: +1-408-330-4424 853 Email: tena@huawei.com 855 Yiu L. Lee 856 Comcast 857 One Comcast Center 858 Philadelphia, PA 19103 859 USA 861 Email: yiu_lee@cable.comcast.com 863 Ian Farrer 864 Deutsche Telekom AG 865 GTN-FM4,Landgrabenweg 151 866 Bonn, NRW 53227 867 Germany 869 Email: ian.farrer@telekom.de