Sie sind auf Seite 1von 14

1. What is an IP Address?

An IP address is made of 4 Octets, or 32 bits. It is usually represented in dotted


decimal format like this: 131.107.2.205. Each number represents an octet. An octet
is a group of 8 bits. Since we have 4 octets in an IP Address, there are 8*4=32 bits in
an IP Address.

Computers do not understand dotted decimal notation, as they only function in binary.
All computers understand is 1 and 0. Therefore, we must find a way to transfer an IP
Address from dotted decimal format to binary. We do this octet by octet.

Each bit in an octet has an associated decimal value:

Bit 1 2 3 4 5 6 7 8
Bit 128 64 32 16 8 4 2 1
value

So you can follow, here is a decimal to binary calculator. However, I advise you to do
the math at first to better understand the concepts...

Let’s take an example. I have an IP address of 131.107.2.4. What is that in Binary?

Let’s do this octet by octet:

131:

Bit 128 64 32 16 8 4 2 1
Value
Binary 1 0 0 0 0 0 1 1

Column with a “1” in binary mean that we count the corresponding bit value. If you
add up all the bit values marked with a one, you get 128+2+1=131.

107:

Bit 128 64 32 16 8 4 2 1
Value
Binary 0 1 1 0 1 0 1 1
Column with a “1” in binary mean that we count the corresponding bit value. If you
add up all the bit values marked with a one, you get 64+32+8+2+1=107

2:

Bit 128 64 32 16 8 4 2 1
Value
Binary 0 0 0 0 0 0 1 0

Column with a “1” in binary mean that we count the corresponding bit value. If you
add up all the bit values marked with a one, you get 2

4:

Bit 128 64 32 16 8 4 2 1
Value
Binary 0 0 0 0 0 1 0 0

Column with a “1” in binary mean that we count the corresponding bit value. If you
add up all the bit values marked with a one, you get 4

Now we know that another way of writing our example IP address of 131.107.2.4 is:

10000011.01101011.00000010.00000100

IP Addresses are made of two distinct parts: the Network ID and the Host ID.
When you try to ping an IP address, IP at Layer 3 needs to determine whether the
target IP address is local or remote to your subnet. To explain this, I like to ask my
students the following question:

“Let’s say I live on Maple Tree Lane. You say that you also live on Maple Tree Lane.
Are we neighbors? Well, we may be, or we may not be. We do not have enough
information to answer that question. Specifically, we do not know if we live in the same
town. If we do live in the same town, and our street addresses are similar, then we are
neighbors. If we do not live in the same town, it does not matter whether our street
addresses are similar or not: we are not neighbors.”
The same applies to IP addressing. Before I can find out what your Host ID is – i.e.
your street address – I have to worry about what your Network ID is – i.e. your town.

So how does IP know what the Host ID and Network IDs are? That is the role of the
Subnet Mask.

Please note that neither the network ID, the host ID nor the subnet bit can be all 0s or
all ones. More to come about this later…

2. What is a Subnet Mask?

A Subnet Mask is used to enable IP at Layer 3 to find out whether the target IP
address you are trying to contact is local or remote to your network. That is all it
does. It helps you determine which part of an IP Address is the Network ID, and
which is the Host ID. So how does it do that?

We have all seen a Subnet Mask before. It usually looks something like this:

255.255.255.0

This subnet mask is obviously displayed in dotted decimal format. As we already


know, however, computers do not understand this format. They only understand
binary. So let’s apply what we know about binary to our subnet mask:

255

Bit 128 64 32 16 8 4 2 1
Value
Binary 1 1 1 1 1 1 1 1

Column with a “1” in binary mean that we count the corresponding bit value. If you
add up all the bit values marked with a one, you get 128+64+32+16+8+4+2+1=255

So, 255 is “all ones”, as you may have heard before.


0:

Bit 128 64 32 16 8 4 2 1
Value
Binary 0 0 0 0 0 0 0 0

Column with a “1” in binary mean that we count the corresponding bit value. If you
add up all the bit values marked with a one, you get 0. So, 0 is “all zeros”, as you may
have heard before.

In other words, our 255.255.255.0 subnet masks in binary looks like this:

11111111.11111111.11111111.00000000

Note that a subnet mask is also a 32 bit, 4 octet entity that matches the structure of
our IP addresses…

