Usage of Teredo and IPv6 for P2P on Windows 10 and Xbox One
dveit at microsoft.com
Mon May 18 16:57:59 UTC 2015
Hi Everyone -
We've had very fruitful discussions with members of this community on Xbox One networking behavior, in particular concerning P2P multiplayer gaming activity. In an effort to continue that useful dialogue, we wanted to provide an informational update for Xbox One, but also share relevant details on upcoming Windows functionality in terms of Teredo and IPv6 usage. We also include some observations about IPv4 and IPv6 health that may be broadly interesting, especially as it pertains to network readiness for Xbox multiplayer via IPv6.
New Xbox experiences launching on Windows 10 will use Teredo for P2P communications
Earlier this year we announced some Xbox functionality coming to Windows 10. One key feature of Windows 10 is enabling multiplayer gaming and chat functionality between Xbox One consoles and Windows 10 devices. This functionality on Windows 10 will behave similarly to how multiplayer works today on Xbox One, using Teredo for NAT traversal and IPsec for security. When used for Xbox Live enabled experiences, the Windows 10 Teredo client will prefer originating traffic from the IANA-registered port, 3074, when available. More detailed guidance on Xbox One behavior is linked at the bottom of this email.
It also should be noted that Windows supports a broad range of applications and a huge portfolio of great games outside of the Xbox Live ecosystem. In general, Microsoft encourages broad adoption of the recommendations in RFC 4787, RFC 6092, and RFC 6888 to maximize the viability of P2P technologies for all.
IPv4's P2P health is degrading
Qualitative and quantitative evidence available to us indicates that overall availability of functioning P2P connectivity on the IPv4 Internet is decreasing over time. In particular we are concerned that IPv4 address scarcity is forcing many small and medium market network operators to deploy carrier-grade NAT functionality.
This often results in end-users being intractably stuck behind "strict" networks with degraded multiplayer experiences as a result. Healthy, standards-compliant IPv6 access is broadly needed, sooner rather than later. However, we have identified a few areas of concern in regard to IPv6 support that will hinder the efficacy of enabling multiplayer on IPv6.
IPv6 is being deployed, but not perfectly, jeopardizing IPv6 P2P
Across the Xbox One customer base, in particular for customers who play multiplayer games, we observe that a substantial minority (around 20%) of devices have native IPv6 configured. This represents a much higher IPv6 penetration rate than Microsoft's other products and services report, as well as public data from other sources.
However we have numerous concerns about IPv6's growth. We are often finding that retail customer premise equipment is configured with IPv6 disabled by default, requiring user action to enable.
We've also encountered a very small set of reports where IPv6 latency and bandwidth performance are suboptimal compared to IPv4. Reports of this nature have usually focused on streaming media experiences and user concern that IPv6 is slower than IPv4 (i.e. "I get 1080P resolution with IPv4, and 720P with IPv6"). In the rare cases where these reports have been substantiated, the primary culprit has been differences in deployed CDN support.
Also, some networking hardware and operators apply firewall policy to the IPv6 path contrary to RFC 6092 recommendations. Of particular concern are configurations where unsolicited inbound IKE/IPsec traffic is not permitted in the default operating mode. Growth of these non-conformant configurations puts the P2P benefit of the next generation Internet in jeopardy. It would be incredibly regrettable if IPv6 necessitated the high level of configuration and inefficiency currently required for IPv4.
Deprecating public Teredo servers for Windows Vista and Windows 7
On May 4th, 2015, we began deactivating Microsoft's publicly available Teredo servers currently configured as the default servers for Windows Vista and Windows 7 clients. This is a result of limited usage on those platforms and our desire to focus our operations on Xbox One and Windows 10.
If you read this far, you are awesome.
We will likely request a NANOG presentation slot later in the year to discuss these points, but we want to make sure we have sufficiently interesting and new things to discuss before swallowing up people's time.
Network operators and CPE manufactures are encouraged to reach out to our team at xboxteredo at microsoft.com with operational questions. Please note that our most common reply will be "better documentation is coming later in the year," but we will try our best to respond to questions quickly.
Thanks for your time,
Darrin Veit & Christopher Palmer
Xbox Platform Networking
Operating System Group
Current Xbox One Multiplayer Networking Guidance
More information about the NANOG