this post was submitted on 25 Jul 2023
245 points (98.4% liked)
Programming
16781 readers
98 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities [email protected]
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I am not a full network engineer so take my opinion with a grain of salt. From what I understand, NAT with IPv4 works really really well to mitigate IPv4 address exhaustion. Then there's an issue with the amount of extra processing switches and routers need to do IPv6, we're going from 32 bits to 128 bits which is a huge increase and for switches and routers that are handling packets as fast as technically possible with a low amount of resources typically, that's a not insignificant hurdle.
It's just easier to do IPv4 in every way, plus that's what the world's been using and is used to.
You can't talk about NAT and then mention speed in the same statement...
The 128-bit IPv6 addresses are just four simple 32-bit integers if you think about it, but with NAT you have juggle around and maintain the (internal IP, internal Port, external IP, external Port, Protocol) tuples all the time. That's a significant overhead. Also, switches typically deal with the Layer 2 stuffs. IP is Layer 3.
See the HN discussion for more information.
Except when you have to NAT transversal. Then you are in a world of hurt.
Well, there's the actual engineer response I was looking for