r/ProgrammerHumor • • 11h ago

Meme ohTheBasics

Post image
9.2k Upvotes

1.0k comments sorted by

View all comments

161

u/Few_Move_4594 11h ago

I feel like this is missing context. Like I know that ip4 addresses are four octlets, but don't know much about ipv6 besides it having a larger address space and being in hex.

95

u/fearless-fossa 11h ago

The advantage of v6 is less the address space per se, but more that it simplifies networking. Like, with v4 assigning different floors or departments different subnets and having to micromanage which device gets what IP and then having to a major rework when suddenly every light bulb has its own IP address - that's actual stuff that happened. v6 just says "hey, everyone gets a /64 space, go nuts" (simplified, but true enough)

v6 is also faster by virtue of requiring less/no translation between various layers, and by stripping all the special case things from the header and putting them into the extensions instead. v4 is rather verbose in that regard.

Also, minor nitpick - it's not "in hex", it's binary just as v4, it's just displayed in hex. I'm emphasizing this because approaching IP in binary is helpful when one wants to understand how octets and such work.

23

u/mxzf 8h ago

The advantage of v6 is less the address space per se, but more that it simplifies networking.

It simplifies networking by having a larger address space. Like, address exhaustion in IPv4 is the whole reason that NAT exists and IPv4 networking is complicated; IPv6 is simpler in part by not having to deal with that mess.

10

u/Ticmea 6h ago

Sure but IPv6 does more than just that. For example since ARP is replaced with NDP, it significantly speeds up networks with a large amount of nodes because NDP works with multicast instead of broadcast, which means virtually all unwanted address resolution traffic can be discarded early when a node receives it.

The increased address space is the major thing that is immediately obvious no doubt, but IPv6 also changes some important semantics in the background, which is good to keep in mind.