An IP address is composed of 32 bits. These 32 bits are divided into 4 octets of 8 bits each. You may have seen an IP address represented like this: 188.8.131.52. We must remember, however, that the computer understands this number only in binary, so we must often deal with them in binary. Many people are intimidated by this initially, but soon find that it is not difficult. If you do not allow yourself to be flustered, you can master this topic.
IP addresses are assigned to orginazations in blocks. Each block belongs to one of three classes: class A, class B, or class C. You can tell what class an IP address is by the value in its first octet.
|Class C||192 -->|
An IP address consists of two fields. The first field identifies the network, and the second field identifies the node on the network. Which bits of the address are in the network field and which bits are in the host field is determined by the subnet mask.
When a class A IP license is granted, you are assigned something like this: 184.108.40.206. Only the value of the bits in the first octet are assigned. This means you are free to assign any values you wish in the second, third and fourth octets.
The defualt subnet mask for a class A network is 255.0.0.0. High bits, ones, indicate the bits that are part of the network field of the IP address. The default subnet mask does not create subnets. Therefor, a class A network with the default subnet mask is one network. The three octets that are unassigned and unmasked are part of the host field of the address. There is a total of 24 bits in those three octets. Each bit can be in one of two states. Therefor, 2^24 is the number of host addresses that can be assigned on that network, almost. Two addresses are reserved on every network, x.x.x.0 and x.x.x.255. So the total number of hosts possible on this network is 2^24. 2^24-2=16,777,214 hosts for a class A IP network.
When a class B license is granted, the first two octets are assigned. For example, 172.198.x.x. The default subnet mask for a class B is 255.255.0.0. One network, two octets free, 16 bits for the host address field. 2^16-2=65,534 possible host addresses on a class B IP network.
When a class C license is granted, the first three octets are assigned, for example: 220.127.116.11. The default subnet mask for a class C is 255.255.255.0. Once octet makes up the host address field. 2^8-2=254 host addresses possible on a class C network.
It is highly unlikely that any organization would want one network of 16,777,214 nodes. They might want that many devices connected in a wide area network (WAN), thus capablee of communicating when neccessary, but they will want to subdivide this huge network into mostly self-contained subnetworks of nodes that communicate with each other often. This is called subnetting.
To understand why, consider what would happen in either a broadcast or a token passing network that consisted of over 16,000,000 nodes. Nothing would happen. It simply would not work. Though the problem is not as drastic, class B and class C IP networks are often subnetted, also.
The subnet mask is used to subdivide an IP network into subnets. This is a division that takes place in OSI layer 3, so it is a logical division that is created by the addressing scheme. This logical division is usually combined with a physical division. Many subnets are physically isolated from the rest of the network by a device such as a router or a switch. This aspect of subnetting is discussed in Unit 3--Data Link Layer.
Here is where we begin dealing with both addresses and subnetmasks in binary. Get yourself a cold beverage, stretch, take a deep breath and don't worry. Once you get your brain around the concepts, it is not difficult. You just have to keep trying until the light goes on.
3.1 Translating Binary to DecimalBoth IP addresses and subnet masks are composed of 32 bits divided into 4 octets of 8 bits each. Here is how a single octet translates from binary to decimal. Consider an octet of all ones: 11111111.
128 64 32 16 8 4 2 1 --- -- -- -- - - - - 1 1 1 1 1 1 1 1 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255Here's another: 10111001
128 64 32 16 8 4 2 1 --- -- -- -- - - - - 1 0 1 1 1 0 0 1 128 + 0 + 32 +16 + 8 + 0 + 0 + 1 = 185and 00000000
128 64 32 16 8 4 2 1 --- -- -- -- - - - - 0 0 0 0 0 0 0 0 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 = 0
3.2 Converting Decimal to BinaryConverting decimal to binary is similar. Consider 175:
128 64 32 16 8 4 2 1 --- -- -- -- - - - - 1 0 1 0 1 1 1 1 128 + 0 + 32 + 0 + 8 + 4 + 2 + 1 = 175175=10101111
3.3 Simple SubnettingThe simpliest way to subnet is to take the octet in the subnet mask that covers the first unassigned octet in the IP address block, and make all its bits high. Remember, a high bit, a 1, in the subnet mask indicates that that corresponding bit in the IP address is part of the network field. So, if you have a class B network 18.104.22.168, with the subnet mask 255.255.0.0, you have one network with 65, 534 possible addresses. If you take that subnet mask and make all the bits in the third octet high
128 64 32 16 8 4 2 1 --- -- -- -- - - - - 1 1 1 1 1 1 1 1 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255you get the subnet mask 255.255.255.0.
172.60. 0. 0 255.255.255.0Now the third octet of all the addresses on this network are part of the network field instead of the host field. That is one octet, or eight bits, that can be manipulated to create subnets. 2^8=256 possible subnets now on this class B network.
One octet is left for the host field. 2^8-2=254 possible host addressed on each subnet.
3.4 Advanced SubnettingThat is the simplist way to subnet, but it may not be the most desirable. You might not want 256 subnets on your class B network. Instead, you might use a subnet mask like 255.255.224.0. How many subnets would this give you? The first step is to see how many bits are allocated to the network by this mask.
128 64 32 16 8 4 2 1 --- -- -- -- - - - - 1 1 1 0 0 0 0 0 128 + 64 + 32 + 0 + 0 + 0 + 0 + 0 = 2243 bits are allocated. 2^3=8 subnets.
How many hosts on each subnet? Well, 5 bits from this octet are left for the host field, and 8 bits in the fourth octet, for a total of 13 bits in the host field. 2^13-2=8190 possible hosts on each subnet.
The subnet mask is always extended by masking off the next bit in the address, from left to right. Thus, the last octet in the subnet mask will always be one of these: 128, 192, 224, 240, 248, 252, 254 or 255.
Given the IP address of a host and the subnet address for the network, you need to be able to calculate which subnet that host is on. To do this we compare the binary representation of the pertinent octet of the subnet mask witht he binary representation of the corresponding octet in the IP address. Example:
IP address=22.214.171.124 subnet mask=255.255.224.0 50= 00110010 224=11100000We perform a logical AND on these two numbers. We will be left with only the bits where there is a one in both octets.
00110010 11100000 -------- 00100000=32This host is on subnet 126.96.36.199.
We also need to be able to find the range of assignable IP addresses on this subnet. To do this, we take the binary that tells us the subnet address, in this case 00100000, and compare it with the subnet mask.
00100000 11100000The bits convered by the mask we will leave as they are. The rest of the bits we make high. So
00100000 11100000 -------- 0011111=63
The range of assignable IP addresses on the subnet 188.8.131.52 is 184.108.40.206-220.127.116.11.
On every network and subnet, two addresses are reserved. At the low end of the range of addresses for the network or subnet, in this case 18.104.22.168, is the address for the network or subnet itself. The address at the high end of the range of addresses, in this case 22.214.171.124, is the broadcast address. Any message sent to the broadcast address will be received by every host on the network.
IP address: 126.96.36.199 subnet mask: 255.255.240.0 Find: Number of subnets possible on this network: Number of hosts possible on each subnet: Which subnet this address is on: Range of addresses on that subnet:
This work is licensed under a Creative Commons Attribution 2.0 Generic License.