首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dummies CIDR

Dummies CIDR
EN

Server Fault用户
提问于 2009-05-27 13:19:01
回答 6查看 59.5K关注 0票数 50

我知道CIDR是什么,它是用来做什么的,但是我仍然不知道如何在我的头脑中计算它。有人能给出一个“为假人”类型的解释和例子吗?

EN

回答 6

Server Fault用户

回答已采纳

发布于 2009-05-27 13:50:03

CIDR (无类域间路由,发音为“Inter”或"cider“-在注释中添加您自己的本地变体!)是定义IP地址的网络部分的系统(通常人们认为这是子网掩码)。它之所以“无类”,是因为它允许一种比基类更灵活地分解IP网络的方法。

当首次定义IP网络时,IP具有基于二进制前缀的类:

代码语言:javascript
复制
Class    Binary Prefix    Range                       Network Bits
A        0*               0.0.0.0-127.255.255.255     8
B        10*              128.0.0.0-191.255.255.255   16
C        110*             192.0.0.0-223.255.255.255   24
D        1110*            224.0.0.0-239.255.255.255
E        1111*            240.0.0.0-255.255.255.255

(请注意,这是将/24称为“类C”的人的来源,尽管这不是严格意义上的比较,因为C类需要有特定的前缀)

这些二进制前缀用于路由大块IP空间。这是低效的,因为它导致将大块分配给不一定需要这些块的组织,还因为类Cs只能以24位增量分配,这意味着当多个类Cs被路由到同一个位置时,路由表可能会变得不必要的大。

CIDR被定义为允许将可变长度子网掩码(VLSM)应用于网络。随着名称的应用,地址组或网络可以细分为与它们所属的自然“类”没有直接关系的组。

VLSM的基本前提是对网络中的网络位数进行计数。因为IPv4地址是32位整数,所以VLSM总是在0到32之间(虽然我不确定在哪种情况下可能有0长度的掩码)。

在头脑中开始计算VLSM/CIDR的最简单方法是理解“自然”8位边界:

代码语言:javascript
复制
CIDR    Dotted Quad
/8      255.0.0.0
/16     255.255.0.0
/24     255.255.255.0
/32     255.255.255.255

(顺便说一句,使用/32掩码是完全合法的,而且在ACL中相当常见。这仅仅意味着您指的是单个IP)

一旦您掌握了这些,就可以通过简单的二进制算法来向上或向下移动以获得主机数量。例如,如果一个/24有256个if (让我们暂时停止网络和广播地址,这是一个不同的网络理论问题),将子网增加1位(到/25)将使主机空间减少1位(到7位),这意味着将有128个if。

这是最后一张八重奏的桌子。这个表可以移动到任何八进制,以得到虚线四边形的等效值。

代码语言:javascript
复制
CIDR    Dotted Quad
/24     255.255.255.0
/25     255.255.255.128
/26     255.255.255.192
/27     255.255.255.224
/28     255.255.255.240
/29     255.255.255.248
/30     255.255.255.252
/31     255.255.255.254
/32     255.255.255.255

作为将这些转换为另一个八进制的例子,/18 (即/26减去8位,因此移动了一个八进制)将是255.255.192.0。

票数 83
EN

Server Fault用户

发布于 2009-05-27 13:45:15

每个八重奏值8。

  • 255.0.0.0 /8
  • 255.255.0.0 /16
  • 255.255.255.0 /24
  • 255.255.255 /32

所以你可以迅速缩小你的子网,然后你只是担心最后的8位。

代码语言:javascript
复制
128, 192, 224, 240, 248, 252, 254, 255

+1  , +2 , +3 , +4 , +5 , +6 , +7 , +8
  • 255.128.0.0 = /9
  • 255.192.0.0 = /10
  • 255.224.0.0 = /11
  • 255.240.0.0 = /12
  • 255.248.0.0 = /13
  • 255.252.0.0 = /14
  • 255.254.0.0 = /15

希望这已经足够清楚了

票数 9
EN

Server Fault用户

发布于 2010-08-12 15:15:21

迟到一天,希望不会少一分钱。CIDR是从最重要位开始的IPv4掩码(32位)中连续的一位数。

10000000 00000000 00000000 00000000其中1=最重要位

常见的掩码是/8、/16、/24,它们都位于8位(八进制)的边界上。

11111111 00000000 00000000 00000000 = /8 = 255.0.0.0

11111111 11111111 00000000 00000000 = /16 = 255.255.0.0

11111111 11111111 11111111 00000000 = /24 = 255.255.255.0

当八进制对齐时,这并不难,但它确实需要一些简单的数学和对八位数是什么的理解。

11111111 11111111 11100000 00000000 = /19

掩码的前两个八位数为255.255 (/16小于/19)。最后一个八进制是0(/19小于/24)。到目前为止我们知道

11111111 11100000 00000000 = /19 =255.255

当查看每个八进制时,记住它是一个8位值,0- 255。

代码语言:javascript
复制
0 0 0 0 0 0 0 0 
1
2 6 3 1
8 4 2 6 8 4 2 1

所以第三个八进制(?) 11100000是128 + 64 + 32 = 224。这意味着

11111111 11111111 11100000 00000000 = /19 = 255.255.224.0

票数 8
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/12854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档