Monday, July 22, 2013

CCNA Prep: Learning how to Subnet Properly

A full breakdown of one of the most common obstacles for those preparing for the CCNA.


In this article we cover one of what I have found to be the most common stumbling blocks for individuals attempting to pass the CCNA. This comes from experience in helping several individuals through the study process.
Understanding subnets, wildcard masks, and slash notation
Subnetting is used to divide a classful address space into smaller blocks to ease network management.
Scenario
A college is using the 10.0.0.0 classful private address space. They want to separate buildings, administrative and student networks, and individual rooms.
Requirements
  • They need a maximum of 28 hosts in each room.
  • They need to accommodate 27 rooms per building.
  • They need to accommodate 5 buildings.
  • All “extra” space should be reserved for accommodating additional buildings.
  • They need to accommodate an administrative and student virtual LAN for each.
  • You have some legacy hardware that doesn’t support subnet zero.
Why do some people find it difficult?
Some people find subnetting difficult simply because they learn “shortcut rules” without understanding how address space is actually divided. They may also have trouble trying to intuit the answer instead of doing the math and conversions.
Building our network address space:
Let’s actually build the addressing scheme for this scenario. Knowing that we can’t use network and broadcast addresses in our “slot count,” we start by adding two to each of our size requirements.
Step 1
Account for network and broadcast addresses.
  • 28 hosts per room: add two for not being able to use network or broadcast addresses.
  • 27 rooms per building: add one for not using subnet zero.
  • 5 buildings: add one for not using subnet zero.
  • Administrative and student networks: add one for not using subnet zero.
Step 2
Move up to the next power of 2.
  • 30 – 32
  • 28 – 32
  • 6 – 8
  • 3– 4
Step 3
Start packing in subnets right to left.
Hosts per room:
XXXX XXXX . 0000 0000 . 0000 0000 . 0000 hhhh
Rooms per building:
XXXX XXXX . 0000 0000 . 0000 0000 .rrrrhhhh
Special case: We are supposed to allow as many buildings as possible, but we know that each building will have an administrative or student network. We may also want to control traffic to the entire administrative or entire student network. We put that Boolean value at the front to keep things very readable for the naked eye.
Administrative or student:
XXXX XXXX. AA00 0000 . 0000 0000 .rrrrhhhh
For the purposes of the example, we’ll make student 2 and administrative 1.
Buildings:
All remaining middle bits: XXXX XXXX. AABB BBBB . BBBB BBBB .rrrrhhhh
Now we know our address scheme and we can match out just about any question they can throw at us.
Step 4: Examining questions
What is the subnet mask and address range for administrative network, building 1, subnet zero? To solve this question, we simply slide in the appropriate values. They are using the 10 private address spaces, so that takes care of the first octet.
0000 1010 = 10
Now we need the administrative network, so:
01BB BBBB . BBBB BBBB
Now we slide in the building number, justify to the right.
0100 000. 0000 0001
The question is asking for subnet zero at this dividing line, so we have 24 bits occupied:
10.64.1.0/24 (255.255.255.0)
To get the range of addresses just set the non-mask bits to all ones and convert again:
0000 1010 . 0100 000. 0000 0001 . 1111 1111
10.64.1.0.255
Step 5
That was an easy one. What if they asked for administrative network subnet zero? Repeat your first two steps in order to arrive here with the administrative-only chunk filled in:
0000 1010 .01XX XXXX . XXXX XXXX
Set everything that follows to zero and convert back to dotted decimal and you have:
10.64.0.0/10 255.192.0.0
To get the range of addresses, just set the non-mask bits to all ones and convert again
0000 1010 . 0111 1111 . 1111 1111 . 1111 1111
10.64.0.0 – 10.127.255.255
Step 6: Finding an arbitrary subnet number.
So we can find subnet zero; what about finding an arbitrary subnet number? We just slide it in to the appropriate slot. Find the student network, building 3, subnet four (room four).
XXXX XXXX. AABB BBBB . BBBB BBBB .rrrrhhhh 10. 4 <-> 3 <-> 4 <-> 0
0000 1010 .1000 0000 . 0000 0011 . 0100 0000
Step 7: Finding a specific host
Find the student network, building 3, subnet four (room four), host 3.
XXXX XXXX. AABB BBBB . BBBB BBBB .rrrrhhhh
10. 4 <-> 3 <-> 4 <-> 3
0000 1010 .1000 0000 . 0000 0011 . 0100 0011
Note: If we could have used subnet zero, the administrative to student split could have been implemented with a single bit instead of two.
Broadcast address
What if you get asked for broadcast address? Since broadcast is the highest address in a network or subnet, we already solved this with our “range of addresses” question. Just find the range of addresses in an address space and use the last value.
Number of usable addresses per subnet
Another type of question you can receive within this topic is determining the number of usable addresses based on a subnet mask.
Determine the number of available hosts per network for this subnet mask: 172.16.0.0 255.255.192.0.
NNNNNNNN . NNNNNNNN . SSHH HHHH . HHHH HHHH
All we did there is divide the address up into network, subnet, and host bits so we convert Host bits to all ones and one decimal number, not dotted decimal, to get 16383. We know that we can’t use network or broadcast addresses, which makes our answer 16382. We didn’t have to subtract the zero, but we did have to subtract the all ones value.
Number of usable networks
Another type of question you can receive within this topic is determining the number of usable addresses based on a subnet mask.
Determine the number of available networks for this subnet mask: 172.16.0.0 255.255.192.0.
NNNNNNNN . NNNNNNNN . SSHH HHHH . HHHH HHHH
We made our same diagram with slots. Now we just need to pull out our subnet bits and we get 3. Add one to account for the 0 value that doesn’t show up as part of the count and you get 4.
Wildcard Masks
And there you go: all the subnet masking questions you’ll probably receive. What about wildcard masks? They are just the inverse of subnet masks, so just convert and solve.
255.255.192.0
11111111 . 11111111 . 1100 0000 . 0000 0000
Just subtract from all ones:
255 – 192 = 32
0.0.32.255
There you have it. You just converted a subnet mask to a wildcard mask.
Slash notation
Converting a subnet mask to slash notation is incredibly simple. Simply convert to binary. We’ll continue with the subnet mask from the previous example:
255.255.192.0
11111111 . 11111111 . 1100 0000 . 0000 0000
Just count the ones from left to right to get the slash notation representation. In this case, it’s 18.
Conclusion
That covers all of the possible subnet style questions that could be asked on the CCNA exam. It doesn’t cover how they’re asked, but if you can reproduce that scenario in its entirety, you can get the right data to answer. Just read the question carefully.
Practice problem
Rework through that scenario with subnet zero available. Rework through that scenario changing which slot should accommodate growth. Rework that scenario changing the numbers for each slot.
Use the online IP subnet calculator to check your work: http://www.subnet-calculator.com/
Study tips
There is the ubiquitous subnet chart that lists all the sizes, start addresses, slash notations, and wildcard notations. Do not rote memorize that chart. Instead, be able to derive that chart. If you don’t do this day to day, just derive the chart immediately at the beginning of the exam. This is when you are thinking most clearly and have the most stamina before the rest of the test.
Be able to solve it manually. Don’t depend on shortcut formulas. Get faster at converting between numbering systems.
When you’re checking your answers, remember that broadcast should always be odd and network should always be even. It can help you avoid some mistakes. Available hosts should also always be even.

No comments: