7 ms·
> Edit 2017-08-16: It turns out that nothing in this section requires IPv6. It would work fine with IPv4 and NAT, even roaming across multiple NATs. That's not
by wahern 7y ago
> Edit 2017-08-16: It turns out that nothing in this section requires IPv6. It would work fine with IPv4 and NAT, even roaming across multiple NATs.
That's not quite fair. IPv4 and NAT require maintaining a lot of state at critical intermediate routers. I'm sure we've all experienced (perhaps regularly) a NAT'ing router losing state because of a reboot, state tables overflowing, or similar hiccups.
The one absolutely redeeming quality of IPv6 is that with 128 bits routing can be kept much more hierarchical and stateless. Fragmentation will occur and is occurring because we now apply trust metrics to IP addresses (thanks, spammers!) so there's value in owning transferable subnets, but I think IANA and major ISPs can keep the fragmentation process slow enough that hardware/software capabilities can stay apace, preserving a largely stateless, hierarchical routing infrastructure.
That doesn't solve the mobility problem, but it does provide significant benefits to mobility solutions. Don't underestimate the cost of NAT'ing in terms of systems complexity. NAT'ing isn't the type of layer, like ethernet MAC addressing, that we'll always be stuck with.
It's also worth pointing out that some of the [now] unnecessary complexity of IPv6 will fall away over time. IPv6 will get simpler as time progresses, as it already has.
- jsn 7y ago> IPv4 and NAT require maintaining a lot of state at critical intermediate routers. I'm sure we've all experienced (perhaps regularly) a NAT'ing router losing state because of a reboot, state tables overflowing, or similar hiccups. As far as I can see, that state is not very important for the mobile IP design describe in the article. A router reboot or other hiccups are handled more or less the same way as an address change (there is a temporary connectivity loss, and when it's restored, you create a new mapping on the Y server between the existing connection, identified by the same old uuid, and the new external/internal addresses/ports of the client X).
- wahern 7y agoExactly, it's not necessary. All it does is add complexity and unnecessary failure points. Mobile providers use IPv6 for a reason. CGNAT is still used because, among other reasons, the internet (at least in the U.S. and Europe) is still predominately IPv4. If IPv4 disappeared tomorrow CGNAT (and the centralization of mobile network egress points) might be able to go away, too. If, additionally, QUIC completely replaced TCP, I can't think of any reason for maintaining such choke points. In as much as IPv6 provides a faster, more reliable network, it benefits QUIC. And the more ubiquitous QUIC becomes the easier IPv6 will become to manage. QUIC won't be a panacea any more than IPv6 was. But they're both important improvements to the network.
- pdkl95 7y ago> IPv4 and NAT require maintaining a lot of state at critical intermediate routers. Far worse than the maintenance costs, NAT has has prevented (modulo a few niche environments) the development of any network software that isn't client-server. NAT is a party line[1]. Anyone that thinks NAT is useful for anything other than an address space hack (or a few other less common uses[2]): why aren't you replacing all of your household (or small business) phone numbers with a single party line? Surely you could implement a local PBX if you needed to support more than one kind of incoming call. Or what if the phone company offered a new type of line: 10% cheaper, no way to receive incoming calls. Well, sometimes you can get some incoming calls if you convince whomever actually controls the inbound phone number for your phone line to forward calls that come from certain numbers or some other criteria, like they did with the old party lines: just get people calling you at the shared number to pause after connecting and dial you per-arranged ring code[4]. (warning the phone calls might still be answered by whomever picked up first) NAT keeps us on the client/increasingly-centralized-server model. NAT removed one of the most important benefits IP-based internetworking: no discrimination between different types of network host. Each addressable host has the power to publish - using any protocol, including new protocols - without needing an imprimatur[5]: the permission to publish from granted by some other party. If we are very lucky, we might regain some of the lost capability with IPv6. [preemptive response: no, NAT does NOT provide any security benefits. NAT just rewrites packet address/ports. Dropping packets is the job of the (probably stateful) firewall. Nobody wants to change that part, firewalls are important. And if you think NAT hides your internal addresses... really? Is it 192.168.x.y? Can I send GET requests to your router with a webpage full of hidden/obscured img tags with src="http{,s}://192.168.1.{1..254}/whatever?i=want"?] [1] https://en.wikipedia.org/wiki/Party_line_%28telephony%29 https://en.wikipedia.org/wiki/Party_line_%28telephony%29 [2] Most of the time, when people say "NAT", they are only referring to the many-to-one ip masquerading similar to what is implemented in most home routers, or perhaps the "carrier grade" extensions of the same basic idea. They are probably not referring to the other flavors of NAT[3]. [3] https://tools.ietf.org/html/rfc2663#section-4.0 https://tools.ietf.org/html/rfc2663#section-4.0 [4] https://en.wikipedia.org/wiki/Party_line_%28telephony%29#Selective_ringing https://en.wikipedia.org/wiki/Party_line_%28telephony%29#Sel... [5] https://www.fourmilab.ch/documents/digital-imprimatur/ https://www.fourmilab.ch/documents/digital-imprimatur/
- thaeli 7y ago> The one absolutely redeeming quality of IPv6 is that with 128 bits routing can be kept much more hierarchical and stateless. For now. Yes, 128 bits is a lot. Yes, even the 64 bit host-part is a lot. But the old-fashioned, pre-CIDR allocation strategy of IPv6 is _incredibly_ wasteful of address space. There are advantages, and for a single-planet, pre-IoT Internet, that's plenty. But IPv6 has taken so long to adopt, and future major stack changes will only be harder, that we really do need to think about what will work for the Internet a hundred years from now.
- jandrese 7y agoI don't think you realize just how big 64 bits for the network address is. It's one of those things where the scale is so large it's outside of normal human experience and we just can't hold it in our minds. There is no danger of running out of addresses for hundreds of years unless we decide it is necessary to give every single atom in the Earth its own /64. Even then we would have plenty of room to spare in the address space. It's just an absurdly large number. Giving out a few thousand to anybody who asks will never be a problem until humans have literally filled the galaxy.
- carapace 7y agoThe example I've heard and like the best: With 64 bits you can address every cubic centimeter in the Solar system.
- vardump 7y agoEarth's volume is 9.38e11 km^3. Or 9.38e23 liters (dm^3, cubic decimeters). 9.38 * 10^11 km^3 / (2^64) in m^3 = 50.8 m^3. So you'd have one 64-bit address for every 50.8 cubic meters of earth. Also, what's the volume of the solar system?
- Dylan16807 7y agoYeah that number is definitely wrong. The best fit I can find is that 128 bits is roughly enough to address every cubic meter in a sphere slightly larger than Neptune's orbit. 64 bits is way too big for a single dimension, but way too small for three dimensions.