nanog mailing list archives

Re: Gaming Consoles and IPv4


From: Martijn Schmidt via NANOG <nanog () nanog org>
Date: Mon, 28 Sep 2020 14:38:20 +0000

Being employed by one of these elusive game hosting companies, I can tell you that the dedicated server model is very 
much alive. And rather than the version of 20 years ago where there was one central server in the world, they are now 
deployed in a globally distributed manner.

Games ought to work just fine with NAT, but I have seen some cases where developers incorrectly assumed it was OK to 
have a fixed source-port & destination-port combination to initiate a session. This works fine for the first player to 
connect from behind that NAT, and for the second one it requires NAT + PAT which may still work without a hitch. Where 
it gets interesting is when $NAT-box also picks a fixed source-port if it had to apply PAT, for example by always 
translating $originalPort to UDP/1024. You could probably imagine that the third player attempting to connect from 
behind a $NAT-box like that will be having a hard time initiating the connection, maybe also disrupting the second 
player that was already connected.

TLDR, good netcode has no problems with NAT.

Best regards,
Martijn
________________________________
From: NANOG <nanog-bounces+martijnschmidt=i3d.net () nanog org> on behalf of Tom Beecher <beecher () beecher cc>
Sent: 28 September 2020 16:21
To: Mike Hammett <nanog () ics-il net>
Cc: North American Network Operators' Group <nanog () nanog org>
Subject: Re: Gaming Consoles and IPv4

Why stray away from how PC games were 20 years ago where there was a dedicated server and clients just spoke to servers?

Much cheaper to just let all the game clients talk peer to peer than it is to maintain regional dedicated server 
infrastructure.

On Mon, Sep 28, 2020 at 8:35 AM Mike Hammett <nanog () ics-il net<mailto:nanog () ics-il net>> wrote:
Why stray away from how PC games were 20 years ago where there was a dedicated server and clients just spoke to servers?



