Showing posts with label IP. Show all posts
Showing posts with label IP. Show all posts

Subnet Mask Tutorial


The subnet mask plays an important role in computer networking. It's used to determine the subnetwork an IP address belongs to. It achieves this by masking the part of the IP address that will be used to create the subnetworks and not masking the portion of the IP address that will be used for host addresses.

Networks based on TCP/IP use subnet masking to split an IP address into two parts; the first part is used to divide the network into logical subnetworks, the second part is used to assign computers, otherwise known as hosts, to subnetworks. The subnet mask and IP address are interdependant; you look at the IP address in relation to the subnet mask to determine how many subnetworks and how many hosts per subnetwork there will be. We will focus solely on class C addresses as these are the most likely class readers of this article will encounter.

The subnet mask looks a lot like an IP address. It's a 32 bit address that's divided into 4 octets; each octet contains 8 bits.

A typical subnet mask looks like this: 255.255.255.192

The 255.255.255.192 address looks like this in binary: 11111111.11111111.11111111.11000000

Consider the portion of the address that contains the string of 1's as the masked portion. Consider the portion of the address that contains the string of 0's as the unmasked portion. Understand that with class C addresses, the only octet we're interested in, in terms of creating subnetworks, is the last one; for the 255.255.255.192 (11111111.11111111.11111111.11000000) address, we are interested in the masking and not masking of the 11000000 octet. Here we can see that 2 bits have been masked to create subnetworks and the remaining 6 bits are unmasked and therefore used for host addresses on the aforementioned subnetworks. I will show you how to work out how many subnetworks and hosts per subnetworks this creates, but first I'll give you more of an insight into converting dotted decimal addresses (255.255.255.192) into binary notation (11111111.11111111.11111111.11000000).

How do we get 11111111.11111111.11111111.11000000 from 255.255.255.192? It's actually quite easy.

Here's a table that shows you the decimal value of each bit in an octet:

128 | 64 | 32 | 16 | 8 | 4 | 2 | 1

We can tell by using this table as a reference that:

The 1st bit in an octet is worth 128
The 2nd bit in an octet is worth 64
The 3rd bit in an octet is worth 32
The 4th bit in an octet is worth 16
The 5th bit in an octet is worth 8
The 6th bit in an octet is worth 4
The 7th bit in an octet is worth 2
The 8th bit in an octet is worth 1

By adding the value of the bits represented by a 1 together, we can tell what the decimal value will be. Let's use the first octet as an example. The first octet is represented by all 1's which is 11111111, if we add the 1st to 8th bits, we get a value of 255 (128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255).

Looking at the subnet mask, we have a lot of 1's followed by some 0's (11111111.11111111.11111111.11000000). Consider the string of 1's in the last octet as the portion used by the network for creating subnetworks and the string of 0's in the last octet as the portion used by the hosts for each subnetwork. Remember, the only octet we're interested in is the last one. Think of it this way, we are borrowing a few bits from the last octet in order to create the subnets. The more bits needed to create subnetworks, the fewer the bits remaining to create host addresses within each subnetwork.

It may help you to think of it like this; the more hosts needed in each subnetwork, the fewer subnetworks you're able to create. The more subnetworks created, the fewer the hosts able to reside on each subnetwork. We will go through a few examples, but first I need to explain a little more about class C subnet masks.

The subnet mask for Class C addresses, when not subnetted, looks like this: 255.255.255.0 which in binary is: 11111111.11111111.11111111.00000000

This allows for one network without any subnetworks because we have'nt borrowed any bits from the last octet to create subnetworks, and on that one network you can have 254 hosts; so if you had a 255.255.255.0 subnet mask and used a IP address 192.168.1.x where x denotes the range of available host addresses, the range would be from 192.168.1.1 to 192.168.1.254. You may be asking, where did the 192.168.1.0 and 192.168.1.255 addresses go? The 192.168.1.0 address is reserved for the network and the 192.168.1.255 address is reserved as a broadcast address. Please note that 2 addresses are always reserved for each subnetwork created, the address at the start of the range is reserved for the network, the address at the end of the range is reserved as a broadcast address. This means if you divide a network into 8 subnetworks, 16 addresses will be reserved; 2 for each subnetwork. Remember this when making provisions for network addresses.

