Since going back to teaching computer networking topics, I have rediscovered how important it is to grasp the distinct number systems that are used by computers and computer networks. I have also rediscovered that grasping conversions by these different number systems can be a little difficult. We humans can easily understand our decimal number system of "1, 2, 3, 4, 5, 6, etc." But computers and networks, however, only understand a "binary" system made up of "1's" and "0's." And adding to the confusion, we often must express numerical values in another system called the "hexadecimal" system, made up of "0 - 9" and "A - F."
Understanding how these number systems are used is foundational to understanding both IPv4 and IPv6 IP addresses, computer MAC addresses, and even checksum hash values such as MD-5. It is necessary to not only understand how they are used, but how to convert between the different number systems so that we can understand the concept of "subnetting" which is a key component of how computers on a network communicate. Without subnetting, using a limited pool of IPv4 addresses was very inefficient back in the day. But using subnetting, we can split up a local area network into "segments" and make IP addressing more efficient.
I often spend at least a few class periods explaining number systems and subnetting, so I wanted to post a quick list of rather good tutorials that go along with the Cisco CCNA curriculum, as I have found these to be quite easy to understand.