Topics: Computer Network - IP Address


180.55.0.0 will be used for exemplification.

Borrowing less than one octet

When we borrow less than one octet, the process is mostly the same to Class C Subnetting.

Let’s say we borrow 4 bits from the host portion, such that we build 180.55.0.0/20:

That gives us and , so:

The change factor is . With that, we can build the network table:

SubnetworkSubnetwork IPFirst HostLast HostBroadcast
0180.55.0.0180.55.0.1180.55.15.254180.55.15.255
1180.55.16.0180.55.16.1180.55.31.254180.55.31.255
2180.55.32.0180.55.32.1180.55.47.254180.55.47.255
3180.55.48.0180.55.48.1180.55.63.254180.55.63.255
4180.55.64.0180.55.64.1180.55.79.254180.55.79.255
5180.55.80.0180.55.80.1180.55.95.254180.55.95.255
6180.55.96.0180.55.96.1180.55.111.254180.55.111.255
7180.55.112.0180.55.112.1180.55.127.254180.55.127.255
8180.55.128.0180.55.128.1180.55.143.254180.55.143.255
9180.55.144.0180.55.144.1180.55.159.254180.55.159.255
10180.55.160.0180.55.160.1180.55.175.254180.55.175.255
11180.55.176.0180.55.176.1180.55.191.254180.55.191.255
12180.55.192.0180.55.192.1180.55.207.254180.55.207.255
13180.55.208.0180.55.208.1180.55.223.254180.55.223.255
14180.55.224.0180.55.224.1180.55.239.254180.55.239.255
15180.55.240.0180.55.240.1180.55.255.254180.55.255.255

Finally, the subnet mask for this subnet is 255.255.240.0.

Borrowing one octet

The process for borrowing one octet is easy and straightforward.

Since we borrow one octet, we will build 180.55.0.0/24:

That gives us and , so:

  • subnetworks
  • hosts

That gives us a change factor of . We have too many subnetworks to feasibly build a complete table, but we can determine the addresses for a given subnetwork easily enough:

SubnetworkSubnetwork IPFirst HostLast HostBroadcast
10180.55.10.0180.55.10.1180.55.10.254180.55.10.255
82180.55.82.0180.55.82.1180.55.82.254180.55.82.255
101180.55.101.0180.55.101.1180.55.101.254180.55.01
128180.55.128.0180.55.128.1180.55.128.254180.55.128.255
200180.55.200.0180.55.200.1180.55.200.254180.55.200.255

The corresponding subnet mask is 255.255.255.0.

Borrowing more than one octet

When we borrow more than one octet, the process is a bit more complicated.

Let’s say we borrow 11 bits, such that we build 180.55.0.0/27:

That gives us and , so:

  • subnetworks
  • hosts

We have no change factor this time around. Instead, we will follow an algorithm to determine the address.

Notice how, below the table (in red), we have the values corresponding to each bit relative to the octet they’re in, while above the table (in orange) we have the values corresponding to each bit relative to the total amount of bits we’re borrowing.

To get the address for a given subnetwork, we take the values from below such that they sum . Then, for each octet, we take the corresponding bit values and add them. The result will be the value that will go to the IP address for that specific octet.

For example, for the 10th subnetwork, we take the values . The corresponding bit values relative to the octets are (for the second octet) and (for the first octet). Thus, we get the address 180.55.1.64.

We have way too many subnetworks to feasibly build a complete table, but we can determine the addresses for a few subnetworks:

SubnetSubnet IPFirst HostLast HostBroadcast
10180.55.1.64180.55.1.65180.55.1.94180.55.1.95
11180.55.1.96180.55.1.97180.55.1.116180.55.117
20180.55.2.128180.55.2.129180.55.2.158180.55.2.159
21180.55.2.160180.55.2.161180.55.2.180180.55.2.181
128180.55.16.0180.55.16.1180.55.16.30180.55.16.31
260180.55.32.128180.55.32.129180.59.32.158180.59.32.159
1000180.55.125.0180.55.125.1180.55.125.30180.55.125.31
2046180.55.255.224180.55.255.225180.55.255.254180.55.255.255

The corresponding subnet mask is 255.255.255.224.