Let's go through a few examples so you can see how borrowing bits from the last octet will effect the number of subnetworks and the number of hosts per subnetwork.

We know the subnet mask 255.255.255.192 looks like this in binary: 11111111.11111111.11111111.11000000

Based on the binary notation of the 255.255.255.192 address, it's clear to see that 2 bits have been borrowed from the last octet to create subnetworks, which leaves 6 bits to be used to create host addresses. Working out how many subnetworks and hosts per subnetwork is rather easy; simply take the number of bits used and multiply 2 to the power of the number of bits and then minus by 2. In this example where 2 bits have been used for subnets, take 2 to the power of 2, which equals 4, then minus 2, which leaves 2; so there are 2 usable subnets. There are 6 bits for hosts, so we take 2 to the power of 6, which equals 64, then minus 2, which leaves 62 usable host addresses. This tells us that there are 2 usable subnets and 62 usable addresses per subnet. Remember, each range of addresses within a subnetwork has 2 addresses reserved for the network base address and the broadcast address. Each subnet has 2 addresses reserved for the subnet group address (all zeros) and the subnet broadcast address (all ones).

Based on an IP address of 192.168.1.x and a subnet mask of 255.255.255.192, these are the addresses related to the usable subnets

192.168.1.64 (Reserved for Network Address)
192.168.1.65 to 192.168.1.126 (Range of usable addresses)
192.168.1.127 (Reserved for Broadcast Address)

192.168.1.128 (Reserved for Network Address)
192.168.1.129 to 192.168.1.190 (Range of usable addresses)
192.168.1.191 (Reserved for Broadcast Address)
Let's go through another example.

We know the subnet mask 255.255.255.240 looks like this in binary: 11111111.11111111.11111111.11110000

We can see that 4 bits have been borrowed to create subnetworks, leaving 4 bits for host addresses. 2 to the power of 4 equals 16, minus 2 leaves 14 usable subnetworks each with 14 usable host addresses. Here's a list of all usable subnets and the range of addresses those subnets use:

192.168.1.16 (Reserved for Network Address)
192.168.1.17 to 192.168.1.30 (Range of usable addresses)
192.168.1.31 (Reserved for Broadcast Address)

192.168.1.32 (Reserved for Network Address)
192.168.1.33 to 192.168.1.46 (Range of usable addresses)
192.168.1.47 (Reserved for Broadcast Address)

192.168.1.48 (Reserved for Network Address)
192.168.1.49 to 192.168.1.62 (Range of usable addresses)
192.168.1.63 (Reserved for Broadcast Address)

192.168.1.64 (Reserved for Network Address)
192.168.1.65 to 192.168.1.78 (Range of usable addresses)
192.168.1.79 (Reserved for Broadcast Address)

192.168.1.80 (Reserved for Network Address)
192.168.1.81 to 192.168.1.94 (Range of usable addresses)
192.168.1.95 (Reserved for Broadcast Address)

192.168.1.96 (Reserved for Network Address)
192.168.1.97 to 192.168.1.110 (Range of usable addresses)
192.168.1.111 (Reserved for Broadcast Address)

192.168.1.112 (Reserved for Network Address)
192.168.1.113 to 192.168.1.126 (Range of usable addresses)
192.168.1.127 (Reserved for Broadcast Address)

192.168.1.128 (Reserved for Network Address)
192.168.1.129 to 192.168.1.142 (Range of usable addresses)
192.168.1.143 (Reserved for Broadcast Address)

192.168.1.144 (Reserved for Network Address)
192.168.1.145 to 192.168.1.158 (Range of usable addresses)
192.168.1.159 (Reserved for Broadcast Address)

