跳转到主要内容

热门内容

今日:


总体:


最近浏览:


Chinese, Simplified

category

“CIDR”重定向到此处。有关其他用途,请参阅CIDR(消除歧义)。
无类别域间路由是一种为IP路由分配IP地址的方法。互联网工程任务组于1993年引入CIDR,以取代以前在互联网上的经典网络寻址架构。其目标是减缓互联网路由器上路由表的增长,并帮助减缓IPv4地址的快速耗尽。[1][2]

IP地址被描述为由地址中的两组比特组成:最高有效比特是网络前缀,它标识整个网络或子网,最低有效集形成主机标识符,它指定网络上主机的特定接口。这种划分被用作IP网络之间流量路由和地址分配策略的基础。

尽管IPv4的分类网络设计将网络前缀大小定为一个或多个8位组,从而产生A类、B类或C类地址的块,但在CIDR下,地址空间在任何地址位边界上分配给互联网服务提供商和最终用户。然而,在IPv6中,接口标识符按照惯例具有64位的固定大小,并且较小的子网从不分配给最终用户。

CIDR基于可变长度子网掩码(VLSM),其中网络前缀具有可变长度(与之前的类网络设计的固定长度前缀相反)。这样做的主要好处是,它可以更好地控制分配给组织的子网的大小,从而减缓IPv4地址因分配比所需更大的子网而耗尽的速度。CIDR产生了一种新的书写IP地址的方式,称为CIDR表示法,其中IP地址后面跟着一个后缀,表示前缀的位数。CIDR表示法的一些示例是IPv4的地址192.0.2/24和IPv6的地址2001:db8::/32。具有连续前缀的地址块可以被聚合为超网,从而减少全局路由表中的条目数量。

背景


每个IP地址由一个网络前缀和一个主机标识符组成。在IPv4的分类网络架构中,32位IP地址的三个最高有效位定义了单播网络的网络前缀的大小,并确定了网络类别A、B或C。[3]

Class

Most-significant 

bits

Network 

prefix 

size (bits)

Host identifier 

size (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)
E(reserved)
1110
1111
224.0.0.0–255.255.255.255

该系统的优点在于,可以在没有任何进一步信息的情况下为任何IP地址确定网络前缀。缺点是,对于大多数组织来说,网络通常太大或太小,无法使用,因为只有三种尺寸可用。最小的分配和路由块包含28=256个地址,比个人或部门网络所需的地址大,但对大多数企业来说太小了。下一个较大的块包含216=65536个地址,太大了,即使是大型组织也无法有效使用。但对于需要超过65536个地址的网络用户来说,唯一的其他大小(224个)提供了太多,超过1600万个。这导致了地址使用的低效率和路由的低效率,因为它需要大量分配的具有单独路由公告的C类网络,地理位置分散,几乎没有路由聚合的机会。

在域名系统(DNS)发明后的十年内,人们发现分类网络方法是不可扩展的。[4] 这导致了子网和CIDR的发展。以前基于最高有效地址位的有意义的类区分被放弃了,新系统被描述为无类,而旧系统后来被称为有类。路由协议被修改为不仅携带IP地址,还携带其子网掩码。实施CIDR需要对互联网上的每一台主机和路由器进行小规模的重新编程——在互联网进入快速增长时期时,这是一项不小的壮举。1993年,互联网工程任务组发布了一组新的标准,RFC 1518和RFC 1519,以定义分配IP地址块和路由IPv4数据包的新原则。更新版本RFC 4632于2006年发布。[5]

经过一段时间对各种替代方案的实验,无类别域间路由是基于可变长度子网掩码(VLSM)的,它允许将每个网络划分为两种大小的不同功率的子网络,从而可以根据本地需求适当调整每个子网络的大小。RFC 950中提到了可变长度子网掩码作为一种替代方案。[6]对地址进行分组以进行公共操作的技术基于Carl Herbert Rokitansky首次提出的集群寻址概念。[7][8]


CIDR表示法


