When you spot an IP address starting with 172 on your network, you're looking at one of the most misunderstood blocks in IPv4 addressing. Many system administrators and developers assume that every address beginning with 172 is private and safe to use internally. That assumption causes configuration errors, security gaps, and broken routing rules every single day.
The exact truth is that only a specific slice of the 172 block—specifically from 172.16.0.0 to 172.31.255.255—is designated for private use under RFC 1918. Everything else outside that window is public, globally routable internet space. Grasping how this range works, where it sits in network architectures, and how to avoid costly miscalculations will save your infrastructure from silent failures.
What is the 172 IP Range?
The Internet Engineering Task Force created RFC 1918 to conserve the shrinking pool of IPv4 addresses. Instead of giving every single device on every internal office network a globally unique address, the IETF set aside three specific blocks that any organization could reuse internally.
These private blocks are:
- The
10.0.0.0/8range, offering roughly 16.7 million addresses for massive enterprise setups. - The
172.16.0.0/12range, providing about 1 million addresses for medium-sized businesses and virtual environments. - The
192.168.0.0/16range, supplying 65,536 addresses commonly used in home routers.
The middle child of this group, the 172 private block, spans from 172.16.0.0 to 172.31.255.255 with a CIDR notation of /12. Because it doesn't align neatly with traditional class boundaries, it frequently trips up engineers who confuse it with old classful networking rules.
The Fatal Flaw: Not All 172 Addresses Are Private
The single most common mistake engineers make is assuming that any address starting with 172 is non-routable. If you write a firewall rule or an access control list that blocks or allows 172.0.0.0/8, you're making a massive error.
Look closely at how the numbers break down:
- Public space:
172.0.0.0to172.15.255.255 - Private space:
172.16.0.0to172.31.255.255 - Public space:
172.32.0.0to172.255.255.255
If your corporate server tries to bind to an internal service using 172.10.5.5, it's actually binding to a publicly owned IP address belonging to an external entity on the global internet. If your local routing table doesn't catch this, your packets will leak out, leading to unpredictable connection failures or security exposures. When configuring firewalls, always verify against the precise /12 boundary documented by the Internet Assigned Numbers Authority rather than relying on sloppy first-octet assumptions.
How Network Address Translation Handles 172 Traffic
Private IP addresses cannot travel across the public internet. Routers drop them immediately because they aren't globally unique. To let devices on a 172.16.x.x network browse the web, your gateway relies on Network Address Translation (NAT).
When your laptop sends a packet requesting a web page, your router intercepts the packet, swaps out your private source IP for its own public IP, and tracks the connection in a state table. When the response returns from the web server, the router translates the destination back to your private address and hands it to you.
Container platforms like Docker also lean heavily on this range. Docker frequently assigns bridges in the 172.17.0.0/16 range by default for local container communication. If you run multiple Docker containers without changing defaults, you might notice internal routing collisions if your physical office network happens to overlap with those exact subnets.
Common Subnetting Mistakes with the 172 Block
Subnetting the 172 private block requires careful attention to bit boundaries because the mask is /12, not the traditional /16 associated with Class B networks.
Here are mistakes to avoid when slicing up this address space:
- Treating
172.16.0.0/12as a single monolithic network instead of breaking it down into manageable/24or/26subnets for different VLANs. - Forgetting that subnet masks change the broadcast and network ID boundaries. A miscalculated mask can trap devices in isolated segments where they can't reach the default gateway.
- Overlooking overlap between corporate VPN pools and local Wi-Fi subnets. If your remote workers connect via a VPN that assigns them a
172.16.x.xaddress that matches their local home router's subnet, routing loops will break their connection instantly.
For a deeper dive into standard addressing protocols, check the technical specifications outlined by Microsoft Learn regarding TCP/IP configurations.
Frequently Asked Questions
Is 172.16.0.0 a public or private IP address?
It is a private IP address. It marks the exact starting boundary of the RFC 1918 private block, meaning it is reserved for internal local network use and cannot be routed across the public internet.
Why can't I use 172.15.0.0 for my home network?
Addresses in the 172.0.0.0 to 172.15.255.255 range are allocated as public IP addresses. If you assign them inside your home network, your devices won't be able to reach external servers that actually own those public spaces.
How many total addresses are in the 172 private range?
The private block spans from 172.16.0.0 to 172.31.255.255, giving you a CIDR block of /12. This translates to roughly 1,048,576 usable private IP addresses.
What should I do if my network overlaps with Docker's default 172 bridge?
You can easily fix this by editing your Docker daemon configuration file (/etc/docker/daemon.json) and setting a custom default-address-pools parameter to use a different private range, such as part of the 10.x.x.x block.