Let’s Talk Tech: How the Internet Works Part 6: IPv6 Part 2
Welcome to Let’s Talk Tech with Deep Core Data, DCD’s video based informative blog. In this episode of How the Internet Works, we dig into the meat of how IPv6 operates, and take a look at what’s keeping IPv6 from widespread use.
Hello, and welcome to Let’s Talk Tech with Deep Core Data. I’m John Brewer, the owner and Founder here at Deep Core, where we’re using education to help companies make the right technical decisions. Today, we’re going to be talking about, at a technical level, how the Internet works.
Now that you heard about the benefit of IPv6’s vast gold mine of potential addresses, here is the problem: adoption. Most of today’s web servers and application servers cannot use IPv6. So it’s like buying the SUV and being told you can only use it on a race track. Will people and corporations be willing to upgrade for an invisible benefit? Time will tell.
OK, enough on addressing. Let’s dive into the protocol itself.
The IPv6 packet bears only a cursory resemblance to the IPv4 packet; the two packets work on very different principles. So, here’s the IPv6 packet, starting with the header.
In IPv4 the address used to be 32-bit, which has now been pumped up to a deluxe sized 128-bits in IPv6. The IP header contains information about how the packet can be delivered from its source to its destination. The IPv4 header used 13 fields to identify various control settings.IPv4 header’s total length comprises a minimum of 20 bytes, or five 32-bit words. The IPv6 header has only 8 fields with a fixed length of 40 bytes.
Let’s break it down some more.
First up, is the version field, which is the first four bits of the packet; this value indicates that this is an IPv6 packet. This number is always six. Easy.
Type of Service Field; the Differentiated Services Code Point is the next six bits, and the Explicit Congestion Notification are the next two after that. The Differentiated Services Code Point uses exactly the same codes as IPv4 to classify different types of packets, and the ECN likewise works exactly the same way.
Now, we start to see some deviation. The next 20 bits are the Flow Label. The Flow Label is new, and does something interesting. If all of those bits are zero, it has no effect. If there’s a number in there, though, it tells routers and switches along the way that all packets with the same Flow Label, and the same source, and destination should be routed along exactly the same path.
The next two bytes of the header are the payload length; the number of bytes in the packet’s payload, including any extension headers. After the payload length is the one-byte Next Header field. We’ll get back to this beast in a minute.
Which means we’re skipping on ahead to the Hop Limit field. This works the same way as Time To Live does in modern IPv4; it is decremented each time the packet is routed, and when it hits zero the packet is dropped. New name, slightly different method, same ticking bomb.
Finally, there’s the source and destination addresses. Each address is sixteen bytes long, so these fields combined are thirty-two bytes. These fields represent the Sender and the Recipient. Pretty straightforward, huh?
So let’s get back to that new and mysterious Next Header field. What, you must be asking, is that?
The Next Header field indicates what kind of payload this IPv6 packet is carrying. It’s roughly equivalent (and indeed, uses the same numbers) as the IPv4 Protocol field. So why isn’t it just called the Protocol field, as it was in IPv4? Because this functionality has been extended to allow IPv6 to optionally include a number of ancillary fields that might be necessary or useful as the packet moves across the network.
These additional fields are called Extension Headers, and they share a common form. They each start with the type of the header that follows them (again, essentially the protocol number), and the length of the current header in 4-byte blocks. There are eight of these extension headers; if the next Header is not one of these eight, it is the protocol number of the payload.
In the interests of time, we won’t go into what each of these extension headers do, but together they help manage routing, fragmentation, and carry information useful to the destination machine. Hence, the new and improved IPv6. More bang for your buck.
IPv6 also comes with a host of its own supporting protocols, such as Neighbor Discovery Protocol (NDP) in the place of IPv4’s ARP, and ICMPv6. We’ll cover those later.
So we will wrap our introduction for now and go into detail in our next episode. But even at this early stage, you may be seeing some of implementations issues starting to arise here. Consider a fully electric car, lots of benefits, but without the infrastructure to support it. It’s a hard sell.
IPv6 has a lot of benefits, but they require a new infrastructure. Without support, the question is, is it really better?
I hope you enjoyed this episode of “How the Internet Works.” If you liked what you saw, please subscribe to our channel. If you have questions, suggestions, or ideas for future videos, please leave a comment below.
Once again, I’m John Brewer for Deep Core Data. Thanks for watching.