Ipv4分类及子网划分

Ipv4分类及子网划分
X传统的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。