192.168.1.160 (Reserved for Network Address)
192.168.1.161 to 192.168.1.174 (Range of usable addresses)
192.168.1.175 (Reserved for Broadcast Address)

192.168.1.176 (Reserved for Network Address)
192.168.1.177 to 192.168.1.190 (Range of usable addresses)
192.168.1.191 (Reserved for Broadcast Address)

192.168.1.192 (Reserved for Network Address)
192.168.1.193 to 192.168.1.206 (Range of usable addresses)
192.168.1.207 (Reserved for Broadcast Address)

192.168.1.208 (Reserved for Network Address)
192.168.1.209 to 192.168.1.222 (Range of usable addresses)
192.168.1.223 (Reserved for Broadcast Address)

192.168.1.224 (Reserved for Network Address)
192.168.1.225 to 192.168.1.238 (Range of usable addresses)
192.168.1.239 (Reserved for Broadcast Address)

You now have enough of an understanding about subnet masks to be able to provision IP addresses based on varying subnetting situations. Please read my VLSM Tutorial to learn how to use the more advanced concept of variable length subnet masks.
You have read this article IP / IP Address / IP address v4 / Network / Subnet Mask / VLSM with the title IP. You can bookmark this page URL https://carasdeparvo.blogspot.com/2011/11/subnet-mask-tutorial.html. Thanks!

Ipv4 Addressing Tutorial


IPv4 addresses are 32 bit binary numbers that allow devices to communicate with each other using the TCP/IP suite of protocols. A typical scenario of two IP devices communicating with each other would be your computer talking to a web server on the internet in order to display a webpage contained on the web server. An IP address is made up of 4 octets, each octet contains 8 bits, thus totalling 32 bits. This article relates to class C IP addresses only, which are the bread and butter of computer networking.

This is what an IP address looks like: 192.168.1.126

The Binary numeral system uses 0 and 1, so each bit in the address is represented as either 0 or 1.

The 192.168.1.126 address written in binary looks like: 11000000.10101000.00000001.01111110

How do we get 11000000.10101000.00000001.01111110 from 192.168.1.126? It's actually quite easy.

Here's a table that shows you the decimal value of each bit in an octet:

128 | 64 | 32 | 16 | 8 | 4 | 2 | 1

We can tell by using this table as a reference that:

The 1st bit in an octet is worth 128
The 2nd bit in an octet is worth 64
The 3rd bit in an octet is worth 32
The 4th bit in an octet is worth 16
The 5th bit in an octet is worth 8
The 6th bit in an octet is worth 4
The 7th bit in an octet is worth 2
The 8th bit in an octet is worth 1

Let's use the first octet in the 192.168.1.126 address as an example (the decimal value of the first octet is 192), we will convert it from decimal to binary. In order to do this, we look at the table and find out which bits when added together will add up to exactly 192.

By doing some simple maths, we know that 128 + 64 = 192, so we know that the bits relating to 128 and 64 should be represented with a 1 and the remaining bits should be represented with a 0. This gives us the following binary number: 11000000

Let's do another example, but this time using the second octet of the 192.168.1.126 address. We know we have to get 168 by adding up a certain combination of bits. If we add 128 and 32 and 8 together, we get 168, which means that the bits corresponding to 128 and 32 and 8 will be represented by a 1 and the remaining bits will be represented by a 0. This gives us the following binary number: 10101000

One last example using the thrid octet of the 192.168.1.126 address. We have to get 1, we know that the 8th bit has a value of 1, so all the bits other than the 8th bit will have a value of 0. This gives us the following binary number: 00000001

You should now understand the relationship between 192.168.1.126 and 11000000.10101000.00000001.01111110

You now have the foundation needed to understand more advance IP addressing concepts. Please read my Subnet Mask Tutorial in order to understand how to subnet an IP address.
You have read this article IP / IP Address / IP address v4 / IP v4 / Network with the title IP. You can bookmark this page URL https://carasdeparvo.blogspot.com/2011/11/ipv4-addressing-tutorial.html. Thanks!