IPv4 Subnetting and VLSM for ISP Allocations within 80.70.56.0/21
We are given an ISP block **keyword allocated to the ISP: 80.70.56.0/21. The ISP must allocate subnets to:
- two organizations each needing 500 addresses,
- two organizations each needing 250 addresses,
- three organizations each needing 50 addresses.
We will use keywordVLSM VLSM. The general rule for picking a prefix length for required usable host addresses in IPv4 is:
- Total addresses in a subnet:
- Usable hosts in a subnet: (excluding network and broadcast)
Then we compute the range (network IP to broadcast IP) and the unallocated remainder inside the original /21.
A small visual of the subnet math:
Two key terms:
- keywordNetwork address
- keywordBroadcast address
Note: The computations below use standard IPv4 host usability ( for usable). If a problem’s convention differs (e.g., counting total addresses including network/broadcast), the chosen prefix lengths may change.
CIDR Subnetting (VLSM) Walkthrough
Part (i): Number and range of addresses in the ISP block (80.70.56.0/21)
1) Total number of addresses A /21 means host bits, so total addresses in the block are:
So the ISP block contains 2048 total IP addresses.
2) Usable host addresses Usable IPv4 hosts are:
So usable hosts in 80.70.56.0/21 are 2046.
3) Determine the block range A /21 subnet has a block size in the last octet of:
Let’s do it cleanly by subnetting boundaries:
- Prefix /21 splits across the second and third octets: /21 means:
- First 16 bits fixed (first two octets),
- Next 5 bits (third octet) define subnet increments.
- In the third octet, subnet increment size is . So the third-octet values covered by 80.70.56.0/21 run from:
- Start third octet = 56
- End third octet = 56 + 7 = 63
Thus:
- Network address: 80.70.56.0
- Broadcast address: 80.70.63.255
- Range: 80.70.56.0 – 80.70.63.255
Largest-first VLSM selection
When carving a larger block with multiple host requirements, allocate the largest subnets first (500, then 250, then 50). This minimizes fragmentation and simplifies finding remaining space.
Host requirement to prefix mapping (pre-work)
We need prefix sizes that can accommodate the usable hosts.
For 500-address organizations
Find smallest such that: Try usable ⇒ works. total implies host bits = 9 ⇒ ⇒ .
So each 500-address org gets: /23
- Subnet size total:
- Usable hosts:
For 250-address organizations
Need: Try usable ⇒ works. Host bits = 8 ⇒ ⇒ .
So each 250-address org gets: /24
- Total:
- Usable:
For 50-address organizations
Need: Try usable ⇒ works. Host bits = 6 ⇒ ⇒ .
So each 50-address org gets: /26
- Total:
- Usable:
Part (ii): Allocate subnets inside 80.70.56.0/21 (VLSM) and compute unallocated ranges
- 1Step 1
Begin allocating from the network address 80.70.56.0 upward (common ISP practice for deterministic results).
- 2Step 2
Each /23 consumes 512 addresses and spans two /24 blocks (third-octet increment of 2).
- 3Step 3
Each /24 consumes 256 addresses (third-octet increment of 1 in this range).
- 4Step 4
Each /26 consumes 64 addresses (four /26 blocks fit within a /24).
- 5Step 5
After carving all required subnets, list the leftover IP ranges from the next free address up to the /21 broadcast (80.70.63.255).
Actual allocations (ranges)
We will allocate in this order: two /23, then two /24, then three /26, all within 80.70.56.0/21 (80.70.56.0 to 80.70.63.255).
A) Two organizations with 500 addresses each ⇒ two /23 subnets
A /23 starting at 80.70.56.0 covers:
- third octet: 56 to 57
- fourth octet: 0 to 255
So Org500-1:
- Range: 80.70.56.0 – 80.70.57.255
- Network/Broadcast: 80.70.56.0 / 80.70.57.255
Next available /23 begins at 80.70.58.0.
Org500-2:
- Range: 80.70.58.0 – 80.70.59.255
- Network/Broadcast: 80.70.58.0 / 80.70.59.255
After these, the next free address is 80.70.60.0.
B) Two organizations with 250 addresses each ⇒ two /24 subnets
Each /24 starting at 80.70.60.0:
Org250-1:
- Range: 80.70.60.0 – 80.70.60.255
- Network/Broadcast: 80.70.60.0 / 80.70.60.255
Next /24: 80.70.61.0
Org250-2:
- Range: 80.70.61.0 – 80.70.61.255
- Network/Broadcast: 80.70.61.0 / 80.70.61.255
Next free address becomes 80.70.62.0.
C) Three organizations with 50 addresses each ⇒ three /26 subnets
Within 80.70.62.0/24, a /26 splits as:
- /26 block size = 64 addresses
- fourth-octet ranges per /26: .0-.63, .64-.127, .128-.191, .192-.255
Org50-1:
- Range: 80.70.62.0 – 80.70.62.63
Org50-2:
- Range: 80.70.62.64 – 80.70.62.127
Org50-3:
- Range: 80.70.62.128 – 80.70.62.191
After three /26 blocks, the next free block is:
- 80.70.62.192 – 80.70.62.255 (still available inside the /24) and then everything in 80.70.63.0/24 (also still available).
Allocated subnet sizes vs. required host counts (IPv4 usable hosts)
Using the smallest prefix that satisfies usable-host requirements.
Range of unallocated addresses
The original /21 range is:
- 80.70.56.0 – 80.70.63.255
Allocated up to:
- Highest allocated address = 80.70.62.191
So unallocated begins at 80.70.62.192 and continues to 80.70.63.255.
Therefore the unallocated range is:
- 80.70.62.192 – 80.70.63.255
If you want it split into convenient CIDR-aligned leftover blocks, the leftover space is:
- From 80.70.62.192 – 80.70.62.255 (that is one /26)
- Plus the entire 80.70.63.0 – 80.70.63.255 (one /24)
So leftover can be expressed as:
- 80.70.62.192/26
- 80.70.63.0/24
Common pitfalls and checks
Knowledge Check
The ISP block 80.70.56.0/21 contains how many total IPv4 addresses?