Network Working Group C.D. Donley
Internet-Draft CableLabs
Intended status: Informational L.H. Howard
Expires: May 03, 2012 Time Warner Cable
V.K. Kuarsingh
Rogers Communications
J.B. Berg
CableLabs
J.D. Doshi
University of Colorado
October 31, 2011

Assessing the Impact of Carrier-Grade NAT on Network Applications
draft-donley-nat444-impacts-02

Abstract

NAT444 is an IPv4 extension technology being considered by Service Providers to continue offering IPv4 service to customers while transitioning to IPv6. This technology adds an extra Carrier-Grade NAT ("CGN") in the Service Provider network, often resulting in two NATs. CableLabs, Time Warner Cable, and Rogers Communications independently tested the impacts of NAT444 on many popular Internet services using a variety of test scenarios, network topologies, and vendor equipment. This document identifies areas where adding a second layer of NAT disrupts the communication channel for common Internet applications. This document was updated to also include Dual-Stack Lite impacts.

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 May 03, 2012.

Copyright Notice

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

IANA and APNIC exhausted their IPv4 address space in 2011. Current projections suggest that RIPE and ARIN may exhaust their free pools of IPv4 addresses in 2012. IPv6 is the solution to the IPv4 depletion problem; however, the transition to IPv6 will not be completed prior to IPv4 exhaustion. NAT444 [I-D.shirasaki-nat444] and Dual-Stack Lite ([RFC6333]) are transition mechanisms that will allow Service Providers to multiplex customers behind a single IPv4 address, which will allow many legacy devices and applications some IPv4 connectivity. While both NAT444 and Dual-Stack Lite do provide basic IPv4 connectivity, they impact a number of advanced applications. This document describes suboptimal behaviors of NAT444 and DS-Lite in our test environments.

In July-August 2010, CableLabs, Time Warner Cable, and Rogers Communications tested the impact of NAT444 on common applications using Carrier Grade NAT (CGN) devices. This testing was focused on a wide array of real time usage scenarios designed to evaluate the user experience over the public Internet using NAT444, in both single ISP and dual ISP environments. The purpose of this testing was to identify applications where the technology either breaks or significantly impacts the user experience. The outcome of the testing revealed that applications such as video streaming, video gaming and peer-to-peer file sharing are impacted by NAT444.

From June – September 2011, CableLabs conducted additional testing of CGN technologies, including both NAT444 and Dual-Stack Lite. The testing focused on working with several vendors including A10, Alcatel-Lucent, and Juniper to optimize the performance of those applications that experienced negative impacts during earlier CGN testing and to expand the testing to DS-Lite.

Applications that were tested included but were not necessarily limited to the following:

  1. Video/Audio streaming, e.g. Silverlight-based applications, Netflix, YouTube, Pandora 2.
  2. Peer-to-peer applications, e.g. video gaming, uTorrent
  3. On line gaming, e.g. Xbox
  4. Large file transfers using File Transfer Protocol (FTP)
  5. Session Initiation Protocol (SIP) calls via X-Lite, Skype
  6. Social Networking, e.g. Facebook, Webkinz
  7. Video chat, e.g. Skype
  8. Web conferencing

2. Testing Scope

2.1. Test Cases

The diagrams below depict the general network architecture used for testing NAT444 and Dual Stack-Lite co-existence technologies at CableLabs.

2.1.1. Case1: Single Client, Single Home Network, Single Service Provider

		               ^^^^^^^^
		              (Internet)
		               vvvvvvvv
			            |
			            |
                      +---------------+
                      |      LSN      |
                      +---------------+
		           	     	|
		           +---------------+
                       |      CMTS     |
		           +---------------+
                               |
		           +---------------+
                       |      CM       |
                       +---------------+ 
		                 	|
		          +-------------------------+
		          |      Home Router        |
		          +-------------------------+
                              |
		          +---------------+
		          |      Client   |
		          +---------------+

This is a typical case for a client accessing content on the Internet. For this case, we focused on basic web browsing, voice and video chat, instant messaging, video streaming (using YouTube, Google Videos , etc.), Torrent leeching and seeding, FTP, and gaming.

2.1.2. Case2: Two Clients, Single Home Network, Single Service Provider

		               ^^^^^^^^
                          (Internet)
                           vvvvvvvv
		                 	|
		                 	|
	          	    +---------------+
	           	    |      LSN      |
		          +---------------+
		                	|
		          +---------------+
	           	    |      CMTS     |
                      +---------------+
		                	|
	          	    +---------------+
	                |      CM       |
                      +---------------+ 
		                	|
	     	+-------------------------+
	  	|      Home Router        |
		+-------------------------+
                |                |
 	  +---------------+   +---------------+
	  |      Client   |   |      Client   |
	  +---------------+   +---------------+

