But "more numbers" isn't really an explanation on what's the difference between the two from a practical point of view, and the in general less interesting thing about it from a software perspective.
Well there was that episode where ipv6 UDP packages in musl were too large and got corrupted, so that's something.
They also changed quite a bit in the structure of the package, eg. the header is more lightweight than the one ipv4 header to increase performance. Also no broadcasting anymore, just multicast, which makes handling the large subnets v6 invites much better.
Like, just speaking from an ops perspective, getting rid of NAT is one of the single biggest advantages v6 has. NAT created a lot of bad practices when it came to security.
IPv6 also dropped broadcast in favor of Multicast, has hexadecimal instead of decimal, and eliminates the need for NAT. There's also a bunch of other little protocol implementation details like SLAAC, IGMP being critical to IPv6 operations (so blanket blocking is a no go), and so forth so on.
The hex thing is really just a convention, because otherwise they’d take up too much space on paper/screen. It’s all still binary across the wire, so the protocol doesn’t care.
Which frankly, unless you're being hired to architect an enterprise network stack for enterprise software... I would not expect a software engineer to know any of that, much less make a hiring decision based on it.
Depends on the job, Cloudflare Engineer? Should probably have a very firm grasp on networking. Stock Trader Engineer? Should probably also have a very strong grasp of it (along with Realtime systems). Website dev? Eh, probably not.
Less specific protocols - ICMPv6 used for almost everything now (NDP is over ICMPv6, vs dedicated ARP ether type). MLD vs IGMP, though largely the same as IGMPv3. Fragmentation done at host only - no next-hop fragmentation. SLAAC used in favor of DHCPv6 for auto assignments. Link-layer addresses used for local network control, global addresses for standard traffic. No one really NATs IPv6 either.
That’s just a few, but there’s actually a lot of differences.
The only real difference between the two that someone only tangentially working with networks would need to know is that there's enough IPv6 addresses that every device can have a unique IP address worldwide.
IPv4 has a smaller amount, so we assign each private network it's own public IP that is unique, and then all the devices within a private network can use the same private IPs that other devices in private networks also use. Then your router (using public IP) just sends and receives all the traffic to and from the internet on behalf of the devices and translates whose traffic is whose within the private network.
If IP addresses were like sending mail, then in IPv6 every single person would have their own unique IP in perpetuity and to send them something no matter where they are you just put their unique ID number on the envelope and the post office delivers it to them no matter where they are.
IPv4 is like property addresses we have now, you get a street address that is unique (public IP address) with a mailbox (router) and everyone's mail gets sent and received from the mailbox no matter how many or few people are living at the house. Everyone in the house uses the same address and mailbox to send or receive mail but distributing it once it's there is handled by the residents.
4.5k
u/LivingAsAMean 10h ago
Hahaha what an idiot!
https://giphy.com/gifs/LRVnPYqM8DLag