softwire | Z. Li |
Internet-Draft | China Mobile |
Intended status: Standards Track | Q. Zhao |
Expires: April 26, 2012 | X. Huang |
Y. Ma | |
Beijing University of Posts and Telecommunications | |
October 24, 2011 |
DS-Lite Intra-Domain Automatic Tunnel
draft-li-softwire-dslite-intra-domain-00
This document specifies an automatic tunneling mechanism for providing IPv4 connectivity service to IPv6 end users in the same DS-Lite domain. Key aspects include stateless operation and algorithmic mapping between IPv4 addresses and IPv6 tunnel endpoints.
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 April 26, 2012.
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.
DS-Lite [RFC6333] technology is used to deploy IPv6 following IPv4 exhaustion in service provider networks. It enables a broadband service provider to share IPv4 addresses among customers by combining IPv4-in-IPv6 tunnel and NAT44 translation.
From the view of network topology, DS-Lite is a good solution to "Hubs and Spokes" problem [RFC4925] since all the IPv4 traffic from B4 will be concentrated at AFTR even if all the IPv4 traffic are between two adjacent B4 devices. But, there are huge IPv4 traffic demands among end users. Many applications such as Instant Messenger are providing directly end-to-end highspeed transport when they find corresponding users are adjacent, instead of relaying the traffic by remote server.
Current DS-Lite technology concentrates all end users' IPv4 traffic in IPv4-in-IPv6 tunnels at AFTR and AFTR relays IPv4 traffic among different tunnels. It delays packet delivery among adjacent users, aggravates additional workload on AFTR or CGN and involves redundant forwarding path.
This document introduces the concept of domain to DS-Lite technology. A DS-Lite domain consists of many home gateways or CPEs with B4 function and one CGN with AFTR function. IPv4 packets encapsulated by DS-Lite follow the IPv6 routing topology within the SP network between CPEs or between CPE and CGN. From the view of network topology, CPE-to-CPE IPv4 traffic in an IPv6 domain is a "Mesh" problem [RFC4925]. This document introduces intra-domain automatic tunnel technology to solve it.
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].
DS-Lite domain (Domain): A set of DS-Lite CPEs and CGN connected to the same virtual DS-Lite link. An SP may deploy DS-Lite within a single DS-Lite domain or across multiple DS-Lite domains.
DS-Lite CPE (CPE): The home gateway with B4 function.
DS-Lite CGN (CGN): The tunnel concentrate points with AFTR funtion.
CPE IPv4 prefix: The IPv4 prefix of the CPE. It is derived from the CPE tunnel address. CPE IPv4 prefix is the subset of Domain IPv4 prefix and can be assigned to LAN side.
CPE tunnel address: The IPv6 address on the B4 interface of CPE. It is combined by Domain IPv6 prefix and CPE IPv4 prefix.
CGN tunnel address: The IPv6 address on the AFTR interface of CGN. It may be any global IPv6 address.
Domain IPv4 prefix: A part of or all of IPv4 private address space shared among different service providers. It is non-overlapping in a DS-Lite Domain.
Domain IPv6 prefix: A part of global IPv6 address space. It differs among different DS-Lite Domains and keeps the same within a DS-Lite Domain.
For a given DS-Lite domain, the CPE and CGN MUST be configured with a set of mapping rules and tunnel addresses. The configuration MUST be consistent for all CPEs and CGN within a given DS-Lite domain.
A mapping rules consists of the following elements: a CPE tunnel address, a Domain IPv6 prefix length, a Domain IPv4 prefix length, a CPE IPv4 prefix length. See section 5 for detailed description of mapping rules.
The CPE can obtain necessary parameters via DHCPv6 [RFC3315] protocols with new options. Generally, CPE needs an independent IPv6 address via DHCPv6 to access native IPv6 Internet. Besides, CPE needs mapping rules and CGN tunnel address from DHCPv6 options to access IPv4 Internet. Also, these parameters can be manually configured on CPE.
The CGN should be configured with CGN tunnel address at least.
When a mapping rule is received, CPE will extract necessary parameters from it. Domain IPv6 prefix is calculated by CPE tunnel address and Domain IPv6 prefix length.
<---------------- CPE tunnel address (128) ----------------> +------------------------------+--------------------+--------+-----+ | Domain IPv6 Prefix | Domain IPv4 Prefix | CPE ID | 0 | +------------------------------+--------------------+--------+-----+ <- Domain IPv6 Prefix length ->
When a mapping rule is received, CPE will extract necessary parameters from it. Domain IPv4 prefix is calculated by CPE tunnel address and Domain IPv4 prefix length.
<---------------- CPE tunnel address (128) ----------------> +--------------------+------------------------------+--------+-----+ | Domain IPv6 Prefix | Domain IPv4 Prefix | CPE ID | 0 | +--------------------+------------------------------+--------+-----+ <- Domain IPv4 Prefix length ->
When a mapping rule is received, CPE will extract necessary parameters from it. CPE IPv4 prefix is calculated by CPE tunnel address and CPE IPv4 prefix length.
<---------------- CPE tunnel address (128) ----------------> +------------------------+------------------------+----------+-----+ | Domain IPv6 Prefix | Domain IPv4 Prefix | CPE ID | 0 | +------------------------+------------------------+----------+-----+ <- CPE IPv4 Prefix length ->
When a packet destined for hosts intra-domain is received, the destination IPv4 address will be mapped to the CPE tunnel address of destination host. The Domain IPv6 Prefix has been calculated out from mapping rule during initialization. The CPE IPv4 Prefix length keeps the same in a DS-Lite domain. The CPE IPv4 Prefix can be calculated by destination IPv4 address and CPE IPv4 Prefix length.
<- CPE IPv4 Prefix length -> +------------------------+-----------------------------------+-----+ | Domain IPv6 Prefix | CPE IPv4 Prefix | 0 | +------------------------+-----------------------------------+-----+ <---------------- CPE tunnel address (128) ---------------->
Step 1:
CPE calculates destination CPE IPv4 prefix by CPE IPv4 Prefix length and the IPv4 destination address in the received IPv4 packet. Then CPE compares it with the Domain IPv4 prefix.
If the destination CPE IPv4 prefix is a part of Domain IPv4 prefix, the IPv4 packet will be encapsulated in intra-domain automatic IPv4-in-IPv6 tunnel. The source IPv6 address is source CPE tunnel address and the destination IPv6 address is calculated as descibed in section 5.4. An automatic tunnel will be established between source CPE and destination CPE bypassing CGN.
If the destination CPE IPv4 prefix is out of Domain IPv4 prefix, CPE proceeds to step2.
Step 2:
The IPv4 packet will be encapsulated in primitive DS-Lite IPv4-in-IPv6 tunnel. The source IPv6 address is source CPE tunnel address and the destination IPv6 address is the CGN tunnel address.
Step 1:
CPE decapsulates the IPv6 packet and forwards the IPv4 packets to destination host.
The same with existing AFTR mechanisms.
The same with existing AFTR mechanisms.
TBD.
This document makes no request of IANA.
Note to RFC Editor: this section may be removed on publication as an RFC.
[RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. |
[RFC6333] | Durand, A., Droms, R., Woodyatt, J. and Y. Lee, "Dual-Stack Lite Broadband Deployments Following IPv4 Exhaustion", RFC 6333, August 2011. |
[RFC4925] | Li, X., Dawkins, S., Ward, D. and A. Durand, "Softwire Problem Statement", RFC 4925, July 2007. |
[RFC3315] | Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C. and M. Carney, "Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", RFC 3315, July 2003. |