๐Ÿ“กSystems Approach to Computer Networks

Key Concepts of IP Addressing Schemes

Study smarter with Fiveable

Get study guides, practice questions, and cheatsheets for all your subjects. Join 500,000+ students with a 96% pass rate.

Get Started

Why This Matters

IP addressing is the foundation of how devices find and communicate with each other across networks. You're being tested on more than just memorizing address formats; exam questions probe your understanding of why different addressing schemes exist, how they solve specific problems like address exhaustion and routing efficiency, and when to apply techniques like subnetting or NAT in real-world scenarios.

The concepts here connect directly to broader networking principles: hierarchical design, scalability, security through isolation, and efficient resource allocation. When you encounter an address like 192.168.1.0/24, you should immediately recognize the addressing scheme, understand why it uses private address space, and know how CIDR notation improves on classful methods. Don't just memorize the numbers; know what problem each addressing concept solves and how they work together as a system.


Address Space Fundamentals

The most basic distinction in IP addressing is how many bits define the address space. This determines the total number of unique addresses available and shapes the entire addressing architecture.

IPv4 Addressing

  • 32-bit address space provides 2322^{32} (roughly 4.3 billion) unique addresses, now largely exhausted
  • Dotted-decimal notation represents four octets separated by periods (e.g., 192.168.1.1), with each octet ranging from 0 to 255
  • Address exhaustion drove the development of conservation techniques like NAT, CIDR, and private addressing, and ultimately motivated the design of IPv6

IPv6 Addressing

  • 128-bit address space provides 21282^{128} addresses (approximately 3.4ร—10383.4 \times 10^{38}), which is effectively unlimited for any practical purpose
  • Hexadecimal notation uses eight groups of four hex digits separated by colons (e.g., 2001:0db8:85a3:0000:0000:8a2e:0370:7334). Leading zeros within a group can be omitted, and one consecutive run of all-zero groups can be replaced with :: (e.g., 2001:db8:85a3::8a2e:370:7334)
  • Built-in improvements include stateless address auto-configuration (SLAAC), a simplified header format for faster routing, and native support for features that IPv4 required bolt-on solutions to achieve (like IPsec and larger address hierarchy)

Compare: IPv4 vs. IPv6: both provide unique device identification, but IPv6's 128-bit space eliminates exhaustion concerns while incorporating features that had to be retrofitted onto IPv4. If asked about long-term network planning, IPv6 transition is your key talking point.


Address Classification and Allocation

Before modern techniques, IP addresses were allocated in fixed-size blocks based on class. This rigid system wasted enormous amounts of address space. Understanding this history explains why classless methods emerged.

Classful Addressing (Class A, B, C, D, E)

Classful addressing uses the high-order bits of the first octet to determine the network size. The problem is that the jumps between classes are huge, so organizations often got far more addresses than they needed (or far fewer).

  • Class A (leading bit 0, first octet 1-126): 8-bit network prefix, leaving 24 host bits for ~16.7 million hosts per network. Only 126 such networks exist, originally assigned to massive organizations.
  • Class B (leading bits 10, first octet 128-191): 16-bit network prefix, supporting ~65,534 hosts per network. Intended for medium-to-large enterprises.
  • Class C (leading bits 110, first octet 192-223): 24-bit network prefix, supporting only 254 usable hosts. Fine for small sites, but too small for many organizations that then needed multiple Class C blocks.
  • Class D (224-239): reserved for multicast group addresses, not assigned to individual hosts.
  • Class E (240-255): reserved for experimental use.

Classless Inter-Domain Routing (CIDR)

CIDR replaced classful allocation by letting the network/host boundary fall at any bit position, not just on octet boundaries.

  • Variable-length prefixes: notation like 192.168.1.0/24 specifies exactly how many bits define the network portion. Here, 24 bits are the network prefix, leaving 32โˆ’24=832 - 24 = 8 host bits, for 28=2562^{8} = 256 total addresses.
  • Eliminates class boundaries: you can allocate precisely sized blocks. A /22 gives 210=1,0242^{10} = 1{,}024 addresses instead of forcing a full Class B of 65,534.
  • Enables route aggregation (also called supernetting): multiple contiguous networks can be advertised as a single summarized route, which shrinks routing tables and speeds up lookups.

Compare: Classful vs. CIDR: classful addressing forced organizations into fixed block sizes (often far too large or too small), while CIDR enables right-sized allocation. Exam questions often test your ability to calculate usable addresses from CIDR notation: a /24 gives 28โˆ’2=2542^{8} - 2 = 254 usable host addresses (subtracting the network address and the broadcast address).


Network Subdivision and Management

Once you have an address block, subnetting lets you divide it into smaller logical segments, improving security, performance, and administrative control.

Subnetting