This is similar to Case 1, except that two clients are behind the same LSN and in the same home network. This test case was conducted to observe any change in speed in basic web browsing and video streaming.

2.1.3. Case3: Two Clients, Two Home Networks, Single Service Provider

		          	^^^^^^^^
			     (Internet)
		          	vvvvvvvv
				    |
	            	    |
                    +---------------+
	         	  |      LSN      |
	        	  +---------------+
			          |
                    +---------------+
		        |      CMTS     |
		        +---------------+
			          |
	----------------------------------------	
                  |                     |
      +---------------+         +---------------+
	|      CM       |         |      CM       |
	+---------------+         +---------------+
	       	|                     |
+-------------------------+ +-------------------------+
|      Home Router        | |      Home Router        |
+-------------------------+ +-------------------------+
	        |                     |
  +---------------+         +---------------+
  |      Client   |         |      Client   |
  +---------------+         +---------------+

In this scenario, the two clients are under the same LSN but behind two different gateways. This simulates connectivity between two residential subscribers on the same ISP. We tested peer-to-peer applications.

2.1.4. Case4: Two Clients, Two Home Networks, Two Service Providers Cross ISP

	 ^^^^^^^^                    ^^^^^^^^
	( ISP A )                   ( ISP B  )
	 Vvvvvvvv                    vvvvvvvv
          |                           |
	+---------------+         +---------------+
	|      LSN      |         |      LSN      |
	+---------------+         +---------------+
            |                         |
	+---------------+         +---------------+
	|      CMTS     |         |      CMTS     |
	+---------------+         +---------------+
           |                          | 
      +---------------+         +---------------+
	|      CM       |         |      CM       |
	+---------------+         +---------------+
	      |                         |
+-------------------------+ +-------------------------+
|      Home Router        | |      Home Router        |
+-------------------------+ +-------------------------+
	       |                        |
  +---------------+         +---------------+
  |      Client   |         |      Client   |
  +---------------+         +---------------+

This test case is similar to Case 1 but with the addition of another identical ISP. This topology allows us to test traffic between two residential customers connected across the Internet. We focused on client-to-client applications such as IM and peer-to-peer.

2.2. General Test Environment

The lab environment was intended to emulate multiple service provider networks with a CGN deployed, and with connectivity to the public IPv4 or IPv6 internet (as dictated by the co-existence technology under test). This was accomplished by configuring a CGN behind multiple CMTSes and setting up multiple home networks for each ISP. Testing involved sending traffic to and from the public internet in both single and dual ISP environments, using both single and multiple home networks. The following equipment was used for testing:

One or more CPE gateway devices were configured in the home network. One or more host devices behind the gateways were also configured in order to test conditions such as multiple users on multiple home networks in the CGN architecture, both in single and dual ISP environments.

The scope of testing was honed down to the specific types of applications and network conditions that demonstrated a high probability of diminishing user experience based on prior testing. The following use cases were tested:

  1. Video streaming over Netflix
  2. Video streaming over YouTube
  3. Video streaming over Joost
  4. On line gaming with Xbox (one user)
  5. Peer to Peer gaming with Xbox (two users)
  6. Bit Torrent/uTorrent file seeding/leeching
  7. Pandora internet radio
  8. FTP server
  9. Web conferencing (GTM, WebEx)
  10. Social Networking – Facebook, Webkinz (chat, YouTube, file transfer)
  11. Internet Archive – Video and Audio streaming; large file downloads
  12. Video streaming using iClips
  13. SIP Calls – X-Lite, Skype, PJSIP
  14. MS Smooth Streaming (Silverlight)
  15. Video chat – Skype, OoVoo

The following CPE devices were used for testing these applications on one or more home networks:

  1. Windows 7, XP and Vista based laptops
  2. MAC OS X laptop
  3. iPad
  4. Xbox gaming consoles
  5. iPhone and Android smartphones
  6. LG Blu-Ray player (test applications such as Netflix, Vudu, etc.)
  7. Home routers – Netgear, Linksys, D-Link, Cisco, Apple

2.3. Test Metrics

