计算机基础百科-彻底搞懂子网掩码(Subnet Mask)与CIDR的地址掩码(Address Mask):从困惑到清晰

在我之前的博文中网络基础科普:IP地址是什么?MAC地址是什么?它们如何协同工作?,我们了解到,IP地址的编址方式经历了有类IP,子网划分,CIDR三个阶段。而对于其中的网掩码(Subnet Mask)与CIDR的地址掩码(Address Mask),有些人可能会感到困惑,两者到底有什么区别?

很多初学者会有这样的困惑:255.255.255.0/24 看起来就是一回事,那么"子网掩码"和"CIDR的地址掩码"到底有什么区别?

CIDR(无分类域间路由选择),我们通常说的无类域间路由,是目前互联网IP地址编址的基石。你现在见到的几乎所有IP编址方式,本质上都属于CIDR。

可以明确的一点是,在计算和使用方式上,两者确实完全等效。它们的核心区别,源于分类IP的"网络号"与CIDR的"网络前缀"这两个概念的根本不同。

核心区别:网络号 vs. 网络前缀

区别总结如下(个人总结,可能不完整):

  1. 有类vs无类:子网掩码是依附于分类IP地址(A、B、C类)的补充,它本身不改变IP的分类结构;而CIDR则彻底抛弃了A、B、C类的概念,是一种全新的、无类的编址方案。

  2. 地址结构不同 :子网掩码将分类IP的二级结构网络号.主机号细化为三级结构网络号.子网号.主机号,增加了一定的灵活性,但仍有局限。CIDR则回归二级结构,但将其定义为(网络前缀.主机号),带来了极大的灵活性。

  3. 掩码长度的设定:在传统子网划分中,一个网络内所有子网的掩码长度通常是相同的(固定长度子网)。CIDR则支持变长子网掩码(VLSM),可以根据需要灵活使用不同长度的前缀。

  4. 路由寻址逻辑不同 :传统路由依赖网络号进行查找,而CIDR路由则基于网络前缀,并采用最长前缀匹配原则,这使得路由聚合和精细控制成为可能。

  5. 特殊地址的使用:在早期有类子网划分中,为了避免歧义,子网号全0和全1的网段通常被保留不可用,这导致了IP地址的浪费。CIDR则允许使用全0和全1的子网(需谨慎,取决于具体实现),甚至可以使用32位掩码(如192.168.1.1/32)来表示一个特定主机地址。

  6. 表示法:CIDR使用斜杠(/)加前缀长度的表示法(如192.168.1.0/24),比点分十进制掩码更简洁、更直观。

  7. 路由聚合:CIDR的一个核心优势是支持路由聚合(也称超网),能将多个连续的小网段合并成一个大的路由条目,从而大幅缩小互联网的路由表。这是传统有类网络无法做到的。

简单来说:CIDR彻底抛弃了A、B、C的分类枷锁。你永远不需要再问"这是B类IP吗?",只需要问"这个IP的掩码/前缀是多少?"

透过现象看本质:两个例子让你彻底理解

示例1:路由聚合(超网)

假设你有一家公司,需要两个连续的C类地址(192.168.0.0 和 192.168.1.0)来容纳300台设备。

复制代码
有类网络+子网掩码的视角:192.168.0.0 和 192.168.1.0 是两个独立的C类网络。在传统的网络观念里,它们天生就是隔离的,必须通过路由器三层设备才能互通。因此,你需要在外部的路由器上配置两条路由,分别指向这两个网络。

CIDR的视角:既然没有了网络号的限制,我们可以将这两个连续的网段看作一个整体。只需使用192.168.0.0/23(掩码为255.255.254.0)这个新网络,就能把两个C类地址无缝合并。对外部路由器来说,它只需要知道一条指向192.168.0.0/23的路由即可。如果你还用传统有类的眼光看255.255.254.0,会觉得它"不伦不类",但在CIDR的世界里,这是完全合法且高效的。

示例2:

使用有类子网掩码时,子网数是根据子网号subnet-id计算出来的。若subnet-id有n位,则共有2n种可能的排列。除去全0和全1这两种情况,就得出表中的子网数。

让我们以C类网络 192.168.1.0 为例,看看使用掩码 255.255.255.192(即借2位作为子网号)时,传统与现在的区别。

对于C类IP 192.168.1.0,它拥有1个网络号192.168.1.0和广播地址192.168.1.255

使用传统子网掩码时

在早期的RFC标准中,为了避免歧义,规定子网号部分不能全为0或全为1。

无论使用任何掩码划分子网,所有子网,都共用这个C类IP的1个网络号和广播地址。

例如使用掩码255.255.255.192划分网络时,向网络号借了2位,即最后一段掩码是xx000000,这两位可以是00,01,10,11,即:

子网 借位 IP范围 子网地址 子网广播地址 状态与原因
1 00 000000 0-63 192.168.1.0 192.168.1.63 不可用(与主网络号冲突)
2 01 000000 64-127 192.168.1.64 192.168.1.127 可用
3 10 000000 128-191 192.168.1.128 192.168.1.191 可用
4 11 000000 192-255 192.168.1.192 192.168.1.255 不可用(子网与主网络广播地址冲突)

正是因为这两个特殊子网(全0和全1)被禁用,虽然划分出了4个子网,但实际能用的只有中间的2个,浪费了一半的IP地址。在当时,这种"浪费"是为了避免路由歧义和广播泛滥,保证网络的稳定。

使用CIDR无类编址

在CIDR的世界里,192.168.1.0 这个C类网络的概念已经不存在了。我们面对的是一个可以自由切割的地址空间192.168.1.0/24

当我们用/26掩码去划分它时,它被分成了4个独立的、地位平等的网络:

子网 网络前缀 IP范围 网络地址 广播地址 状态
1 192.168.1.0/26 0-63 192.168.1.0 192.168.1.63 可用
2 192.168.1.64/26 64-127 192.168.1.64 192.168.1.127 可用
3 192.168.1.128/26 128-191 192.168.1.128 192.168.1.191 可用
4 192.168.1.192/26 192-255 192.168.1.192 192.168.1.255 可用

因为没有了那个唯一的"主网络号"和"主广播地址",这4个网段各自拥有独立的网络地址和广播地址,彼此之间泾渭分明,互不冲突。因此,在支持CIDR的现代网络中,全0和全1的子网都是可以正常使用的(通常需要通过命令如 ip subnet-zero 来启用,现代设备往往默认支持)。

通过这个对比,相信你能更清晰地看到:子网掩码是在有类框架下"打补丁",而CIDR则是从根本上重构了IP地址的哲学。


参考

计算机网络(第6版)》------谢希仁编著

相关推荐
深念Y2 天前
光猫改桥接模式实战:通过Telnet获取超级管理员密码
ssh·路由器·桥接模式·逆向·光猫·telent·管理员密码
haosend4 天前
通俗易懂深入浅出OSPF-LSA类型讲解
路由器·交换机·数据网络·华三模拟器
haosend8 天前
传输网络概述:从PTN到SPN
路由器·交换机·spn·光传输·ptn
久绊A9 天前
H3C 交换机用户密码修改与策略管理指南
服务器·交换机·h3c
深念Y10 天前
腾达路由器无线中继模式:WISP与Client+AP什么意思
网络·wifi·智能路由器·路由器·ssid·腾达·无线中继
深念Y10 天前
OpenWrt路由器通过USB共享网络(随身WiFi/手机)简明教程
网络·智能手机·路由器·openwrt·数码·网络共享·流量
haosend13 天前
数据网络小知识-VLAN基础及延伸技术简介
路由器·vlan·交换机·数据网络
haosend15 天前
IP计算不求人,掩码,反掩码,通配符一次学会
路由器·交换机·数据网络
haosend19 天前
AI时代,传统网络运维人员的转型指南
python·数据网络·网络自动化