Subnetting works by borrowing bits from the host portion of an address and reassigning them to the network portion. Here's how to think through it:

  1. Start with your allocated block (e.g., a /24 network with 8 host bits).
  2. Decide how many subnets you need. Borrowing nn bits from the host portion creates 2n2^{n} subnets.
  3. Calculate hosts per subnet: the remaining host bits give you 2(remainingย hostย bits)โˆ’22^{(\text{remaining host bits})} - 2 usable addresses (subtract the subnet's network address and broadcast address).

For example, subnetting a /24 into /26 borrows 2 bits: you get 22=42^{2} = 4 subnets, each with 26โˆ’2=622^{6} - 2 = 62 usable hosts.

  • Subnet mask defines the boundary between network and host bits (e.g., 255.255.255.192 corresponds to /26)
  • Variable-Length Subnet Masking (VLSM) takes this further by allowing different subnets within the same address block to have different prefix lengths, so you can size each subnet to its actual need
  • Practical benefits: traffic isolation, smaller broadcast domains (which reduces unnecessary traffic), and security segmentation between departments or functions

Multicast Addressing

  • One-to-many delivery: a single packet reaches all members of a multicast group simultaneously, conserving bandwidth compared to sending separate unicast copies to each recipient
  • Reserved range 224.0.0.0 to 239.255.255.255 (the Class D space): well-known addresses like 224.0.0.1 (all hosts on the local segment) and 224.0.0.2 (all routers on the local segment) have special protocol meanings
  • Application examples include video streaming, IPTV, and routing protocol updates (OSPF uses 224.0.0.5 for all OSPF routers). Anywhere the same data needs to reach multiple recipients, multicast avoids duplicating traffic at the source.

Compare: Subnetting vs. Multicast: both optimize network efficiency but solve different problems. Subnetting divides address space for management and isolation; multicast optimizes traffic delivery to multiple destinations. Know when each applies.


Public vs. Private Address Space

The distinction between routable and non-routable addresses is fundamental to modern network architecture. It's how billions of devices share a limited pool of public addresses.

Private IP Addresses

  • Three reserved ranges defined in RFC 1918 for internal use only:
    • 10.0.0.0/8 (16.7 million addresses)
    • 172.16.0.0/12 (roughly 1 million addresses)
    • 192.168.0.0/16 (65,536 addresses)
  • Not routable on the public internet: ISP routers drop packets with private source or destination addresses, so translation is required for external communication
  • Unlimited reuse: every organization can use the same private ranges internally, which dramatically extended the useful life of IPv4

Public IP Addresses

  • Globally unique and routable: each public address identifies exactly one network endpoint on the internet
  • Managed hierarchically: IANA allocates large blocks to Regional Internet Registries (RIRs) (such as ARIN, RIPE NCC, APNIC), which in turn assign smaller blocks to ISPs and organizations
  • Increasingly scarce: IPv4 public addresses in most regions now require purchase or transfer from existing holders, since the free pool is exhausted

Network Address Translation (NAT)

NAT sits at the boundary between private and public address space, translating addresses in packet headers so internal hosts can communicate with the internet.

  • Basic NAT maps one private address to one public address. This doesn't save addresses, so it's rarely used alone.
  • PAT (Port Address Translation), also called NAT overload, is the most common form. It maps many private addresses to a single public IP by using unique source port numbers to distinguish each internal connection. A home router doing this might have dozens of devices sharing one public IP.
  • Security side effect: NAT hides internal network topology from external observers, since outside hosts only see the public address. However, this is not a substitute for proper firewall rules.

Compare: Private addresses vs. NAT: private addresses define which addresses are non-routable; NAT provides the mechanism to translate them for internet access. Both emerged as IPv4 conservation strategies and are nearly universal in enterprise and home networks.


Special-Purpose Addresses

Certain address ranges serve specific diagnostic, testing, or protocol functions. Recognizing them helps you troubleshoot and understand network behavior.

Loopback Addresses

  • 127.0.0.0/8 range: any address here (most commonly 127.0.0.1) refers to the local machine itself
  • Never leaves the host: packets to loopback addresses are processed internally by the TCP/IP stack without ever reaching the network interface
  • Essential for testing: developers use loopback to test network applications locally; running ping 127.0.0.1 verifies that the TCP/IP stack is functioning on that machine

In IPv6, the loopback address is ::1 (a single address rather than an entire /8 block).

Compare: Loopback vs. Private addresses: both are non-routable, but loopback addresses never leave the device while private addresses can traverse internal networks freely. Loopback tests local stack functionality; private addresses enable internal network communication between hosts.


Quick Reference Table

ConceptBest Examples
Address space sizeIPv4 (32-bit), IPv6 (128-bit)
Legacy allocationClassful addressing (Class A/B/C)
Modern allocationCIDR notation (/24, /16, etc.)
Address conservationNAT, private addressing, CIDR
Network subdivisionSubnetting, VLSM
Private ranges10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16
One-to-many deliveryMulticast (224.0.0.0/4)
Local testingLoopback (127.0.0.0/8, ::1)

Self-Check Questions

  1. What problem do both NAT and private addressing solve, and how do their mechanisms differ?

  2. Given the CIDR notation 192.168.10.0/26, calculate the number of usable host addresses and explain why subnetting this /24 network might be beneficial.

  3. Which two addressing concepts emerged specifically to address IPv4 exhaustion, and how does each extend the useful life of the 32-bit address space?

  4. Compare and contrast how classful addressing and CIDR allocate address blocks. Why did the networking community move away from class-based allocation?

  5. A network administrator needs to test whether the TCP/IP stack is functioning on a server, then verify the server can reach other hosts on the internal network. Which addresses would they use for each test, and why?

Key Concepts of IP Addressing Schemes to Know for Systems Approach to Computer Networks