CIDR表示法是IP地址及其相关网络掩码的紧凑表示。这种记谱法是由菲尔·卡恩在20世纪80年代发明的。[9] [10]CIDR表示法指定IP地址、斜线('/')字符和十进制数。十进制数是网络掩码中连续前导1位(从左到右)的计数。每个1比特表示地址范围的一个比特,该比特必须与给定的IP地址保持相同。CIDR表示法中的IP地址总是根据IPv4或IPv6的标准来表示。

该地址可以表示特定的接口地址(包括主机标识符,例如10.0.0.1/8),或者它可以是整个网络的起始地址(使用主机标识符0,如10.0.0.0/8或其等效10/8)。CIDR表示法甚至可以在根本没有IP地址的情况下使用,例如,当将/24作为具有24位前缀和8位主机号的IPv4网络的通用描述时。

例如

  • 198.51.100.14/24表示IPv4地址198.51.10.14及其相关联的网络前缀198.51.100.0,或者等效地,其子网掩码255.255.255.0,其具有24个前导1比特。
  • IPv4块198.51.100.0/22表示从198.51.100.0到198.51.103.255的1024个IPv4地址。
  • IPv6块2001:db8::/48表示从2001:db8:0:0:0:0:0:0到2001:db8:00的IPv6地址块。
  • ::1/128表示IPv6环回地址。它的前缀长度是128,这是地址中的位数。
     

    在IPv4中,CIDR表示法只有在该方法实现后才被广泛使用,该方法使用斜线后的点十进制子网掩码规范进行了记录,例如192.24.12.0/255.25.25.0[2]将网络前缀宽度描述为单个数字(192.24.120.0/22)更易于网络管理员进行概念化和计算。它逐渐被纳入后来的标准文件[11][12]和网络配置接口中。

网络的地址数量可以计算为2地址长度−前缀长度,其中IPv6的地址长度为128,IPv4的地址长度是32。例如,在IPv4中,前缀长度/29给出:232−29=23=8个地址。

子网掩码


子网掩码是一种位掩码,它以四点符号对与IPv4地址或网络相关的前缀长度进行编码:32位,从等于前缀长度的1位开始,以0位结束,并以四部分点式十进制格式进行编码:255.255.255.0。子网掩码编码的信息与前缀长度相同,但早于CIDR的出现。在CIDR表示法中,前缀位总是连续的。RFC 950[6]允许子网掩码指定非连续位,直到RFC 4632[5]: 第5.1节  声明掩码必须保持连续。给定这个约束条件,子网掩码和CIDR表示法提供完全相同的功能。

CIDR块


CIDR主要是一种用于表示IP地址及其路由特性的基于前缀的比特标准。它允许将地址块分组为单个路由表条目,从而方便了路由。这些组,通常称为CIDR块,在其IP地址的二进制表示中共享一个初始比特序列。IPv4 CIDR块使用与IPv4地址类似的语法进行识别:点式十进制地址,后面跟着斜线,然后是0到32之间的数字,即a.b.c.d/n。点式十进制部分是IPv4地址。斜杠后面的数字是前缀长度,即共享初始位的数量,从地址的最高有效位开始计数。当只强调网络的大小时,通常会省略注释的地址部分。因此,/20块是具有未指定的20比特前缀的CIDR块。

IP地址是CIDR块的一部分,并且如果地址的初始n位和CIDR前缀相同,则称其与CIDR前缀匹配。IPv4地址是32位,因此n位CIDR前缀会使32−n位不匹配,这意味着232−n个IPv4地址与给定的n位CIDR前缀匹配。较短的CIDR前缀与更多的地址匹配,而较长的前缀与更少的地址匹配。在重叠CIDR块的情况下,一个地址可以匹配不同长度的多个CIDR前缀。

CIDR也用于IPv6地址,语法语义相同。由于地址中的位数较多,前缀长度可以在0到128之间。然而,按照惯例,广播MAC层网络上的子网总是具有64位主机标识符。[13] 出于安全和策略原因,较大的前缀(/127)仅用于路由器之间的一些点对点链路。[14]

CIDR块的分配


