news 2026/4/27 18:00:25

无类比域间路由选择(CIDR)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
无类比域间路由选择(CIDR)

无类别域间路由选择,即CIDR,它的核心思想就一句话:彻底废除传统A、B、C类的固定边界,用灵活的网络前缀取代预定义长度。

一、它解决了什么问题?(历史背景)

在CIDR之前,是“有类”IP时代,弊端极明显:

  • 巨大的浪费:一个B类地址固定提供 2^16−2=65534 个地址。对只有几百人的公司,这会造成几万个地址闲置。

  • 路由表爆炸:哪怕给同一个机构连续分配几个C类网络(如192.168.1.0—192.168.8.0),核心路由器上也需要8条独立路由记录。

CIDR的使命就是:抑制浪费,聚合路由。

二、CIDR怎么干?

它抛开了A、B、C类的限制,用两部分描述一个网络:

CIDR地址块 = < 网络前缀 > / < 前缀长度 >

  • 网络前缀:相当于连续的网络位,可以是从1到32位的任意值。

  • 前缀长度:标识前多少位是网络部分,就是子网划分中新掩码的长度。

1. 灵活分配地址(抑制浪费)

  • 老方式:需要300台主机,C类(254台)不够,必须给一个B类(65534台),浪费严重。

  • CIDR方式

    • 2^8−2=254 不够;2^9−2=510 满足。

    • 需要9位主机位,网络位就是 32−9=23 位。

    • 直接分配/23的地址块,例如200.1.1.0/23,恰好提供510个地址,按需分配。

2. 路由聚合(抑制路由表爆炸)

这就是CIDR的“超网”思想:把多个连续网络号合并在一条路由通告。

实例:
一个机构有8个连续的C类网络:192.168.8.0/24192.168.15.0/24。对外发布时,不必发8条,只发1条聚合路由

聚合计算细节:

  • 第一步:找到这8个网络号的共同网络高位。

    • 把8(00001000)和15(00001111)写成二进制,发现前5位(00001)不变。网络号的前16位(192.168)也全部相同。

    • 总网络前缀位 = 16 + 5 = 21位。

  • 第二步:确定超级网络地址。

    • 就是地址块中最小的那个,并把变动的位归零。即192.168.8.0

  • 结果:向全球发布一条192.168.8.0/21的路由,就代表了这8个C类网络。

关键原则:聚合的地址块必须是连续的,且总数是2的幂次方,起止边界要对齐。

三、技术细节

1. 掩码与步长的对等关系

CIDR中,掩码就是前缀长度。

前缀长度主机位(n)点分十进制掩码(末段/第三段)块大小(总IP数 2^n)
/248.256.0256
/239.254.0(255.255.254.0)512
/2210.252.01024
/2111.248.02048
/2012.240.04096

核心公式

  • 可用主机数= 2^n−2

  • 所属的 网络号(即网络地址= IP地址 AND 掩码,每个块的首地址就是块大小的整数倍。

  • 广播地址= 下一个网络号 - 1

步长,也叫“块大小”,就是一个子网内包含的IP地址总数。它的计算有两条路,结果完全一致:

1. 直接从掩码算

步长 = 256 - 掩码的非零段值

这里只处理掩码中最后一个不是255的段。如果掩码是标准的255.255.255.0,非零段就是最后的0

2. 从主机位算

步长 = 2^主机位数

主机位数n,就是掩码中末段连续0的个数。

2. 最长前缀匹配(路由器查表铁律)

聚合路由和具体子网路由可能同时存在。路由器转发数据包时,永远选择路由表中“前缀最长、最具体”的那一项

例子
路由器同时有两条路由:

  • 路由A:192.168.16.0/20(聚合路由,范围大)

  • 路由B:192.168.18.0/24(具体子网,范围小)

一个发给192.168.18.5的包,两条路由都匹配。

  • 路由B的前缀长度 /24 > /20,更长更具体

  • 结果:路由器会选择B。这保证了聚合路由的灵活性,也确保了访问具体子网的准确性。

四、CIDR计算演练

题目:某公司被分配了整个CIDR地址块172.16.64.0/20,需在该块内划分出5个主机数不少于500的子网。

计算了过程:

  1. 分析现有资源
    /20主机位 n=32−2012。总IP数 2^12=4096。

  2. 分析需求(按主机数)
    500台主机,2^8−2=254 不够,2^9−2=510 满足。每个子网需要n = 9位主机位。子网掩码将是 32−9=23。

  3. 计算步长(关键)
    /23的总IP数(步长)= 2^9=512。

  4. 掩码是255.255.254.0,第三段非零值是254,步长 256−254=2(在第三段增加,即每次第三段+2)。

  5. 确定第一个子网的网络号
    必须对齐步长边界,不能随意指定。第一个子网号即172.16.64.0

  6. 推导子网(均在/20块内)
    网络号第三段每次增加2:

  • 子网1:172.16.64.0/23

  • 子网2:172.16.66.0/23

  • 子网3:172.16.68.0/23

  • 子网4:172.16.70.0/23

  • 子网5:172.16.72.0/23

五个/23子网共占用 5×512=25605×512=2560 个IP,远小于总公司持有的4096个,实现IP灵活分配。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/27 17:53:21

如何永久保存并智能分析你的微信聊天记录:WeChatMsg完全指南

如何永久保存并智能分析你的微信聊天记录&#xff1a;WeChatMsg完全指南 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we…

作者头像 李华
网站建设 2026/4/27 17:51:19

一站式Galgame社区平台:TouchGal如何解决你的视觉小说探索难题

一站式Galgame社区平台&#xff1a;TouchGal如何解决你的视觉小说探索难题 【免费下载链接】kun-touchgal-next TouchGAL是立足于分享快乐的一站式Galgame文化社区, 为Gal爱好者提供一片净土! 项目地址: https://gitcode.com/gh_mirrors/ku/kun-touchgal-next 还在为找不…

作者头像 李华
网站建设 2026/4/27 17:49:23

第十章 电阻及负载的驱动特性

一 电阻1.1 欧姆定律1.1.1 电阻分压这是一个常见的电阻分压公式但是在实际的应用中R2通常不会直接接地&#xff0c;正常是有电压的。1.2 KCL基尔霍夫电流定律和叠加定理1.2.1 KCL基尔霍夫电流定律因为&#xff1a;所以&#xff1a;根据上述的公式可以求得VOUT注释&#xff1a;如…

作者头像 李华
网站建设 2026/4/27 17:48:37

Vibe Coding = 用英语/中文当编程语言

Vibe Coding&#xff08;氛围/随性编程&#xff09;&#xff0c;是2025年初由Andrej Karpathy提出的AI驱动开发范式&#xff1a;用自然语言说需求&#xff0c;AI全程写代码、调bug&#xff1b;你只指挥、验收、迭代。 关键特征自然语言驱动&#xff1a;用日常中文/英文描述功能…

作者头像 李华
网站建设 2026/4/27 17:48:16

GPT Image-2深度体验:让人人都能成为“视觉创作者”你有没有想过:只用一句话,就能生成一张专业级图片?不需要PS、不需要设计基础。Image-2,正在把这件事变成现实。

&#x1f9e0; 什么是 GPT Image-2&#xff1f;GPT Image-2 是 OpenAI 推出的新一代图像生成模型&#xff0c;它不仅仅是“生成图片”&#xff0c;而是&#xff1a;能理解复杂语义&#xff08;场景 风格 情绪&#xff09;能生成多种风格&#xff08;写实 / 插画 / 3D / 赛博朋…

作者头像 李华