Recent from talks
Nothing was collected or created yet.
Classless Inter-Domain Routing
View on WikipediaThis article may require copy editing for direct links to RFCs (using {{IETF RFC}} that its documentation says is not for that usage) rather than correctly citing these RFCs. (August 2025) |
Classless Inter-Domain Routing (CIDR /ˈsaɪdər, ˈsɪ-/) is a method for allocating IP addresses for IP routing. The Internet Engineering Task Force introduced CIDR in 1993 to replace the previous classful network addressing architecture on the Internet. Its goal was to slow the growth of routing tables on routers across the Internet, and to help slow the rapid exhaustion of IPv4 addresses.[1][2]
IP addresses are described as consisting of two groups of bits in the address: the most significant bits are the network prefix, which identifies a whole network or subnet, and the least significant set forms the host identifier, which specifies a particular interface of a host on that network. This division is used as the basis of traffic routing between IP networks and for address allocation policies.
Whereas classful network design for IPv4 sized the network prefix as one or more eight-bit groups, resulting in the blocks of Class A, B, or C addresses, under CIDR address space is allocated to Internet service providers and end users on any address-bit boundary. In IPv6, however, the interface identifier has a fixed size of 64 bits by convention, and smaller subnets are never allocated to end users.
CIDR is based on variable-length subnet masking (VLSM), in which network prefixes have variable length (as opposed to the fixed-length prefixing of the previous classful network design). The main benefit of this is that it grants finer control of the sizes of subnets allocated to organizations, hence slowing the exhaustion of IPv4 addresses from allocating larger subnets than needed. CIDR gave rise to a new way of writing IP addresses known as CIDR notation, in which an IP address is followed by a suffix indicating the number of bits of the prefix. Some examples of CIDR notation are the addresses 192.0.2.0/24 for IPv4 and 2001:db8::/32 for IPv6. Blocks of addresses having contiguous prefixes may be aggregated as supernets, reducing the number of entries in the global routing table.
Background
[edit]Each IP address consists of a network prefix followed by a host identifier. In the classful network architecture of IPv4, the three most significant bits of the 32-bit IP address defined the size of the network prefix for unicast networking, and determined the network class A, B, or C.[3]
| Class | Most-significant bits | Network prefix length (bits) |
Host identifier length (bits) |
Address range |
|---|---|---|---|---|
| A | 0 | 8 | 24 | 0.0.0.0–127.255.255.255 |
| B | 10 | 16 | 16 | 128.0.0.0–191.255.255.255 |
| C | 110 | 24 | 8 | 192.0.0.0–223.255.255.255 |
| D(multicast) | 1110 | — | — | 224.0.0.0–239.255.255.255 |
| E(reserved) | 1111 | — | — | 240.0.0.0–255.255.255.255 |
The advantage of this system is that the network prefix could be determined for any IP address without any further information. The disadvantage is that networks were usually too big or too small for most organizations to use, because only three sizes were available. The smallest allocation and routing block contained 28 = 256 addresses, larger than necessary for personal or department networks, but too small for most enterprises. The next larger block contained 216 = 65536 addresses, too large to be used efficiently even by large organizations. But for network users who needed more than 65536 addresses, the only other size (224) provided far too many, more than 16 million. This led to inefficiencies in address use as well as inefficiencies in routing, because it required a large number of allocated class-C networks with individual route announcements, being geographically dispersed with little opportunity for route aggregation.
Within a decade after the invention of the Domain Name System (DNS), the classful network method was found not scalable.[4] This led to the development of subnetting and CIDR. The formerly meaningful class distinctions based on the most-significant address bits were abandoned and the new system was described as "classless", in contrast to the old system, which became known as "classful". Routing protocols were revised to carry not just IP addresses, but also their subnet masks. Implementing CIDR required every host and router on the Internet to be reprogrammed in small ways—no small feat at a time when the Internet was entering a period of rapid growth. In 1993, the Internet Engineering Task Force published a new set of standards, RFC 1518 and RFC 1519, to define this new principle for allocating IP address blocks and routing IPv4 packets. An updated version, RFC 4632, was published in 2006.[5]
After a period of experimentation with various alternatives, Classless Inter-Domain Routing was based on variable-length subnet masking (VLSM), which allows each network to be divided into subnetworks of various power-of-two sizes, so that each subnetwork can be sized appropriately for local needs. Variable-length subnet masks were mentioned as one alternative in RFC 950.[6] Techniques for grouping addresses for common operations were based on the concept of cluster addressing, first proposed by Carl-Herbert Rokitansky.[7][8]
CIDR notation
[edit]CIDR notation is a compact representation of an IP address and its associated network mask. The notation was invented by Phil Karn in the 1980s.[9][10] CIDR notation specifies an IP address, a slash character ⟨/⟩, and a decimal number. The decimal number is the count of consecutive leading 1 bits (from left to right) in the network mask. Each 1 bit denotes a bit of the address range which must remain identical to the given IP address. The IP address in CIDR notation is always represented according to the standards for IPv4 or IPv6.
The address may denote a specific interface address (including a host identifier, such as 10.0.0.1/8), or it may be the beginning address of an entire network (using a host identifier of 0, as in 10.0.0.0/8 or its equivalent 10/8). CIDR notation can even be used with no IP address at all, e.g. when referring to a /24 as a generic description of an IPv4 network that has a 24-bit prefix and 8-bit host numbers.
For example:
- 198.51.100.14/24 represents the IPv4 address 198.51.100.14 and its associated network prefix 198.51.100.0, or equivalently, its subnet mask 255.255.255.0, which has 24 leading 1 bits.
- the IPv4 block 198.51.100.0/22 represents the 1024 IPv4 addresses from 198.51.100.0 to 198.51.103.255.
- the IPv6 block 2001:db8::/48 represents the block of IPv6 addresses from 2001:db8:0:0:0:0:0:0 to 2001:db8:0:ffff:ffff:ffff:ffff:ffff.
- ::1/128 represents the IPv6 loopback address. Its prefix length is 128 which is the number of bits in the address.
In IPv4, CIDR notation came into wide use only after the implementation of the method, which was documented using dotted-decimal subnet mask specification after the slash, for example, 192.24.12.0/255.255.252.0.[2] Describing the network prefix width as a single number (192.24.12.0/22) was easier for network administrators to conceptualize and to calculate. It became gradually incorporated into later standards documents[11][12] and into network configuration interfaces.
The number of addresses of a network may be calculated as 2address length − prefix length, where "address length" is 128 for IPv6 and 32 for IPv4. For example, in IPv4, the prefix length /29 gives: 232−29 = 23 = 8 addresses.
Subnet masks
[edit]A subnet mask is a bitmask that encodes the prefix length associated with an IPv4 address or network in quad-dotted notation: 32 bits, starting with a number of ones equal to the prefix length, ending with zeros, and encoded in four-part dotted-decimal format: 255.255.255.0. A subnet mask encodes the same information as a prefix length but predates the advent of CIDR. In CIDR notation, the prefix bits are always contiguous. Subnet masks were allowed by RFC 950[6] to specify non-contiguous bits until RFC 4632[5]: Section 5.1 stated that the mask must consist of only contiguous ones, if any, in the more significant bits and contiguous zeroes, if any, in the less significant bits. Given this constraint, a subnet mask and CIDR notation serve exactly the same function.
CIDR blocks
[edit]CIDR is principally a bitwise, prefix-based standard for the representation of IP addresses and their routing properties. It facilitates routing by allowing blocks of addresses to be grouped into single routing table entries. These groups, commonly called CIDR blocks, share an initial sequence of bits in the binary representation of their IP addresses. IPv4 CIDR blocks are identified using a syntax similar to that of IPv4 addresses: a dotted-decimal address, followed by a slash, then a number from 0 to 32, i.e., a.b.c.d/n. The dotted-decimal portion is the IPv4 address. The number following the slash is the prefix length, the number of shared initial bits, counting from the most-significant bit of the address. When emphasizing only the size of a network, the address portion of the notation is usually omitted. Thus, a /20 block is a CIDR block with an unspecified 20-bit prefix.
An IP address is part of a CIDR block and is said to match the CIDR prefix if the initial n bits of the address and the CIDR prefix are the same. An IPv4 address is 32 bits so an n-bit CIDR prefix leaves 32−n bits unmatched, meaning that 232−n IPv4 addresses match a given n-bit CIDR prefix. Shorter CIDR prefixes match more addresses, while longer prefixes match fewer. In the case of overlaid CIDR blocks, an address can match multiple CIDR prefixes of different lengths.
CIDR is also used for IPv6 addresses and the syntax semantic is identical. The prefix length can range from 0 to 128, due to the larger number of bits in the address. However, by convention, a subnet on broadcast MAC layer networks always has 64-bit host identifiers.[13] Larger prefixes (/127) are only used on some point-to-point links between routers, for security and policy reasons.[14]

