Difficulty: Medium
Correct Answer: 30
Explanation:
Introduction / Context:
Before CIDR and modern practices, classful subnetting calculated the number of subnets based on bits borrowed from the host portion and often applied the “no all-zeros, no all-ones” rule to subnet IDs. This question uses that legacy approach.
Given Data / Assumptions:
Concept / Approach:
Borrowed bits = 5 (since 248 = 11111000 in the third octet). Under the traditional rule, number of subnets = 2^(borrowed bits) − 2 = 2^5 − 2 = 30. (Modern networks typically allow using all subnets, giving 32, but classical exam questions often expect the legacy 30.)
Step-by-Step Solution:
Determine borrowed bits: from /16 to /21 → 5 bits.Compute classic count: 2^5 − 2 = 30 subnets.Note: Hosts per /21 subnet = 2^(32 − 21) − 2 = 2046 usable (not asked, but useful context).
Verification / Alternative check:
Binary increment of the third octet in steps of 8 (since 248 leaves 3 host bits) shows distinct subnet IDs: .0, .8, .16, …, up to .248, which corresponds to 32 possible patterns; subtracting the two special patterns yields 30 subnets.
Why Other Options Are Wrong:
2 or 6: Far too small; borrowing 5 bits yields many more subnets.
Common Pitfalls:
Mixing modern “use all subnets” practice (32) with the legacy subtract-2 convention (30), and confusing host-bit math with subnet-bit math.
Final Answer:
30
Discussion & Comments