Metrics data that were collected during the course of testing were related to throughput, latency, and jitter. These metrics were evaluated under three conditions:

  1. Initial finding on the CGN configuration used for testing
  2. Retest of the same test scenario with the CGN removed from the network
  3. Retest with a new configuration (optimized) on the CGN (when possible)

In our testing, we found no significant differences with respect to latency or jitter when the CGN was in the network versus when it was not present in the network. It should be noted that we did not conduct any performance testing and metrics gathered were limited to single session scenarios. Also, bandwidth was not restricted on the DOCSIS network. Simulated homes shared a single DOCSIS upstream and downstream channel.

2.4. Test Scenarios Executed

The following test scenarios were executed using the aforementioned applications and test equipment:

  1. Single ISP, Single Home Network with Single User
  2. Single ISP, Two Home Networks With One User on Each Network
  3. Dual ISPs, Single Home Network with Single User on each ISP
  4. Dual ISPs, One Home Network With One User ISP-A; Two Home Networks with one user on each for ISP-B

These test scenarios were executed for both NAT444 and DS-Lite technologies.

2.5. General Test Methodologies

The CGN was configured for optimal setting for the specific test being executed for NAT444 or DS-Lite. Individual vendor provided validation of the configuration used for the co-existence technology under test prior to the start of testing. Some NAT444 testing used private [RFC1918] IPv4 space between the CGN and CPE router; other tests used public (non-[RFC1918]) IPv4 space between the CGN and CPE router. With the exception of 6to4 ([RFC3056]) traffic, we observed no difference in test results whether private or public address space was used. 6to4 failed when public space was used between the CGN and CPE router was public, but CPE routers did not initiate 6to4 when private space was used.

CPE gateways and client devices were configured with IPv4 or IPv6 addresses using DHCP or manual configuration as required by each of the devices used in the test.

All devices were brought to operational state. Connectivity of CPE devices to provider network and public Internet were verified prior to start of each test.

IP sniffers and metrics tools were configured as required before starting tests. IP capture and metrics data was collected for all failed test scenarios. Sniffing was configured behind the home routers, north and south of the CMTS, and north and south of the CGN.

The test technician executed test scenarios listed above, for single and dual ISP environments, testing multiple users on multiple home networks, using the applications described above, where applicable to the each specific test scenario. Results checklists were compiled for all tests executed and for each combination of devices tested.

3. Observed CGN Impacts

CGN testing revealed that basic services such as e-mail and web browsing worked normally and as expected. However, there were some service affecting issues noted for applications that fall into two categories; dropped service and degraded service. In addition, for some specific applications in which the performance was degraded, throughput, latency and jitter measurements were taken. We observed that performance often differs from vendor to vendor and from test environment to test environment, and the results are somewhat difficult to predict. So as to not become a comparison between different vendor implementations, these results are presented in summary form. When issues were identified, we worked with the vendors involved to confirm the specific issues and explore workarounds. Except where noted, impacts to NAT444 and DS-Lite were similar.

In 2010 testing, we identified that IPv6 transition technologies such as 6to4 [RFC3056] and Teredo [RFC4380]) fail outright or are subject to severe service degradation. We did not repeat transition technology testing in 2011.

3.1. Dropped Services

Several peer-to-peer applications failed in both the NAT444 and Dual-Stack Lite environments. Specifically, peer-to-peer gaming using Xbox, and peer-to-peer SIP calls using the PJSIP client did not succeed. Many CGN devices use "full cone" NAT so that once the CGN maps a port for outbound services, it will accept incoming connections to that port. However, some applications did not first send outgoing traffic and hence did not open an incoming port through the CGN. Other applications try to open a particular fixed port through the CGN; while service will work for a single subscriber behind the CGN, it fails when multiple subscribers try to use that port.

PJSIP and other SIP software worked when clients used a registration server to initiate calls, provided that the client inside the CGN initiated the traffic first and that only one SIP user was active behind a single IPv4 address at any given time. However, in our testing, we observed that when making a direct client-to-client SIP call across two home networks on a single ISP, or when calling from a single home network across dual ISPs, calls could neither be initiated nor received.

