RFC 7021
Assessing the Impact of Carrier-Grade NAT on Network Applications
Assessing the Impact of Carrier-Grade NAT on Network Applications ๐ฆ
okay bestie, this is RFC 7021 ๐ It's an Independent Submission, Category: Informational, ISSN 2070-1721, dated September 2013. The title block lists no obsoletes or updates, so it doesn't replace or change any other RFC. The authors are:
- C. Donley, Ed. (CableLabs) ๐
- L. Howard (Time Warner Cable) ๐ธ
- V. Kuarsingh (Rogers Communications) โจ
- J. Berg (CableLabs) ๐ซถ
- J. Doshi (Juniper Networks) ๐
Abstract
NAT444 is an IPv4 extension technology that Service Providers are looking at so they can keep offering IPv4 service to customers while they move over to IPv6 ๐ It adds an extra Carrier-Grade NAT (CGN) inside the Service Provider network, which usually means there are two NATs in a row ๐ญ CableLabs, Time Warner Cable, and Rogers Communications each tested how NAT444 affects lots of popular Internet services, using different test scenarios, network topologies, and vendor equipment. This document points out the spots where a second layer of NAT breaks the communication channel for common Internet apps ๐ It was also updated to cover the Dual-Stack Lite (DS-Lite) impacts ๐
Status of This Memo
This document is not an Internet Standards Track specification. It's published for informational purposes only, so no need to panic ๐ธ
This is a contribution to the RFC Series, made independently of any other RFC stream. The RFC Editor picked to publish it at their discretion, and they make no statement about whether it's valuable for implementation or deployment ๐คทโโ๏ธ Documents the RFC Editor approves for publication aren't a candidate for any level of Internet Standard. See Section 2 of RFC 5741 for the details.
For the current status, any errata, and how to send feedback, check http://www.rfc-editor.org/info/rfc7021 โจ
Copyright Notice
Copyright (c) 2013 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) as they stand on the publication date. Please read these carefully, bestie, because they spell out your rights and restrictions for this document ๐
Table of Contents ๐ง
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Testing Scope . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1. Test Cases . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.1. Case 1: Single Client, Single Home Network, Single
Service Provider . . . . . . . . . . . . . . . . . . . 5
2.1.2. Case 2: Two Clients, Single Home Network, Single
Service Provider . . . . . . . . . . . . . . . . . . . 6
2.1.3. Case 3: Two Clients, Two Home Networks, Single
Service Provider . . . . . . . . . . . . . . . . . . . 7
2.1.4. Case 4: Two Clients, Two Home Networks, Two
Service Providers Cross ISP . . . . . . . . . . . . . 8
2.2. General Test Environment . . . . . . . . . . . . . . . . . 8
2.3. Test Metrics . . . . . . . . . . . . . . . . . . . . . . . 10
2.4. Test Scenarios Executed . . . . . . . . . . . . . . . . . 11
2.5. General Test Methodologies . . . . . . . . . . . . . . . . 11
3. Observed CGN Impacts . . . . . . . . . . . . . . . . . . . . . 12
3.1. Dropped Services . . . . . . . . . . . . . . . . . . . . . 13
3.2. Performance Impacted Services . . . . . . . . . . . . . . 14
3.3. Improvements since 2010 . . . . . . . . . . . . . . . . . 15
3.4. Additional CGN Challenges . . . . . . . . . . . . . . . . 16
4. 2011 Summary of Results . . . . . . . . . . . . . . . . . . . 17
4.1. NAT444 . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.2. DS-Lite . . . . . . . . . . . . . . . . . . . . . . . . . 19
5. 2010 Summary of Results . . . . . . . . . . . . . . . . . . . 22
5.1. Case 1: Single Client, Single Home Network, Single
Service Provider . . . . . . . . . . . . . . . . . . . . . 22
5.2. Case 2: Two Clients, Single Home Network, Single
Service Provider . . . . . . . . . . . . . . . . . . . . . 24
5.3. Case 3: Two Clients, Two Home Networks, Single Service
Provider . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.4. Case 4: Two Clients, Two Home Networks, Two Service
Providers Cross ISP . . . . . . . . . . . . . . . . . . . 25
6. CGN Mitigation . . . . . . . . . . . . . . . . . . . . . . . . 25
7. Security Considerations . . . . . . . . . . . . . . . . . . . 26
8. Informative References . . . . . . . . . . . . . . . . . . . . 26
Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 28
1. Introduction โจ
IANA, APNIC, and RIPE NCC ran out of IPv4 address space in 2011-2012 ๐ Current projections say ARIN may run out of its free pool of IPv4 addresses in 2013. IPv6 is the real fix for IPv4 depletion, but the move to IPv6 won't be finished before IPv4 runs out. That's where NAT444 [NAT444] and Dual-Stack Lite [RFC6333] come in. They're transition mechanisms that let Service Providers put many customers behind one IPv4 address, so lots of legacy devices and apps still get some IPv4 connectivity ๐ธ Both give basic IPv4 connectivity, but they mess with a bunch of advanced applications. This document describes the suboptimal behaviors of NAT444 and DS-Lite we found in our test environments ๐
From July through August 2010, CableLabs, Time Warner Cable, and Rogers Communications tested how NAT444 affects common apps using Carrier-Grade NAT (CGN) devices. The testing was built around a wide range of real-time usage scenarios to evaluate the user experience over the public Internet with NAT444, in both single and dual ISP environments. The goal was to find the apps where the tech either breaks or significantly impacts the user experience. The results showed that apps like video streaming, video gaming, and peer-to-peer file sharing are impacted by NAT444 ๐ญ
From June through October 2011, CableLabs ran more CGN testing, covering both NAT444 and Dual-Stack Lite ๐ It worked with several vendors, including A10, Alcatel-Lucent, and Juniper, to optimize the apps that took hits in the earlier CGN testing, and to expand the testing to DS-Lite.
Applications tested included, but were not necessarily limited to, the following:
- Video/Audio streaming, e.g., Silverlight-based applications, Netflix, YouTube, Pandora 2
- Peer-to-peer applications, e.g., video gaming, uTorrent
- Online gaming, e.g., Xbox
- Large file transfers using File Transfer Protocol (FTP)
- Session Initiation Protocol (SIP) calls via X-Lite, Skype
- Social Networking, e.g., Facebook, Webkinz
- Video chat, e.g., Skype
- Web conferencing
2. Testing Scope ๐งช
2.1. Test Cases
The diagrams below show the general network architecture used for testing NAT444 and Dual-Stack Lite coexistence technologies at CableLabs ๐
2.1.1. Case 1: Single Client, Single Home Network, Single Service Provider
^^^^^^^^
(Internet)
vvvvvvvv
|
|
+---------------+
| CGN |
+---------------+
|
+---------------+
| CMTS |
+---------------+
|
+---------------+
| CM |
+---------------+
|
+-------------------------+
| Home Router |
+-------------------------+
|
+---------------+
| Client |
+---------------+
This is a typical case for a client accessing content on the Internet ๐ฆ For this one, 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. Case 2: Two Clients, Single Home Network, Single Service Provider
^^^^^^^^
(Internet)
vvvvvvvv
|
|
+---------------+
| CGN |
+---------------+
|
+---------------+
| CMTS |
+---------------+
|
+---------------+
| CM |
+---------------+
|
+-------------------------+
| Home Router |
+-------------------------+
| |
+---------------+ +---------------+
| Client | | Client |
+---------------+ +---------------+
This is similar to Case 1, except that two clients sit behind the same Large-Scale NAT (LSN) and in the same home network ๐ฏโโ๏ธ This test case was run to see if there was any change in speed for basic web browsing and video streaming ๐
2.1.3. Case 3: Two Clients, Two Home Networks, Single Service Provider โจ
okay so case 3 is giving "same ISP, two homes" ๐ ๐ both clients sit under the same LSN but each one is behind its own gateway. it's basically simulating two residential subscribers on the same ISP, and we tested peer-to-peer apps ๐ซถ
^^^^^^^^
(Internet)
vvvvvvvv
|
|
+---------------+
| CGN |
+---------------+
|
+---------------+
| 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. Case 4: Two Clients, Two Home Networks, Two Service Providers Cross ISP ๐
this one is the plot twist ๐ค it's like case 1 but with another identical ISP added in. so now we get to test traffic between two residential customers who are connected across the Internet. we focused on client-to-client stuff like IM and peer-to-peer ๐ฌ
^^^^^^^^ ^^^^^^^^
( 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 ๐งช
okay so the lab was meant to act like multiple Service Provider networks, each with a CGN deployed and with connectivity to the public IPv4 or IPv6 Internet ๐ (whichever one the coexistence technology under test needed). we set this up by configuring a CGN behind multiple cable modem termination systems (CMTSs) and then setting up multiple home networks for each ISP. testing meant sending traffic to and from the public Internet in both single and dual ISP environments, with both single and multiple home networks. here's the gear we used ๐งฐ
- CGN
- CMTS
- Cable Modem (CM)
- IP sniffer
- RF (radio frequency) sniffer
- Metrics tools (for network performance)
- CPE (Customer Premises Equipment) gateway devices
- Laptop or desktop computers (multiple OSs used)
- Gaming consoles
- iPad or tablet devices
- other Customer Edge (CE) equipment, e.g., Blu-ray players supporting miscellaneous applications
one or more CPE gateway devices were set up in the home network, and one or more host devices behind the gateways were configured too ๐ก that let us test stuff like multiple users on multiple home networks in the CGN architecture, in both single and dual ISP environments.
the scope got honed down to the specific apps and network conditions that had a high probability of wrecking the user experience, based on earlier testing ๐ the following use cases got tested:
- Video streaming over Netflix
- Video streaming over YouTube
- Video streaming over Joost
- Online gaming with Xbox (one user)
- Peer-to-peer gaming with Xbox (two users)
- BitTorrent/uTorrent file seeding/leeching
- Pandora Internet Radio
- FTP server
- Web conferencing GoToMeeting (GTM), WebEx
- Social Networking -- Facebook, Webkinz (chat, YouTube, file transfer)
- Internet Archive -- Video and Audio streaming; large file downloads
- Video streaming using iClips
- SIP Calls -- X-Lite, Skype, PJSIP
- Microsoft Smooth Streaming (Silverlight)
- Video chat -- Skype, ooVoo
these CPE devices were used for testing those apps on one or more home networks ๐ฑ๐ป๐ฎ
- Windows 7, XP, and Vista-based laptops
- Mac OS X laptop
- iPad
- Xbox gaming consoles
- iPhone and Android smartphones
- LG Blu-ray player (test applications such as Netflix, Vudu, etc.)
- Home routers -- Netgear, Linksys, D-Link, Cisco, Apple
2.3. Test Metrics ๐
we collected metrics on throughput, latency, and jitter ๐ and each one got evaluated under three conditions:
- Initial finding on the CGN configuration used for testing
- Retest of the same test scenario with the CGN removed from the network
- Retest with a new configuration (optimized) on the CGN (when possible)
tbh the big takeaway is that we only found slight differences in latency or jitter when the CGN was in the network versus when it wasn't ๐ it should be noted that we did not conduct any performance testing, and the metrics gathered were limited to single session scenarios. also, bandwidth was not restricted on the Data Over Cable Service Interface Specification (DOCSIS) network. simulated homes shared a single DOCSIS upstream and downstream channel. (in the following table, "us" stands for microsecond.)
+---------+---------+---------+---------+-----------------+---------+
| Case | Avg | Min | Max | [RFC4689] | Max |
| | Latency | Latency | Latency | Absolute Avg | Jitter |
| | | | | Jitter | |
+---------+---------+---------+---------+-----------------+---------+
| With | 240.32 | 233.77 | 428.40 | 1.86 us | 191.22 |
| CGN | us | us | us | | us |
+---------+---------+---------+---------+-----------------+---------+
| Without | 211.88 | 190.39 | 402.69 | 0.07 us | 176.16 |
| CGN | us | us | us | | us |
+---------+---------+---------+---------+-----------------+---------+
CGN Performance
Note: Performance testing as defined by CableLabs includes load testing, induction of impairments on the network, etc. This type of testing was out of scope for CGN testing.
2.4. Test Scenarios Executed ๐ฌ
these test scenarios got run using the apps and test gear from above:
- Single ISP, Single Home Network, with Single User
- Single ISP, Two Home Networks, with One User on Each Network
- Dual ISPs, Single Home Network, with Single User on Each ISP
- Dual ISPs, One Home Network, with One User connected to ISP-A; Two Home Networks, with One User on Each connected to ISP-B
all of these scenarios were run for both NAT444 and DS-Lite technologies โจ
2.5. General Test Methodologies ๐ ๏ธ
the CGN was set to the optimal setting for the specific test being run, for NAT444 or DS-Lite. individual vendors validated the configuration used for the coexistence technology under test before testing started. some NAT444 testing used private [RFC1918] IPv4 space between the CGN and CPE router, and other tests used public (non-[RFC1918]) IPv4 space between the CGN and CPE router. except for 6to4 [RFC3056] traffic, we saw no difference in test results whether private or public address space was used. 6to4 failed when public space was used between the CGN and the 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, depending on what each device needed in the test.
all devices were brought to an operational state. connectivity of CPE devices to the provider network and public Internet was verified before the 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 ran the test scenarios listed above, for single and dual ISP environments, testing multiple users on multiple home networks, using the apps described above where applicable to the each specific test scenario. results and checklists were compiled for all tests executed and for each combination of devices tested. ๐โจ
3. Observed CGN Impacts ๐
CGN testing showed that basic services like email and web browsing worked normally and as expected ๐ however, there were some service-affecting issues for apps that fell into two categories: dropped service and performance impacted service. for some apps where performance was impacted, we took throughput, latency, and jitter measurements. we observed that performance often differs from vendor to vendor and from test environment to test environment, and the results are kinda hard to predict ๐คทโโ๏ธ so we didn't want this to turn into a comparison between different vendor implementations, and 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.
Note: While email and web browsing operated as expected within our environment, there have been reports that anti-spam/anti-abuse measures limiting the number of connections from a single address can cause problems in a CGN environment by improperly interpreting address sharing as too many connections from a single device. Care should be taken when deploying CGNs to mitigate the impact of address sharing when configuring anti-spam/anti-abuse measures. See Section 3.4.
3.1. Dropped Services ๐
Okay so, several peer-to-peer apps just flat-out failed in both the NAT444 and Dual-Stack Lite setups ๐. We're talking peer-to-peer gaming on Xbox and peer-to-peer SIP calls using the PJSIP client. Many CGN devices use "full cone" NAT, which means that once the CGN maps a port for outbound services, it will accept incoming connections to that port โจ. But some apps never sent outgoing traffic first, so they never opened an incoming port through the CGN ๐. Other apps try to open one particular fixed port through the CGN. That works for a single subscriber behind the CGN, but it breaks as soon as multiple subscribers try to use that port ๐ญ.
PJSIP and other SIP software worked when clients used a registration server to start calls ๐. That only held up if the client inside the CGN initiated the traffic first, and only one SIP user was active behind a single IPv4 address at any given time. But in our testing, direct client-to-client SIP calls across two home networks on a single ISP, or calls from a single home network across dual ISPs, could neither be initiated nor received ๐ฉ.
Now the Xbox drama ๐ฎ. In peer-to-peer gaming between two Xbox 360 users in different home networks on the same ISP, the game could not connect the two users. Both users shared an outside IP address and tried to connect to the same port, and that caused a connection failure ๐. There are some interesting nuances here, babe ๐ง. When two users are in the same home network through a single ISP, the Xbox registers with the Xbox server, and the server sees that both Xboxes come through the same public IP address. It then directs the devices to connect using their internal IP addresses. So the connection ends up established directly between both Xboxes via the home gateway, rather than through the Xbox server ๐ง. When 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, the scenario works, since each user now has a unique IP address to communicate with ๐. This is not an ideal fix, though, because it means there is a one-to-one relationship between IP addresses in the public NAT and the number of Xbox users on each network ๐.
Update: in December 2011, Microsoft released an update for Xbox ๐. We didn't do thorough testing on the new release, but preliminary testing indicates that Xboxes that upgraded to the latest version can play head-to-head behind a CGN, at least for some games ๐ฅน.
Other peer-to-peer apps that failed were seeding sessions on BitTorrent and uTorrent ๐ธ. In our test, torrent seeding was started on a client inside the CGN, and leeching was started from a client on the public Internet. Direct peer-to-peer seeding did not work ๐ค. However, the torrent session typically redirected the leeching client to a proxy server, and then the torrent session was set up successfully ๐. 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 Session Traversal Utilities for NAT (STUN) to identify its outside address. Working with vendors, we learned that increasing the STUN timeout to 4 minutes improved uTorrent seeding performance behind a CGN, so the uTorrent client was able to open a port and successfully seed content ๐ฆ.
FTP sessions to servers located inside the home (e.g., behind two layers of NAT) failed ๐ต. When the CGN was bypassed, and traffic only needed to flow through one layer of NAT, clients were able to connect ๐. Last but not least, multicast traffic was not forwarded through the CGN ๐ก.
3.2. Performance Impacted Services ๐ข
Large file transfers and multiple video streaming sessions started on a single client on the same home network behind the CGN experienced reduced performance in our environment ๐ฉ. We measured these variations in user experience against a baseline IPv4 environment where NAT is not deployed ๐.
In our testing, we tried large file transfers from several FTP sites, and we downloaded sizable audio and video files (750 MB to 1.4 GB) from the Internet Archive ๐. We observed that 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 120 kbps for PC1, versus 250 kbps 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's 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, since that 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 ๐ค.
Video streaming for a single user generally performed well โจ. Testing did reveal that video streaming sessions such as Microsoft Smooth Streaming technology (i.e., Silverlight) or Netflix might also show some service-impacting behavior ๐บ. 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 started in the same home network ๐ฑ. Traffic from the first session ceased for 8 s once the second session was initiated. We are tempted to write this off as a problematic home router, but 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 โณ. Once the initial buffering was complete, though, the video streams were consistently smooth ๐ฉต. There were also varying degrees of 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 ๐. These improvements may be categorized as follows:
- Content provider updates
- Application updates
- Improvements on the CGNs themselves
In terms of content provider updates, we have noted improvements in the overall performance of streaming applications in the CGN environment ๐ท. Streaming video was 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 go, the use of STUN and/or proxy servers to offset some of the limitations of NAT and tunneling in the network is more evident as a workaround 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 ๐ซ. For peer-to-peer SIP call applications, port reservations appear to be a workaround to the problem ๐. However, this approach has limitations, because only a limited number of users can have port reservations at any given time ๐ฎโ๐จ. For example, one CGN implementation allowed a port reservation on port 5060 (the default SIP port), but that 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 come up when using shared IPv4 address space, as with NAT444 ๐ฅด. Some of these challenges include:
- Loss of geolocation information - Often, translation zones will cross traditional geographic boundaries. Since the source addresses of packets traversing an LSN are set to the external address of the LSN, it is difficult for external entities to associate IP/Port information with specific locations/areas ๐บ๏ธ.
- Lawful Intercept/Abuse Response - Due to the nature of NAT444 address sharing, it will be hard to determine the customer/endpoint responsible for initiating a specific IPv4 flow based on source IP address alone. Content providers, Service Providers, and law enforcement agencies will need to use new mechanisms (e.g., logging source port and timestamp in addition to source IP address) to potentially mitigate this new problem. This may impact the timely response to various identification requests. See [RFC6269] ๐ต๏ธโโ๏ธ.
- Anti-spoofing - Multiplexing users behind a single IP address can lead to situations where traffic from that address triggers anti-spoofing/DDoS-protection mechanisms, resulting in unintentional loss of connectivity for some users ๐ญ. We have received reports of such anti-spoofing/DDoS mechanisms affecting email and web services in some instances, but we did not experience them in our environment ๐ธ.
4. 2011 Summary of Results ๐
4.1. NAT444 โจ
Okay bestie, this table is where the tea gets spilled ๐ ๐ซถ Each column is a different setup, and each row is an app or service we tested.
+---------------------+--------+--------+--------+----------+---------+
| Test Scenario | Single | Single | Dual | Dual | Notes |
| (per Test Plan) | ISP, | ISP, | ISP, | ISP, One | |
| | Single | Two | One HN | HN+One | |
| | HN, | HN, | with | User on | |
| | Single | Single | One | ISP-A, | |
| | User | User | User | Two HN | |
| | | on | on | with One | |
| | | Each | Each | User on | |
| | | | ISP | Each on | |
| | | | | ISP-B | |
+---------------------+--------+--------+--------+----------+---------+
| Video streaming | Pass | Pass | Pass | Pass | fails |
| over Netflix | | | | | behind |
| | | | | | one |
| | | | | | router |
+---------------------+--------+--------+--------+----------+---------+
| Video streaming | Pass | Pass | Pass | Pass | |
| over YouTube | | | | | |
+---------------------+--------+--------+--------+----------+---------+
| Video streaming | Pass | Pass | Pass | Pass | |
| over Joost | | | | | |
+---------------------+--------+--------+--------+----------+---------+
| Online gaming with | Pass | Pass | Pass | NT | |
| one user | | | | | |
+---------------------+--------+--------+--------+----------+---------+
| Peer-to-peer gaming | Pass | Fail | Pass | NT | fails |
| with two users | | | | | when |
| | | | | | both |
| | | | | | users |
| | | | | | NAT to |
| | | | | | same |
| | | | | | address |
+---------------------+--------+--------+--------+----------+---------+
| BitTorrent/uTorrent | Fail | Fail | Fail | Fail | |
| file seeding | | | | | |
+---------------------+--------+--------+--------+----------+---------+
(continued)
+---------------------+--------+--------+--------+----------+---------+
| BitTorrent/uTorrent | Pass | Pass | Pass | Pass | |
| file leeching | | | | | |
+---------------------+--------+--------+--------+----------+---------+
| Pandora Internet | Pass | Pass | Pass | Pass | |
| Radio | | | | | |
+---------------------+--------+--------+--------+----------+---------+
| FTP server | Pass | Pass | Pass | Pass | |
+---------------------+--------+--------+--------+----------+---------+
| Web conferencing | Pass | Pass | Pass | Pass | |
| GTM | | | | | |
+---------------------+--------+--------+--------+----------+---------+
| Social Networking | Pass | Pass | Pass | Pass | |
| Facebook | | | | | |
+---------------------+--------+--------+--------+----------+---------+
| Social Networking | Pass | Pass | Pass | Pass | |
| Webkinz | | | | | |
+---------------------+--------+--------+--------+----------+---------+
| X-Lite for SIP | Pass | Pass | Pass | Pass | |
| calls with proxy | | | | | |
+---------------------+--------+--------+--------+----------+---------+
| X-Lite for SIP | Fail | Fail | Fail | Fail | |
| calls no proxy | | | | | |
+---------------------+--------+--------+--------+----------+---------+
| Skype text chat | Pass | Pass | Pass | Pass | |
+---------------------+--------+--------+--------+----------+---------+
| Skype video chat | Pass | Pass | Pass | Pass | |
+---------------------+--------+--------+--------+----------+---------+
| ooVoo | Pass | Pass | Pass | Pass | |
+---------------------+--------+--------+--------+----------+---------+
| MS Smooth streaming | Pass | Pass | Pass | Pass | |
+---------------------+--------+--------+--------+----------+---------+
| Internet Archive | Pass | Pass | Pass | Pass | |
| video streaming | | | | | |
+---------------------+--------+--------+--------+----------+---------+
| Internet Archive | Pass | Pass | Pass | Pass | |
| audio streaming | | | | | |
+---------------------+--------+--------+--------+----------+---------+
| Internet Archive | Pass | Pass | Pass | Pass | |
| file download | | | | | |
+---------------------+--------+--------+--------+----------+---------+
| iClips | Pass | Pass | Pass | Pass | |
+---------------------+--------+--------+--------+----------+---------+
NAT444
4.2. DS-Lite โจ
Okay bestie, this is the DS-Lite scoreboard ๐ Each row is a test from the plan, whether it passed or failed, how long it ran, and any notes. The table is split into a few chunks because it's so long, and a "(continued)" marker shows where each chunk picks up.
+--------------+---------+-----------+---------------+---------------+
| Test | DS-Lite | Duration | Description | General |
| Scenario | Test | of Test | of Test | Observations |
| (per Test | Results | Performed | Execution | and Notes |
| Plan) | | | | |
+--------------+---------+-----------+---------------+---------------+
| Video | Pass | 15 min. | | |
| streaming | | | | |
| over Netflix | | | | |
+--------------+---------+-----------+---------------+---------------+
| Video | Pass | 10 min. | | |
| streaming | | | | |
| over YouTube | | | | |
+--------------+---------+-----------+---------------+---------------+
| Video | Pass | 10 min. | | |
| streaming | | | | |
| over Joost | | | | |
+--------------+---------+-----------+---------------+---------------+
| Online | Pass | 15 min. | | |
| gaming with | | | | |
| one user | | | | |
+--------------+---------+-----------+---------------+---------------+
| Peer-to-peer | Fail | NA | user inside | Users inside |
| gaming with | | | HN1 playing | both HN are |
| two users | | | game against | not able to |
| | | | user inside | connect. The |
| | | | HN2 | error shown |
| | | | | on console, |
| | | | | "The game |
| | | | | session is no |
| | | | | longer |
| | | | | available" |
+--------------+---------+-----------+---------------+---------------+
| BitTorrent | Fail | 12 min. | user on the | |
| or uTorrent | | | Internet is | |
| file seeding | | | able to | |
| | | | download file | |
| | | | using proxy | |
| | | | server and | |
| | | | not | |
| | | | peer-to-peer | |
+--------------+---------+-----------+---------------+---------------+
(continued)
+--------------+---------+-----------+---------------+---------------+
| BitTorrent | Pass | 10 min. | | |
| or uTorrent | | | | |
| file | | | | |
| leeching | | | | |
+--------------+---------+-----------+---------------+---------------+
| Pandora | Pass | 10 min. | | |
| Internet | | | | |
| Radio | | | | |
+--------------+---------+-----------+---------------+---------------+
| FTP server | Pass | 700 Mb | | |
+--------------+---------+-----------+---------------+---------------+
| Web | Pass | 10 min. | | |
| conferencing | | | | |
| (GTM) | | | | |
+--------------+---------+-----------+---------------+---------------+
| Social | Pass | NA | | |
| Networking | | | | |
| Facebook | | | | |
+--------------+---------+-----------+---------------+---------------+
| Social | Pass | NA | | |
| Networking | | | | |
| Webkinz | | | | |
+--------------+---------+-----------+---------------+---------------+
| X-Lite for | Pass | 10 min. | | |
| SIP calls | | | | |
| with proxy | | | | |
| given | | | | |
+--------------+---------+-----------+---------------+---------------+
| X-Lite for | Fail | NA | | |
| SIP calls no | | | | |
| proxy | | | | |
+--------------+---------+-----------+---------------+---------------+
| Skype text | Pass | NA | | |
| chat | | | | |
+--------------+---------+-----------+---------------+---------------+
| Skype video | Pass | 20 min. | | |
| chat | | | | |
+--------------+---------+-----------+---------------+---------------+
| ooVoo | Pass | 15 min. | | |
+--------------+---------+-----------+---------------+---------------+
| MS Smooth | Pass | 10 min. | | |
| streaming | | | | |
+--------------+---------+-----------+---------------+---------------+
(continued)
+--------------+---------+-----------+---------------+---------------+
| Internet | Pass | 10 min. | | |
| Archive | | | | |
| video | | | | |
| streaming | | | | |
+--------------+---------+-----------+---------------+---------------+
| Internet | Pass | 5 min. | | |
| Archive | | | | |
| audio | | | | |
| streaming | | | | |
+--------------+---------+-----------+---------------+---------------+
| Internet | Pass | 80 Mb | | |
| Archive file | | | | |
| download | | | | |
+--------------+---------+-----------+---------------+---------------+
| iClips | Pass | 10 min. | | |
+--------------+---------+-----------+---------------+---------------+
DS-Lite
5. 2010 Summary of Results โจ
Next up are the 2010 results ๐ The tables below sum up the 2010 NAT444 testing done at CableLabs, Time Warner Cable, and Rogers Communications. We're keeping them here so you can compare them with the 2011 results we just covered ๐ฆ
5.1. Case 1: Single Client, Single Home Network, Single Service Provider ๐ป
okay bestie, this is the "just me, one home network, one ISP" setup ๐ โจ every test here ran from a single client, and the table lists what passed, what failed, and the little notes that came with them. Web browsing, email, video streaming, and voice chat all passed ๐ FTP downloads passed too, but performance got degraded on very large downloads ๐ข BitTorrent leeching passed while BitTorrent seeding failed ๐ Xbox Live had a whole saga: the Xbox online test passed (blocked by some LSNs), but the Xbox network test failed with a moderate NAT type and a suggestion to enable UPnP on the router ๐ฎ
+--------------+-------------+--------------------------------------+
| Test Case | Results | Notes |
+--------------+-------------+--------------------------------------+
| Web browsing | pass | |
+--------------+-------------+--------------------------------------+
| Email | pass | |
+--------------+-------------+--------------------------------------+
| FTP download | pass | performance degraded on very large |
| | | downloads |
+--------------+-------------+--------------------------------------+
| BitTorrent | pass | |
| leeching | | |
+--------------+-------------+--------------------------------------+
| BitTorrent | fail | |
| seeding | | |
+--------------+-------------+--------------------------------------+
| Video | pass | |
| streaming | | |
+--------------+-------------+--------------------------------------+
| Voice chat | pass | |
+--------------+-------------+--------------------------------------+
| Netflix | pass | |
| streaming | | |
+--------------+-------------+--------------------------------------+
| Instant | pass | |
| Messaging | | |
+--------------+-------------+--------------------------------------+
| Ping | pass | |
+--------------+-------------+--------------------------------------+
| Traceroute | pass | |
+--------------+-------------+--------------------------------------+
| Remote | pass | |
| desktop | | |
+--------------+-------------+--------------------------------------+
| VPN | pass | |
+--------------+-------------+--------------------------------------+
| Xbox Live | pass | |
+--------------+-------------+--------------------------------------+
(continued)
+--------------+-------------+--------------------------------------+
| Xbox online | pass | Blocked by some LSNs. |
+--------------+-------------+--------------------------------------+
| Xbox network | fail | Your NAT type is moderate. For best |
| test | | online experience you need an open |
| | | NAT configuration. You should enable|
| | | Universal Plug and Play (UPnP) on |
| | | the router. |
+--------------+-------------+--------------------------------------+
| Nintendo Wii | pass behind | |
| | one LSN, | |
| | fail behind | |
| | another | |
+--------------+-------------+--------------------------------------+
| PlayStation | pass | |
| 3 | | |
+--------------+-------------+--------------------------------------+
| Team | fail | pass behind one LSN, but performance |
| Fortress 2 | | degraded |
+--------------+-------------+--------------------------------------+
| StarCraft II | pass | |
+--------------+-------------+--------------------------------------+
| World of | pass | |
| Warcraft | | |
+--------------+-------------+--------------------------------------+
| Call of Duty | pass | performance degraded behind one LSN |
+--------------+-------------+--------------------------------------+
| SlingCatcher | fail | |
+--------------+-------------+--------------------------------------+
| Netflix | fail | pass behind one LSN |
| Party (Xbox) | | |
+--------------+-------------+--------------------------------------+
| Hulu | pass | performance degraded behind one LSN |
+--------------+-------------+--------------------------------------+
| AIM File | pass | performance degraded |
| Transfer | | |
+--------------+-------------+--------------------------------------+
| Webcam | fail | |
+--------------+-------------+--------------------------------------+
| 6to4 | fail | |
+--------------+-------------+--------------------------------------+
| Teredo | fail | |
+--------------+-------------+--------------------------------------+
Case 1
Gaming was a mixed bag ๐ฒ the Nintendo Wii passed behind one LSN and failed behind another, Team Fortress 2 failed but passed behind one LSN with degraded performance, and Call of Duty passed with performance degraded behind one LSN ๐ซ SlingCatcher, Netflix Party (Xbox), and Webcam all failed, and 6to4 and Teredo failed too ๐ญ Hulu and AIM File Transfer passed, though with degraded performance in some cases ๐ธ
5.2. Case 2: Two Clients, Single Home Network, Single Service Provider ๐ฏโโ๏ธ
this one is two clients sharing a single home network and a single ISP, so now we're testing what happens when two people in the same house both want the internet ๐ซถ BitTorrent leeching and voice chat passed, but BitTorrent seeding and video streaming failed ๐ Netflix streaming technically passed, but performance got severely impacted and it eventually failed ๐ญ IM passed, and so did Limewire leeching, while Limewire seeding failed ๐
+-----------------+---------+---------------------------------------+
| Test Case | Results | Notes |
+-----------------+---------+---------------------------------------+
| BitTorrent | pass | |
| leeching | | |
+-----------------+---------+---------------------------------------+
| BitTorrent | fail | |
| seeding | | |
+-----------------+---------+---------------------------------------+
| Video streaming | fail | |
+-----------------+---------+---------------------------------------+
| Voice chat | pass | |
+-----------------+---------+---------------------------------------+
| Netflix | pass | performance severely impacted, |
| streaming | | eventually failed |
+-----------------+---------+---------------------------------------+
| IM | pass | |
+-----------------+---------+---------------------------------------+
| Limewire | pass | |
| leeching | | |
+-----------------+---------+---------------------------------------+
| Limewire | fail | |
| seeding | | |
+-----------------+---------+---------------------------------------+
Case 2
5.3. Case 3: Two Clients, Two Home Networks, Single Service Provider ๐๏ธ
now we've got two clients on two separate home networks, still with one service provider ๐ Limewire leeching passed while Limewire seeding failed, and uTorrent leeching passed while uTorrent seeding failed ๐ฆ same pattern as before, bestie: leeching slays, seeding does not ๐
+-------------------+---------+-------+
| Test Case | Results | Notes |
+-------------------+---------+-------+
| Limewire leeching | pass | |
+-------------------+---------+-------+
| Limewire seeding | fail | |
+-------------------+---------+-------+
| uTorrent leeching | pass | |
+-------------------+---------+-------+
| uTorrent seeding | fail | |
+-------------------+---------+-------+
Case 3
5.4. Case 4: Two Clients, Two Home Networks, Two Service Providers Cross ISP ๐
last case, the big one: two clients, two home networks, and two different service providers, so it's cross-ISP ๐ Skype voice calls passed, IM passed, Facebook chat passed, and Skype video passed ๐ FTP was the only one that failed in this round ๐ค
+------------------+---------+-------+
| Test Case | Results | Notes |
+------------------+---------+-------+
| Skype voice call | pass | |
+------------------+---------+-------+
| IM | pass | |
+------------------+---------+-------+
| FTP | fail | |
+------------------+---------+-------+
| Facebook chat | pass | |
+------------------+---------+-------+
| Skype video | pass | |
+------------------+---------+-------+
Case 4
6. CGN Mitigation โจ
okay so, our testing wasn't really about fixing CGN problems, it was about finding them ๐ which means mitigation isn't the main focus of this document ๐ BUT there are a bunch of approaches that could soften the impacts we described above, and we lined them up in the table below ๐
+-----------------------+-------------------------------------------+
| Challenge | Potential Workaround(s) |
+-----------------------+-------------------------------------------+
| Peer-to-peer | Use a proxy server; [RFC6887] |
+-----------------------+-------------------------------------------+
| Gaming | [RFC6887] |
+-----------------------+-------------------------------------------+
| Negative impact to | Deploy CGN close to the edge of the |
| geolocation services | network; use regional IP and port |
| | assignments |
+-----------------------+-------------------------------------------+
| Logging requirements | Deterministic Logging [DETERMINE]; data |
| for lawful intercept | compression [NAT-LOG]; bulk port logging |
+-----------------------+-------------------------------------------+
CGN Mitigation
other mitigation techniques are still being researched, like [STATELESS], and those may also improve performance ๐ฌโจ keep an eye on that one, it's giving future ๐ฎ
7. Security Considerations ๐
okay, this part is serious, so let's get into it ๐จ security considerations are covered in [RFC6264] and [RFC6269], so go read those too ๐
in general, a CGN device shares a single IPv4 address with multiple subscribers, which means CGN devices may provide an attractive target for denial-of-service attacks ๐ฑ it gets messier with abuse attribution too: as described in [DETERMINE], it's harder to figure out who did what with CGN, and content providers have to log IP address, source port, and time so they can correlate it with the Service Provider CGN logs ๐ต๏ธโโ๏ธ and here's the plot twist ๐ช๏ธ if a CGN public IP address gets added to a blacklist (for example, for SPAM), or if a server limits the number of connections per IP address, it could negatively impact legitimate users ๐ innocent people getting caught in the crossfire, not okay ๐ โโ๏ธ
8. Informative References โจ
okay bestie, here's the reading list ๐ every one of these is a doc the RFC leans on, so you can go check them out yourself ๐ซถ
- [DETERMINE] Donley, C., Grundemann, C., Sarawat, V., Sundaresan, K., and O. Vautrin, "Deterministic Address Mapping to Reduce Logging in Carrier Grade NAT Deployments", Work in Progress, July 2013.
- [NAT-LOG] Sivakumar, S. and R. Penno, "IPFIX Information Elements for logging NAT Events", Work in Progress, August 2013.
- [NAT444] Yamagata, I., Shirasaki, Y., Nakagawa, A., Yamaguchi, J., and H. Ashida, "NAT444", Work in Progress, July 2012.
- [RFC1918] Rekhter, Y., Moskowitz, R., Karrenberg, D., Groot, G., and E. Lear, "Address Allocation for Private Internets", BCP 5, RFC 1918, February 1996. ๐ธ
- [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. ๐ฆ
- [RFC4689] Poretsky, S., Perser, J., Erramilli, S., and S. Khurana, "Terminology for Benchmarking Network-layer Traffic Control Mechanisms", RFC 4689, October 2006.
- [RFC6264] Jiang, S., Guo, D., and B. Carpenter, "An Incremental Carrier-Grade NAT (CGN) for IPv6 Transition", RFC 6264, June 2011. ๐
- [RFC6269] Ford, M., Boucadair, M., Durand, A., Levis, P., and P. Roberts, "Issues with IP Address Sharing", RFC 6269, June 2011. ๐
- [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. ๐
- [STATELESS] Tsou, T., Liu, W., Perreault, S., Penno, R., and M. Chen, "Stateless IPv4 Network Address Translation", Work in Progress, October 2012.
Appendix A. Acknowledgements ๐ซถ
Huge thank-yous to these people for their testing, guidance, and feedback, they carried ๐
- Paul Eldridge
- Abishek Chandrasekaran
- Vivek Ganti
- Joey Padden
- Lane Johnson
Also, thanks to Noel Chiappa for his comments. ๐
Authors' Addresses ๐ฆ
Here's who wrote it, and where to find them. Yes, the names are exactly as written ๐
Chris Donley (editor)
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@jvknet.com
John Berg
CableLabs
858 Coal Creek Circle
Louisville, CO 80027
USA
EMail: j.berg@cablelabs.com
Jinesh Doshi
Juniper Networks
1194 N. Mathilda Ave
Sunnyvale, CA 94089
USA
EMail: jineshd@juniper.net
๐ฆ where this page comes from
- ietf: rfc7021 2013-09
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms