<?xml version="1.0" encoding="US-ASCII"?>
<!--xml2rfcv1 used-->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [

<!ENTITY RFC3056 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3056.xml">
<!ENTITY RFC4380 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4380.xml">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc rfcedstyle="yes" ?>
<?rfc toc="yes"?>
<?rfc tocdepth="4"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes" ?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>
<rfc category="info" ipr="trust200902" number="7021"
     submissionType="independent">
  <!-- ***** FRONT MATTER ***** -->

  <front>
    <title abbrev="NAT444 Impacts">Assessing the Impact of Carrier-Grade NAT
    on Network Applications</title>

    

    <author fullname="Chris Donley" initials="C." role="editor"
            surname="Donley">
      <organization>CableLabs</organization>

      <address>
        <postal>
          <street>858 Coal Creek Circle</street>

          <city>Louisville</city>

          <region>CO</region>

          <code>80027</code>

          <country>USA</country>
        </postal>

        <email>c.donley@cablelabs.com</email>
      </address>
    </author>

    <author fullname="Lee Howard" initials="L." surname="Howard">
      <organization>Time Warner Cable</organization>

      <address>
        <postal>
          <street>13241 Woodland Park Rd</street>

          <city>Herndon</city>

          <region>VA</region>

          <code>20171</code>

          <country>USA</country>
        </postal>

        <email>william.howard@twcable.com</email>
      </address>
    </author>

    <author fullname="Victor Kuarsingh" initials="V." surname="Kuarsingh">
      <organization>Rogers Communications</organization>

      <address>
        <postal>
          <street>8200 Dixie Road</street>

          <city>Brampton</city>

          <region>ON</region>

          <code>L6T 0C1</code>

          <country>Canada</country>
        </postal>

        <email>victor@jvknet.com</email>
      </address>
    </author>

    <author fullname="John Berg" initials="J." surname="Berg">
      <organization>CableLabs</organization>

      <address>
        <postal>
          <street>858 Coal Creek Circle</street>

          <city>Louisville</city>

          <region>CO</region>

          <code>80027</code>

          <country>USA</country>
        </postal>

        <email>j.berg@cablelabs.com</email>
      </address>
    </author>

    <author fullname="Jinesh Doshi" initials="J." surname="Doshi">
      <organization>Juniper Networks</organization>

      <address>
        <postal>
        <street>1194 N. Mathilda Ave</street>
         <city>Sunnyvale</city>
         <region>CA</region>
         <code>94089</code>
         <country>USA</country>
         </postal>
        <email>jineshd@juniper.net</email>
      </address>
    </author>

    <date month="September" year="2013"/>

 

    <keyword>CGN NAT444 DS-Lite Dual-Stack Lite IPv4 NAT IPv6 LSN
    transition</keyword>

    <abstract>
      <t>NAT444 is an IPv4 extension technology being considered by Service
      Providers as a means 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 include the Dual-Stack Lite (DS-Lite)
      impacts also.</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <t>IANA, APNIC, and RIPE NCC exhausted their IPv4 address space in
      2011-2012. Current projections suggest that ARIN may exhaust its free
      pool of IPv4 addresses in 2013. IPv6 is the solution to the IPv4
      depletion problem; however, the transition to IPv6 will not be completed
      prior to IPv4 exhaustion. NAT444 <xref target="NAT444"/> and Dual-Stack
      Lite <xref target="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 provide basic IPv4
      connectivity, they impact a number of advanced applications. This
      document describes suboptimal behaviors of NAT444 and DS-Lite found in
      our test environments.</t>

      <t>From July through 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 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 testing revealed that applications, such as
      video streaming, video gaming, and peer-to-peer file sharing, are
      impacted by NAT444.</t>

      <t>From June through October 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.</t>

      <t>Applications that were tested included, but were not necessarily
      limited to, the following:</t>

      <t><list style="numbers">
          <t>Video/Audio streaming, e.g., Silverlight-based applications,
          Netflix, YouTube, Pandora 2</t>

          <t>Peer-to-peer applications, e.g., video gaming, uTorrent</t>

          <t>Online gaming, e.g., Xbox</t>

          <t>Large file transfers using File Transfer Protocol (FTP)</t>

          <t>Session Initiation Protocol (SIP) calls via X-Lite, Skype</t>

          <t>Social Networking, e.g., Facebook, Webkinz</t>

          <t>Video chat, e.g., Skype</t>

          <t>Web conferencing</t>
        </list></t>
    </section>

    <section title="Testing Scope">
      <t/>

      <section anchor="TestCases" title="Test Cases">
        <t>The diagrams below depict the general network architecture used for
        testing NAT444 and Dual-Stack Lite coexistence technologies at
        CableLabs.</t>

        <section title="Case 1: Single Client, Single Home Network, Single Service Provider">
          <figure>
            <artwork><![CDATA[
                               ^^^^^^^^
                              (Internet)
                               vvvvvvvv
                                  |
                                  |
                           +---------------+
                           |      CGN      |
                           +---------------+
                                |
                           +---------------+
                           |      CMTS     |
                           +---------------+
                                 |
                           +---------------+
                           |      CM       |
                           +---------------+ 
                                 |
                          +-------------------------+
                          |      Home Router        |
                          +-------------------------+
                                 |
                          +---------------+
                          |      Client   |
                          +---------------+
]]></artwork>
          </figure>

          <t>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.</t>
        </section>

        <section title="Case 2: Two Clients, Single Home Network, Single Service Provider">
          <figure>
            <artwork><![CDATA[
                               ^^^^^^^^
                              (Internet)
                               vvvvvvvv
                                 |
                                 |
                          +---------------+
                          |      CGN      |
                          +---------------+
                                 |
                          +---------------+
                          |      CMTS     |
                          +---------------+
                                |
                          +---------------+
                          |      CM       |
                          +---------------+ 
                                |
                         +-------------------------+
                         |      Home Router        |
                         +-------------------------+
                                |                |
                  +---------------+   +---------------+
                  |      Client   |   |      Client   |
                  +---------------+   +---------------+
]]></artwork>
          </figure>

          <t>This is similar to Case 1, except that two clients are behind the
          same Large-Scale NAT (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.</t>
        </section>

        <section title="Case 3: Two Clients, Two Home Networks, Single Service Provider">
          <figure>
            <artwork><![CDATA[
                              ^^^^^^^^
                             (Internet)
                              vvvvvvvv
                                 |
                                 |
                          +---------------+
                          |      CGN      |
                          +---------------+
                                  |
                          +---------------+
                          |      CMTS     |
                          +---------------+
                                  |
        ----------------------------------------        
                    |                     |
        +---------------+         +---------------+
        |      CM       |         |      CM       |
        +---------------+         +---------------+
                |                     |
+-------------------------+ +-------------------------+
|      Home Router        | |      Home Router        |
+-------------------------+ +-------------------------+
                |                     |
  +---------------+         +---------------+
  |      Client   |         |      Client   |
  +---------------+         +---------------+
]]></artwork>
          </figure>

          <t>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.</t>
        </section>

        <section title="Case 4: Two Clients, Two Home Networks, Two Service Providers Cross ISP">
          <figure>
            <artwork><![CDATA[
         ^^^^^^^^                    ^^^^^^^^
        ( ISP A )                   ( ISP B  )
         Vvvvvvvv                    vvvvvvvv
          |                           |
        +---------------+         +---------------+
        |      LSN      |         |      LSN      |
        +---------------+         +---------------+
            |                         |
        +---------------+         +---------------+
        |      CMTS     |         |      CMTS     |
        +---------------+         +---------------+
           |                          | 
        +---------------+         +---------------+
        |      CM       |         |      CM       |
        +---------------+         +---------------+
              |                         |
+-------------------------+ +-------------------------+
|      Home Router        | |      Home Router        |
+-------------------------+ +-------------------------+
               |                        |
  +---------------+         +---------------+
  |      Client   |         |      Client   |
  +---------------+         +---------------+
]]></artwork>
          </figure>

          <t>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.</t>
        </section>
      </section>

      <section title="General Test Environment">
        <t>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 coexistence
        technology under test). This was accomplished by configuring a CGN
        behind multiple cable modem termination systems (CMTSs) 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:</t>

        <t><list style="symbols">
            <t>CGN</t>

            <t>CMTS</t>

            <t>Cable Modem (CM)</t>

            <t>IP sniffer</t>

            <t>RF (radio frequency) sniffer</t>

            <t>Metrics tools (for network performance)</t>

            <t>CPE (Customer Premises Equipment) gateway devices</t>

            <t>Laptop or desktop computers (multiple OSs used)</t>

            <t>Gaming consoles</t>

            <t>iPad or tablet devices</t>

            <t>other Customer Edge (CE) equipment, e.g., Blu-ray players
            supporting miscellaneous applications</t>
          </list></t>

        <t>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.</t>

        <t>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:</t>

        <t><list style="numbers">
            <t>Video streaming over Netflix</t>

            <t>Video streaming over YouTube</t>

            <t>Video streaming over Joost</t>

            <t>Online gaming with Xbox (one user)</t>

            <t>Peer-to-peer gaming with Xbox (two users)</t>

            <t>BitTorrent/uTorrent file seeding/leeching</t>

            <t>Pandora Internet Radio</t>

            <t>FTP server</t>

            <t>Web conferencing GoToMeeting (GTM), WebEx</t>

            <t>Social Networking -- Facebook, Webkinz (chat, YouTube, file
            transfer)</t>

            <t>Internet Archive -- Video and Audio streaming; large file
            downloads</t>

            <t>Video streaming using iClips</t>

            <t>SIP Calls -- X-Lite, Skype, PJSIP</t>

            <t>Microsoft Smooth Streaming (Silverlight)</t>

            <t>Video chat -- Skype, OoVoo</t>
          </list></t>

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

        <t><list style="numbers">
            <t>Windows 7, XP, and Vista-based laptops</t>

            <t>MAC OS X laptop</t>

            <t>iPad</t>

            <t>Xbox gaming consoles</t>

            <t>iPhone and Android smartphones</t>

            <t>LG Blu-ray player (test applications such as Netflix, Vudu,
            etc.)</t>

            <t>Home routers -- Netgear, Linksys, D-Link, Cisco, Apple</t>
          </list></t>
      </section>

      <section title="Test Metrics">
        <t>Metrics data that were collected during the course of testing were
        related to throughput, latency, and jitter. These metrics were
        evaluated under three conditions:</t>

        <t><list style="numbers">
            <t>Initial finding on the CGN configuration used for testing</t>

            <t>Retest of the same test scenario with the CGN removed from the
            network</t>

            <t>Retest with a new configuration (optimized) on the CGN (when
            possible)</t>
          </list></t>

        <t>In our testing, we found only slight 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 Data Over
        Cable Service Interface Specification (DOCSIS) network. Simulated
        homes shared a single DOCSIS upstream and downstream channel.</t>

        <texttable style="all" title="CGN Performance">
          <ttcol>Case</ttcol>

          <ttcol>Avg Latency</ttcol>

          <ttcol>Min Latency</ttcol>

          <ttcol>Max Latency</ttcol>

          <ttcol>RFC 4689 Absolute Avg Jitter</ttcol>

          <ttcol>Max Jitter</ttcol>

          <c>With CGN</c>

          <c>240.32 us</c>

          <c>233.77 us</c>

          <c>428.40 us</c>

          <c>1.86 us</c>

          <c>191.22 us</c>

          <c>Without CGN</c>

          <c>211.88 us</c>

          <c>190.39 us</c>

          <c>402.69 us</c>

          <c>0.07 us</c>

          <c>176.16 us</c>
        </texttable>

        <t>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.</t>
      </section>

      <section title="Test Scenarios Executed">
        <t>The following test scenarios were executed using the aforementioned
        applications and test equipment:</t>

        <t><list style="numbers">
            <t>Single ISP, Single Home Network, with Single User</t>

            <t>Single ISP, Two Home Networks, with One User on Each
            Network</t>

            <t>Dual ISPs, Single Home Network, with Single User on Each
            ISP</t>

            <t>Dual ISPs, One Home Network, with One User connected to ISP-A;
            Two Home Networks, with One User on Each connected to ISP-B</t>
          </list></t>

        <t>These test scenarios were executed for both NAT444 and DS-Lite
        technologies.</t>
      </section>

      <section title="General Test Methodologies">
        <t>The CGN was configured for the optimal setting for the specific
        test being executed for NAT444 or DS-Lite. Individual vendors provided
        validation of the configuration used for the coexistence technology
        under test prior to the start of testing. Some NAT444 testing used
        private <xref target="RFC1918"/> IPv4 space between the CGN and CPE
        router; other tests used public (non-<xref target="RFC1918"/>) IPv4
        space between the CGN and CPE router. With the exception of 6to4 <xref
        target="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 the CPE router was public,
        but CPE routers did not initiate 6to4 when private space was used.</t>

        <t>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.</t>

        <t>All devices were brought to operational state. Connectivity of CPE
        devices to provider network and public Internet was verified prior to
        the start of each test.</t>

        <t>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.</t>

        <t>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 and checklists were
        compiled for all tests executed and for each combination of devices
        tested.</t>
      </section>
    </section>

    <section title="Observed CGN Impacts">
      <t>CGN testing revealed that basic services such as email 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 performance impacted service. In
      addition, for some specific applications in which the performance was
      impacted, 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.</t>

      <t>In 2010 testing, we identified that IPv6 transition technologies such
      as 6to4 <xref target="RFC3056"/> and Teredo <xref target="RFC4380"/>
      fail outright or are subject to severe service degradation. We did not
      repeat transition technology testing in 2011.</t>

      <t>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.</t>

      <section title="Dropped Services">
        <t>Several peer-to-peer applications, specifically peer-to-peer gaming
        using Xbox and peer-to-peer SIP calls using the PJSIP client, failed
        in both the NAT444 and Dual-Stack Lite environments. 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.</t>

        <t>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.</t>

        <t>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 with which to
        communicate. 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.</t>

        <t>Update: in December 2011, Microsoft released an update for Xbox.
        While we did not conduct thorough testing using the new release,
        preliminary testing indicates that Xboxes that upgraded to the latest
        version can play head-to-head behind a CGN, at least for some
        games.</t>

        <t>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 Session Traversal Utilities for NAT (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.</t>

        <t>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.
        Finally, multicast traffic was not forwarded through the CGN.</t>
      </section>

      <section title="Performance Impacted Services">
        <t>Large size file transfers and multiple video streaming sessions
        initiated 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.</t>

        <t>In our testing, we tried large file transfers from several FTP
        sites, as well as downloading 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 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.</t>

        <t>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.</t>
      </section>

      <section title="Improvements since 2010">
        <t>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:</t>

        <t><list style="symbols">
            <t>Content provider updates</t>

            <t>Application updates</t>

            <t>Improvements on the CGNs themselves</t>
          </list>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.</t>

        <t>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.</t>

        <t>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 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.</t>
      </section>

      <section title="Additional CGN Challenges">
        <t>There are other challenges that arise when using shared IPv4
        address space, as with NAT444. Some of these challenges include: <list
            style="symbols">
            <t>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 to specific locations/areas.</t>

            <t>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 <xref target="RFC6269"/>.</t>

            <t>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 did not experience
            them in our environment.</t>
          </list></t>
      </section>
    </section>

    <section title="2011 Summary of Results">
      <section title="NAT444">
        <figure title="NAT444">
          <artwork><![CDATA[
      
+---------------------+--------+--------+--------+----------+---------+
| 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        |        |        |        |          |         |
+---------------------+--------+--------+--------+----------+---------+
| 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     |         |
+---------------------+--------+--------+--------+----------+---------+

            





]]></artwork>
        </figure>
      </section>

      <section title="DS-Lite">
        <figure title="DS-Lite">
          <artwork><![CDATA[
+--------------+---------+-----------+---------------+---------------+
| Test         | DS-Lite | Duration  | Description   | General       |
| Scenario     | Test    | of Test   | of Test       | Observations  |
| (per Test    | Results | Performed | Execution     | and Notes     |
| Plan)        |         |           |               |               |
+--------------+---------+-----------+---------------+---------------+
| Video        | Pass    | 15        |               |               |
| streaming    |         |           |               |               |
| over Netflix |         |           |               |               |
+--------------+---------+-----------+---------------+---------------+
| Video        | Pass    | 10        |               |               |
| streaming    |         |           |               |               |
| over YouTube |         |           |               |               |
+--------------+---------+-----------+---------------+---------------+
| Video        | Pass    | 10        |               |               |
| streaming    |         |           |               |               |
| over Joost   |         |           |               |               |
+--------------+---------+-----------+---------------+---------------+
| Online       | Pass    | 15        |               |               |
| 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        | user on the   |               |
| or uTorrent  |         |           | Internet is   |               |
| file seeding |         |           | able to       |               |
|              |         |           | download file |               |
|              |         |           | using proxy   |               |
|              |         |           | server and    |               |
|              |         |           | not           |               |
|              |         |           | peer-to-peer  |               |
+--------------+---------+-----------+---------------+---------------+
| BitTorrent   | Pass    | 10        |               |               |
| or uTorrent  |         |           |               |               |
| file         |         |           |               |               |
| leeching     |         |           |               |               |
+--------------+---------+-----------+---------------+---------------+      
| Pandora      | Pass    | 10        |               |               |
| Internet     |         |           |               |               |
| Radio        |         |           |               |               |
+--------------+---------+-----------+---------------+---------------+
| FTP server   | Pass    | 700 Mb    |               |               |
+--------------+---------+-----------+---------------+---------------+
| Web          | Pass    | 10        |               |               |
| conferencing |         |           |               |               |
| (GTM)        |         |           |               |               |
+--------------+---------+-----------+---------------+---------------+
| Social       | Pass    | NA        |               |               |
| Networking   |         |           |               |               |
| Facebook     |         |           |               |               |
+--------------+---------+-----------+---------------+---------------+
| Social       | Pass    | NA        |               |               |
| Networking   |         |           |               |               |
| Webkinz      |         |           |               |               |
+--------------+---------+-----------+---------------+---------------+
| X-Lite for   | Pass    | 10        |               |               |
| SIP calls    |         |           |               |               |
| with proxy   |         |           |               |               |
| given        |         |           |               |               |
+--------------+---------+-----------+---------------+---------------+
| X-Lite for   | Fail    | NA        |               |               |
| SIP calls no |         |           |               |               |
| proxy        |         |           |               |               |
+--------------+---------+-----------+---------------+---------------+
| Skype text   | Pass    | NA        |               |               |
| chat         |         |           |               |               |
+--------------+---------+-----------+---------------+---------------+
| Skype video  | Pass    | 20        |               |               |
| chat         |         |           |               |               |
+--------------+---------+-----------+---------------+---------------+
| OoVoo        | Pass    | 15        |               |               |
+--------------+---------+-----------+---------------+---------------+
| MS Smooth    | Pass    | 10        |               |               |
| streaming    |         |           |               |               |
+--------------+---------+-----------+---------------+---------------+
| Internet     | Pass    | 10        |               |               |
| Archive      |         |           |               |               |
| video        |         |           |               |               |
| streaming    |         |           |               |               |
+--------------+---------+-----------+---------------+---------------+
| Internet     | Pass    | 5         |               |               |
| Archive      |         |           |               |               |
| audio        |         |           |               |               |
| streaming    |         |           |               |               |
+--------------+---------+-----------+---------------+---------------+
| Internet     | Pass    | 80 Mb     |               |               |
| Archive file |         |           |               |               |
| download     |         |           |               |               |
+--------------+---------+-----------+---------------+---------------+
| Iclips       | Pass    | 10        |               |               |
+--------------+---------+-----------+---------------+---------------+
]]></artwork>
        </figure>
      </section>
    </section>

    <section title="2010 Summary of Results">
      <t>The tables below summarize results from the 2010 NAT444 testing at
      CableLabs, Time Warner Cable, and Rogers Communications. They are
      included for comparison with 2011 results, documented above.</t>

      <section title="Case 1: Single Client, Single Home Network, Single Service Provider">
        <texttable style="all" title="Case 1">
          <ttcol>Test Case</ttcol>

          <ttcol>Results</ttcol>

          <ttcol>Notes</ttcol>

          <c>Web browsing</c>

          <c>pass</c>

          <c/>

          <c>Email</c>

          <c>pass</c>

          <c/>

          <c>FTP download</c>

          <c>pass</c>

          <c>performance degraded on very large downloads</c>

          <c>BitTorrent leeching</c>

          <c>pass</c>

          <c/>

          <c>BitTorrent seeding</c>

          <c>fail</c>

          <c/>

          <c>Video streaming</c>

          <c>pass</c>

          <c/>

          <c>Voice chat</c>

          <c>pass</c>

          <c/>

          <c>Netflix streaming</c>

          <c>pass</c>

          <c/>

          <c>Instant Messaging</c>

          <c>pass</c>

          <c/>

          <c>Ping</c>

          <c>pass</c>

          <c/>

          <c>Traceroute</c>

          <c>pass</c>

          <c/>

          <c>Remote desktop</c>

          <c>pass</c>

          <c/>

          <c>VPN</c>

          <c>pass</c>

          <c/>

          <c>Xbox Live</c>

          <c>pass</c>

          <c/>

          <c>Xbox online</c>

          <c>pass</c>

          <c>Blocked by some LSNs.</c>

          <c>Xbox network test</c>

          <c>fail</c>

          <c>Your NAT type is moderate. For best online experience you need an
          open NAT configuration. You should enable Universal Plug and Play
          (UPnP) on the router.</c>

          <c>Nintendo Wii</c>

          <c>pass behind one LSN, fail behind another</c>

          <c/>

          <c>PlayStation 3</c>

          <c>pass</c>

          <c/>

          <c>Team Fortress 2</c>

          <c>fail</c>

          <c>pass behind one LSN, but performance degraded</c>

          <c>StarCraft II</c>

          <c>pass</c>

          <c/>

          <c>World of Warcraft</c>

          <c>pass</c>

          <c/>

          <c>Call of Duty</c>

          <c>pass</c>

          <c>performance degraded behind one LSN</c>

          <c>SlingCatcher</c>

          <c>fail</c>

          <c/>

          <c>Netflix Party (Xbox)</c>

          <c>fail</c>

          <c>pass behind one LSN</c>

          <c>Hulu</c>

          <c>pass</c>

          <c>performance degraded behind one LSN</c>

          <c>AIM File Transfer</c>

          <c>pass</c>

          <c>performance degraded</c>

          <c>Webcam</c>

          <c>fail</c>

          <c/>

          <c>6to4</c>

          <c>fail</c>

          <c/>

          <c>Teredo</c>

          <c>fail</c>

          <c/>
        </texttable>
      </section>

      <section title="Case 2: Two Clients, Single Home Network, Single Service Provider">
        <texttable style="all" title="Case 2">
          <ttcol>Test Case</ttcol>

          <ttcol>Results</ttcol>

          <ttcol>Notes</ttcol>

          <c>BitTorrent leeching</c>

          <c>pass</c>

          <c/>

          <c>BitTorrent seeding</c>

          <c>fail</c>

          <c/>

          <c>Video streaming</c>

          <c>fail</c>

          <c/>

          <c>Voice chat</c>

          <c>pass</c>

          <c/>

          <c>Netflix streaming</c>

          <c>pass</c>

          <c>performance severely impacted, eventually failed</c>

          <c>IM</c>

          <c>pass</c>

          <c/>

          <c>Limewire leeching</c>

          <c>pass</c>

          <c/>

          <c>Limewire seeding</c>

          <c>fail</c>

          <c/>
        </texttable>
      </section>

      <section title="Case 3: Two Clients, Two Home Networks, Single Service Provider">
        <texttable style="all" title="Case 3">
          <ttcol>Test Case</ttcol>

          <ttcol>Results</ttcol>

          <ttcol>Notes</ttcol>

          <c>Limewire leeching</c>

          <c>pass</c>

          <c/>

          <c>Limewire seeding</c>

          <c>fail</c>

          <c/>

          <c>uTorrent leeching</c>

          <c>pass</c>

          <c/>

          <c>uTorrent seeding</c>

          <c>fail</c>

          <c/>
        </texttable>
      </section>

      <section title="Case 4: Two Clients, Two Home Networks, Two Service Providers Cross ISP">
        <texttable style="all" title="Case 4">
          <ttcol>Test Case</ttcol>

          <ttcol>Results</ttcol>

          <ttcol>Notes</ttcol>

          <c>Skype voice call</c>

          <c>pass</c>

          <c/>

          <c>IM</c>

          <c>pass</c>

          <c/>

          <c>FTP</c>

          <c>fail</c>

          <c/>

          <c>Facebook chat</c>

          <c>pass</c>

          <c/>

          <c>Skype video</c>

          <c>pass</c>

          <c/>
        </texttable>
      </section>
    </section>

    <section title="CGN Mitigation">
      <t>Our testing did not focus on mitigating the impact of Carrier-Grade
      NAT, as described above. As such, mitigation is not the focus of this
      document. However, there are several approaches that could lessen the
      impacts described above.</t>

      <texttable style="all" title="CGN Mitigation">
        <ttcol>Challenge</ttcol>

        <ttcol>Potential Workaround(s)</ttcol>

        <c>Peer-to-peer</c>

        <c>Use a proxy server; <xref target="RFC6887"/></c>

        <c>Gaming</c>

        <c><xref target="RFC6887"/></c>

        <c>Negative impact to geolocation services</c>

        <c>Deploy CGN close to the edge of the network; use regional IP and
        port assignments</c>

        <c>Logging requirements for lawful intercept</c>

        <c>Deterministic Logging <xref target="DETERMINE"/>; data compression
        <xref target="NAT-LOG"/>; bulk port logging</c>
      </texttable>

      <t>Other mitigation techniques that are currently being researched, such
      as <xref target="STATELESS"/>, may also improve performance.</t>
    </section>

    <section anchor="Security" title="Security Considerations">
      <t>Security considerations are described in <xref target="RFC6264"/> and
      <xref target="RFC6269"/>.</t>

      <t>In general, since a CGN device shares a single IPv4 address with
      multiple subscribers, CGN devices may provide an attractive target for
      Denial-of-Service attacks. In addition, as described in <xref
      target="DETERMINE"/>, abuse attribution is more challenging with CGN and
      requires content providers to log IP address, source port, and time to
      correlate with Service Provider CGN logs. Also, if a CGN public IP
      address is added to a blacklist (e.g., for SPAM) or if a server limits
      the number of connections per IP address, it could negatively impact
      legitimate users.</t>
    </section>
  </middle>

  <back>
    <references title="Informative References">
      <reference anchor="NAT444">
        <front>
          <title>NAT444</title>

          <author fullname="Ikuhei Yamagata" initials="I" surname="Yamagata">
            <organization/>
          </author>

          <author fullname="Yasuhiro Shirasaki" initials="Y"
                  surname="Shirasaki">
            <organization/>
          </author>

          <author fullname="Akira Nakagawa" initials="A" surname="Nakagawa">
            <organization/>
          </author>

          <author fullname="Jiro Yamaguchi" initials="J" surname="Yamaguchi">
            <organization/>
          </author>

          <author fullname="Hiroyuki Ashida" initials="H" surname="Ashida">
            <organization/>
          </author>

          <date day="5" month="July" year="2012"/>

          <abstract>
            <t>This document describes one of the network models that are
            designed for smooth transition to IPv6. It is called NAT444 model.
            NAT444 model is composed of IPv6, and IPv4 with Carrier Grade
            (CGN). NAT444 is the only scheme not to require replacing Customer
            Premises Equipment (CPE) even if IPv4 address exhausted. But it
            must be noted that NAT444 has serious restrictions i.e. it limits
            the number of sessions per CPE so that rich applications such as
            AJAX and RSS feed cannot work well. Therefore, IPv6 which is free
            from such a difficulty has to be introduced into the network at
            the same time. In other words, NAT444 is just a tool to make IPv6
            transition easy to be swallowed. It is designed for the days IPv4
            and IPv6 co-existence.</t>
          </abstract>
        </front>

        <seriesInfo name="Work in" value="Progress"/>
      </reference>

      &RFC3056;

      &RFC4380;

      <?rfc include='reference.RFC.6333'?>

      <?rfc include='reference.RFC.1918'?>

      <?rfc include='reference.RFC.4689'?>

      <?rfc include='reference.RFC.6264'?>

      <?rfc include='reference.RFC.6269'?>

      <?rfc include='reference.RFC.6887'?>

      <reference anchor="DETERMINE">
        <front>
          <title>Deterministic Address Mapping to Reduce Logging in Carrier
          Grade NAT Deployments</title>

          <author fullname="Chris Donley" initials="C" surname="Donley">
            <organization/>
          </author>

          <author fullname="Chris Grundemann" initials="C"
                  surname="Grundemann">
            <organization/>
          </author>

          <author fullname="Vikas Sarawat" initials="V" surname="Sarawat">
            <organization/>
          </author>

          <author fullname="Karthik Sundaresan" initials="K"
                  surname="Sundaresan">
            <organization/>
          </author>

          <author fullname="Olivier Vautrin" initials="O" surname="Vautrin">
            <organization/>
          </author>

          <date day="13" month="July" year="2013"/>

          <abstract>
            <t>In some instances, Service Providers have a legal logging
            requirement to be able to map a subscriber's inside address with
            the address used on the public Internet (e.g. for abuse response).
            Unfortunately, many Carrier Grade NAT logging solutions require
            active logging of dynamic translations. Carrier Grade NAT port
            assignments are often per-connection, but could optionally use
            port ranges. Research indicates that per-connection logging is not
            scalable in many residential broadband services. This document
            suggests a way to manage Carrier Grade NAT translations in such a
            way as to significantly reduce the amount of logging required
            while providing traceability for abuse response. While the authors
            acknowledge that IPv6 is a preferred solution, Carrier Grade NAT
            is a reality in many networks, and is needed in situations where
            either customer equipment or Internet content only supports IPv4;
            this approach should in no way slow the deployment of IPv6.</t>
          </abstract>
        </front>

        <seriesInfo name="Work in" value="Progress"/>
      </reference>

      <reference anchor="NAT-LOG">
        <front>
          <title>IPFIX Information Elements for logging NAT Events</title>

          <author fullname="Senthil Sivakumar" initials="S"
                  surname="Sivakumar">
            <organization/>
          </author>

          <author fullname="Reinaldo Penno" initials="R" surname="Penno">
            <organization/>
          </author>

          <date day="14" month="January" year="2013"/>

          <abstract>
            <t>NAT devices are required to log events like creation and
            deletion of translations and information about the resources it is
            managing. With the wide deployment of Carrier Grade NAT (CGN)
            devices, the logging of events have become very important for
            legal purposes. The logs are required in many cases to identify an
            attacker or a host that was used to launch malicious attacks
            and/or for various other purposes of accounting. Since there is no
            standard way of logging this information, different NAT devices
            behave differently and hence it is difficult to expect a
            consistent behavior. The lack of a consistent way makes it
            difficult to write the collector applications that would receive
            this data and process it to present useful information. This
            document describes the information that is required to be logged
            by the NAT devices.</t>
          </abstract>
        </front>

        <seriesInfo name="Work in" value="Progress"/>
      </reference>

      <reference anchor="STATELESS">
        <front>
          <title>Stateless IPv4 Network Address Translation</title>

          <author fullname="Tina Tsou" initials="T" surname="Tsou">
            <organization/>
          </author>

          <author fullname="Will Liu" initials="W" surname="Liu">
            <organization/>
          </author>

          <author fullname="Simon Perreault" initials="S" surname="Perreault">
            <organization/>
          </author>

          <author fullname="Reinaldo Penno" initials="R" surname="Penno">
            <organization/>
          </author>

          <author fullname="Maoke Chen" initials="M" surname="Chen">
            <organization/>
          </author>

          <date day="22" month="October" year="2012"/>

          <abstract>
            <t>This memo describes a protocol for decentralizing IPv4 NAT to
            the customer-premises equipment (CPE) such that no state
            information is kept on the central NAT device. The CPE uses a
            restricted source port set that is encoded in its provisioned IPv4
            WAN address. The NAT device performs only strictly stateless
            address (not port) translation.</t>
          </abstract>
        </front>

        <seriesInfo name="Work in" value="Progress"/>
      </reference>
    </references>

    <section title="Acknowledgements">
      <t>Thanks to the following people for their testing, guidance, and
      feedback: <list style="hanging">
          <t>Paul Eldridge</t>

          <t>Abishek Chandrasekaran</t>

          <t>Vivek Ganti</t>

          <t>Joey Padden</t>

          <t>Lane Johnson</t>
        </list>Also, thanks to Noel Chiappa for his comments. </t>
    </section>
  </back>
</rfc>