In the case of peer-to-peer gaming between two Xbox 360 users in different home networks on the same ISP, the game could not be connected between the two users. Both users shared an outside IP address, and tried to connect to the same port, causing a connection failure. There are some interesting nuances to this problem. In the case where two users are in the same home network and the scenario is through a single ISP, when the Xbox tries to register with the Xbox server, the server sees that both Xboxes are coming through the same public IP address and directs the devices to connect using their internal IP addresses. So, the connection ultimately gets established directly between both Xboxes via the home gateway, rather than the Xbox server. In the case where there are two Xbox users on two different home networks using a single ISP, and the CGN is configured with only one public IPv4 address, this scenario will not work because the route between the two users cannot be determined. However, if the CGN is configured with two public NAT IP addresses this scenario will work because now there is a unique IP address to communicate with. This is not an ideal solution, however, because it means that there is a one-to-one relationship between IP addresses in the public NAT and the number of Xbox users on each network.

Other peer-to-peer applications that were noted to fail were seeding sessions initiated on Bittorent and uTorrent. In our test, torrent seeding was initiated on a client inside the CGN. Leeching was initiated using a client on the public Internet. It was observed that direct peer-to-peer seeding did not work. However, the torrent session typically redirected the leeching client to a proxy server, in which case the torrent session was set up successfully. Additionally, with the proxy in the network, re-seeding via additional leech clients worked as would be expected for a typical torrent session. Finally, uTorrent tries to use STUN to identify its outside address. In working with vendors, we learned that increasing the STUN timeout to 4 minutes improved uTorrent seeding performance behind a CGN, resulting in the ability for the uTorrent client to open a port and successfully seed content.

3.2. Degraded Services

There were several applications that diminished the user experience when the CGN was deployed in the network. We measured these degradations against a baseline IPv4 environment where NAT is not deployed. Specifically, large size file transfers and video streaming were impacted by the presence of a CGN in the network.

In our testing, we tried large file transfers from several FTP sites, as well as downloading sizeable audio and video files (750MB – 1.4 GB) from the Internet Archive. What we observed was when Dual-Stack Lite was implemented for some specific home router and client combinations; the transfer rate was markedly slower. For example, PC1 using one operating system behind the same home router as PC2 using a different operating system yielded a transfer rate of 120Kbps for PC1, versus 250Kbps for PC2. Our conclusion is that varying combinations of home routers and CE client devices may result in a user experience that is less than what the user would expect for typical applications. It is also difficult to predict which combinations of CPE routers and CE devices will produce a reduced experience for the user. We did not analyze the root cause of the divergence in performance across CE devices, as this was beyond the scope of our testing. However, as this issue was specific to Dual-Stack Lite, we suspect that it is related to the MTU.

While video streaming sessions for a single user generally performed well, testing revealed that video streaming sessions such as Microsoft Smooth Streaming technology (i.e. Silverlight) or Netflix might also exhibit some service impacting behavior. In particular, this was observed on one older, yet popular and well-known CPE router where the first session was severely degraded when a second session was initiated in the same home network. Traffic from the first session ceased for 8 s once the second session was initiated. While we are tempted to write this off as a problematic home router, its popularity suggests that home router interactions may cause issues in NAT444 deployments (newer routers that support DS-Lite were not observed to experience this condition). Overall, longer buffering times for video sessions were noted for most client devices behind all types of home routers. However, once the initial buffering was complete, the video streams were consistently smooth. In addition, there were varying degrees as to how well multiple video sessions were displayed on various client devices across the CPE routers tested. Some video playback devices performed better than others.

3.3. Improvements since 2010

Since CableLabs completed initial CGN testing in 2010, there have been quantifiable improvements in performance over CGN since that time. These improvements may be categorized as follows:

In terms of content provider updates, we have noted improvements in the overall performance of streaming applications in the CGN environment. Whereas applications such as streaming video were very problematic a year ago with regard to jitter and latency, our most recent testing revealed that there is less of an issue with these conditions, except in some cases when multiple video streaming sessions were initiated on the same client using specific types of home routers. Applications such as MS Smooth Streaming appear to have addressed these issues to some degree.

As far as application updates, use of STUN and/or proxy servers to offset some of the limitations of NAT and tunneling in the network are more evident as workarounds to the peer-to-peer issues. Applications appear to have incorporated other mechanisms for delivering content faster, even if buffering times are somewhat slower and the content is not rendered as quickly.

CGN vendors have also upgraded their devices to mitigate several known issues with specific applications. With regard to addressing peer-to-peer SIP call applications, port reservations appear to be a workaround to the problem. However, this approach has limitations because of there are limited numbers of users that can have port reservations at any given time. For example, one CGN implementation allowed a port reservation to be made on port 5060 (default SIP port) but this was the only port that could be configured for the SIP client. This means that only one user can be granted the port reservation.

3.4. Additional CGN Challenges

There are other challenges that arise when using shared IPv4 address space, as with NAT444. Some of these challenges include:

