24 ms·
There's a difference between "pull" and "initiate." NAT traversal is getting better over time, not worse. (Says data from gaming platforms) You only /really/ ne
by jwatte 11y ago
There's a difference between "pull" and "initiate."
NAT traversal is getting better over time, not worse.
(Says data from gaming platforms)
You only /really/ need more than one IP if you want to expose more than 65000 different services from a single physical place.
But, instead of solving this through economics and ingenuity (which we knew could, and had to be done 10 or even 20 years ago) we let device vendors and academics run the show into IPv6.
Which doesn't solve the /real/ problem we're /actually/ having: devices change connectivity every 5 minutes and move continents in a few hours. IPv6 just doesn't have an answer.
- msbarnett 11y ago> NAT traversal is getting better over time, not worse. (Says data from gaming platforms) You only /really/ need more than one IP if you want to expose more than 65000 different services from a single physical place There's a big, huge, insurmountable difference between home NAT traversal, with port-forwarding, and Carrier-grade NAT traversal, where fuck you and your ports.
- WorldMaker 11y agoYes, there's a difference between "pull" and "initiate", but it is academic to my point/hyperbole. Also, yes, UPnP Port Forwarding has made less of a mess in the case of most modern "home" NATs, and this does show up nicely in gaming platforms. UPnP Port Forwarding is a nice kludge. Have you seen how much code and effort is involved in kludges like UPnP Port Forwarding? The game platforms are getting better at it over time mostly because the good platforms can spend a lot of money building the necessary complex software. But we're already leaving behind the case where a single NAT near the edge of the network graph (the "home") is sufficient and are starting to see larger deployments of "carrier-grade NAT". So far as I know there is no equivalent kludge to UPnP Port Forwarding that works reliably on that scale, and building such a kludge seems like a major question of what sort of internet topology we really want. For hyperbole's sake, "carrier-grade NAT" and other similar cases of NATs speaking to NATs that what we're talking about is ultimately a balkanization of the internet, breaking the internet back into sub-networks of various addressability. Even with economic incentives, we'd still be running out of IPv4 addresses for all of the "physical places" in the world that have 65000 devices. More critically, with IPv4 we've already hit scaling problems with the size of routing tables for the physical places that connect to the internet, we can't easily do "per-IP routing" and there aren't economic incentives that will quickly change that. Ultimately, I'm wondering if this is the confusion you are having: IP (v4 or v6) is about the physical routing to the places of the internet. IPv6 doesn't have answers to device connectivity or movement because that's not its job. Logical Device to Physical IP Address mapping is the job of internet layers like DNS and mDNS/Bonjour. NAT is a series of hacks designed to deal with the fact that IPv4 doesn't do as great of a job at physical routing as we would like, now that we have millions of devices connecting to it every day. IPv6 is an actual attempt to fix how the internet does physical routing. It does solve the real problem we are actually having: physical routing on the internet. It solves it much better than NATs wish they could solve it, regardless of the "device vendors and academics" that "ran the show".
- msbarnett 11y ago> So far as I know there is no equivalent kludge to UPnP Port Forwarding that works reliably on that scale There's only Port Control Protocol, but almost no sane ISP will ever enable it, because it can't really solve much and the security implications make people really uncomfortable. The big problem with carrier grade NAT is when you stick N people behind 1 IP, they can only have at most 65,536/N ports each. If you're a big city in India, say, and N=1000, that's 65 ports per person. Your ports-per-person is your ceiling on maximum simultaneous TCP sessions per person. 65 ports is barely enough for a few browser tabs to be open simultaneously, and god help you if you've got another layer of NAT at the household level (which you probably do) and you're splitting those 65 ports between 2 or 3 other people (which you probably are). Consequently, browsing the internet is a fraught process in a lot of places with carrier grade NAT. You can absolutely forget about P2P or anything else complex and port-hungry.