Total credit to Wikipedia for the above graphic, it perfectly describes how Hex breaks down to binary, as I’ve heard so many complicated explanations of Hex that are just unnecessary when Hex is just representations of 4-bit groupings (1 byte).
Hex has way too many complex explanations!
Generally Hex is represented 2 characters at a time, 8 bits / 2 bytes, each character representing a value of 0-15 (0-F) which break down as it does above.
The easiest way to think of each Hex character is how you’d figure out a Prefix, only starting at the 5th spot value for each Binary grouping, which going left to right starts with the value of 8, 4, 2, 1 for “on” bits.
Some example of how Hex breaks down Binary:
F = 1111, A = 1010, 7 = 0111, 0 = 0000, C = 1100
FA0C = 11111010.00001100
Its just that easy.
Why Hex and IPv6 will become the future of networking
There are a few huge reasons for this:
- IPv6 theoretically allows for 340 billion billion billion billion addresses
- Does not use Broadcasts at all, HUGE decrease in network overhead
- Condensing the Binary into Hex allows for less CPU overhead for network devices
- Easy to understand once you conquer your fear of change 🙂
A few things to calm any fears about IPv6 on the horizon:
- The first 64 bits (first half) of an IPv6 address is the Network Address (/64)
- The network mask is in bits, just like IPv4, but one is /24 and the other /128
- Hex is easily broken down into bits as demonstrated above for IPv6, the same way
- Matching Prefix Length to identify network segments is the exact same in IPv6 as it is with IPv4, using the Prefix Mask to identify the Network Segment which will then give you the Host Range to verify if hosts are in their correct network segment
- Example posted below of how easy it is to identify quickly!
In modern networks, engineers are doing network gymnastics to NAT internet addressing, while carriers are increasingly working at Layer 2 for their Transport, as it allows for faster speeds due to avoid the Layer 3 overhead. This includes things like MPLS, EVCs (Ethernet Virtual Circuit), QinQ Tunneling over Fiber, VPLS, etc.
While IPv4 will remain the standard for LAN networking for the foreseeable future largely in part for legacy systems support, but it is also much more familiar with most current network admins / end users, so while we can not the complex addresses at the network edge and simplify LAN troubleshooting we will take it!
For these reasons IPv6 is being utilized more and more behind the scenes, such as for cellular network internet addressing, and will eventually have to come to modern SMB (Small to Medium Business) networks WAN connections as well.
This is all fine and good but get to the point about Hex and IPv6 Addressing!
Gladly!
IPv6 is usually something ugly looking like:
FF08:E442:0834::21:AF48:0031/128
^^This is a Host Address as indicated by the /128 Prefix Mask, as 192.168.1.143/32 would indicate an IPv4 Host Address, because the Mask = Entire Prefix length!
What makes this less scary, is first knowing that generally IPv6 will not have Prefix Masks at all, unless it is describing network segment size, lets review this concept.
FF08:E442:0834::21:AF48:0031/96
^^This = FF08:E442:0834::21:AF48:0000 – FF08:E442:0834::21:AF48:FFFF
Or if asked the network # it is: FF08:E442:0834::21:AF48:0000:0000/96
(I left out some zero compression as it may be shown this way on exam day)
The Prefix Mask also represents bits NOT bytes even with IPv6 that uses Hex, so being that each Hex character is 4 bits of space, 32 bits is one Hextet of the IPv6 Address.
The Address space in blue is the Network Address, and in red is for Host Addressing!
Lets take this a step further / more complex:
“What network is the Host Address FF08:E442:0834::21:AF48:0031/112 part of?”
I first match the prefix length out as far as I can, eliminating it first to the Hextet (collection of 4 Hex characters between:colons), then go by Hex Character / 4 bits to understand where the mask ends the Network Segment and begins the Host Addressing.
Being that each Hex character is 4 bits long, and each Hextet contains 4 Hex character that means each Hextet is 16 bits long.
Looking at the questions again with the Prefix Mask, you could even just subtract those bits / Hex characters from the mask, and work backwards:
128 total network bits minus 16 network bits, makes the last two Hex characters available for host assignment: FF08:E442:0834::21:AF48:0000 – :00FF/112
Its the exact same AND operation as with an IPv4 subnet mask, exactly the same, write everything out in binary if needed or right up to where the Prefix Mask ends to find the matching bits that make up the network / the remaining bits usable for the hosts.
Let me take the example one step further in complexity:
“What network is the Host Address FF08:E442:0834::21:AF48:0031/115 part of?”
Lets break those last two Hex Characters in Binary, as well as the Prefix Mask:
0 0 3 1
0000000000110001 – Host Address
1110000000000000 – Prefix Mask
0000000000000000 – Resulting Network Segment #
So the Prefix of /115 does not get past the first Hex character of the last Hextet, so the resulting network # / host range (all host bits turned on) is:
FF08:E442:0834::21:AF48:0000/115
FF08:E442:0834::21:AF48:0000 – 1FFF
Total Host Addresses = 8,192
Being that IPv6 isn’t broken up by subnetworks of Broadcast domains, there is not a repeating network # that you can increase, for example a /28 networks consisting of 8 hosts, so 192.168.1.0/28 would going .0-7, .8-15, .16-23, .24-31, etc.
IPv6 addressing is deliberate to avoid overlaps, so each network segment explains only itself, and does not itself to subsequent network numbering like IPv4!
There is one exception to this, when an IPv6 Migration Prefix Address is used to indicate the end of the address will be in IPv4 Format, but that will be discussed fully in the IPv6 article along with other Address concepts.
If concepts like Broadcasts do not exist, how do Hosts Discover other Hosts?
How do Hosts / Networks propagate management traffic like Hellos for Protocols?
How do network devices know their place in the network, or what network they are in?
This will all be broken down fully in the IPv6 TSHOOT article, as this is such an important concept not just to know for exams, but to know for upcoming network expansion that is just over the horizon for high level network engineers!
Why IPv6 is so Migration oriented, rather than erase and replace?
I wondered this when studying ROUTE, why there weren’t more topics on IPv6 as a deployment rather than IPv6 Migration, and this is because as the gatekeepers of our LAN to the WAN we must understand that IPv4 will remain on the LAN for the long haul.
Emerging technologies communicate over IPv6, especially with the expansion of cloud based service for literally everything traditionally on-premise for a network, an understanding of how to manage those connections from the network edge is a must.
For this reason Network Engineers of the future will have to have at least an intermediate understanding of IPv6, how it interconnects to their network edge, and understand the fundamentals beginning with basic Addressing concepts.
So its not so much we need to know how to configure our WAN / LAN to use IPv6, but we must be ready to utilize IPv6 for WAN connections even if its just a cellular / metered backup circuit, and to understand the IPv6 TSHOOT Topology!
That is it for this light intro to Hex / IPv6 Addressing before we take the plunge!
The Addressing is so simple, I think its simplicity gets lost somewhere in convoluted Hex conversion explanations, and different IPv6 Addressing concepts being that IPv6 doesn’t use Broadcasts so it does things a lot different.
If I can overcome my IPv6 fear, anyone can, I will see you in the next IPv6 TSHOOT post!