4. 2010 Summary of Results

The tables below summarize results from 2010 NAT444 testing at CableLabs, Time Warner Cable, and Rogers Communications. They are included for comparison with 2011 results, documented above.

4.1. Case1: Single Client, Single Home Network, Single Service Provider

Case1
Test Case Results Notes
Web browsing pass
Email pass
FTP download pass performance degraded on very large downloads
Bittorrent leeching pass
Bittorrent seeding fail
Video streaming pass
Voice chat pass
Netflix streaming pass
Instant Messaging pass
Ping pass
Traceroute pass
Remote desktop pass
VPN pass
Xbox live pass
Xbox online pass Blocked by some LSNs.
Xbox network test fail Your NAT type is moderate. For best online experience you need an open NAT configuration. You should enable UPnP on the router.
Nintendo Wii pass behind one LSN, fail behind another
Playstation 3 pass
Team Fortress 2 fail pass behind one LSN, but performance degraded
Starcraft II pass
World of Warcraft pass
Call of Duty pass performance degraded behind one LSN
Slingcatcher fail
Netflix Party (Xbox) fail pass behind one LSN
Hulu pass performance degraded behind one LSN
AIM File Tranfer pass performance degraded
Webcam fail
6to4 fail
Teredo fail

4.2. Case2: Two Clients, Single Home Network, Single Service Provider

Case2
Test Case Results Notes
Bittorrent leeching pass
Bittorrent seeding fail
Video streaming fail
Voice chat pass
Netflix streaming pass performance severely impacted, eventually failed
IM pass
Limewire leeching pass
Limewire seeding fail

4.3. Case3: Two Clients, Two Home Networks, Single Service Provider

Case3
Test Case Results Notes
Limewire leeching pass
Limewire seeding fail
Utorrent leeching pass
Utorrent seeding fail

4.4. Case4: Two Clients, Two Home Networks, Two Service Providers Cross ISP

Case4
Test Case Results Notes
Skype voice call pass
IM pass
FTP fail
Facebook chat pass
Skype video pass

5. IANA Considerations

This document has no IANA considerations.

6. Security Considerations

Security considerations are described in [I-D.shirasaki-nat444].

7. References

[I-D.shirasaki-nat444] Yamagata, I, Shirasaki, Y, Nakagawa, A, Yamaguchi, J and H Ashida, "NAT444", Internet-Draft draft-shirasaki-nat444-02, July 2010.
[I-D.ietf-intarea-shared-addressing-issues] Ford, M, Boucadair, M, Durand, A, Levis, P and P Roberts, "Issues with IP Address Sharing", Internet-Draft draft-ietf-intarea-shared-addressing-issues-02, October 2010.
[RFC3056] Carpenter, B. and K. Moore, "Connection of IPv6 Domains via IPv4 Clouds", RFC 3056, February 2001.
[RFC4380] Huitema, C., "Teredo: Tunneling IPv6 over UDP through Network Address Translations (NATs)", RFC 4380, February 2006.
[RFC6333] Durand, A., Droms, R., Woodyatt, J. and Y. Lee, "Dual-Stack Lite Broadband Deployments Following IPv4 Exhaustion", RFC 6333, August 2011.
[RFC1918] Rekhter, Y., Moskowitz, R., Karrenberg, D., Groot, G. and E. Lear, "Address Allocation for Private Internets", BCP 5, RFC 1918, February 1996.
[RFC6269] Ford, M., Boucadair, M., Durand, A., Levis, P. and P. Roberts, "Issues with IP Address Sharing", RFC 6269, June 2011.

Appendix A. Acknowledgements

Thanks to the following people (in alphabetical order) for their guidance and feedback:

Paul Eldridge
Abishek Chandrasekaran
Vivek Ganti
Joey Padden
Lane Johnson

Authors' Addresses

Chris Donley CableLabs 858 Coal Creek Circle Louisville, CO 80027 USA EMail: c.donley@cablelabs.com
Lee Howard Time Warner Cable 13241 Woodland Park Rd Herndon, VA 20171 USA EMail: william.howard@twcable.com
Victor Kuarsingh Rogers Communications 8200 Dixie Road Brampton, ON L6T 0C1 Canada EMail: victor.kuarsingh@rci.rogers.com
John CableLabs 858 Coal Creek Circle Louisville, CO 80027 USA EMail: j.berg@cablelabs.com
Jinesh University of Colorado EMail: jinesh.doshi@colorado.edu