Internet Engineering Task Force | S. Perreault, Ed. |
Internet-Draft | Viagénie |
Intended status: Best Current Practice | I. Yamagata |
Expires: September 15, 2011 | S. Miyakawa |
NTT Communications | |
A. Nakagawa | |
Japan Internet Exchange (JPIX) | |
H. Ashida | |
iTSCOM | |
March 14, 2011 |
Common requirements for IP address sharing schemes
draft-ietf-behave-lsn-requirements-01
This document defines common requirements for Carrier-Grade NAT (CGN) devices.
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 September 15, 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.
With the shortage of IPv4 addresses, it is expected that more ISPs may want to provide a service where a public IPv4 address would be shared by many subscribers (also known as NAT444 [I-D.shirasaki-nat444-isp-shared-addr]). Each subscriber is assigned a private address, and a NAT device situated in the ISPs network translates between private and public addresses.
This is not to be considered a solution to the shortage of IPv4 addresses. It is a service that can conceivably be offered alongside others, such as IPv6 services or regular, un-NATed IPv4 service. Some ISPs started offering such a service long before there was a shortage of IPv4 addresses, showing that there are driving forces other than the shortage of IPv4 addresses.
This document describes behavioural requirements that are to be expected of those ISP-controlled NAT devices. Meeting this set of requirements will greatly increase the likelihood that subscribers' applications will function properly.
Readers should be aware of potential issues that may arise when sharing public address between many subscribers. See [I-D.ford-shared-addressing-issues] for details.
This document builds upon previous works describing requirements for generic NAT devices.[RFC4787][RFC5382][RFC5508]. These documents still apply in this context. What follows are additional requirements, to be satisfied on top of previous ones.
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].
Readers are expected to be familiar with [RFC4787] and the terms defined there. The following term is used in this document:
Figure 1 summarises the network topology in which CGN devices operate.
. : | Internet ............... | ................... | ISP network | | ++------++ External realm ........... | CGN |............... ++------++ Internal realm | | | | | | ISP network ............. | .. | ................ | | Customer premises ++------++ ++------++ | CPE1 | | CPE2 | etc. ++------++ ++------++
What follows is a list of requirements for CGN devices. They are in addition to those found in other documents such as [RFC4787], [RFC5382], and [RFC5508].
X1:x1 X1':x1' X2:x2 +---+from X1:x1 +---+from X1:x1 +---+ | | to X2:x2 | | to X2:x2 | S | | C |>>>>>>>>>>>>| C |>>>>>>>>>>>>>>| e | | P | | G | | r | | E |<<<<<<<<<<<<| N |<<<<<<<<<<<<<<| v | | |from X2:x2 | |from X2:x2 | e | | | to X1:x1 | | to X1:x1 | r | +---+ +---+ +---+
It may be necessary for CGN administrators to be able to identify a subscriber based on external IPv4 address, port, and timestamp in order to deal with abuse and lawful intercept requests. When multiple subscribers share a single external address, the source address and port that are visible at the destination host have been translated from the ones originated by the CPE.
In order to be able to do this, the CGN needs to log the following information for each mapping created:
A disadvantage of this is that CGNs under heavy usage may produce large amounts of logs, which may require large storage volume.
Readers should be aware of logging recommendations for Internet-facing servers [I-D.ietf-intarea-server-logging-recommendations]. With compliant servers, the destination address and port do not need to be logged by the CGN. This can help reduce the amount of logging.
So far we have assumed that a CGN allocates one external port for every outgoing connection. In this section, the impacts of allocating multiple external ports at a time are discussed.
There is a range of things a CGN can do:
Impacts are as follows.
There are no IANA considerations.
If a malicious subscriber can spoof another subscriber's CPE, it may cause a DoS to that subscriber by creating mappings up to the allowed limit. Therefore, the CGN administrator SHOULD ensure that spoofing is impossible. This can be accomplished with ingress filtering, as described in [RFC2827].
Thanks for the input and review by Tomohiro Nishitani, Yasuhiro Shirasaki, Takeshi Tomochika, Kousuke Shishikura, Dai Kuwabara, Tomoya Yoshida, Takanori Mizuguchi, Arifumi Matsumoto, Tomohiro Fujisaki, Dan Wing, and Dave Thaler. Dan Wing contributed much of section 5.
[RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. |
[RFC2827] | Ferguson, P. and D. Senie, "Network Ingress Filtering: Defeating Denial of Service Attacks which employ IP Source Address Spoofing", BCP 38, RFC 2827, May 2000. |
[RFC4787] | Audet, F. and C. Jennings, "Network Address Translation (NAT) Behavioral Requirements for Unicast UDP", BCP 127, RFC 4787, January 2007. |
[RFC5382] | Guha, S., Biswas, K., Ford, B., Sivakumar, S. and P. Srisuresh, "NAT Behavioral Requirements for TCP", BCP 142, RFC 5382, October 2008. |
[RFC5508] | Srisuresh, P., Ford, B., Sivakumar, S. and S. Guha, "NAT Behavioral Requirements for ICMP", BCP 148, RFC 5508, April 2009. |
[RFC6056] | Larsen, M. and F. Gont, "Recommendations for Transport-Protocol Port Randomization", BCP 156, RFC 6056, January 2011. |
[I-D.shirasaki-nat444-isp-shared-addr] | Yamaguchi, J, Shirasaki, Y, Miyakawa, S, Nakagawa, A and H Ashida, "NAT444 addressing models", Internet-Draft draft-shirasaki-nat444-isp-shared-addr-06, July 2011. |
[I-D.ford-shared-addressing-issues] | Ford, M, Boucadair, M, Durand, A, Levis, P and P Roberts, "Issues with IP Address Sharing", Internet-Draft draft-ford-shared-addressing-issues-02, March 2010. |
[I-D.ietf-intarea-server-logging-recommendations] | Durand, A, Gashinsky, I, Lee, D and S Sheppard, "Logging recommendations for Internet facing servers", Internet-Draft draft-ietf-intarea-server-logging-recommendations-04, April 2011. |