Network Working Group | S. Vinapamula |
Internet-Draft | Juniper Networks |
Intended status: Best Current Practice | M. Boucadair |
Expires: October 25, 2015 | France Telecom |
April 23, 2015 |
Recommendations for Prefix Binding in the Softwire DS-Lite Context
draft-vinapamula-softwire-dslite-prefix-binding-04
This document discusses issues induced by the change of the Dual-Stack Lite (DS-Lite) Basic Bridging BroadBand (B4) IPv6 address and sketches a set of recommendations to solve those issues.
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 October 25, 2015.
Copyright (c) 2015 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.
IPv6 deployment models assume IPv6 prefixes are delegated by Service Providers to the connected CPEs (Customer Premise Equipments) or hosts, which in their turn derive IPv6 addresses out of that prefix. In the case of DS-Lite [RFC6333], that is an IPv4 service continuity mechanism over an IPv6 network, the Basic Bridging BroadBand (B4) element derives an IPv6 address for the IPv4-in-IPv6 softwire setup purposes.
The B4 element might obtain a new external IPv6 address, for a variety of reasons including a reboot of the CPE, power outage, DHCPv6 lease expiry, or other actions undertaken by the Service Provider. If this occurs, traffic forwarded to a B4's previous IPv6 address might be delivered to another B4 that now acquired that address. This affects all mapping types, whether implicit (e.g., by sending a TCP SYN) or explicit (e.g., using Port Control Protocol (PCP) [RFC6887]). The problem is further elaborated in Section 2.
This document proposes recommendations to soften the impact of such renumbering issues (Section 3).
Note that in some deployments, CPE renumbering may be required to accommodate some privacy-related requirements to avoid the same prefix be assigned to the same customer. It is out of scope of this document to discuss such contexts.
This document complements [RFC6908].
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].
Since IPv4 addresses assigned to hosts serviced by a B4 element are overlapping across multiple CPEs, the IPv6 address of a B4 element plays a key role in de-multiplexing connections, enforcing policies, and in identifying associated resources assigned for each of the connections in the Address Family Transition Router (AFTR, [RFC6333]). For example, these resources maintain state of Endpoint-Independent Mapping (EIM, Section 4.1 of [RFC4787]), Endpoint-Independent Filtering (EIF, Section 5 of [RFC4787]), preserve the external IPv4 address assigned in the AFTR (i.e., "IP address pooling" behavior as defined in Section 4.1 of [RFC4787]), PCP mappings, etc.
However, there can be a change in the B4's IPv6 address for any reason, e.g., because of a change in the CPE itself or may be because of privacy extensions enabled in generating the IPv6 address. When the B4's IPv6 address changes, the associated mappings created in the AFTR are no more valid. This may result in creation of new set of mappings in the AFTR.
Furthermore, a mis-behaving user may be tempted to change the B4's IPv6 address in order to "grab" more ports and resources at the AFTR side. This behavior can be seen as a potential Denial of Service (DoS) attack from mis-behaving users. Note that this DoS attack can be achieved whatever port assignment policy configured to the AFTR (individual ports, port sets, randomized port bulks, etc.).
Service Providers may want to enforce policies in order to limit the usage of the AFTR resources on a per-subscriber basis for fairness resources usage (see REQ-4 of [RFC6888]). These policies are used for dimensioning purposes and also to ensure that AFTR resources are not exhausted. To that aim, a subscriber should be identified at the AFTR by the delegated IPv6 prefix and not the derived B4's IPv6 address. Also, when there is a change of the B4's IPv6 address, enforcing policies based on the B4's IPv6 address doesn't resolve stale mappings hanging around in the system, consuming not only system resources, but also reducing the available quota of resources per-subscriber. Clearing those mappings can be envisaged, but that will cause a lot of churn in the AFTR and could be disruptive to existing connections, which is not desirable.
When application servers are hosted behind a B4 element, and when there is a change of the B4's IPv6 address which if results in a change in the external IPv4 address and/or the external port number at the AFTR side, these servers have to advertise about their change (see Section 1.1 of [RFC7393]). Means to discover the change of B4's IPv6 address, the external IPv4 address and/or the external port are therefore required. Latency issues are likely to be experienced where an application server has to advertise its newly assigned external IPv4 address and port, and the application clients have to discover that newly assigned server and/or port and re-initiate connections to the application server.
In order to mitigate the issues discussed in Section 2, the following recommendations are made:
Security considerations related to DS-Lite are discussed in [RFC6333].
Enforcing the recommendations in Section 3 defends against DoS attacks that would result in varying the source IPv6 address to exhaust AFTR resources.
This document does not require any action from IANA.
G. Krishna, C. Jacquenet, I. Farrer, Y. Lee, and Q. Sun provided useful comments. Many thanks to them.
[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. |
[RFC6887] | Wing, D., Cheshire, S., Boucadair, M., Penno, R. and P. Selkirk, "Port Control Protocol (PCP)", RFC 6887, April 2013. |
[RFC4787] | Audet, F. and C. Jennings, "Network Address Translation (NAT) Behavioral Requirements for Unicast UDP", BCP 127, RFC 4787, January 2007. |
[RFC6888] | Perreault, S., Yamagata, I., Miyakawa, S., Nakagawa, A. and H. Ashida, "Common Requirements for Carrier-Grade NATs (CGNs)", BCP 127, RFC 6888, April 2013. |
[RFC6908] | Lee, Y., Maglione, R., Williams, C., Jacquenet, C. and M. Boucadair, "Deployment Considerations for Dual-Stack Lite", RFC 6908, March 2013. |
[RFC7393] | Deng, X., Boucadair, M., Zhao, Q., Huang, J. and C. Zhou, "Using the Port Control Protocol (PCP) to Update Dynamic DNS", RFC 7393, November 2014. |