If I were to superimpose the IP address and subnet mask we have translated so far, I
would get this:

131.107.2.4 10000011. 01101011. 00000010. 00000100


255.255.255.0 11111111. 11111111. 11111111. 00000000

I highlighted the Network bits in Red, and the Host bits in Blue. Notice anything?
All the network bits are the bits that had a value of “1” in the subnet mask, and all the
host bits are the bits that had a value of “0” in the subnet mask. Easy, isn’t it? In our
example, the Network ID is 131.107.2, and the host ID is 4. If I change the subnet
mask to 255.255.0.0, what happens? Well, let’s apply the same logic:

131.107.2.4 10000011. 01101011. 00000100 00000100


255.255.0.0 11111111. 11111111. 00000000 00000000

What happens now? My network ID is now 131.107 and my host ID is 2.4! That is
why an IP address on its own cannot exist! That is why a host on a network needs at
least an IP address AND a subnet mask!
Let’s say that I tell you that I have 2 IP addresses:

131.107.2.4 and 131.107.5.6

Are they local to each other, or remote?

You cannot answer that question, because it is incomplete! I need to give you the
subnet mask as well! Let’s see why…

Let’s say that the subnet mask is 255.255.255.0. Then we have:

131.107.2.4 10000011. 01101011. 00000010. 00000100


131.107.5.6 10000011. 01101011. 00000101. 00000110
255.255.255.0 11111111. 11111111. 11111111. 00000000

Do the Network IDs match? No! Look at the third octect:

0 0 0 0 0 0 1 0
0 0 0 0 0 1 0 1

If the network IDs do not match, then the two IP addresses are remote from
each other. They are on different subnets, and you will need a router to go from one
to the other.

Let’s take the same example with a different subnet mask of 255.255.0.0:

131.107.2.4 10000011. 01101011. 00000010. 00000100


131.107.5.6 10000011. 01101011. 00000101. 00000110
255.255.0.0 11111111. 11111111. 00000000. 00000000

Do the Network IDs match now? Yes!

If the network IDs match, then the two IP addresses will be on the same
network. You do not need a router to go from one to the other in this scenario.
Let’s sum this up: we have seen how only having an IP address is not sufficient, and
how the same two IP addresses can be either remote or local to each other depending
on which subnet mask you are using. This is at the basis of IP troubleshooting.

3. What are IP classes?

You may have heard of the different classes for IP addresses, namely, class A, B and C.
How does that work? Let’s look at the following table:

Class A 1-127* 0xxxxxxx.


Class B 128-191 10xxxxxx.
Class C 192-223 110xxxxx.
*127 is part of the class A range, but you cannot assign any 127.x.x.x IP addresses to

hosts as the entire range is reserved by InterNIC for the loop back address…

What does this mean? When talking about a Class of IP addresses, you only look at
the first octet to determine what class this IP address belongs to.

For class A, InterNIC decided that the 1st octet would start with a bit value of 0.
Therefore, the lowest binary of the 1st octet is 0000001, and the highest is 01111111
(in decimal, that would be from 1 to 127)

For class B, InterNIC decided that the 1st octet would start with a bit value of 10.

Therefore, the lowest binary of the 1st octet is 1000000, and the highest is 10111111
(in decimal, that would be from 128 to 191)

For class C, InterNIC decided that the 1st octet would start with a bit value of 110.

Therefore, the lowest binary of the 1st octet is 1100000, and the highest is 11011111
(in decimal, that would be from 192 to 223)

There are other classes, D and E, but they are not used right now and are illegal on the
Internet.

Also, note that you can use any subnet mask classes with any IP address classes.
Subnet mask classes are as follows:
Class A 255.0.0.0
Class B 255.255.0.0
Class C 255.255.255.0

In other words, it is totally possible to have a Class B IP address and a class C subnet
mask… hang on… isn’t that what we have been taking as an example all along?
Remember our 131.107.2.4 w/ a subnet mask of 255.255.255.0?

4. What is subnetting?

Subnetting is the action of taking an IP range where all IP addresses are local to each
other and dividing it into different ranges – or subnets – where IP addresses from one
range will be remote from any other IP addresses from any other range.

