计算机网络知识CIDR(无类别域区间路由)

目录

介绍

基本信息

优点与关联

如何计算判定范围(你应该是来看这个的,前面是水字数的)

省流版


介绍

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

建议直接看第三个标题

基本信息

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代表无类别域间路由(Classless Inter-Domain Routing),是一种用于对IP地址进行聚合和分配的技术。它通过改变IP地址的分配方式,有效地解决了IPv4地址空间不足的问题。

在CIDR出现之前,互联网使用的是基于类别的IP地址分配方案,将IP地址划分为A类、B类、C类等。这种方案存在以下问题:

  • 地址浪费: 例如,一个B类网络拥有256个IP地址,但实际需求可能只有几十个。其余的IP地址会被浪费。
  • 地址不均匀: 不同大小的组织对IP地址的需求差异很大。例如,互联网服务提供商可能需要数百万个IP地址,而小型企业可能只需要几十个。基于类别的分配方案无法满足这种差异化的需求。

CIDR引入了可变长度子网掩码(VLSM)的概念,允许将IP地址划分为更小、更灵活的子网。子网掩码用于区分网络地址和主机地址。CIDR表示法使用IP地址后面跟着斜杠(/)和子网掩码位数来表示子网。例如,192.168.1.0/24表示一个子网,其中网络地址为192.168.1.0,子网掩码为255.255.255.0,该子网可以包含254个主机地址。

CIDR具有以下优点:

  • 提高IP地址利用率: CIDR允许更灵活地划分IP地址,可以有效地避免IP地址浪费。
  • 简化路由表: CIDR可以使用更少的路由表项来表示更大的IP地址范围,从而简化路由器的维护。
  • 提高路由效率: CIDR可以提高路由器的路由效率,因为路由器只需要查询更少的路由表项即可找到目标网络。

CIDR是目前互联网上普遍使用的IP地址分配方案。它在解决IP地址空间不足、提高IP地址利用率、简化路由表等方面发挥了重要作用。

以下是一些关于CIDR的常见问题:

  • CIDR与子网掩码有什么关系?

CIDR使用子网掩码来划分IP地址。子网掩码用于区分网络地址和主机地址。CIDR表示法使用IP地址后面跟着斜杠(/)和子网掩码位数来表示子网。例如,192.168.1.0/24表示一个子网,其中网络地址为192.168.1.0,子网掩码为255.255.255.0,该子网可以包含254个主机地址。

  • 如何计算CIDR子网中的可用主机数?

CIDR子网中的可用主机数可以通过以下公式计算:

可用主机数 = 2^(子网掩码位数) - 2

例如,192.168.1.0/24子网的可用主机数为2^(24) - 2 = 254。

  • 如何将IP地址转换为CIDR表示法?

可以使用以下步骤将IP地址转换为CIDR表示法:

  1. 将IP地址转换为二进制表示法。
  2. 添加子网掩码。
  3. 计算子网掩码位数。
  4. 将IP地址和子网掩码位数用斜杠(/)连接起来。

例如,将IP地址192.168.1.10转换为CIDR表示法:

  1. 将192.168.1.10转换为二进制表示法:11000000 10101000 00000001 00001010
  2. 添加子网掩码255.255.255.0:11000000 10101000 00000001 11111110
  3. 计算子网掩码位数:24
  4. 将IP地址和子网掩码位数用斜杠(/)连接起来:192.168.1.10/24

如何计算判定范围(你应该是来看这个的,前面是水字数的)

相信碰到不少人不会看ip/x,其实非常简单。不知道大家有没有看过这张图

我们斜杠后面跟的是多少,我们就是取多少位。我们都知道我们ipv4由三个点分开分四个部分,然后每个部分里面都是8bit也就是1字节并且是无符号的,所以最小为0最大为255也就是2^8-1,然后隔开来,我们暂且不提什么A类,B类,C类网段的。我们看这个斜杠后面的数是多少,那我们就相当于占多少位。

比如/24就是很标准的三个网段全给占用的,假如前面是192.168.0.1/24,那他的范围就是前面24位占用住,后面是可以自由活动的。因为4个8位所以是32位,减掉了24位就是八位可动,则是0~255,那他的范围就是0~255最小是0,最大则是255因为 2^8-1,所以就是192.168.0.0/24~192.168.0.255/24。

那假如是192.168.0.1/30的话则是被盖住了30位不可动,所以能动的只有2位,2位我们知道最小值为0而最大值为3因为 2^2 -1 所以就是192.168.0.0~192.168.0.3。

我们再看个缩小的案例,比如/16的192.168.0.0~192.168.255.255,第三个地址段为0~255,最后一个也为0~255,因为总计32位,切在了16位上。

我们再看个略大的切到两个中间的案例/18的,总计32,切在了18,所以最后面还是正常的0~255,倒数第二个为,0~2^6-1是0~63,范围就是192.168.0.0~192.168.63.255。

当然前面被包括在斜杠左边的是不能自由分配的,但是也是固定ip,所以我们可以不需要强制用192.168开头来计算。什么都可以的。

省流版

192.168.123.0/24 = 192.168.123.0~192.168.123.255

192.168.1.1/30=192.168.1.0~192.168.1.3

192.168.1.1/18=192.168.0.0~192.168.63.255

192.168.1.1/16=192.168.0.0~192.168.255.255

如果对你有帮助的话不要忘记点赞收藏。

相关推荐

  1. 计算机网络CIDR

    2024-06-12 04:22:03       15 阅读
  2. 计算机网络 算法

    2024-06-12 04:22:03       23 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-12 04:22:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-12 04:22:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-12 04:22:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-12 04:22:03       20 阅读

热门阅读

  1. 2001NOIP普及组真题 4. 装箱问题

    2024-06-12 04:22:03       17 阅读
  2. postgres常用查询

    2024-06-12 04:22:03       9 阅读
  3. Flutter生活服务类APP常用的第三方库总汇

    2024-06-12 04:22:03       10 阅读
  4. 算法刷题 322. 零钱兑换

    2024-06-12 04:22:03       13 阅读
  5. ASP.NET Core自定义认证和授权搭建流程(使用JWT)

    2024-06-12 04:22:03       7 阅读
  6. AIGC涉及到的算法(一)

    2024-06-12 04:22:03       8 阅读
  7. 集线器(HUB)简介

    2024-06-12 04:22:03       10 阅读
  8. dp类总结

    2024-06-12 04:22:03       9 阅读