IP地址与子网掩码:IPv4地址分类、子网划分、CIDR表示法,IPv6简介

核心原理:IPv4地址的结构与分类

IPv4地址是一个32位二进制数,通常用“点分十进制”表示,例如 192.168.1.10。这32位被划分为网络部分和主机部分。网络部分标识设备所在的物理网络,主机部分标识该网络内的具体接口。早期为了适应不同规模的网络,IPv4地址被划分为A、B、C、D、E五类,其中A、B、C为单播地址,D用于组播,E保留研究使用。

IPv4 地址分类结构 A类 0 | 网络(7位) | 主机(24位) 1.0.0.0 ~ 126.255.255.255 默认掩码: 255.0.0.0 (/8) B类 10 | 网络(14位) | 主机(16位) 128.0.0.0 ~ 191.255.255.255 默认掩码: 255.255.0.0 (/16) C类 110 | 网络(21位) | 主机(8位) 192.0.0.0 ~ 223.255.255.255 默认掩码: 255.255.255.0 (/24) D类(组播) 1110 | 组播组ID(28位) 224.0.0.0 ~ 239.255.255.255 用于组播通信 特殊地址: • 127.0.0.0/8 回环地址(本机测试) • 0.0.0.0 表示“任意地址” • 255.255.255.255 有限广播 二进制结构示例(192.168.1.10 = C类地址) 11000000.10101000.00000001.00001010 [--网络部分(24位)--][-主机部分(8位)-] 子网掩码 255.255.255.0 用“1”遮盖网络位,用“0”暴露主机位

子网划分:借主机位扩展网络

子网划分的核心思想是从主机部分“借用”若干高位比特,将其纳入网络部分,从而将一个大的网络切分为多个更小的子网。这样做的好处是:减少广播域规模、提升安全性、更灵活地分配地址空间。子网掩码随之变化,例如将C类地址 192.168.1.0/24 划分为4个子网,需要借用2位主机位,掩码变为 255.255.255.192(即 /26)。

子网划分计算步骤:

  1. 确定需要的子网数量 S,找到最小的 n 使 2ⁿ ≥ S,n 即为借用的主机位数。
  2. 新掩码位数 = 原掩码位数 + n。
  3. 每个子网的地址数 = 2^(剩余主机位数),可用主机数 = 该值 - 2(去掉网络地址和广播地址)。
  4. 子网块大小 = 256 - 新掩码对应十进制值(仅对IPv4第四段适用)。

以 192.168.1.0/24 划分为4个子网为例:借用2位,掩码变为 /26(255.255.255.192),块大小为64。四个子网分别为:

子网编号网络地址可用主机范围广播地址
子网1192.168.1.0192.168.1.1 ~ 192.168.1.62192.168.1.63
子网2192.168.1.64192.168.1.65 ~ 192.168.1.126192.168.1.127
子网3192.168.1.128192.168.1.129 ~ 192.168.1.190192.168.1.191
子网4192.168.1.192192.168.1.193 ~ 192.168.1.254192.168.1.255

CIDR表示法:打破分类限制

传统的A/B/C类分类过于僵化,导致地址浪费。CIDR(无类域间路由)允许任意长度的网络前缀,用“IP地址/前缀长度”表示,例如 10.10.0.0/16 表示前16位是网络部分。CIDR不仅支持更精细的子网划分,还能将多个连续的小网络聚合成一个大网络(路由聚合),从而减小路由表规模。

# CIDR 地址示例
203.0.113.0/24     # 256个地址,可用254个
198.51.100.0/28    # 16个地址,可用14个
10.0.0.0/8         # 大型私有网络,约1677万个地址

# 路由聚合示例:将4个/24聚合为1个/22
203.0.113.0/24
203.0.114.0/24  →  203.0.112.0/22
203.0.115.0/24
203.0.116.0/24

CIDR的另一个重要贡献是定义了私有地址空间(RFC 1918),这些地址不会在公网路由,专门用于内部网络:

  • 10.0.0.0/8:大型企业内部网络
  • 172.16.0.0/12:中型企业网络(16个B类段)
  • 192.168.0.0/16:小型办公室/家庭网络(256个C类段)

IPv6简介:从32位到128位

IPv4地址空间仅有约43亿个,已无法满足万物互联的需求。IPv6将地址长度扩展到128位,采用冒号十六进制表示,例如 2001:0db8:85a3:0000:0000:8a2e:0370:7334。IPv6不再需要NAT,每个设备都可以获得全球唯一的公网地址,同时内置了IPSec安全机制、更高效的路由和自动配置能力。

IPv6地址压缩规则:

  • 每组前导的0可以省略:0db8 → db8
  • 连续的全0组可用 :: 代替一次:2001:0db8:0000:0000:0000:0000:0000:0001 → 2001:db8::1
  • IPv4映射地址:::ffff:192.168.1.1(兼容过渡)

IPv6地址分为三类:单播(一对一通信)、组播(一对多,替代IPv4广播)、任播(一组接口中最近的一个接收)。链路本地地址 fe80::/10 自动生成,用于同一链路上的邻居发现,无需手动配置。

常见误区与排障复盘

误区1:认为子网掩码必须固定为255.0.0.0、255.255.0.0或255.255.255.0。实际上CIDR允许任意前缀长度,如 /23、/27 等。

误区2:混淆“网络地址”和“广播地址”。网络地址的主机位全为0,广播地址的主机位全为1,这两个地址不能分配给设备使用。

误区3:在配置静态IP时忘记填写默认网关。网关必须与主机IP处于同一子网,否则数据包无法离开本地网络。

排障案例:某办公室电脑无法访问互联网,执行 ipconfig 发现IP为 192.168.1.100,掩码为 255.255.255.0,网关为 192.168.1.1。但ping网关不通。进一步检查发现,网关路由器被误配置为 192.168.1.129/25,即网关处于另一个子网(192.168.1.128/25),与电脑不在同一广播域。修正网关IP为 192.168.1.1/24 后恢复通信。此案例说明:子网掩码不一致会导致“看似同网段实则隔离”,排查时应先确认双方的掩码和网络地址是否匹配。

在规划网络时,建议先用CIDR计算器验证子网划分结果,并保留约20%的地址余量用于未来扩展。对于IPv6,虽然地址充足,但仍需合理规划前缀分配(如/48分配给站点,/64分配给子网),避免因层次不清导致路由混乱。