VLSM Subnet Design for 190.100.0.0/16: Allocating 64×256, 128×128, 128×64 Addresses

VLSM Subnet Design for 190.100.0.0/16: Allocating 64×256, 128×128, 128×64 Addresses

Verified Sources
Oct 13, 2026

We are given an IPv4 CIDR block 190.100.0.0/16190.100.0.0/16, which contains 232−16=65,5362^{32-16}=65{,}536 total addresses. CIDR uses the “slash notation” to indicate the network prefix length; the remaining bits determine the number of addresses in the block.2

We must use VLSM to carve the /16 space into subblocks that can satisfy each customer-group requirement, then determine how many addresses remain unallocated.

Key idea: a CIDR prefix /p/p corresponds to a block size of 232−p2^{32-p} addresses (total addresses, including network/broadcast in the raw count).

Footnotes

  1. RIPE NCC, “Understanding IP Addressing and CIDR Charts — RIPE Network Coordination Centre” (https://www.ripe.net/about-us/press-centre/understanding-ip-addressing) - Explains IPv4 CIDR slash notation and how prefix length relates to bits. ↩

  2. Wikipedia, “Classless Inter-Domain Routing (CIDR)” (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) - Describes CIDR syntax and prefix-length meaning. ↩

  3. ITU Online IT Training, “Calculating CIDR Ranges for Efficient IP Address Management” (https://www.ituonline.com/blogs/calculating-cidr-ranges-for-efficient-ip-address-management) - Provides 32−32-prefix host-bit relationship and example block sizing. ↩

VLSM example: 190.100.0.0/16 subnet design

Step 0: Convert each requirement to the smallest power-of-two block size (CIDR)

For a required number of addresses AA, we choose the smallest CIDR block size 2k2^{k} such that 2k≥A2^{k}\ge A. The resulting prefix length is p=32−kp=32-k.

We will also use subnet-mask sizing relationships as commonly shown in VLSM materials (e.g., /24→256 addresses, /25→128 addresses, /26→64 addresses).2

Address-to-prefix mapping

  • 256256 addresses ⇒256=28⇒p=32−8=24\Rightarrow 256 = 2^{8} \Rightarrow p=32-8=24 → /24/24
  • 128128 addresses ⇒128=27⇒p=32−7=25\Rightarrow 128 = 2^{7} \Rightarrow p=32-7=25 → /25/25
  • 6464 addresses ⇒64=26⇒p=32−6=26\Rightarrow 64 = 2^{6} \Rightarrow p=32-6=26 → /26/26

These are consistent with standard classless subnet sizing charts.

Footnotes

  1. ComputerNetworkingNotes.com, “VLSM Subnetting Examples and Calculation Explained” (https://www.computernetworkingnotes.com/ccna-study-guide/vlsm-subnetting-examples-and-calculation-explained.html) - Discusses network/broadcast impacting usable hosts vs block size. ↩

  2. Das Blinken Lichten / subnetting resources (https://www.dasblinkenlichten.com/subnetting-a-subnet-vlsm) - Shows subnet-mask sizing table including /24=256, /25=128, /26=64 relationships. ↩ ↩2

Step-by-step VLSM allocation plan (largest needs first)

  1. 1
    Step 1

    Group 1: 64×25664\times 256 addresses. Group 2: 128×128128\times 128 addresses. Group 3: 128×64128\times 64 addresses.

  2. 2
    Step 2

    256→/24/{24}, 128→/25/{25}, 64→/26/{26} (using 232−p2^{32-p} block sizing).

  3. 3
    Step 3

    Start from the lowest available address and carve out subnets of the required size for Group 1, then continue with Group 2, then Group 3. (This is the standard VLSM approach: allocate largest first to minimize waste.)

    Footnotes

    1. Comparitech, “Variable Length Subnet Mask (VLSM) Tutorial - Fully Explained” (https://www.comparitech.com/net-admin/variable-length-subnet-mask-vlsm-tutorial) - Outlines VLSM procedure including allocating from largest needs and selecting appropriate subnets sequentially. ↩

  4. 4
    Step 4

    Add the total addresses allocated to all groups.

  5. 5
    Step 5

    Remaining =65,536−=65{,}536-(sum of allocated addresses).

Calculations: total allocated addresses

Group (a): 64 customers, each needs 256 addresses

Each customer needs a 256256-address CIDR block: /24/{24} (block size 256256).

Total allocated: 64times256=16,38464 \\times 256 = 16{,}384

Group (b): 128 customers, each needs 128 addresses

Each customer needs a 128128-address CIDR block: /25/{25} (block size 128128).

Total allocated: 128times128=16,384128 \\times 128 = 16{,}384

Group (c): 128 customers, each needs 64 addresses

Each customer needs a 6464-address CIDR block: /26/{26} (block size 6464).

Total allocated: 128times64=8,192128 \\times 64 = 8{,}192

Grand total allocated

16,384+16,384+8,192=40,96016{,}384 + 16{,}384 + 8{,}192 = 40{,}960

Addresses remaining in 190.100.0.0/16

Total in /16: 65,53665{,}536 (since 232−16=65,5362^{32-16}=65{,}536)2

Remaining: 65,536−40,960=24,57665{,}536 - 40{,}960 = 24{,}576

Footnotes

  1. Das Blinken Lichten / subnetting resources (https://www.dasblinkenlichten.com/subnetting-a-subnet-vlsm) - Shows subnet-mask sizing table including /24=256, /25=128, /26=64 relationships. ↩ ↩2 ↩3

  2. RIPE NCC, “Understanding IP Addressing and CIDR Charts — RIPE Network Coordination Centre” (https://www.ripe.net/about-us/press-centre/understanding-ip-addressing) - Explains IPv4 CIDR slash notation and how prefix length relates to bits. ↩

  3. ITU Online IT Training, “Calculating CIDR Ranges for Efficient IP Address Management” (https://www.ituonline.com/blogs/calculating-cidr-ranges-for-efficient-ip-address-management) - Provides 32−32-prefix host-bit relationship and example block sizing. ↩

Subblock design (network ranges)

We allocate from the start of the given block, i.e., beginning at 190.100.0.0190.100.0.0 and using increasing subnet addresses. This follows the common sequential VLSM planning method.

We only need the boundaries for remaining-space computation, but we can still list the actual subnet boundaries per group at a high level:

Group 1 (/24 blocks): 64 subnets of /24

  • Number of /24 blocks: 6464
  • Each /24 is 256256 addresses, and consecutive /24 blocks increase by 256256 in the last octet.

So Group 1 consumes: 64times/24textblocks=64times256=16,384textaddresses64 \\times /{24} \\text{ blocks} = 64 \\times 256 = 16{,}384 \\text{ addresses}

In terms of the /16’s second+third octets, this corresponds to consuming:

  • 190.100.0.0/16190.100.0.0/16 space up through 190.100.63.0190.100.63.0 as /24 chunks (i.e., the first 64 blocks).

Group 2 (/25 blocks): 128 subnets of /25

Next available boundary after consuming 64×/24 aligns at 190.100.64.0190.100.64.0.

  • 128 blocks of /25 consumes: 128times128=16,384128 \\times 128 = 16{,}384 So Group 2 consumes up to 190.100.127.255190.100.127.255.

Group 3 (/26 blocks): 128 subnets of /26

Next available boundary: 190.100.128.0190.100.128.0.

  • 128 blocks of /26 consumes: 128times64=8,192128 \\times 64 = 8{,}192 So Group 3 consumes up to 190.100.159.255190.100.159.255.

Remaining address space

The overall /16 is 190.100.0.0190.100.0.0 through 190.100.255.255190.100.255.255. If the first 160160 of the 256256 possible “/24 chunks” worth of space are consumed (0–159), remaining is “/16 from 160 to 255”, which has:

  • (256−160)=96(256-160)=96 “/24 chunk equivalents”
  • 96times256=24,57696 \\times 256 = 24{,}576 addresses

This matches the arithmetic remainder above.

Footnotes

  1. Comparitech, “Variable Length Subnet Mask (VLSM) Tutorial - Fully Explained” (https://www.comparitech.com/net-admin/variable-length-subnet-mask-vlsm-tutorial) - Outlines VLSM procedure including allocating from largest needs and selecting appropriate subnets sequentially. ↩

Allocated vs. Remaining Addresses (VLSM within 190.100.0.0/16)

Total addresses per group based on chosen CIDR block sizes.

Pro Tip: Choose the smallest CIDR that meets (not exceeds) the requirement

For VLSM, each customer-group’s requirement must map to a block size 232−p2^{32-p} via p=32−log⁡2(block size)p=32-\log_2(\text{block size}). Using the smallest power-of-two block reduces waste.

Footnotes

  1. Das Blinken Lichten / subnetting resources (https://www.dasblinkenlichten.com/subnetting-a-subnet-vlsm) - Shows subnet-mask sizing table including /24=256, /25=128, /26=64 relationships. ↩

Be careful: “usable hosts” vs “total addresses”

Some textbooks talk about usable hosts as block−2\text{block}-2 (network + broadcast). Here, the question states “needs 256 addresses”, so we match CIDR block size in total addresses. If it instead asked for usable hosts, the answer could differ.

Footnotes

  1. ComputerNetworkingNotes.com, “VLSM Subnetting Examples and Calculation Explained” (https://www.computernetworkingnotes.com/ccna-study-guide/vlsm-subnetting-examples-and-calculation-explained.html) - Discusses network/broadcast impacting usable hosts vs block size. ↩

VLSM Allocation Roadmap

Map needs to block sizes

1) Interpret requirements

Translate 256/128/64 address needs into /24, /25, /26."

Carve largest first

2) Allocate in descending order

Allocate /24 subnets first, then /25, then /26 to prevent fragmentation/waste."

Sum allocated space

3) Track consumption

Compute total allocated addresses across groups and compare to /16 total."

Compute remainder

4) Finalize

Remaining = 65,536 − allocated."

Common Questions

VLSM Key Terms & Checks

1 / 4
Question · Term

VLSM

Click to reveal
Answer · Definition

Variable Length Subnet Masking: allocate different-size CIDR blocks within a larger network.

Knowledge Check

Question 1 of 4
Q1Single choice

190.100.0.0/16 contains how many total IPv4 addresses?