2008-12-14

What subnetting and Masks are all about. (Part 1)

This week in one of my classes we started to touch on the concept of what a subnet mask does. I could not wrap my head around it, but with a lot of help from my Uncle Steve, chatting with some classmates, and web research I can say I'm about 85-90% of fully grasping it.

I don't think if you asked me right now I could give you a free flowing description of what subnet masks are....that will come later I hope. But for this post I'm going to post some basics of what I needed to know before I can handle the subject.

If you found your self here by accident and are wondering what a subnet mask is here is the definition my text book gives...

Subnet Mask: Also simply known as mask, a 32-bit address mask used in IP to identify the bits of an IP address that are used for the subnet address. Using a mask, the router does not need to identify all 32 bits, only those indicated by the mask. (From: CCNA Cisco Certified Network Associate Study Guide. By: Todd Lammle, CCSI)

Ok so first and fore most we need to know some Binary math, as this is new to me also I might be all over the place in this first post so bare with me. Right now if you are connected to the Internet you have an IP address and it might look something like this 123.231.23.56
Right now the numbers aren't important. What is important to notice is the four groups of numbers. The 123 is one group, 231 the second, 23 the third, and 56 the fourth. This is the decimal version of our IP address. It is written like this to be pleasing for us humans to read and understand. The computer on the other hand likes things in Binary. So that same address, 123.231.23.56, would look like 01111011111001110001011100111000 to the computer. BOOOOOO no one wants to look at 32 zero's and one's.

Ok before I go any further (like I said before I will be all over the place in this first practice post) we need to get some quick nomenclature out of the way. Each zero and one is called a bit. And for us humans staring at 32 bit's can be dizzying so we break it up in to groups of eight. These are called Bytes or Octlets so 01111011111001110001011100111000 turns into...
01111011.11100111.00010111.00111000 (the decimals have no value)
That's a little easier to look at, but still mind numbing. How in the world does 01111011.11100111.00010111.00111000 translate to 123.231.23.56? Well each bit in each byte (or Octlet) has a predetermined value. It's probably the easiest part of this whole process. Here is the key to the eight bits in any given byte. Reading from left to right the values are...
128, 64, 32, 16, 8, 4, 2, 1. So the savvy reader might have picked up on that it goes by the power of two from the right to the left! That's easy enough to remember.

So using our example of 01111011.11100111.00010111.00111000 we can convert this back to 123.231.23.56 by using the given values above. Looking at the first byte we see
01111011. So if the zero's mean leave that place alone and the one's mean replace me with my value it would look like...
0-64-32-16-8-0-2-1 and when we add those together we get 123! The first number in our decimal version of our IP address. Using these eight numbers we can cover all the numbers from 0-255. Wow! Isn't that exciting! We're "decoding" computer jargon!

I'm going to stop now and try to focus where I'm going to go from here. I will be posting soon as this is mainly for me so I don't forget what I have learned, can practice my writing, and embed subnetting masks into my head. If you find your self here and have info or kind words please let them be heard. Hope to continue this real soon.
Regards,
Rob