CIDR简介以及计算方式

无类别域间路由

无类别域间路由(Classless Inter-Domain Routing、CIDR)是一个用于给用户分配IP地址以及在互联网上有效地路由IP数据包的对IP地址进行归类的方法。

CIDR块

CIDR主要是一个按位的、基于前缀的,用于解释IP地址的标准。 它通过把多个地址块组合到一个路由表表项而使得路由更加方便。这些地址块叫做CIDR地址块。当用二进制表示这些地址时,它们有着在开头部分的一系列相同的位。IPv4的CIDR地址块的表示方法和IPv4地址的表示方法是相似的:由四部分组成的点分十进制地址,后跟一个斜扛,最后是范围在0到32之间的一个数字:A.B.C.D/N。 点分十进制的部分和IPv4地址一样是一个被分成四个八位位组的32位二进制数。斜扛后面的数字就是前缀长度,也就是从左到右,被地址块里的地址所共享的位的数目。当只要说明梗概时,点分十进制部分有时会被省略,因此,/20就表示一个前缀长度是20的CIDR地址块。如果一个IP地址的前N位与一个CIDR地址块的前缀是相同的话,那么就说这个地址属于这个CIDR地址块,也可以说是与CIDR地址块的前缀匹配。所以,要理解CIDR,就要把地址写成二进制的形式。因为IPv4地址的长度总是32位,N位长的CIDR前缀就意味着地址里32 − N位不匹配。这些位有2(32 − N)种不同的组合,即2(32 − N)个IPv4地址与CIDR地址块的前缀。前缀越短就能匹配越多的地址,越长就匹配得越少。一个地址可能与多个长度不同的CIDR前缀匹配。CIDR也用在IPv6中。因为位数的非常多,所以在IPv6中,前缀长度的范围是从0到128。这里也用同样的方法来表示一个地址:前缀写作一个IPv6的地址,后跟一个斜扛,最后是前缀的位数。

CIDR 和 掩码

子网掩码一种把前缀编成一种与IP地址相似的形式的掩码。它有32位,以为1的位开头,以为0的位结尾。其中为1的位的数目和前缀的长度相同。它也被写成点分十进制的形式。子网掩码的作用和前缀一样,但是掩码这种形式出现得比前缀要早。CIDR用可变长子网掩码 (VLSM),根据各人需要来分配IP地址,而不是按network-wide rule。所以,网络/主机的划分可以在地址内的任意位置进行。这个划分可以是递归进行的,即通过 增加掩码位数,来使一部分地址被继续分为更小的部分。整个互联网都在使用CIDR/VLSM网络地址。不过在其他方面,尤其是大型私人网络,它也有应用。在普通大小的局域网里则较少应用,因为这些局域网一般使用私有网络。

前缀聚合

CIDR的另一个好处就是可以进行前缀路由聚合。例如, 16个原来的C类(/24)网络现在可以聚合在一起,对外显示了一个/20的网络了(如果这些网络的的地址前20位都相同)。两个对齐的/20网络又可进一步聚合为/19,依此类推。这有效地减少了要对外显示的网络数,防止了'路由表爆炸',也遏制了互联网进一步扩大

CIDR IP地址计算

 以192.168.0.1/12 为例:
    1. IPV4地址是由4段构成,其中每一段是八个字节,上面IP转化为2进制为 
            11000000.10101000.00000000.00000001
    2. CIDR 斜杠后面的数字是指 该ip 前缀的字节数量,例子中的12也就是指前12为IP地址前缀。
            11000000.1010  | 1000.00000000.00000001  分隔符前面的ip是不变的,后面为分配的ip地址
            11000000.1010  | 0000.00000000.00000000  所以最小地址为除了前缀,其他都为0,转化为十进制为:192.160.0.0,最小可用ip为192.160.0.1
            11000000.1010  | 1111.11111111.11111111  所以最大地址为除了前缀,其他都为1,转化为十进制为:192.175.255.255,因为默认最后一位地址为广播地址,所以最大可用ip为192.175.255.254
            11111111.1111  |  0000.00000000.00000000 掩码地址,前缀全为1,后面全为0,转化为十进制为:255.240.0.0

在线IP计算器

cidr的概念只要了解就好,如果实在不想或者不会计算可以用在线计算工具

IP地址在线计算

你可能感兴趣的:(docker,k8s,Linux)