Assignment of CIDR blocks
[edit]The Internet Assigned Numbers Authority (IANA) issues to regional Internet registries (RIRs) large, short-prefix CIDR blocks. However, a /8 (with over sixteen million addresses) is the largest block IANA will allocate. For example, 62.0.0.0/8 is administered by RIPE NCC, the European RIR. The RIRs, each responsible for a single, large, geographic area, such as Europe or North America, subdivide these blocks and allocate subnets to local Internet registries (LIRs). Similar subdividing may be repeated several times at lower levels of delegation. End-user networks receive subnets sized according to their projected short-term need. Networks served by a single ISP are encouraged by IETF recommendations to obtain IP address space directly from their ISP. Networks served by multiple ISPs, on the other hand, may obtain provider-independent address space directly from the appropriate RIR.

For example, in the late 1990s, the IP address 208.130.29.33 (since reassigned) was used by www.freesoft.org. An analysis of this address identified three CIDR prefixes. 208.128.0.0/11, a large CIDR block containing over 2 million addresses, had been assigned by ARIN (the North American RIR) to MCI. Automation Research Systems (ARS), a Virginia VAR, leased an Internet connection from MCI and was assigned the 208.130.28.0/22 block, capable of addressing just over 1000 devices. ARS used a /24 block for its publicly accessible servers, of which 208.130.29.33 was one. All of these CIDR prefixes would be used, at different locations in the network. Outside MCI's network, the 208.128.0.0/11 prefix would be used to direct to MCI traffic bound not only for 208.130.29.33, but also for any of the roughly two million IP addresses with the same initial 11 bits. Within MCI's network, 208.130.28.0/22 would become visible, directing traffic to the leased line serving ARS. Only within the ARS corporate network would the 208.130.29.0/24 prefix have been used.
IPv4 CIDR blocks
[edit]| Address format |
Difference to last address |
Mask | Addresses | Relative to class A, B, C |
Restrictions on a, b, c and d (0..255 unless noted) |
Typical use | |
|---|---|---|---|---|---|---|---|
| Decimal | 2n | ||||||
| a.b.c.d/32 | 255.255.255.255 | 1 | 20 | 1⁄256 C | Host route | ||
| a.b.c.d/31 | +0.0.0.1 | 255.255.255.254 | 2 | 21 | 1⁄128 C | d = 0 ... (2n) ... 254 | Point-to-point links (RFC 3021) |
| a.b.c.d/30 | +0.0.0.3 | 255.255.255.252 | 4 | 22 | 1⁄64 C | d = 0 ... (4n) ... 252 | Point-to-point links (glue network) |
| a.b.c.d/29 | +0.0.0.7 | 255.255.255.248 | 8 | 23 | 1⁄32 C | d = 0 ... (8n) ... 248 | Smallest multi-host network |
| a.b.c.d/28 | +0.0.0.15 | 255.255.255.240 | 16 | 24 | 1⁄16 C | d = 0 ... (16n) ... 240 | Small LAN |
| a.b.c.d/27 | +0.0.0.31 | 255.255.255.224 | 32 | 25 | 1⁄8 C | d = 0 ... (32n) ... 224 | |
| a.b.c.d/26 | +0.0.0.63 | 255.255.255.192 | 64 | 26 | 1⁄4 C | d = 0, 64, 128, 192 | |
| a.b.c.d/25 | +0.0.0.127 | 255.255.255.128 | 128 | 27 | 1⁄2 C | d = 0, 128 | Large LAN |
| a.b.c.0/24 | +0.0.0.255 | 255.255.255.0 | 256 | 28 | 1 C | ||
| a.b.c.0/23 | +0.0.1.255 | 255.255.254.0 | 512 | 29 | 2 C | c = 0 ... (2n) ... 254 | |
| a.b.c.0/22 | +0.0.3.255 | 255.255.252.0 | 1,024 | 210 | 4 C | c = 0 ... (4n) ... 252 | Small business |
| a.b.c.0/21 | +0.0.7.255 | 255.255.248.0 | 2,048 | 211 | 8 C | c = 0 ... (8n) ... 248 | Small ISP/ large business |
| a.b.c.0/20 | +0.0.15.255 | 255.255.240.0 | 4,096 | 212 | 16 C | c = 0 ... (16n) ... 240 | |
| a.b.c.0/19 | +0.0.31.255 | 255.255.224.0 | 8,192 | 213 | 32 C | c = 0 ... (32n) ... 224 | ISP/ large business |
| a.b.c.0/18 | +0.0.63.255 | 255.255.192.0 | 16,384 | 214 | 64 C | c = 0, 64, 128, 192 | |
| a.b.c.0/17 | +0.0.127.255 | 255.255.128.0 | 32,768 | 215 | 128 C | c = 0, 128 | |
| a.b.0.0/16 | +0.0.255.255 | 255.255.0.0 | 65,536 | 216 | 256 C = B | ||
| a.b.0.0/15 | +0.1.255.255 | 255.254.0.0 | 131,072 | 217 | 2 B | b = 0 ... (2n) ... 254 | |
| a.b.0.0/14 | +0.3.255.255 | 255.252.0.0 | 262,144 | 218 | 4 B | b = 0 ... (4n) ... 252 | |
| a.b.0.0/13 | +0.7.255.255 | 255.248.0.0 | 524,288 | 219 | 8 B | b = 0 ... (8n) ... 248 | |
| a.b.0.0/12 | +0.15.255.255 | 255.240.0.0 | 1,048,576 | 220 | 16 B | b = 0 ... (16n) ... 240 | |
| a.b.0.0/11 | +0.31.255.255 | 255.224.0.0 | 2,097,152 | 221 | 32 B | b = 0 ... (32n) ... 224 | |
| a.b.0.0/10 | +0.63.255.255 | 255.192.0.0 | 4,194,304 | 222 | 64 B | b = 0, 64, 128, 192 | |
| a.b.0.0/9 | +0.127.255.255 | 255.128.0.0 | 8,388,608 | 223 | 128 B | b = 0, 128 | |
| a.0.0.0/8 | +0.255.255.255 | 255.0.0.0 | 16,777,216 | 224 | 256 B = A | Largest IANA block allocation | |
| a.0.0.0/7 | +1.255.255.255 | 254.0.0.0 | 33,554,432 | 225 | 2 A | a = 0 ... (2n) ... 254 | |
| a.0.0.0/6 | +3.255.255.255 | 252.0.0.0 | 67,108,864 | 226 | 4 A | a = 0 ... (4n) ... 252 | |
| a.0.0.0/5 | +7.255.255.255 | 248.0.0.0 | 134,217,728 | 227 | 8 A | a = 0 ... (8n) ... 248 | |
| a.0.0.0/4 | +15.255.255.255 | 240.0.0.0 | 268,435,456 | 228 | 16 A | a = 0 ... (16n) ... 240 | |
| a.0.0.0/3 | +31.255.255.255 | 224.0.0.0 | 536,870,912 | 229 | 32 A | a = 0 ... (32n) ... 224 | |
| a.0.0.0/2 | +63.255.255.255 | 192.0.0.0 | 1,073,741,824 | 230 | 64 A | a = 0, 64, 128, 192 | |
| a.0.0.0/1 | +127.255.255.255 | 128.0.0.0 | 2,147,483,648 | 231 | 128 A | a = 0, 128 | |
| 0.0.0.0/0 | +255.255.255.255 | 0.0.0.0 | 4,294,967,296 | 232 | 256 A | Entire IPv4 Internet, default route | |
In routed subnets larger than /31 or /32, the number of available host addresses is usually reduced by two, namely the largest address, which is reserved as the broadcast address, and the smallest address, which identifies the network itself[15] and is reserved solely for this purpose.[16]
In such usage, a /31 network, with one binary digit in the host identifier, is unusable, as such a subnet would provide no available host addresses after this reduction. RFC 3021 creates an exception to the "host all ones" and "host all zeros" rules to make /31 networks usable for point-to-point links. /32 addresses (single-host network) must be accessed by explicit routing rules, as there is no address available for a gateway.
IPv6 CIDR blocks
[edit]| Prefix size | Number of equivalent subnets | Interface ID bits | ||
|---|---|---|---|---|
| /48 | /56 | /64 | ||
| /24 | 16M | 4G | 1T | 104 |
| /25 | 8M | 2G | 512G | 103 |
| /26 | 4M | 1G | 256G | 102 |
| /27 | 2M | 512M | 128G | 101 |
| /28 | 1M | 256M | 64G | 100 |
| /29 | 512K | 128M | 32G | 99 |
| /30 | 256K | 64M | 16G | 98 |
| /31 | 128K | 32M | 8G | 97 |
| /32 | 64K | 16M | 4G | 96 |
| /33 | 32K | 8M | 2G | 95 |
| /34 | 16K | 4M | 1G | 94 |
| /35 | 8K | 2M | 512M | 93 |
| /36 | 4K | 1M | 256M | 92 |
| /37 | 2K | 512K | 128M | 91 |
| /38 | 1K | 256K | 64M | 90 |
| /39 | 512 | 128K | 32M | 89 |
| /40 | 256 | 64K | 16M | 88 |
| /41 | 128 | 32K | 8M | 87 |
| /42 | 64 | 16K | 4M | 86 |
| /43 | 32 | 8K | 2M | 85 |
| /44 | 16 | 4K | 1M | 84 |
| /45 | 8 | 2K | 512K | 83 |
| /46 | 4 | 1K | 256K | 82 |
| /47 | 2 | 512 | 128K | 81 |
| /48 | 1 | 256 | 64K | 80 |
| /49 | 128 | 32K | 79 | |
| /50 | 64 | 16K | 78 | |
| /51 | 32 | 8K | 77 | |
| /52 | 16 | 4K | 76 | |
| /53 | 8 | 2K | 75 | |
| /54 | 4 | 1K | 74 | |
| /55 | 2 | 512 | 73 | |
| /56 | 1 | 256 | 72 | |
| /57 | 128 | 71 | ||
| /58 | 64 | 70 | ||
| /59 | 32 | 69 | ||
| /60 | 16 | 68 | ||
| /61 | 8 | 67 | ||
| /62 | 4 | 66 | ||
| /63 | 2 | 65 | ||
| /64 | 1 | 64 | ||
| K = 1,024 | ||||
| M = 1,048,576 | ||||
| G = 1,073,741,824 | ||||
| T = 1,099,511,627,776 | ||||
The large address size of IPv6 permitted worldwide route summarization and guaranteed sufficient address pools at each site. The standard subnet size for IPv6 networks is a /64 block, which is required for the operation of stateless address autoconfiguration.[17] At first, the IETF recommended in RFC 3177 as a best practice that all end sites receive /48 address allocations,[18] but criticism and reevaluation of actual needs and practices has led to more flexible allocation recommendations in RFC 6177[19] suggesting a significantly smaller allocation for some sites, such as a /56 block for residential networks.
This IPv6 subnetting reference lists the sizes for IPv6 subnetworks. Different types of network links may require different subnet sizes.[20] The subnet mask separates the bits of the network identifier prefix from the bits of the interface identifier. Selecting a smaller prefix size results in fewer number of networks covered, but with more addresses within each network.[21]
2001:0db8:0123:4567:89ab:cdef:1234:5678 |||| |||| |||| |||| |||| |||| |||| |||| |||| |||| |||| |||| |||| |||| |||| |||128 Single end-points and loopback |||| |||| |||| |||| |||| |||| |||| |||127 Point-to-point links (inter-router) |||| |||| |||| |||| |||| |||| |||| ||124 |||| |||| |||| |||| |||| |||| |||| |120 |||| |||| |||| |||| |||| |||| |||| 116 |||| |||| |||| |||| |||| |||| |||112 |||| |||| |||| |||| |||| |||| ||108 |||| |||| |||| |||| |||| |||| |104 |||| |||| |||| |||| |||| |||| 100 |||| |||| |||| |||| |||| |||96 |||| |||| |||| |||| |||| ||92 |||| |||| |||| |||| |||| |88 |||| |||| |||| |||| |||| 84 |||| |||| |||| |||| |||80 |||| |||| |||| |||| ||76 |||| |||| |||| |||| |72 |||| |||| |||| |||| 68 |||| |||| |||| |||64 Single LAN; default prefix size for SLAAC |||| |||| |||| ||60 Some (very limited) 6rd deployments (/60 = 16 /64 blocks) |||| |||| |||| |56 Minimal end-site assignment;[19] e.g. home network (/56 = 256 /64 blocks) |||| |||| |||| 52 /52 block = 4096 /64 blocks |||| |||| |||48 Typical assignment for larger sites (/48 = 65536 /64 blocks) |||| |||| ||44 |||| |||| |40 |||| |||| 36 possible future local Internet registry (LIR) extra-small allocations |||| |||32 LIR minimum allocations |||| ||28 LIR medium allocations |||| |24 LIR large allocations |||| 20 LIR extra large allocations |||16 ||12 Regional Internet registry (RIR) allocations from IANA[22] |8 4
Numerical interpretation
[edit]Topologically, the set of subnets described by CIDR represent a cover of the corresponding address space. The interval described by the notation numerically corresponds to addresses of the form (for IPv4) and (for IPv6), where and has the lower bits set to 0. For a fixed , the set of all subnets constitute a partition, that is a cover of non-overlapping sets. Increasing yields finer and finer subpartitions. Thus two subnets and are either disjoint or one is a subnet of the other.
Prefix aggregation
[edit]CIDR provides fine-grained routing prefix aggregation. For example, if the first 20 bits of their network prefixes match, sixteen contiguous /24 networks can be aggregated and advertised to a larger network as a single /20 routing table entry. This reduces the number of routes that have to be advertised.
See also
[edit]References
[edit]- ^ Y. Rekhter; T. Li (September 1993). An Architecture for IP Address Allocation with CIDR. doi:10.17487/RFC1518. RFC 1518.
- ^ a b V. Fuller; T. Li; J. Yu; K. Varadhan (September 1993). Classless Inter-Domain Routing (CIDR): an Address Assignment and Aggregation Strategy. doi:10.17487/RFC1519. RFC 1519.
- ^ J. Reynolds; J. Postel, eds. (April 1985). Assigned Numbers. doi:10.17487/RFC0943. RFC 943.
- ^ R. Hinden, ed. (September 1993). Applicability Statement for the Implementation of Classless Inter-Domain Routing (CIDR). doi:10.17487/RFC1517. RFC 1517.
- ^ a b V. Fuller; T. Li (August 2006). Classless Inter-domain Routing (CIDR): The Internet Address Assignment and Aggregation Plan. doi:10.17487/RFC4632. RFC 4632.
- ^ a b J. Mogul; J. Postel, eds. (August 1985). Internet Standard Subnetting Procedure. sec. 2.1. doi:10.17487/RFC0950. RFC 950.
- ^ Carl-Herbert Rokitansky, "Internet Cluster Addressing Scheme and its Application to Public Data Networks", Proc. 9th International Conference on Computer Communication (ICCC' 88), pp. 482–491, Tel Aviv, Israel, October/November 1988
- ^ Cluster Addressing and CIDR in the mail archives of the IETF
- ^ Brian Kantor (December 2018). "Re: Stupid Question maybe?". North American Network Operators Group.
/24 is certainly cleaner than 255.255.255.0. I seem to remember it was Phil Karn who in the early 80's suggested that expressing subnet masks as the number of bits from the top end of the address word was efficient, since subnet masks were always a series of ones followd by zeros with no interspersing, which was incorporated (or independently invented) about a decade later as CIDR a.b.c.d/n notation in RFC1519.
- ^ William Simpson (December 2018). "Re: Stupid Question maybe?". North American Network Operators Group.
Actually, Brian is correct. Phil was w-a-y ahead of the times. But I don't remember him talking about it until the late '80s.
- ^ T. Pummill; B. Manning (December 1995). Variable Length Subnet Table For IPv4. doi:10.17487/RFC1878. RFC 1878.
- ^ S. Williamson; M. Kosters; D. Blacka; J. Singh; K. Zeilstra (June 1997). Referral Whois (RWhois) Protocol V1.5. doi:10.17487/RFC2167. RFC 2167.
IP networks are also lexically hierarchical labels using the Classless Inter-Domain Routing (CIDR) notation, but their hierarchy is not easily determined with simple text manipulation; for example, 198.41.0.0/22 is a part of 198.41.0.0/16, which is a part of 198.40.0.0/15.
- ^ Carpenter, B.; Jiang, S. (February 2014). Significance of IPv6 Interface Identifiers. doi:10.17487/RFC7136. RFC 7136.
- ^ Kohno, M.; Nitzan, B.; Bush, R.; Matsuzaki, Y.; Colitti, L.; Narten, T. (April 2011). Using 127-Bit IPv6 Prefixes on Inter-Router Links. doi:10.17487/RFC6164. RFC 6164.
- ^ J. Mogul, ed. (October 1984). Broadcasting Internet Datagrams in the Presence of Subnets. sec. 7. doi:10.17487/RFC0922. RFC 922.
- ^ F. Baker, ed. (June 1995). Requirements for IP Version 4 Routers. sec. 4.2.3.1. doi:10.17487/RFC1812. RFC 1812.
- ^ RFC 4862
- ^ IAB/IESG Recommendation on IPv6 Address Allocations to Sites. IAB/IESG. September 2001. doi:10.17487/RFC3177. RFC 3177.
- ^ a b T. Narten; G. Huston; L. Roberts (March 2011). IPv6 Address Assignment to End Sites. doi:10.17487/RFC6177. RFC 6177.
- ^ "ARIN IPv6 Addressing Plans". Getipv6.info. March 25, 2016. Retrieved March 12, 2018.
- ^ "RIPE IP Allocation Rates". Archived from the original on February 3, 2011.
- ^ "IANA IPv6 unicast address assignments". Iana.org. Retrieved March 12, 2018.
Further reading
[edit]- Classless IN-ADDR.ARPA delegation. March 1998. doi:10.17487/RFC2317. RFC 2317.
- CIDR and Classful Routing. August 1995. doi:10.17487/RFC1817. RFC 1817.
External links
[edit]- CIDR Report (updated daily)
Classless Inter-Domain Routing
View on GrokipediaHistory and Motivation
Background and Development
In the early 1990s, the rapid expansion of the Internet highlighted critical limitations in the classful addressing system, particularly the depletion of Class B address space and the exponential growth of routing tables, which threatened the scalability of global IP routing. By January 1993, over 7,133 Class B networks had been allocated, with allocations doubling annually, while routing tables had swelled to approximately 8,561 entries by December 1992 and were projected to exceed 30,000 within two years without intervention.[4] These challenges stemmed from inefficient address allocation under the classful model, where fixed block sizes often led to waste, and the lack of aggregation mechanisms exacerbated router memory and processing demands. Discussions on Internet scalability began as early as 1990-1992 within IETF working groups and ad hoc teams like the ROAD (Routing and Addressing) group, building on earlier concepts such as Variable-Length Subnet Masking (VLSM) for intra-domain flexibility, which influenced the need for an inter-domain solution.[4][5] Classless Inter-Domain Routing (CIDR) emerged as a direct response to these issues, formalized by the Internet Engineering Task Force (IETF) in September 1993 through RFC 1518, which outlined an architecture for IP address allocation, and RFC 1519, which detailed the aggregation strategy.[6][4] Key contributors included Yakov Rekhter and Tony Li for RFC 1518, and Vince Fuller, Tony Li, Jessica Yu, and Kannan Varadhan for RFC 1519, representing organizations such as IBM, Cisco Systems, BARRNet, MERIT, and OARnet. These efforts extended VLSM principles to inter-domain routing, enabling variable-length prefixes to aggregate routes and conserve the 32-bit IPv4 address space as a shared community resource.[6][4] Initial deployment of CIDR began in late 1993, supported by early router vendor implementations and the formation of regional registries like RIPE NCC, which managed initial Class C block allocations.[7] By 1994, the introduction of BGP-4 further facilitated route aggregation, leading to widespread adoption across Internet service providers by the mid-1990s.[5] Although designed as a short-term measure viable for three to five years, CIDR significantly delayed IPv4 address exhaustion—originally projected for the late 1990s—extending usability into the 2010s through efficient allocation practices adopted by organizations like the American Registry for Internet Numbers (ARIN), established in 1997.[5][8]Comparison to Classful Routing
Classful routing, the original IP addressing scheme, divided the IPv4 address space into fixed classes—A, B, and C—with predefined network prefix lengths of /8 (over 16 million addresses), /16 (65,536 addresses), and /24 (256 addresses), respectively. This rigid structure often resulted in significant address waste, as organizations were assigned entire classes regardless of their actual needs; for instance, a mid-sized entity requiring around 1,000 addresses would receive a full Class B block of 65,536 addresses, leaving the majority unused.[4] By early 1993, over 7,000 Class B networks had been allocated out of 16,382 available, with allocations doubling annually and risking exhaustion within 15 months.[4] In contrast, CIDR introduces variable-length prefix lengths, allowing networks to be subdivided or combined flexibly without adhering to class boundaries, thereby enabling both subnetting for finer granularity and supernetting for broader aggregation. This departs from classful routing's fixed sizes, which prohibited such adjustments and forced inefficient allocations. Prefix aggregation in CIDR further enhances this by summarizing multiple contiguous routes into a single entry, a capability absent in classful systems.[4] CIDR markedly improved efficiency by conserving addresses through optimal block sizing and curbing explosive routing table growth; pre-CIDR, the global routing table expanded from 244 entries in 1988 to 8,561 by December 1992, doubling roughly every 10 months and projected to hit 30,000 within two years without intervention. Post-CIDR deployment in 1993–1994, growth stabilized dramatically—for example, projections estimated the table would reach only about 5,650 entries after three years with aggregation, compared to 75,000 without, and historical data confirms this moderation as the table hovered around 50,000–60,000 entries for much of the late 1990s and early 2000s.[4] Address conservation was equally impactful, as CIDR facilitated reuse of underutilized blocks by reallocating them in smaller, tailored chunks, averting the classful system's utilization inefficiencies in Class B assignments.[4]| Scenario | Organization Size (Addresses Needed) | Classful Allocation | Addresses Wasted | CIDR Allocation | Addresses Wasted |
|---|---|---|---|---|---|
| Small network | 100 | Class C (/24): 256 | 156 (61%) | /25: 128 | 28 (22%) |
| Medium network | 1,000 | Class B (/16): 65,536 | 64,536 (98%) | /22: 1,024 | 24 (2%) |
| Large network | 10,000 | Class B (/16): 65,536 | 55,536 (85%) | /18: 16,384 | 6,384 (39%) |
Core Concepts
CIDR Notation
Classless Inter-Domain Routing (CIDR) notation provides a compact way to represent IP network addresses and their associated prefix lengths, enabling efficient specification of address ranges without relying on traditional class boundaries. The standard format consists of an IP address in dotted-decimal notation (for IPv4) or hexadecimal notation (for IPv6), followed by a forward slash (/) and a decimal number indicating the prefix length, which denotes the number of significant bits in the network portion of the address. For example, the notation 192.0.2.0/24 specifies that the first 24 bits of the 32-bit IPv4 address 192.0.2.0 form the network prefix, allowing the remaining 8 bits to identify individual hosts within that network.[9] Similarly, for IPv6, an example like 2001:db8::/32 indicates the first 32 bits as the prefix in a 128-bit address space.[10] The prefix length in CIDR notation ranges from 0 to 32 bits for IPv4 addresses and from 0 to 128 bits for IPv6 addresses, providing flexibility in defining network sizes from the entire address space down to a single host. A prefix length of /0 represents the default route, encompassing all possible addresses (2^32 for IPv4 or 2^128 for IPv6), while /32 for IPv4 or /128 for IPv6 denotes a single host route with no additional host bits available. In terms of address coverage, a shorter prefix length results in a larger block; for instance, a /24 prefix in IPv4 covers 256 addresses (2^(32-24)), which is commonly used for small to medium-sized networks. This notation directly corresponds to the binary representation of subnet masks, where the prefix length equals the number of leading 1 bits in the mask.[9][10] CIDR notation for IPv4 was standardized in RFC 4632, published in 2006 by the Internet Engineering Task Force (IETF), which updated and obsoleted earlier specifications like RFC 1519 from 1993 to formalize the addressing and aggregation strategy.[9] For IPv6, the prefix notation is specified in RFC 4291.[10] This standardization addressed the limitations of classful routing by introducing variable-length subnet masking (VLSM) support. In practice, CIDR notation is widely used in routing protocols and configuration tools, such as the Border Gateway Protocol (BGP) for inter-domain route advertisement and the Open Shortest Path First (OSPF) protocol for intra-domain routing, where prefixes are exchanged to enable route aggregation and efficient forwarding tables.[9]Subnet Masks and Prefix Lengths
For IPv4, a subnet mask is a 32-bit value that divides an IP address into a network portion and a host portion by applying a bitwise AND operation.[9] In binary form, the mask consists of a contiguous sequence of 1s followed by 0s, where the 1s represent the fixed network bits and the 0s represent the variable host bits; for example, the /24 prefix corresponds to the dotted-decimal mask 255.255.255.0, which in binary is 11111111.11111111.11111111.00000000.[9] This contiguous structure ensures that the mask aligns with the hierarchical nature of IP addressing, preventing non-contiguous bit patterns that could complicate routing.[9] For IPv6, prefix lengths define the equivalent division into subnet prefix and interface identifier without using traditional subnet masks.[10] The prefix length, denoted by /n in CIDR notation, specifies the number of leading bits (n) in the IP address that are fixed as the network prefix, equivalent to the position of the last 1 in the subnet mask for IPv4.[9] For IPv4, this leaves 32 - n bits for host addressing, allowing up to 2^(32 - n) total addresses in the subnet, including the network and broadcast addresses.[9] In IPv6, the prefix length similarly defines the fixed bits in the 128-bit address, with the remaining bits allocated for interface identifiers, typically 64 bits for global unicast addresses, yielding 2^(128 - n) possible addresses.[10] This equivalence between masks and prefix lengths enables efficient representation and aggregation of address blocks without specifying the full mask in binary or decimal form.[9] To determine the network address from an IP address, a bitwise AND operation is performed between the IP address and the subnet mask for IPv4, zeroing out the host bits.[9] For instance, the IPv4 address 192.168.1.100 with a /24 mask (255.255.255.0) results in the network address 192.168.1.0, as the first 24 bits remain unchanged while the last 8 bits are set to 0.[9] This operation is fundamental to routing decisions, ensuring that packets are forwarded based on the shared network prefix.[9] Variable Length Subnet Masking (VLSM) integrates with CIDR for IPv4 by permitting subnets of different sizes within a larger allocated block, using varying prefix lengths to optimize address usage.[9] For example, a /16 block can be subdivided into non-contiguous /21 and /22 subnets as needed, allowing efficient allocation for networks of differing scales without wasting addresses in fixed-size classes.[9] This flexibility is essential for conserving the IPv4 address space and supports similar variable prefixing in IPv6 deployments.[10] The following table shows the dotted-decimal and binary representations for common IPv4 prefix lengths:| Prefix Length | Dotted-Decimal Mask | Binary Representation |
|---|---|---|
| /8 | 255.0.0.0 | 11111111.00000000.00000000.00000000 |
| /16 | 255.255.0.0 | 11111111.11111111.00000000.00000000 |
| /24 | 255.255.255.0 | 11111111.11111111.11111111.00000000 |
Address Allocation
CIDR Blocks and Assignment
CIDR blocks represent contiguous ranges of IP addresses that share a common network prefix, allowing for flexible and efficient allocation to minimize routing table sizes across the Internet. These blocks are specified using CIDR notation, where the prefix length indicates the number of bits fixed for the network portion, determining the block's size; for instance, a /20 block encompasses 4,096 addresses (2^(32-20)). This structure supports variable-length subnet masking (VLSM), enabling the division of address space into subnets of differing sizes without adhering to rigid class boundaries, thereby promoting conservation and scalability in IP routing.[9] The assignment of CIDR blocks follows a hierarchical process managed by authoritative bodies to ensure global coordination and equitable distribution. The Internet Assigned Numbers Authority (IANA), under the Internet Corporation for Assigned Names and Numbers (ICANN), allocates large pools of unallocated IP addresses to the five Regional Internet Registries (RIRs): the American Registry for Internet Numbers (ARIN) for North America, the Réseaux IP Européens Network Coordination Centre (RIPE NCC) for Europe and the Middle East, the Asia-Pacific Network Information Centre (APNIC) for Asia and Oceania, the Latin American and Caribbean Internet Addresses Registry (LACNIC) for Latin America and the Caribbean, and the African Network Information Centre (AFRINIC) for Africa. RIRs then distribute smaller CIDR blocks to Local Internet Registries (LIRs), typically Internet Service Providers (ISPs) and other network operators, based on demonstrated need and regional policies; LIRs subsequently assign portions to end-users such as organizations and individuals. This tiered model facilitates decentralized management while maintaining a unified global registry system.[11][12] Allocation policies emphasize conservation and justification to prevent wasteful distribution, as outlined in RFC 2050, which provides guidelines for IP address registries. RIRs require applicants to demonstrate utilization rates—typically 25% immediate use and 50% within one year—for requested blocks, with minimum sizes determined by need; for example, small organizations often receive a /24 block (256 addresses) as the smallest routable unit, while larger entities justify /20 or bigger based on projected growth and efficiency. These principles aim to extend the usability of the finite IP address pool, prohibiting reallocation beyond the assignee's organization without registry approval.[13] Global management of the IP address pool has been strained by IPv4 exhaustion, with IANA depleting its free pool in 2011, prompting RIRs to implement post-exhaustion mechanisms such as recovering unused addresses and facilitating transfers. Most RIRs reached exhaustion shortly thereafter: APNIC in April 2011, RIPE NCC in September 2012, ARIN in September 2015, LACNIC in June 2014 (with final depletion in August 2020), and AFRINIC entering exhaustion phases in March 2017. However, as of 2025, AFRINIC is experiencing a governance crisis that has led to disruptions in resource allocations. Tools like the WHOIS protocol enable public lookups of assigned CIDR blocks, revealing ownership, allocation dates, and contact details through RIR databases to support transparency and troubleshooting.[14][15][16][17][18][19] Improper assignment practices, particularly deaggregation—where larger CIDR blocks are subdivided and announced as more specific prefixes—can lead to routing inefficiencies by inflating the Border Gateway Protocol (BGP) routing tables. This fragmentation increases memory and processing demands on routers, potentially causing convergence delays, higher operational costs, and scalability issues across the Internet, as evidenced by studies showing deaggregation contributing significantly to table growth rates exceeding 10% annually in the early 2000s. To mitigate these risks, policies discourage unnecessary deaggregation, favoring aggregation where possible to maintain CIDR's efficiency goals.[20][21]IPv4 Specifics
In IPv4, CIDR enables flexible allocation of address blocks based on prefix lengths, where common sizes are tailored to network scale. For instance, a /8 block provides 16,777,216 addresses, suitable for large regional networks or ISPs, while a /24 block offers 256 addresses, ideal for small sites or subnets.[9] These allocations follow the formula of 2^(32 - prefix length) usable host addresses, excluding network and broadcast.[22] The following table summarizes standard IPv4 CIDR block sizes from /13 to /27, highlighting address counts and subnet masks for reference:| Prefix Length | Number of Addresses | Subnet Mask |
|---|---|---|
| /13 | 524,288 | 255.248.0.0 |
| /14 | 262,144 | 255.252.0.0 |
| /15 | 131,072 | 255.254.0.0 |
| /16 | 65,536 | 255.255.0.0 |
| /17 | 32,768 | 255.255.128.0 |
| /18 | 16,384 | 255.255.192.0 |
| /19 | 8,192 | 255.255.224.0 |
| /20 | 4,096 | 255.255.240.0 |
| /21 | 2,048 | 255.255.248.0 |
| /22 | 1,024 | 255.255.252.0 |
| /23 | 512 | 255.255.254.0 |
| /24 | 256 | 255.255.255.0 |
| /25 | 128 | 255.255.255.128 |
| /26 | 64 | 255.255.255.192 |
| /27 | 32 | 255.255.255.224 |
IPv6 Specifics and Adoption
In IPv6, Classless Inter-Domain Routing (CIDR) operates over a 128-bit address space, extending the subnet mask concept to support hierarchical allocations that prevent the address exhaustion issues prevalent in IPv4. Regional Internet Registries (RIRs) typically allocate /32 prefixes to Local Internet Registries (LIRs), which in turn assign /48 blocks to end-site organizations, enabling efficient aggregation and routing scalability.[33] Within these /48 allocations, individual local area networks (LANs) are standardly subnetted as /64 prefixes, each providing 2^64 addresses to accommodate autoconfiguration and dense device deployments without fragmentation concerns.[34] Unlike IPv4's focus on individual host assignments, IPv6 CIDR emphasizes prefix delegation to manage vast address pools, eliminating the need for network address translation (NAT) and simplifying end-to-end connectivity.[35] Prefixes are delegated to customer sites via mechanisms such as DHCPv6 Prefix Delegation, which assigns dynamic subnets to routers, or Stateless Address Autoconfiguration (SLAAC), which allows hosts to generate addresses from router advertisements without centralized state.[36][37] As of November 2025, global IPv6 adoption has reached approximately 45% of Internet traffic, driven by measurements from major content providers and registries, though regional disparities persist with Asia-Pacific economies leading at over 50% capability while Europe and the Middle East average around 28%.[38][39] A pivotal milestone was the World IPv6 Launch on June 6, 2012, when leading ISPs, websites, and device manufacturers permanently enabled IPv6 support, accelerating deployment and establishing it as a foundational event for widespread protocol integration.[40][41] Transitioning to IPv6 while leveraging CIDR introduces challenges, including the complexity of dual-stack operations where networks maintain parallel IPv4 and IPv6 routing tables, potentially increasing BGP table sizes due to less aggressive aggregation in mixed environments.[42] Tunneling mechanisms like 6to4, which encapsulate IPv6 packets over IPv4 infrastructure, have faced reliability issues with failure rates of 20-30% on public networks, complicating CIDR-based route propagation.[43] In BGP, IPv6 CIDR enables route summarization similar to IPv4 but requires careful prefix management to avoid de-aggregation during transitions, as longer prefixes can inflate global routing tables.[44] Policy evolution has refined IPv6 CIDR practices; RFC 6177, published in 2011, shifted recommendations from /48 to /56 prefixes for most end-sites to conserve space while supporting multiple /64 subnets, balancing flexibility with global allocation efficiency.[45] Current RIR guidelines, such as those from RIPE NCC and APNIC, align with this by discouraging assignments longer than /56 absent compelling technical needs and promoting /48 only for large sites requiring extensive subnetworking.[46][34]Technical Details
Numerical Interpretation
In the topological view of IP addressing, a CIDR prefix of length /n for IPv4 represents a contiguous set of addresses within the 32-bit address space, where the block begins at an address that is a multiple of .[9] This structure ensures hierarchical alignment, treating the address space as a binary tree where prefixes correspond to subtrees of fixed size. The network address, which defines the starting point of the block, is calculated by performing a bitwise AND operation between any IP address in the prefix and the corresponding subnet mask: \text{[network address](/page/Network_address)} = \text{IP} \land \text{mask}.[9] The full range of addresses covered by the prefix then spans from this network address to \text{[network address](/page/Network_address)} + 2^{32-n} - 1, inclusive.[9] The subnet mask itself consists of n left-justified 1 bits followed by 0 bits in binary representation, delineating the fixed prefix bits from the variable host bits.[9] For instance, the prefix 10.0.0.0/8 has a mask of 255.0.0.0 (binary: 11111111.00000000.00000000.00000000), covering the address range from 10.0.0.0 to 10.255.255.255, which encompasses addresses.[9] This binary alignment guarantees that valid CIDR blocks do not partially overlap; instead, two prefixes are either disjoint (their address ranges have no intersection), or one is nested within the other (the shorter prefix fully contains the longer one if the network address of the longer prefix falls within the range of the shorter one and shares the same initial bits).[9] For IPv6, the numerical interpretation extends analogously to the 128-bit address space, where a /n prefix denotes a set of addresses starting from a multiple of .[10] The network address is similarly derived via bitwise AND with a mask of n leading 1s, and the range bounds follow the same additive formula adjusted for the larger exponent.[10] IPv6 emphasizes sparse allocation of prefixes to accommodate the vast address space while enabling efficient routing, often using longer prefixes (e.g., /64 for subnets) to minimize density in the topology.[10]Prefix Aggregation and Route Summarization
Prefix aggregation, also known as route summarization, in Classless Inter-Domain Routing (CIDR) involves combining multiple contiguous IP address prefixes into a single, larger prefix to represent a broader range of addresses efficiently. This process requires that the prefixes be adjacent in the address space and typically of the same length to ensure the summary covers the exact range without gaps or overlaps. For instance, the prefixes 192.0.2.0/24 (covering 192.0.2.0 to 192.0.2.255) and 192.0.3.0/24 (covering 192.0.3.0 to 192.0.3.255) can be aggregated into 192.0.2.0/23 (covering 192.0.2.0 to 192.0.3.255), as they are contiguous and align on bit boundaries.[9] A key condition for valid aggregation is the adjacency of prefixes, where the binary representations allow merging without leaving unrepresented addresses, and they must share the same prefix length for straightforward summarization. Routers employ the longest prefix match (LPM) principle during forwarding, ensuring that more specific routes (e.g., a /24) take precedence over the aggregated route (e.g., /23) when applicable, which preserves routing accuracy.[9][9] The primary benefit of prefix aggregation is the reduction in the size of routing tables, particularly in the Border Gateway Protocol (BGP), where the global IPv4 routing table exceeded 1,036,000 entries by November 2025, making aggregation essential for manageability and scalability. By summarizing routes, network operators can limit the propagation of detailed prefixes, thereby decreasing memory usage, processing overhead, and the risk of route flapping across the internet.[47][9][48] Algorithms for optimal prefix aggregation often model the problem as finding a minimal set of covering prefixes for a collection of more specific routes, akin to a set cover approach where disjoint intervals are merged greedily based on adjacency. In practice, BGP implementations use source-based aggregation by the originating autonomous system (AS), applying techniques like the "aggregate-address" command to generate summaries while suppressing specifics, guided by frameworks that prioritize hierarchical allocation. De-aggregation, the reverse process of advertising more specific prefixes within an aggregate, can lead to pitfalls such as blackholing, where traffic intended for a specific subnet is dropped if the more specific route is not consistently propagated or filtered across all paths due to LPM inconsistencies.[48][49][9] Practical examples illustrate aggregation's utility: a provider allocated 16 contiguous /24 prefixes (e.g., 203.0.112.0/24 through 203.0.127.0/24) can summarize them into a single /20 prefix (203.0.112.0/20), reducing table entries from 16 to 1. For IPv6, where larger allocations are common, end-site /48 prefixes assigned to customers can be aggregated into a provider's /32 block, enabling efficient routing for vast address spaces while maintaining CIDR principles of contiguous, bit-aligned summarization.[9][50]Applications and Implications
Practical Examples
In a typical ISP allocation scenario, a service provider might assign a /22 CIDR block, encompassing 1,024 IPv4 addresses, to a small business requiring moderate address space for its local area network.[9] This block, for instance, could be 192.168.0.0/22, allowing the business to subnet it into three /24 networks—such as 192.168.0.0/24 for employee devices, 192.168.1.0/24 for servers, and 192.168.2.0/24 for guest access—each providing 256 addresses while conserving the overall allocation.[51] The remaining addresses in the /22 can serve as a buffer for future expansion or point-to-point links, demonstrating how CIDR enables flexible, efficient subdivision without rigid class boundaries.[9] For enterprises employing multi-homing to enhance redundancy and load balancing, CIDR facilitates the advertisement of a consolidated prefix, such as a /20 block (4,096 addresses), to multiple upstream ISPs via Border Gateway Protocol (BGP).[52] Consider an organization with the prefix 10.0.0.0/20 connected to ISP A and ISP B; the enterprise's border routers announce this single aggregate route to both providers, enabling inbound traffic to enter via the optimal path while the ISPs propagate the summarized route further.[53] This approach maintains route scalability, as the /20 can encompass internal subnets like /24s for departments, and BGP attributes such as AS_PATH ensure loop prevention across providers.[52] Such configurations are common for medium-sized enterprises to achieve fault tolerance without fragmenting their address space across disparate announcements. In IPv4-to-IPv6 transition environments, CIDR supports mechanisms like 6rd (IPv6 Rapid Deployment) tunneling, where an ISP allocates a shared IPv4 prefix—often a /16 or larger CIDR block—to embed customer IPv4 addresses within IPv6 packets for encapsulation. For example, using a 192.0.2.0/24 prefix from the ISP's CIDR allocation, a customer's IPv4 address (e.g., 192.0.2.10) is mapped into an IPv6 address like 2001:db8::192.0.2.10, allowing IPv6 traffic to traverse the IPv4 infrastructure via tunnels to a 6rd border relay. Similarly, in dual-stack setups with NAT64 translation, a well-known IPv6 prefix (64:ff9b::/96) combined with CIDR-allocated IPv4 blocks enables stateless mapping; an enterprise might use a /20 IPv4 CIDR for internal hosts, translating outbound IPv4 traffic to IPv6 by embedding the source IPv4 address into the IPv6 destination.[54] These techniques allow gradual IPv6 adoption while leveraging existing CIDR-based IPv4 addressing. Troubleshooting CIDR deployments often involves identifying issues from misaggregated prefixes, such as when a more specific /24 route overlaps or conflicts within a broader /20 advertisement, potentially inducing routing loops.[55] For instance, if an enterprise advertises 10.0.1.0/24 (a subnet of 10.0.0.0/20) to one ISP without filtering, while the primary /20 is announced to another, BGP may select the more specific /24 for return traffic, causing packets to loop between providers if AS paths are not properly validated.[53] Network engineers diagnose this by examining BGP tables for unexpected specifics (using commands likeshow ip bgp) and verifying prefix hierarchies to ensure aggregation aligns with allocation boundaries, preventing blackholing or suboptimal paths.[53]
Network administrators commonly use tools like ipcalc for verifying CIDR blocks during configuration and deployment. For example, running ipcalc 192.168.0.0/22 outputs the network range (192.168.0.0-192.168.3.255), usable hosts (1,022 addresses), and subnet details, helping confirm that a /22 allocation yields exactly three full /24 subnets without overlap. In packet analysis, Wireshark captures can be filtered by CIDR prefixes to inspect traffic adherence; a display filter like ip.addr == 10.0.0.0/20 isolates packets within the block, revealing if sources or destinations fall outside expected subnets, thus validating routing or detecting anomalies in live networks.[56] These tools streamline operational tasks by providing quick numerical and visual confirmation of CIDR implementations.