If you want to find out how many hosts you have in an IP range, first you need to
determine how many host bits there are. Let’s take our previous example of
131.107.2.4 and 255.255.255.0. We already established previously that the Network
ID was 131.107.2 and the Host ID was 4. In other words, we have 3 octets for the
Network ID and one octet – or 8 bits – for the Host ID. Now that you have
determined the amount of host bits you had, apply that number to the following
formula:

(2^N)-2)=number of hosts, where N is your number of host bits

That gives us: ((2^8)-2)=254 hosts.

That means that in our example, we have the 131.107.2.x network, which contains
254 possible IP addresses, all local to each other.

What if I chose a class A subnet mask? I would then have:

(2^24)-2)=16,777,214 valid IP addresses in that range!


What if I do not need that many – heck, who does J -- and decided to divide that
range in to several other, more manageable ranges? Well, I need to subnet.

Note: we have to subtract 2 because we lose the all ones and all zeroes values.

If I only had 2 bits to play with, in binary, I would have 2^2=4 possibilities:

00

01

10

11

However, all zeros in IP means the whole network, and all ones is the broadcast ID,
neither one being valid IP addresses that can be assigned to a host. That is why we
always lose 2 and have to subtract two from (2^N)…

Let’s look at the following table:

Bit Value 128 64 32 16 8 4 2 1


Subnet Mask 192 224 240 248 252 254 255
Number of Subnets 2 6 14 30 62 126 254

This table is the only table you need to learn to understand IP subnetting and IP
addressing! Three little lines!

Let’s look at it line by line. The first line we are already acquainted with, so I will
not spend more time on it.

The second line tells you what your subnet mask will be. How do we get those
results? If you look at the bit value line, and add up the bit values, you will see that:

128+64=192

192+32=224
224+16=240

240+8=248

248+4=252

252+2=254

254+1=255

Easy? J

Now to the third line. This one tells you how many subnets will get if you use the
corresponding subnet mask. In other words: if you use the 192 in your subnet mask,
you will get 2 subnets. If you use 224, you will get 6 subnets, etc… So how did I get
those numbers? Well, let’s take 192 as an example. How many bits did I use to get
192? Well, I added 128 and 64, so that would be two bits, right? Let’s look at our
well-known formula:

((2^2)-2)= 2

That is where the values in the third line come from. Want to check another one?
Let’s look at 248. How many bits did I use to get to 248? 128+64+32+16+8=248, or
a total of 5 bits. ((2^5)-2)=30

So now, we know how to build that table, and we understand how it is built. We are
almost done with subnetting!

Let’s say my boss shows up one morning and says:

“Dave, I have an IP range of 131.107.0.0 and a subnet mask of 255.255.0.0. I want 6


subnets out of this.” What do I do now?

I look at my chart, and I see that to get 6 subnets, I need a subnet mask of 224. I
already have an existing subnet of 255.255.0.0, which in binary looks like this:
11111111.11111111.00000000.00000000

I cannot “borrow” any more bits from the first 2 octets, as they are already network
bits – represented by a binary value of 1. So the only I can add this “224” to my
subnet mask is to borrow from the host ID. I take the next available octec – the third
in our example – and end up with a subnet mask of 255.255.224.0, which looks like
this in binary:

11111111.11111111.11100000.00000000

Note that we “borrowed” 3 host bits – binary value of 0 -- in the third octet and made
them network bits – binary value of 1. Note as well that 3 bits is what I need to make
224: 128+64+32=224.

Now that I have a subnet mask, I can tell that I have 13 host bits, meaning that I will
have ((2^13)-2)=8190 valid IP addresses per range J

So I can go back to my boss and say “Boss, your new subnet mask for the
131.107.x.x network will be 255.255.224.0, and you will have 6 subnets with 8190 IP
addresses in each range.” What’s my boss’ next question?

“Dave, what are those ranges?” Oh yeah… maybe I forgot that part J

5. Calculating IP ranges in subnetted environments

Bit Value 128 64 32 16 8 4 2 1


Subnet Mask 192 224 240 248 252 254 255
Number of Subnets 2 6 14 30 62 126 254

Here is our little subnetting chart again. In this section, we will learn how to derive the
actual IP ranges from the network address and subnet mask.

In our example, we had:


Original IP range: 131.107.x.x

Original Subnet Mask: 255.255.0.0

Subnetted subnet mask: 255.255.224.0

Amount of subnets: 6

The first valid range will be 131.107.32.1 to 131.107.63.254. How did I get there? I
used the above chart.

