Bird
Raised Fist0
Computer Networksknowledge~5 mins

Subnetting and subnet masks in Computer Networks - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Subnetting and subnet masks
O(log n)
Understanding Time Complexity

When working with subnetting and subnet masks, it is helpful to understand how the time needed to calculate or apply subnet masks changes as the network size grows.

We want to know how the effort to divide a network into smaller parts grows when the number of IP addresses or subnets increases.

Scenario Under Consideration

Analyze the time complexity of the following subnet mask calculation process.


function calculateSubnetMask(totalHosts) {
  let bits = 0;
  while ((2 ** bits - 2) < totalHosts) {
    bits++;
  }
  return 32 - bits;
}
    

This code finds the smallest subnet mask that can hold the required number of hosts by increasing bits until enough addresses are available.

Identify Repeating Operations

Look at what repeats as input grows.

  • Primary operation: The while loop that increases bits to find enough addresses.
  • How many times: The loop runs until 2^bits - 2 is at least the number of hosts.
How Execution Grows With Input

The number of loop steps grows slowly as the number of hosts increases because each step doubles the address space.

Input Size (Hosts)Approx. Loop Iterations
105
1008
100011

Pattern observation: The loop count increases slowly, roughly adding one step each time the host count doubles many times.

Final Time Complexity

Time Complexity: O(log n)

This means the time to find the subnet mask grows slowly as the number of hosts increases, roughly proportional to the logarithm of the input size.

Common Mistake

[X] Wrong: "The time to calculate subnet masks grows directly with the number of hosts."

[OK] Correct: Because the calculation uses powers of two, the loop only runs a few times even for large host numbers, so it grows much slower than the host count.

Interview Connect

Understanding how subnet mask calculations scale helps you think clearly about network design and efficiency, a useful skill in many technical roles.

Self-Check

What if we changed the calculation to check every possible subnet mask from 32 down to 0 instead of increasing bits? How would the time complexity change?

Practice

(1/5)
1. What is the main purpose of subnetting in computer networks?
easy
A. To connect different types of devices without IP addresses
B. To increase the total number of IP addresses available globally
C. To encrypt data sent over the network
D. To divide a large network into smaller, manageable parts

Solution

  1. Step 1: Understand subnetting concept

    Subnetting is used to split a large network into smaller subnetworks for easier management.
  2. Step 2: Compare options

    Only To divide a large network into smaller, manageable parts correctly describes subnetting's purpose; others describe unrelated functions.
  3. Final Answer:

    To divide a large network into smaller, manageable parts -> Option D
  4. Quick Check:

    Subnetting = dividing networks [OK]
Hint: Subnetting means splitting networks into smaller parts [OK]
Common Mistakes:
  • Confusing subnetting with encryption
  • Thinking subnetting increases global IP addresses
  • Believing subnetting connects devices without IPs
2. Which of the following is a valid subnet mask?
easy
A. 255.255.255.0
B. 0.255.255.255
C. 255.0.255.0
D. 255.255.0.255

Solution

  1. Step 1: Recall valid subnet mask format

    A subnet mask must have continuous 1s followed by continuous 0s in binary, like 255.255.255.0.
  2. Step 2: Check each option

    Only 255.255.255.0 fits this rule; others have mixed or invalid patterns.
  3. Final Answer:

    255.255.255.0 -> Option A
  4. Quick Check:

    Valid subnet mask = continuous 1s then 0s [OK]
Hint: Subnet masks have continuous 255s then 0s [OK]
Common Mistakes:
  • Choosing masks with mixed 255 and 0 in wrong order
  • Not knowing binary pattern rules for subnet masks
  • Confusing IP addresses with subnet masks
3. Given the IP address 192.168.1.10 and subnet mask 255.255.255.0, what is the network address?
medium
A. 192.168.1.0
B. 192.168.0.0
C. 192.168.1.255
D. 192.168.0.255

Solution

  1. Step 1: Understand network address calculation

    The network address is found by performing a bitwise AND between the IP address and subnet mask.
  2. Step 2: Calculate network address

    IP: 192.168.1.10 AND Mask: 255.255.255.0 gives 192.168.1.0 as the network address.
  3. Final Answer:

    192.168.1.0 -> Option A
  4. Quick Check:

    Network address = IP AND subnet mask [OK]
Hint: AND IP with mask to get network address [OK]
Common Mistakes:
  • Confusing broadcast address with network address
  • Using wrong subnet mask for calculation
  • Not applying bitwise AND operation
4. Identify the error in this subnet mask: 255.255.224.255
medium
A. Subnet mask must always end with 0 in the last octet
B. Subnet mask cannot have 224 in any octet
C. Subnet mask must have continuous 1s followed by 0s; this mask breaks that rule
D. Subnet mask cannot have more than two 255 octets

Solution

  1. Step 1: Check binary pattern of subnet mask

    Subnet masks must have all 1s on the left side and all 0s on the right side without interruption.
  2. Step 2: Analyze given mask

    255.255.224.255 breaks this rule because the last octet is 255 (all 1s) after 224 (which is partial 1s), causing non-continuous 1s.
  3. Final Answer:

    Subnet mask must have continuous 1s followed by 0s; this mask breaks that rule -> Option C
  4. Quick Check:

    Subnet mask = continuous 1s then 0s [OK]
Hint: Subnet mask 1s must be continuous, no breaks [OK]
Common Mistakes:
  • Thinking 224 is invalid in subnet masks
  • Believing last octet must always be 0
  • Ignoring binary continuity rule
5. You have a network 10.0.0.0/24 and need at least 6 subnets. Which subnet mask should you use to create enough subnets?
hard
A. 255.255.255.192
B. 255.255.255.224
C. 255.255.255.0
D. 255.255.255.128

Solution

  1. Step 1: Calculate required subnet bits

    To create at least 6 subnets, find minimum bits n where 2^n ≥ 6. Here, n=3 (2^3=8 subnets).
  2. Step 2: Determine new subnet mask

    Original mask /24 means 24 bits for network. Adding 3 bits for subnetting gives /27 mask.
  3. Step 3: Convert /27 to subnet mask

    /27 corresponds to 255.255.255.224.
  4. Final Answer:

    255.255.255.224 -> Option B
  5. Quick Check:

    3 subnet bits = /27 = 255.255.255.224 [OK]
Hint: Use 2^n ≥ needed subnets to find mask [OK]
Common Mistakes:
  • Choosing mask with too few subnet bits
  • Confusing host bits with subnet bits
  • Not converting CIDR to decimal mask correctly
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard