Ipv4分类及子网划分

图 0

传统的IPv4分类(A/B/C类)已经规定了默认的网络位长度(A类8位、B类16位、C类24位),而子网掩码最初就是基于这些分类设计的。但现代网络中,子网掩码的作用已经远远超出了分类的局限,主要通过子网划分无类域间路由(CIDR) 实现了更灵活的地址分配。以下是详细解释:

1. 传统分类的局限性

在早期的IPv4设计中,地址被严格分为A/B/C/D/E类,每类有固定的网络位长度:

  • A类: 8位 网络位(如 10.0.0.0/8),支持大型网络。

  • B类: 16位 网络位(如 172.16.0.0/16),支持中型网络。

  • C类: 24位 网络位(如 192.168.1.0/24),支持小型网络。

问题:

地址浪费: 例如,一个公司需要500个IP,B类(6.5万主机)太大,C类(254主机)太小,只能分配B类,造成浪费。

缺乏灵活性: 无法根据实际需求调整网络位长度。

2. IPv4地址的结构

IPv4地址由32位二进制数组成,通常表示为4个十进制数(如 192.168.1.1)。其结构分为两部分:

  • 网络部分(Network ID): 标识所属的网络。

  • 主机部分(Host ID): 标识网络中的具体设备。

关键问题:如何区分网络部分和主机部分? → 这就是子网掩码的作用。

3. 子网掩码的作用

  • 子网掩码是一个与IP地址长度相同的32位二进制数,由连续的 1(网络部分)和 0(主机部分)组成。

    • 例如:255.255.255.0(二进制 11111111.11111111.11111111.00000000)表示前24位是网络地址,后8位是主机地址。
  • 功能: 通过子网掩码,可以明确IP地址中哪些位属于网络,哪些位属于主机。

4. 子网划分

子网划分是通过借用主机部分的位数来创建更小的子网络,从而将一个大的IP地址段划分为多个逻辑子网。

示例:

  • 原始网络: 192.168.1.0/24(掩码 255.255.255.0,支持254个主机)。

  • 划分子网: 借用1位主机位,变为 /25(掩码 255.255.255.128),得到两个子网:

    • 192.168.1.0/25(主机范围:1~126)

      第 25 位(第4字节的最高位):在 /25 划分中,第 25 位是网络位,必须为 0(因为这是第一个子网)。 所以第 4 字节的二进制形式:00000000(前1位固定为 0,后7位主机位全 0(网络地址的定义))。换算成十进制:00000000 = 0 → 因此网络地址是 192.168.1.0。

      1
      2
      3
      4
      5
      6
      7
      8
      计算公式:网络地址 = (IP地址) & (子网掩码)

      IP地址: 11000000.10101000.00000001.00000000
      子网掩码: 11111111.11111111.11111111.10000000
      AND结果: 11000000.10101000.00000001.00000000

      转换为十进制网络地址:192.168.1.0
      子网为1的位按位与肯定不变,所以前24和IP地址一致
    • 192.168.1.128/25(主机范围:129~254)

      关键点:第25位(第4字节的最高位)必须为 1,表示这是第二个子网。 步骤1:确定第4字节的二进制形式子网2 的第25位 = 1(因为是第二个子网)主机位全0(网络地址的定义)所以第4字节的二进制:1 0000000 (第25位=1,后7位主机位=0) 二进制:10000000 十进制:128

      步骤2:组合成完整的IP地址 前3个字节不变(192.168.1) 第4字节 = 128 所以网络地址:192.168.1.128

为什么 /25 能划分出 2 个子网? 关键原因:因为借用了 1 位主机位 作为子网位,而 2^1 = 2,所以能划分出 2 个子网。借出的主机位可用是0也可以是1。

优点:

  • 减少广播域大小,提升网络性能。

  • 提高IP地址利用率(避免浪费)。

  • 增强安全性(隔离不同子网)。

5. 子网与网络地址的关系

  • 网络地址是子网中所有主机位为 0 的地址(如 192.168.1.0/24),标识整个子网。

  • 广播地址是子网中所有主机位为 1 的地址(如 192.168.1.255/24),用于向子网内所有设备发送数据。

  • 有效主机地址是介于网络地址和广播地址之间的IP(如 192.168.1.1~192.168.1.254)。

6. 无子网划分的默认情况

如果未划分子网,IPv4地址根据 分类(A/B/C类) 默认使用以下掩码:

  • A类: 255.0.0.0(/8)

  • B类: 255.255.0.0(/16)

  • C类: 255.255.255.0(/24)

但现代网络普遍采用 无类编址(CIDR),掩码可以灵活指定(如 /26、/28 等)。

7. 实际应用示例

问题: 给定IP 172.16.10.5/22,求其网络地址、广播地址和可用主机范围?

解答:

掩码 /22 = 255.255.252.0(前22位为网络部分)。

7.1 计算网络地址

将IP和掩码转换为二进制,按位与运算:

IP: 172.16.00001010.00000101
掩码: 255.255.11111100.00000000
结果: 172.16.00001000.00000000 → 172.16.8.0
网络地址:172.16.8.0。

7.2 广播地址

主机位全置 1 172.16.00001011.11111111 → 172.16.11.255。

7.3 可用主机范围

172.16.8.1 ~ 172.16.11.254。