Network Working Group Y. Cui Internet-Draft J. Wu Intended status: Standards Track P. Wu Expires: January 12, 2012 Tsinghua University Q. Sun C. Xie China Telecom C. Zhou Huawei Technologies July 11, 2011 Lightweight 4over6 in access network draft-cui-softwire-b4-translated-ds-lite-01 Abstract The dual-stack lite mechanism provide an IPv4 access method over IPv6 ISP network for end users. Dual-Stack Lite enables a broadband service provider to share IPv4 addresses among customers by combining IPv4-in-IPv6 tunnel and Carrier Grade NAT. However, in dual-stack lite. CGN has to maintain per-session address mapping, which could be a heavy burden, and produce high hardware cost as well as performance issue. This draft propose the lightweight 4over6 mechanism which moves the translation function from tunnel concentrator (AFTR) to initiators (B4s), and hence reduce the mapping scale on CGN to per-customer level. For translation usage, the mechanism will allocate port restrcted IPv4 addresses to initiators in a flexible way independent of IPv6 network in the middle. Status of this Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on January 12, 2012. Copyright Notice Cui, et al. Expires January 12, 2012 [Page 1] Internet-Draft B4-translated ds-lite July 2011 Copyright (c) 2011 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 4 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 4. Port Restricted IPv4 Address Allocation . . . . . . . . . . . 6 5. Lightweight 4over6 Initiator Behavior . . . . . . . . . . . . 7 6. Lightweight 4over6 Concentrator Behavior . . . . . . . . . . . 8 7. Mechanism Analysis . . . . . . . . . . . . . . . . . . . . . . 9 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 11 Cui, et al. Expires January 12, 2012 [Page 2] Internet-Draft B4-translated ds-lite July 2011 1. Introduction Dual-stack lite technology provides IPv4 access method over IPv6 ISP network for broadband users. To deal with the incoming IPv4 exhaustion, dual-stack lite embeds the IPv4 address sharing functionality into the mechanism, by putting an IPv4 CGN on the tunnel concentrator (AFTR). The 44CGN solves the address shortage problem at the cost of maintaining per-session address mapping. The common estimation of AFTR capacity is that one AFTR should serve thousands of end users. The huge amount of sessions from the users would cause a fairly high hardware cost, and could easily cause performance issues. Besides, if the CGN need to support source tracing, the volume of logging data will be really huge. Therefore it's of great significance if we can reduce the amount of address mappings effectively. The address mapping is used directly for IPv4 private-public translation. So in order to reduce the amount of address mappings on the concentrator, the straightforward approach is moving the translation from the concentrator to initiators. Then the concentrator will be only responsible for encapsulation and forwarding, and hence get rid of the burden of translation and state maintenance. Apparently an initiator can be capable of translating its own traffic since the volume is low. However, it does need the public address and port for translation allocated from the concentrator. [I-D.cui-softwire-host-4over6] has discussed the case where full IPv4 addresses are allocated over IPv6 for IPv4-over-IPv6 usage; this draft will cover the case where port space is divided and allocated, too. Cui, et al. Expires January 12, 2012 [Page 3] Internet-Draft B4-translated ds-lite July 2011 2. Requirements Language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. Cui, et al. Expires January 12, 2012 [Page 4] Internet-Draft B4-translated ds-lite July 2011 3. Terminology Lightweight 4over6: lightweight 4over6 is an IPv4-over-IPv6 hub and spoke mechanism proposed in this document, which supports address sharing to deal with IPv4 address exhaustion, and places the IPv4 translation on the intiator side. Lightweight 4over6 initiator (or "initiator" for short): the tunnel initiator in lightweight 4over6 mechanism. The lightweight 4over6 initiator could be a host directly connected to IPv6, or an dual- stack CPE in front of an IPv4 local network. It is responsible for IPv4 public-private translation besides tunnel encapsulation and decapsulation. Lightweight 4over6 concentrator (or "concentrator" for short): the tunnel concentrator in lightweight 4over6 mechanism. The lightweight 4over6 concentrator connects the ISP IPv6 network and IPv4 Internet. It provides tunnel encapsulation and decapsulation but no IPv4 public-private translation. Cui, et al. Expires January 12, 2012 [Page 5] Internet-Draft B4-translated ds-lite July 2011 4. Port Restricted IPv4 Address Allocation As is described above, a lightweight 4over6 initiator needs the public address and port for stateful translation. It's obvious that individual address + port allocation when required is not efficient due to round-trip time delay and high signaling volume caused. Besides, that way can't save the mapping amount at all. A practical manner would be allocating a group of address + port at one time beforehand, i.e., allocating IPv4 address with a port range, which is known as "restricted address". To our knowledge there're two methods which are probably suitable for restricted address allocation from concentrator to initiator. One is extending DHCP to support address allocation with port range embedded. [I-D.bajko-pripaddrassign] discusses this DHCP usage. In this special context, we need to build the DHCPv4 procedure over IPv6 [I-D.cui-softwire-dhcp-over-tunnel]. The other is extending PCP to support port range control. See [I-D.tsou-pcp-natcoord] for details. Adopting either method, An initiator can get port restricted IPv4 addresses allocated dynamically from the concentrator. Unlike stateless 4over6 solutions like [I-D.murakami-softwire-4rd], the port restricted address allocation in lightweight 4over6 has no requirement on IPv6 address format, i.e. IPv4 and IPv6 addressing remain separated. This is more close to today's address allocation mode and provides flexibility for ISPs to manage the access network. Cui, et al. Expires January 12, 2012 [Page 6] Internet-Draft B4-translated ds-lite July 2011 5. Lightweight 4over6 Initiator Behavior An lightweight 4over6 initiator should support either extended DHCP client, or extended PCP client, as is described above. When requiring IPv4 access, the initiator would run either client to get a dynamic port restricted IPv4 address, and renew/extend it when the lease/lifetime is about to expire. The data plane functions of the initiator includes translation and encapsulation/decapsulation. An initiator runs a standard local NAT44 with the address pool consist of the allocated port restricted address. When sending out an IPv4 packet with private source address, it performs NAT44 function and translates the source address into public. Then it encapsulate the packet with concentrator's IPv6 address as destination IPv6 address, and forward it to the concentrator. When receiving an IPv4-in-IPv6 packet from the concentrator, the initiator decapsulates the IPv6 packet to get the IPv4 packet with public destination IPv4 address. Then it performs NAT44 function and translates the destination address into private. For host initiator case, it's also feasible that the host doesn't run the local NAT and uses the allocated public IPv4 address directly. Then the host should guarantee that every port number in the packets sent out by itself falls into the allocated port range. Cui, et al. Expires January 12, 2012 [Page 7] Internet-Draft B4-translated ds-lite July 2011 6. Lightweight 4over6 Concentrator Behavior The lightweight 4over6 concentrator should support either an extended DHCPv4 server, or an extended PCP server, to allocate port restricted addresses. When accomplishing one such allocation, the concentrator simultaneously install a mapping entry into the mapping table. This entry consists of the public IPv4 address, the port range and initiator's IPv6 address. Its lifetime is set according to the allcation. It'll be used for encapsulation of inbound packets. This mapping entry would be deleted when the lifetime expires, and refresh its lifetime when the initiator renews/extends the allocation. The data plane functions of the concentrator is purely encapsulation and decapsulation. When receiving an IPv4-in-IPv6 packet from an initiator, the concentrator decapsulates it and forwards it to IPv4 Internet. When receiving an IPv4 packet from the Internet, it uses the destination address and port from this packet to lookup the destination initiator's IPv6 address in the mapping table. Then the concentrator encapsulates this packet using the IPv6 address found in the table as IPv6 destination address, and forwards it to the correct initiator. Cui, et al. Expires January 12, 2012 [Page 8] Internet-Draft B4-translated ds-lite July 2011 7. Mechanism Analysis Compared with original dual-stack lite, lightweight 4over6 removes the translation burden from the concentrator and distribute the job to initiators on user-side. Also it decreases the state scale on concentrator from per-session level down to per-user level. This would significantly reduce the hardware cost of the concentrator, and the probability that the concentrator become the performance bottleneck. Leveraging lightweight 4over6, one concentrator can serve a lot more customers. Besides, since this mechanism reduces the number of simultaneous address mappings of each customer on concentrator to one, it makes concentrator logging much more feasible. Moreover, locate the translation on user side eases the ALG and NAT referral problem since it'll be no different from the situation of local NAT in today's IPv4 network. Various solutions already exsit for quite a long time. Lightweight 4over6 allocates port restricted address independent of the IPv6 network in the middle. No specific IPv6 address format is required. IPv4 and IPv6 addressing and routing remain separated. This is close to today's address allocation mode. The ISP can provision IPv4 in a flexible, on-demand way, as well as manage the native IPv6 network without the influence of IPv4-over-IPv6 requirements. The costs of lightweight 4over6 for achieving all these benifits are lower IPv4 address utilization ratio and extra signaling behavior. The address multiplexing manner of port restricted address is relatively more static than the CGN manner. And dual-stack lite doesn't require address and port allocation between concentrator and initiators. When compared to stateless solutions, lightweight 4over6 still keeps per-user states rather than becoming purely stateless. Besides, ICMP ping would become a challenge in port restricted address environment. The solution is to divide ICMP id field in the same way with dividing port space, i.e. each initiator will get the IMCP id range which is identical to the allocated port range. This way the initiator uses the allocated address and restricted id range when send out a ping. Hence ping "session" intiated from a lightweight 4over6 initiator can be processed correctly by the concentrator. The inbound ping would be left unsupported on the concentrator, which is the similar behavior of NAT/CGN. See details about ICMP ping porcessing in section 4.2 of [I-D.sun-v6ops-laft6]. Cui, et al. Expires January 12, 2012 [Page 9] Internet-Draft B4-translated ds-lite July 2011 8. References [I-D.bajko-pripaddrassign] Bajko, G., Savolainen, T., Boucadair, M., and P. Levis, "Port Restricted IP Address Assignment", draft-bajko-pripaddrassign-03 (work in progress), September 2010. [I-D.cui-softwire-dhcp-over-tunnel] Cui, Y., Wu, P., and J. Wu, "DHCPv4 Behavior over IP-IP tunnel", draft-cui-softwire-dhcp-over-tunnel-00 (work in progress), June 2011. [I-D.cui-softwire-host-4over6] Cui, Y., Wu, J., Wu, P., Metz, C., Vautrin, O., and Y. Lee, "Public IPv4 over Access IPv6 Network", draft-cui-softwire-host-4over6-06 (work in progress), July 2011. [I-D.ietf-softwire-dual-stack-lite] Durand, A., Droms, R., Woodyatt, J., and Y. Lee, "Dual- Stack Lite Broadband Deployments Following IPv4 Exhaustion", draft-ietf-softwire-dual-stack-lite-11 (work in progress), May 2011. [I-D.murakami-softwire-4rd] Murakami, T. and O. Troan, "IPv4 Residual Deployment on IPv6 infrastructure - protocol specification", draft-murakami-softwire-4rd-00 (work in progress), July 2011. [I-D.sun-v6ops-laft6] Sun, Q. and C. Xie, "LAFT6: Lightweight address family transition for IPv6", draft-sun-v6ops-laft6-01 (work in progress), March 2011. [I-D.tsou-pcp-natcoord] Zhou, C., ZOU), T., Deng, X., Boucadair, M., and Q. Sun, "Using PCP To Coordinate Between the CGN and Home Gateway Via Port Allocation", draft-tsou-pcp-natcoord-03 (work in progress), July 2011. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. Cui, et al. Expires January 12, 2012 [Page 10] Internet-Draft B4-translated ds-lite July 2011 Authors' Addresses Yong Cui Tsinghua University Department of Computer Science, Tsinghua University Beijing 100084 P.R.China Phone: +86-10-62603059 Email: yong@csnet1.cs.tsinghua.edu.cn Jianping Wu Tsinghua University Department of Computer Science, Tsinghua University Beijing 100084 P.R.China Phone: +86-10-62785983 Email: jianping@cernet.edu.cn Peng Wu Tsinghua University Department of Computer Science, Tsinghua University Beijing 100084 P.R.China Phone: +86-10-62785822 Email: weapon@csnet1.cs.tsinghua.edu.cn Qiong Sun China Telecom Room 708, No.118, Xizhimennei Street Beijing 100035 P.R.China Phone: +86-10-58552936> Email: sunqiong@ctbri.com.cn Chongfeng Xie China Telecom Room 708, No.118, Xizhimennei Street Beijing 100035 P.R.China Cui, et al. Expires January 12, 2012 [Page 11] Internet-Draft B4-translated ds-lite July 2011 Phone: +86-10-58552116> Email: xiechf@ctbri.com.cn Cathy Zhou Huawei Technologies Section B, Huawei Industrial Base, Bantian Longgang Shenzhen 518129 P.R.China Phone: +86-10-58552116> Email: cathyzhou@huawei.com Cui, et al. Expires January 12, 2012 [Page 12]