For subnetting in the fourth octet (class c) the valid subnet masks are:
/24 = 255.255.255.0 = 11111111.11111111.11111111.00000000
/25 = 255.255.255.128 = 11111111.11111111.11111111.10000000
/26 = 255.255.255.192 = 11111111.11111111.11111111.11000000
/27 = 255.255.255.224 = 11111111.11111111.11111111.11100000
/28 = 255.255.255.240 = 11111111.11111111.11111111.11110000
/29 = 255.255.255.248 = 11111111.11111111.11111111.11111000
/30 = 255.255.255.252 = 11111111.11111111.11111111.11111100
The next step is to work out the block size by subtracting the number in the fourth octet from 256 which will give you the block size. Once you've got the block size you can count in increments of that block size upto 252 to work out the number of subnets created. For example the subnet mask 255.255.255.192 has the block size of 64, which would create 4 subnets. The network address is the first number in that increment, the broadcast address is the next increment minus 1 and the number of hosts is the block size minus 2. So the first subnet would have the network address ending in .0 and the broadcast address ending in .63, the second subnet would have the network address ending in .64 and the broadcast address ending in .127, the third subnet would have the network address ending in .128 and the broadcast address ending in .191, the fourth subnet would have the network address ending in .192 and the broadcast address ending in .255. Each subnet would have 62 usable hosts.
The same can be applied for subnetting in the second and third octet, the only difference is the addition of .254
Subnet is the process of breaking 256 into blocks of 4,8,16,32,64,18 or 256.
So you need to know your 32 64 and 128 times table but only upto the value of 256 so the first 8 4 and 2 respectively. These are contained within the 16 times table so there is no need to learn them.
The question will ask for example give a /24 address and 35 hosts determine the subnets. So the next power of two after 35 is 64.
I assume you know your powers of two : 1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 ......
So the first subnet will be 0-63 and the second 64-127 and the third 128-191 and the fourth 192-255.
And that is subnetting. You can change the numbers but the underlying practice does not change.
The trick is to learn the 16 times table to the point where you do not have to think.
I'd definitely recommend reading Todd Lammle's CCNA study guide. I'll try as best I can to outline the method I've leart from his book.
Lets say that you needed to work out the number of subnets, number of hosts, network addresses and broardcast addresses for 192.168.1.x when the subnet mask is 255.255.255.240.
First we need to work out the block size so we subtract the last octet of the subnet mask from 256, so in this instance 256-240=16.
Once we know the blocksize we can work everything else out. The number of subnets will be 256 divided by the blocksize, so in this instance 256/16=16 subnets.
The number of hosts in each subnet will be the blocksize minus two, so in this instance 16-2=14 hosts.
Now if we count in increments of the blocksize until we get to 252 we can work out the network addresses, so in this instance the network addresses will be 0, 16, 32, 48, 64, 80, 96, 112, 128, 144, 160, 176, 192, 208, 224, 240
The broadcast address will always be the next increments network address minus 1, so in this instance the broadcast addresses will be 15, 31, 47, 63, 79, 95, 111, 127, 143, 159, 175, 191, 207, 223, 239, 255.
Putting this all together give us the following
1st subnet has the network address 192.168.1.0 and the broadcast address 192.168.1.15 with 192.168.1.1 to 192.168.14 being the usable hosts.
2nd subnet has the network address 192.168.1.16 and the broadcast address 192.168.1.31 with 192.168.1.17 to 192.168.30 being the usable hosts.
3rd subnet has the network address 192.168.1.32 and the broadcast address 192.168.1.47 with 192.168.1.33 to 192.168.46 being the usable hosts.
And so on.
Mmmm.. The video seems more confusing by showing CIDR (CLASSLESS Inter-Domain Routing) on a slide where he's talking about Class C, Class B and Class A addresses. *shrug*
In the end, it is all about the binary. But oftentimes how you get there is the important part of the journey.
As an interesting note, if you get a chance to make it to Cisco Live this year (or Cisco Live Virtual), one of the things I'm doing is to give a couple of breakout sessions specifically on IP (and IPv6) subnetting. It's called 'Mastering IP Subnetting Forever!' and was originally developed by a good friend of mine (Glenn Tapley), who also happens to be the guy who first certified me as a CCSI way back when. (Kinda scary, huh?)
Anyway, it should be a highly entertaining and informative session if you make it out to Vegas in a few months!
If you don't make it out, nothing wrong there either. But (this is the hard part), the best thing you can do is practice, practice, practice with your binary. Subnetting, among other things, will seem so much easier after that!
I will warn you though, binary skills are not really useful in picking up girls in a bar. But they will still be helpful in your technical career!
I would suggest you to do just 3 things,
1) Play the Cisco binary game, so that you can master binary.
2) Study the following document.
3) Play the cisco subnetting game.
This is the easiest way I underwent to understand and get used to subnetting.