Once I determined that 224 was my subnet bit, I asked myself: what is the lowest bit
value needed to make 224?” The answer is: 32 (128+64+32=224, and 32 is the
lowest of all 3 bit values.) If you look at the chart, you can see this:

Bit value 32
Subnet Mask 224
Number of subnets 6

Visually, it is easy to see that to have 6 subnets, I will use 224 as a subnet bit and will
start my first range at 32. I will then increment each range by that same value of 32. I
love this chart!

My 6 ranges will be:

131.107.32.1 to 131.107.63.254

131.107.64.1 to 131.107.95.254

131.107.96.1 to 131.107.127.254

131.107.128.1 to 131.107.159.254

131.107.160.1 to 131.107.191.254
131.107.192.1 to 131.107.223.254

As you can see, to get the next range, I simply incremented my original value by the
same value (look at the numbers in RED) I started at 32, then incremented 5 times by
that same value of 32.

If you look at the values in BLUE you will see that they always are the next red value
minus 1. For example, if I look at the first range x.x.32.1 to x.x.63.254, I looked at
the next line’s red value, here 64, and subtracted 1 to get to 63. That is all there is to
it!

By the way, note that my last octet on the start of range is always 1 – it cannot be 0,

or else my host ID would be all 0s – and that the last octet is always 254 in the last IP

of each range – it cannot be 255, or else it would be all 1s, which we know is the

broadcast address, and is therefore not available for hosts to have.

In this example, we subnetted a Class B network into 6 subnets. Note that it is

somewhat different if you subnet a Class A and a Class C. Let’s do a Class A

example.

Original IP range: 10.x.x.x

Original Subnet mask: 255.0.0.0

Amount of subnets needed: 14

To get 14 subnets I need a subnet bit of 240, therefore my new subnet mask becomes

255.240.0.0. Note that my subnet bit is now the second octet, not the third as in the

previous example. This will have its importance when we create our ranges.
What is the smallest bit value needed to make 240? 16. Therefore I will start my

ranges at 16 and will increment by that same value of 16.

My ranges are:

10.16.0.1 to 10.128.0.1 to
10.31.255.254 10.143.255.254
10.32.0.1 to 10.144.0.1 to
10.47.255.254 10.159.255.254
10.48.0.1 to 10.160.0.1 to
10.63.255.254 10.175.255.254
10.64.0.1 to 10.176.0.1 to
10.79.255.254 10.191.255.254
10.80.0.1 to 10.192.0.1 to
10.95.255.254 10.207.255.254
10.96.0.1 to 10.208.0.1 to
10.111.255.254 10.223.255.254
10.112.0.1 to 10.224.0.1 to
10.127.255.254 10.239.255.254

Now let's do this with a class C. Remember, class C is the hardest, so follow this
carefully!

Original IP range: 192.168.2.x

Original Subnet mask: 255.255.255.0

Amount of subnets needed: 6

To get 6 subnets I need a subnet bit of 224, therefore my new subnet mask becomes

255.255.255.224. Note that my subnet bit is now the 4th octet, not the third or second

as in the previous examples. This will have its importance when we create our

ranges.
What is the smallest bit value needed to make 224? 32. Therefore I will start my

ranges at 32 and will increment by that same value of 32. (Are you getting the hang of

it by now?)

My ranges are:

192.168.2.33 to 192.168.2.129 to
192.168.2.62 192.168.2.158
192.168.2.65 to 192.168.2.161 to
192.168.2.94 192.168.2.190
192.168.2.97 to 192.168.2.193 to
192.168.2.126 192.168.2.222
But, you say, I thought I was starting at 32?!? My first range is starting at 33! Well,

remember the other examples? We always started at .1, didn't we? Except that here,

because we are already subnetting at the fourth octet, we don't have room for a fifth to

add the .1, so we have to incorporate it in the last octet. So why can we not use

192.168.2.32 w/ a subnet mask of 255.255.255.224? Let's see why:

192.168.2.32 11000000. 10101000. 00000010. 00100000


255.255.255.224 11111111. 11111111. 11111111. 11100000
Looking at it in binary, it is obvious that the Host ID is all zeroes, which we know is

not possible...

That is it. If you know and understand this, you can subnet! Enjoy practicing...

Das könnte Ihnen auch gefallen