IP Addresses
Understanding IP addressing is essential for designing networked systems — configuring load balancers, VPCs, subnets, and security groups all require IP.
Quick answer: IP Addresses
IP Addresses is covered here as a practical system design concept. Understanding IP addressing is essential for designing networked systems — configuring load balancers, VPCs, subnets, and security groups all require IP. Use it to understand the Networking idea, where it appears in production systems, and how to discuss it clearly in interviews.
Focus on the problem being solved, the main design choice, the failure mode, and the tradeoff you would defend in front of a senior engineer. This page is part of the DosiBridge system design knowledge graph, so it links related concepts, interview problems, tradeoffs, and references instead of leaving the topic isolated.
An IP address is a unique numerical identifier assigned to every device connected to a network. IPv4 uses 32-bit addresses (4.3 billion total), while IPv6 uses 128-bit addresses (virtually unlimited). IP addresses enable routing — they tell the network where to deliver data packets.
Why This Matters
Understanding IP addressing is essential for designing networked systems — configuring load balancers, VPCs, subnets, and security groups all require IP knowledge. Rate limiting is often done by IP address.
The Building Blocks
- IPv4: 32 bits, written as four octets (192.168.1.1). Running out of addresses, hence IPv6.
- IPv6: 128 bits, written in hexadecimal (2001:db8::1). Adoption is growing but IPv4 is still dominant.
- Private vs Public IPs: Private IPs (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) are used within networks. Public IPs are routable on the internet.
- NAT (Network Address Translation): Allows multiple devices to share one public IP. Your home router uses NAT.
- CIDR notation: 10.0.0.0/24 means the first 24 bits are the network prefix, leaving 8 bits (256 addresses) for hosts.
Under the Hood
Every device on the internet has a public IP address. When you request a webpage, your browser sends packets from your IP to the server's IP. Routers along the way read the destination IP and forward the packet toward the correct network. Within cloud environments, you design subnets (CIDR blocks) to organize services and control access via security groups.
How Companies Actually Do This
AWS VPC: You define your own IP address range (e.g., 10.0.0.0/16) and create subnets for public-facing and private services.
Cloudflare: Hides your server's real IP address behind their proxy, protecting against DDoS attacks.
Google: Operates one of the largest IPv6 deployments, serving >40% of traffic over IPv6.
Common Pitfalls
- Not understanding CIDR — miscalculating subnet sizes leads to running out of IPs
- Exposing internal service IPs publicly
Interview Questions Worth Practicing
- What is the difference between public and private IP addresses?
- How does NAT work?
- What is CIDR notation and how is it used in cloud networking?
The Tradeoffs
- IPv4 vs IPv6: IPv4 is universally supported but scarce; IPv6 is abundant but not yet universal.
- Public vs Private IPs: Public IPs are accessible but exposed; private IPs are secure but require NAT for internet access.
Related Topics
Original DosiBridge notes for IP Addresses
This section is written specifically for this page, not copied from a general system-design checklist. The useful way to study IP Addresses is to connect the concept to a production service where growth exposes the first weak assumption in the original design. That framing changes the design discussion from definitions to operating choices.
What makes this topic distinct
- Packet Path: For IP Addresses, decide the packet path before choosing tools; otherwise the design looks clean but fails when ip changes.
- Timeout Budget: For IP Addresses, decide the timeout budget before choosing tools; otherwise the design looks clean but fails when addresses changes.
- TLS Boundary: For IP Addresses, decide the TLS boundary before choosing tools; otherwise the design looks clean but fails when ip changes.
- Proxy Behavior: For IP Addresses, decide the proxy behavior before choosing tools; otherwise the design looks clean but fails when addresses changes.
- Backpressure: For IP Addresses, decide the backpressure before choosing tools; otherwise the design looks clean but fails when ip changes.
Production review question
If a team adopts IP Addresses, what observable signal proves it helped instead of only making the architecture diagram more fashionable?
Practical metric to track
Track ip-addresses health as a named dashboard or review item: combine one user-facing metric, one saturation metric, and one correctness metric. For IP Addresses, this keeps the discussion grounded in behavior that can be measured after deployment instead of generic advice that sounds good in an interview but never gets verified.