Networking · Concepts

Private IP Address Ranges and IP Address Classes Explained

By CertSharp Team~13 min readLast updated

The private IP address ranges are 10.0.0.0/8, 172.16.0.0/12 and 192.168.0.0/16, defined in RFC 1918. They can be used freely inside any network but are not routed on the public internet. Related special ranges include APIPA (169.254.0.0/16), loopback (127.0.0.0/8) and carrier-grade NAT space (100.64.0.0/10).

Quick Facts

  • RFC 1918: 10.0.0.0/8, 172.16.0.0/12 (ends at 172.31.255.255), 192.168.0.0/16.
  • APIPA / link-local: 169.254.0.0/16, self-assigned when DHCP fails (RFC 3927).
  • Loopback: all of 127.0.0.0/8, not just 127.0.0.1.
  • CGNAT shared space: 100.64.0.0/10 (RFC 6598).
  • Classes: A 1 to 126, B 128 to 191, C 192 to 223, D 224 to 239 (multicast), E 240 to 255 (reserved).
  • Exam relevance: core addressing content in CompTIA Network+ N10-009; Cisco CCNA 200-301 lists private IPv4 addressing under Network Fundamentals (confirm on Cisco's current topic list).

Few topics are tested as consistently as this one. Expect questions that hand you an address and ask whether it is private, public, link-local, loopback or multicast, and questions that ask you to name the class. This guide gives the exact boundaries, counts verified by calculation, the reasoning behind each special range, how classful addressing worked and why it was retired, and eight practice questions for CompTIA Network+ and Cisco CCNA. This page is a reference for which addresses are private or special; for the binary math of splitting a network into subnets, use subnetting explained.

What are the private IP address ranges?

RFC 1918 reserves three blocks of IPv4 addresses for private use. They are the only ranges that the standard calls “private”.

CIDR blockSubnet maskFirst addressLast addressTotal addressesClassful equivalent
10.0.0.0/8255.0.0.010.0.0.010.255.255.25516,777,216One Class A
172.16.0.0/12255.240.0.0172.16.0.0172.31.255.2551,048,57616 contiguous Class B networks
192.168.0.0/16255.255.0.0192.168.0.0192.168.255.25565,536256 contiguous Class C networks

“Total addresses” counts every address in the block, including the network and broadcast addresses if you treated each block as one subnet. In practice you split them into many subnets (see subnetting explained and VLSM explained). The count for a /12 is 2^20, which is 1,048,576, and that is why the block ends at 172.31.255.255. Memorize the boundary: the second octet runs from 16 to 31. The commonly mistaken addresses are 172.15.x.x and 172.32.x.x, which are public.

The private flag has nothing to do with the class of the address: 10.x.x.x is Class A, 172.16 to 172.31 is Class B and 192.168.x.x is Class C only because of where the first octet falls.

Why do private addresses exist?

By the early 1990s it was obvious that IPv4 would run out. RFC 1918 gave organizations three ranges that they could reuse independently: because every company could use 10.0.0.0/8 internally, a limited pool of public addresses could serve many networks. The trade-off is that private addresses are not unique and not routable on the internet, so a gateway has to translate them, which is NAT (see what is NAT). Three consequences follow. Two sites that both use 192.168.1.0/24 cannot be joined without renumbering or translation, so overlapping private ranges are a perennial VPN and merger problem. Internet routers discard packets with private source addresses, which also makes private source addresses on the internet a sign of spoofing or misconfiguration. And private address spaces are free: no registry fees, no allocation request.

APIPA, loopback, CGNAT and other special-use ranges

Besides the three RFC 1918 blocks, the special-use IPv4 ranges worth knowing are loopback (127.0.0.0/8), APIPA link-local (169.254.0.0/16), carrier-grade NAT shared space (100.64.0.0/10), multicast (224.0.0.0/4) and the reserved Class E block. RFC 6890 collects all special-purpose blocks, and IANA maintains the live registry (linked below).

BlockRangePurposeRoutable on the internet?
0.0.0.0/80.0.0.0 to 0.255.255.255“This network”; 0.0.0.0 means unspecified or the default routeNo
127.0.0.0/8127.0.0.0 to 127.255.255.255Loopback to the local hostNo (never leaves the host)
169.254.0.0/16169.254.0.0 to 169.254.255.255Link-local / APIPA (RFC 3927)No (single link only)
100.64.0.0/10100.64.0.0 to 100.127.255.255Shared address space for carrier-grade NAT (RFC 6598)No
192.0.0.0/24192.0.0.0 to 192.0.0.255IETF protocol assignmentsNo
192.0.2.0/24192.0.2.0 to 192.0.2.255Documentation (TEST-NET-1)No
198.51.100.0/24198.51.100.0 to 198.51.100.255Documentation (TEST-NET-2)No
203.0.113.0/24203.0.113.0 to 203.0.113.255Documentation (TEST-NET-3)No
198.18.0.0/15198.18.0.0 to 198.19.255.255Network benchmark testingNo
224.0.0.0/4224.0.0.0 to 239.255.255.255Multicast (Class D)Special (multicast routing)
240.0.0.0/4240.0.0.0 to 255.255.255.255 (255.255.255.255 is the limited broadcast, listed separately)Reserved for future use (Class E)No
255.255.255.255/32255.255.255.255Limited broadcast on the local segmentNo (not forwarded by routers)

Details on the three most-tested ranges follow.

APIPA (169.254.0.0/16)

Automatic Private IP Addressing is how a client behaves when it is set to use DHCP and cannot get a lease: it picks an address in 169.254.1.0 to 169.254.254.255, checks that no one else is using it, and continues with no gateway. It is a first-class troubleshooting clue, since it means the DHCP exchange failed, not that the network is broken in general. Hosts on the same link with APIPA addresses can talk to each other, but nothing beyond. In the exam it reads “the user can reach local peers but not the internet; address starts with 169.254”.

Loopback (127.0.0.0/8)

Packets to any 127.x.x.x address are delivered back to the same host. The usual address is 127.0.0.1 (hostname localhost), and ping 127.0.0.1 tests the local IP stack without touching the network card or cable.

CGNAT shared space (100.64.0.0/10)

It is not private in the RFC 1918 sense, and is not public either. RFC 6598 reserved it so that an ISP running carrier-grade NAT has addresses that do not collide with customers' own RFC 1918 networks. If a home router's WAN address is in 100.64.0.0 to 100.127.255.255, the ISP is translating you and inbound port forwarding will not work.

What are IP address classes A to E?

Before 1993, IPv4 used classful addressing: the first few bits of an address decided its class, and the class decided where the network part ended. The classes were part of the original specification, RFC 791.

ClassFirst-octet rangeFirst bitsDefault maskNetworksUsable hosts per network
A1 to 1260xxxxxxx255.0.0.0 (/8)12616,777,214
B128 to 19110xxxxxx255.255.0.0 (/16)16,38465,534
C192 to 223110xxxxx255.255.255.0 (/24)2,097,152254
D224 to 2391110xxxxNone (multicast)Not applicableNot applicable
E240 to 2551111xxxxNone (reserved)Not applicableNot applicable

How the numbers come from the bits. Class A has 7 usable bits for the network (the first bit is fixed at 0), so 2^7 = 128 networks, minus the all-zeros network 0 and the 127 loopback network, gives 126 by the usual convention. Class A hosts: 24 host bits, so 2^24 - 2 = 16,777,214. Class B has 14 free network bits (2^14 = 16,384 networks) and 16 host bits (2^16 - 2 = 65,534 hosts). Class C has 21 free network bits (2^21 = 2,097,152 networks) and 8 host bits (2^8 - 2 = 254 hosts). The two subtracted addresses in every host count are the network address (all host bits 0) and the broadcast address (all host bits 1).

Quick identification: look at the first octet only. 1 to 126 is A, 128 to 191 is B, 192 to 223 is C, 224 to 239 is D and 240 and up is E. The first octet 127 is skipped because it is loopback. Binary tip: count the leading 1 bits: none is A, one is B, two is C, three is D, four is E.

Practice what you just read

Test addressing and subnetting with free exam-style questions: 30 questions per session, practice mode, no signup needed.

Check yourself

Check 1. Which class is 150.20.1.1, and what is its default mask?

Class B. The first octet 150 is between 128 and 191 (binary 10010110, starting 10). The default mask is 255.255.0.0 (/16).

Check 2. A PC shows the address 169.254.33.8 and cannot reach the internet. What is the most likely cause?

The PC could not get an address from DHCP and assigned itself an APIPA link-local address. Check the DHCP server, the cabling or Wi-Fi association, and whether the PC is on the right VLAN.

Check 3. What is the last address in 172.16.0.0/12?

172.31.255.255. A /12 mask leaves 20 host bits, which spans 172.16.0.0 through 172.31.255.255 (1,048,576 addresses).

Why did CIDR replace IP address classes?

Classes forced organizations into three sizes. A business needing 300 hosts was too big for a Class C (254 hosts), so it was handed a Class B with 65,534 addresses and wasted nearly all of them. At the same time, routing tables grew because each class C network was a separate route. In 1993 the internet moved to Classless Inter-Domain Routing (CIDR; the current specification is RFC 4632, building on RFC 1519), where the prefix length is written explicitly (/22, /27) and blocks can be any size on any bit boundary. That allows right-sized allocations and route summarization (supernetting).

The practical consequence for exams: a class is a first-octet rule, but a mask is a separate property. 10.1.1.0/24 is a Class A address on a /24 network, and routers and routing protocols use the prefix length, not the class. A routing protocol described as “classful” (the original RIP) assumes the default mask, while “classless” protocols (RIPv2, OSPF, EIGRP, BGP) carry the mask. For the binary math see subnetting explained; to see classless protocols in action read OSPF explained.

How do I identify an address type quickly?

Check the first octet, then the second where needed: 127 is loopback, 169.254 is APIPA, 10 is private, 172.16 to 172.31 is private, 192.168 is private, 100.64 to 100.127 is CGNAT space, 224 to 239 is multicast, and the rest is public unless it is a documented special range. Run the address through these checks in order:

  1. First octet 127? Loopback.
  2. Starts with 169.254? APIPA / link-local.
  3. First octet 10? Private.
  4. 172 and second octet between 16 and 31? Private. Otherwise public.
  5. 192.168? Private. Any other 192.x is public (except the special 192.0.0.x and 192.0.2.x documentation ranges).
  6. 100 and second octet between 64 and 127? CGNAT shared space.
  7. First octet 224 to 239? Multicast. 240 or higher? Reserved (or 255.255.255.255 broadcast).
  8. Anything else (outside the special-use table above)? Treat as public unicast.

Then, if the question asks for the class, ignore all of the above and look at the first octet alone.

Where are private ranges used in real networks?

Private ranges are used almost everywhere inside organizations: homes use a 192.168 /24, offices carve per-VLAN subnets from 10.0.0.0/8 or 172.16.0.0/12, and cloud networks use the same blocks inside a VPC. Typical patterns:

  • Home: routers typically use a /24 from 192.168.0.0/16 (commonly 192.168.0.0/24 or 192.168.1.0/24) with DHCP, and PAT to the ISP address.
  • Office: one subnet per department or VLAN, carved from 10.0.0.0/8 or 172.16.0.0/12, for example 10.10.10.0/24 for staff and 10.10.20.0/24 for voice.
  • Data center and branch networks: 10.0.0.0/8 is the usual choice because it is the biggest block and easily split into per-site /16s.
  • Remote access and VPN: overlapping ranges between home and office are a common cause of failed VPN connections, so a less common range (for example 10.x with an unusual second octet) avoids conflicts.
  • Container and virtualization defaults: some platforms reserve private ranges internally; for instance Docker's default bridge network commonly uses 172.17.0.0/16, so avoid overlapping it when you plan a VPC or VPN range.

The IPv6 equivalent of RFC 1918 is the unique local range fc00::/7; see IPv4 vs IPv6 for how it compares, plus link-local fe80::/10.

How do private ranges work in AWS and Google Cloud?

Cloud virtual networks reuse the same private addressing, which is why this topic also feeds AWS Cloud Practitioner and Google Cloud networking questions.

  • AWS VPC. When you create a VPC you choose an IPv4 CIDR block. AWS documents an allowed IPv4 size from /16 down to /28 and recommends choosing from the RFC 1918 ranges. It also restricts some special-use blocks, so check the AWS VPC CIDR page linked in the sources for the current list rather than relying on a copy here.
  • Google Cloud VPC. Subnets use RFC 1918 ranges for primary ranges, and Google documents that other ranges such as 100.64.0.0/10 shared address space can be valid too, while loopback and multicast are not. Auto-mode networks create one subnet per region from the 10.128.0.0/9 block, and you should avoid overlapping that block with your own custom subnets.
  • Why it matters. Overlapping ranges prevent VPC peering and VPN connectivity, so plan non-overlapping ranges before building anything. Instances with private addresses reach the internet through NAT (a NAT gateway on AWS, Cloud NAT on Google Cloud), the same translation idea covered in the NAT guide. Our overview of Google Cloud networking fundamentals goes deeper on the VPC model.

Cloud details change, so check the provider pages in the sources for current limits before relying on a number in a design.

Common exam traps

Most errors here are boundary errors: 172.15 and 172.32 are public, 192.169 is public, and class does not decide whether an address is private. The full list:

  • 172.16.0.0/12 ends at 172.31.255.255. 172.32.x.x is public, and so is 172.15.x.x.
  • 192.168 only. 192.169.x.x and 192.0.x.x are not private.
  • All of 127/8 is loopback. 127.0.0.1 is the common one, but 127.5.5.5 is loopback too.
  • Class does not mean private. A Class B address like 150.1.1.1 is public. The private ranges happen to sit in A, B and C.
  • Class A is 1 to 126, not 1 to 127. 127 is loopback; 0 is not usable as a host network.
  • Host counts subtract two. Class C hosts are 254, not 256.
  • APIPA is not a DHCP address. It means DHCP failed.
  • Multicast is Class D. 224.0.0.0 through 239.255.255.255; never a host's own address.
  • CGNAT space is neither private nor public. 100.64.0.0/10 is its own category (RFC 6598).
  • Classful versus classless routing. Modern protocols carry the mask, so a Class A address can be on a /24.

How do Network+ and CCNA test this?

CompTIA Network+ N10-009 tests recognition: identify the address type from a sample, name APIPA from a symptom, and know which ranges are private. It appears alongside subnetting and IPv6 in the Network+ cheat sheet. Confirm exact objective wording on the CompTIA page, since the blueprint can change between versions.

Cisco CCNA 200-301 expects you to describe private IPv4 addressing (RFC 1918), a Network Fundamentals topic, and you will use it in IP configuration, NAT and subnetting questions. Classful boundaries still come up when explaining summarization and default masks, and the CCNA cheat sheet lists them. The Network+ vs CCNA comparison explains how the depth differs. Related fundamentals: the OSI model and TCP vs UDP.

Identify-the-address practice questions

Classify each address, then open the answer. For more, use the Network+ practice exam or the CCNA practice exam.

1. Identify 10.4.200.9.

Private (RFC 1918). It falls in 10.0.0.0/8. In classful terms it is Class A, though classful terms no longer decide how it is used.

2. Identify 172.15.255.1.

Public. The private 172 block starts at 172.16.0.0, so 172.15.255.1 is one address below it. In classful terms it is Class B, but a Class B address is not automatically private.

3. Identify 172.31.255.254.

Private (RFC 1918). It sits just below 172.31.255.255, the last address of 172.16.0.0/12. It is Class B space.

4. Identify 169.254.12.7.

APIPA, an IPv4 link-local address (169.254.0.0/16, RFC 3927). The host failed to obtain DHCP configuration. It is neither RFC 1918 nor routable.

5. Identify 100.72.15.3.

Shared address space for carrier-grade NAT (100.64.0.0/10, RFC 6598). It lies between 100.64.0.0 and 100.127.255.255. Not RFC 1918 and not a normal public address.

6. Identify 127.8.8.8.

Loopback. The whole of 127.0.0.0/8 is loopback (not just 127.0.0.1), so traffic sent to it stays on the local host. It cannot be assigned to a real interface for network communication.

7. Identify 192.169.1.1.

Public. The private 192 block is 192.168.0.0/16 only; 192.169.x.x is outside it. By class it is Class C (192 to 223), but the class does not make it private.

8. Identify 224.0.0.5.

Multicast (Class D, 224.0.0.0/4). Specifically, 224.0.0.5 is the link-local multicast address that OSPF routers use as AllSPFRouters. Multicast addresses are destinations only and are never assigned to a host as its own address.

Frequently asked questions

What are the private IP address ranges?

RFC 1918 defines three private IPv4 ranges: 10.0.0.0 to 10.255.255.255 (10.0.0.0/8), 172.16.0.0 to 172.31.255.255 (172.16.0.0/12) and 192.168.0.0 to 192.168.255.255 (192.168.0.0/16). Anyone may use them inside their own network without registration, and they are not routed on the public internet.

Is 172.32.0.1 a private IP address?

No. The private block is 172.16.0.0/12, which ends at 172.31.255.255. 172.32.0.1 and everything from 172.32.0.0 upward in the 172 range, as well as 172.15.x.x and below, are public addresses. Mistaking the 172 boundary is one of the most common exam errors.

What is a 169.254.x.x address?

It is an APIPA or IPv4 link-local address from 169.254.0.0/16 (RFC 3927). A host assigns itself one when it is set to use DHCP but cannot reach a DHCP server. It works only on the local link and is not routable, so seeing it usually means DHCP has failed.

What are the IP address classes?

In classful addressing, Class A covers first octets 1 to 126 with a default mask of 255.0.0.0, Class B covers 128 to 191 with 255.255.0.0, and Class C covers 192 to 223 with 255.255.255.0. Class D (224 to 239) is multicast and Class E (240 to 255) is reserved. Classes were replaced by CIDR, but are still tested for recognition.

Why was classful addressing replaced?

Fixed class sizes wasted addresses and bloated routing tables. A company needing 300 hosts had to take a Class B (65,534 hosts) because a Class C (254 hosts) was too small. Classless Inter-Domain Routing (CIDR, RFC 4632) lets networks be any prefix length, so allocation and route summarization match real need.

What is 100.64.0.0/10 used for?

It is the shared address space reserved by RFC 6598 for carrier-grade NAT. ISPs give subscriber routers addresses from 100.64.0.0 to 100.127.255.255 before translating them to public addresses. It is not an RFC 1918 range and should not be used as ordinary private space where it could conflict with a provider.

Can private IP addresses be reached from the internet?

Not directly. Internet routers do not forward private-range traffic, so a device with a private address reaches the internet only through NAT or a proxy, and reaches back to it only with a static mapping or port forward. Public cloud networks use private ranges inside a VPC and add internet gateways or NAT for outside access.

How we wrote and checked this

CertSharp is a practice-exam provider, so we have a commercial interest in exam preparation. This guide was written from RFC 1918, RFC 6890, RFC 3927, RFC 6598 and the IANA registry linked below. The range boundaries, address counts and class tables were verified with a script (Python's ipaddress module). Cloud limits change, so we point to the AWS and Google Cloud pages instead of copying them. Last reviewed on October 18, 2026. Confirm exam objective wording on the CompTIA and Cisco pages.

Sources and further reading

Practice addressing questions before exam day

30 free questions per session on Network+ and CCNA, practice mode, no signup and no credit card. The full 500-question bank with exam mode is $11.99 lifetime per certification, or $9.99/month Pro unlocks every CertSharp certification.