互联网号码分配机构(IANA)向区域互联网登记处(RIR)发布大的、短前缀的CIDR块。然而,a/8(超过1600万个地址)是IANA将分配的最大块。例如,62.0.0.0/8由欧洲RIR RIPE NCC管理。每个RIR负责一个单一的、大的地理区域,如欧洲或北美,对这些块进行细分,并将子网分配给本地互联网注册中心(LIR)。类似的细分可以在较低级别的授权中重复多次。最终用户网络接收的子网大小根据其预计的短期需求而定。IETF建议鼓励由单个ISP服务的网络直接从其ISP获得IP地址空间。另一方面,由多个ISP服务的网络可以直接从适当的RIR获得独立于提供商的地址空间。

例如,在20世纪90年代末,www.freesoft.org使用了IP地址208.130.29.33(自重新分配后)。对该地址的分析确定了三个CIDR前缀。208.128.0.0/11,一个包含200多万个地址的大型CIDR块,已由ARIN(北美RIR)分配给MCI。弗吉尼亚VAR自动化研究系统公司(ARS)从MCI租赁了一个互联网连接,并被分配到208.130.28.0/22块,能够寻址1000多个设备。ARS的公共访问服务器使用了/24块,其中208.130.29.33是其中之一。所有这些CIDR前缀都将在网络中的不同位置使用。在MCI的网络之外,208.128.0.0/11前缀将用于定向到MCI流量,不仅针对208.130.29.33,而且针对大约200万个具有相同初始11位的IP地址中的任何一个。在MCI的网络中,208.130.28.0/22将变得可见,将业务引导到为ARS服务的租赁线路。只有在ARS公司网络中才会使用208.130.29.0/24前缀。

IPv4 CIDR块

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 +0.0.0.0 255.255.255.255 1 20 1256 C   Host route
a.b.c.d/31 +0.0.0.1 255.255.255.254 2 21 1128 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 164 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 132 C d = 0 ... (8n) ... 248

Smallest 

multi-host network

a.b.c.d/28 +0.0.0.15 255.255.255.240 16 24 116 C d = 0 ... (16n) ... 240 Small LAN
a.b.c.d/27 +0.0.0.31 255.255.255.224 32 25 18 C d = 0 ... (32n) ... 224
a.b.c.d/26 +0.0.0.63 255.255.255.192 64 26 14 C d = 0, 64, 128, 192
a.b.c.d/25 +0.0.0.127 255.255.255.128 128 27 12 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.

在常见用法中,子网中的第一个地址,即主机标识符中的全部二进制零,被保留用于指代网络本身,而最后一个地址,主机标识符中全部二进制一,被用作网络的广播地址;这将主机可用的地址数量减少了2个。因此,主机标识符中有一个二进制数字的/31网络将不可用,因为这样的子网在减少后将不提供可用的主机地址。RFC 3021为“主机全一”和“主机全零”规则创建了一个例外,以使/31网络可用于点对点链路/32个地址(单主机网络)必须通过明确的路由规则访问,因为在这样的网络中没有网关的空间。

在大于/31或/32的路由子网中,可用主机地址的数量通常减少两个,即保留为广播地址的最大地址和标识网络本身的最小地址。[15][16]

IPv6 CIDR块

IPv6 CIDR prefixes
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

 

IPv6的大地址大小允许全球路由摘要,并保证每个站点都有足够的地址池。IPv6网络的标准子网大小是a/64块,这是无状态地址自动配置操作所必需的。[17] 起初,IETF在RFC 3177中建议将所有终端站点接收/48地址分配作为最佳实践[18],但对实际需求和实践的批评和重新评估导致了RFC 6177[19]中更灵活的分配建议,建议对一些站点进行明显较小的分配,如住宅网络的/56块。

此IPv6子网参考列出了IPv6子网的大小。不同类型的网络链路可能需要不同的子网大小。[20] 子网掩码将网络标识符前缀的比特与接口标识符的比特分离。选择较小的前缀大小会导致覆盖的网络数量较少,但每个网络中的地址较多。[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 sites 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

数值解释


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)

, where

has the lower

bits set to 0. (For IPv6 substitute 128.) 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.

前缀聚合


CIDR提供细粒度的路由前缀聚合。例如,如果它们的网络前缀的前20个比特匹配,则可以将16个连续/24网络聚合并作为单个/20路由表条目通告到更大的网络。这减少了必须公布的路线数量。

本文地址
最后修改
星期四, 五月 16, 2024 - 22:01

Tags

Article