-----
Mike Hammett
Intelligent Computing Solutions<http://www.ics-il.com/>
[http://www.ics-il.com/images/fbicon.png]<https://www.facebook.com/ICSIL>[http://www.ics-il.com/images/googleicon.png]<https://plus.google.com/+IntelligentComputingSolutionsDeKalb>[http://www.ics-il.com/images/linkedinicon.png]<https://www.linkedin.com/company/intelligent-computing-solutions>[http://www.ics-il.com/images/twittericon.png]<https://twitter.com/ICSIL>
Midwest Internet Exchange<http://www.midwest-ix.com/>
[http://www.ics-il.com/images/fbicon.png]<https://www.facebook.com/mdwestix>[http://www.ics-il.com/images/linkedinicon.png]<https://www.linkedin.com/company/midwest-internet-exchange>[http://www.ics-il.com/images/twittericon.png]<https://twitter.com/mdwestix>
The Brothers WISP<http://www.thebrotherswisp.com/>
[http://www.ics-il.com/images/fbicon.png]<https://www.facebook.com/thebrotherswisp>[http://www.ics-il.com/images/youtubeicon.png]<https://www.youtube.com/channel/UCXSdfxQv7SpoRQYNyLwntZg>
________________________________
From: "Justin Wilson (Lists)" <lists () mtin net<mailto:lists () mtin net>>
To: "North American Network Operators' Group" <nanog () nanog org<mailto:nanog () nanog org>>
Sent: Monday, September 28, 2020 7:22:28 AM
Subject: Re: Gaming Consoles and IPv4

There are many things going on with gaming that makes natted IPv4 an issue when it comes to consoles and gaming in 
general.   When you break it down it makes sense.

-You have voice chat
-You are receiving data from servers about other people in the game
-You are sending data to servers about yourself
-If you are using certain features where you are “the host” then you are serving content from your gaming console.  
This is not much different than a customer running a web server.  You can’t have more than one customer running a port 
80 web-server behind nat.
-Streaming to services like Twitch or YouTube

All of these take up standard, agreed upon ports. It’s really only prevalent on gaming consoles because they are doing 
many functions.  Look at it another way.  You have a customer doing the following.

-Making a VOIP call
-Streaming a movie
-Running a web server
-Running bittorrent on a single port
-Having a camera folks need to access from the outside world

This is why platforms like Xbox developed things like Teredo.

Justin Wilson
j2sw () mtin net<mailto:j2sw () mtin net>

—
https://j2sw.com - All things jsw (AS209109)
https://blog.j2sw.com - Podcast and Blog

On Sep 27, 2020, at 9:33 PM, Daniel Sterling <sterling.daniel () gmail com<mailto:sterling.daniel () gmail com>> wrote:

Matt Hoppes raises an interesting question,

At the risk of this being off-topic, in the latest call of duty games I've played, their UDP-NAT-breaking algorithm 
seems to work rather well and should function fine even behind CGNAT. Ironically turning on upnp makes this *worse*, 
because when their algorithm probes to see what ports to use, upnp sends all traffic from the "magical xbox port" to 
one box instead of letting NAT control the ports. This does cause problems when multiple xboxes are behind one NAT 
doing upnp. If upnp is on and both xboxes are fully powered off and then turned on one at a time, things do work. But 
when upnp is off everything works w/o having to do that.

There are many other games and many CPE NAT boxes that may do horrible things, but CGNAT by itself shouldn't cause 
problems for any recent device / gaming system.

It is true that I've yet to see any FPS game use ipv6. I assume that's cuz they can't count on users having v6, so they 
have to support v4, and it wouldn't be worth their while to have their gaming host support dual-stack. just a guess 
there

-- Dan



On Sun, Sep 27, 2020 at 7:29 PM Mike Hammett <nanog () ics-il net<mailto:nanog () ics-il net>> wrote:
Actually, uPNP is the only way to get two devices to work behind one public IP, at least with XBox 360s. I haven't kept 
up in that realm.



-----
Mike Hammett
Intelligent Computing Solutions<http://www.ics-il.com/>
[X]<https://www.facebook.com/ICSIL>[X]<https://plus.google.com/+IntelligentComputingSolutionsDeKalb>[X]<https://www.linkedin.com/company/intelligent-computing-solutions>[X]<https://twitter.com/ICSIL>
Midwest Internet Exchange<http://www.midwest-ix.com/>
[X]<https://www.facebook.com/mdwestix>[X]<https://www.linkedin.com/company/midwest-internet-exchange>[X]<https://twitter.com/mdwestix>
The Brothers WISP<http://www.thebrotherswisp.com/>
[X]<https://www.facebook.com/thebrotherswisp>[X]<https://www.youtube.com/channel/UCXSdfxQv7SpoRQYNyLwntZg>
________________________________
From: "Matt Hoppes" <mattlists () rivervalleyinternet net<mailto:mattlists () rivervalleyinternet net>>
To: "Darin Steffl" <darin.steffl () mnwifi com<mailto:darin.steffl () mnwifi com>>
Cc: "North American Network Operators' Group" <nanog () nanog org<mailto:nanog () nanog org>>
Sent: Sunday, September 27, 2020 1:22:51 PM
Subject: Re: Gaming Consoles and IPv4

I understand that. But there’s a host of reasons why that night not work - two devices trying to use UPNP behind the 
same PAT device, an apartment complex or hotel WiFi system, etc.

On Sep 27, 2020, at 2:17 PM, Darin Steffl <darin.steffl () mnwifi com<mailto:darin.steffl () mnwifi com>> wrote:


This isn't rocket science.

Give each customer their own ipv4 IP address and turn on upnp, then they will have open NAT to play their game and host.

On Sun, Sep 27, 2020, 12:50 PM Matt Hoppes <mattlists () rivervalleyinternet net<mailto:mattlists () 
rivervalleyinternet net>> wrote:
I know the solution is always “IPv6”, but I’m curious if anyone here knows why gaming consoles are so stupid when it 
comes to IPv4?

We have VoIP and video systems that work fine through multiple layers of PAT and NAT. Why do we still have gaming 
consoles, in 2020, that can’t find their way through a PAT system with STUN or other methods?

It seems like this should be a simple solution, why are we still opening ports or having systems that don’t work?




Current thread: