# 网络分类
内网IP地址段主要分为A类、B类和C类三类。
A类内网IP地址:
- 地址范围:以
10.0.0.0开头,后三位(即第三个八位组和第四个八位组)可以自由分配。 - 特点:A类内网IP地址范围广泛,适用于大型局域网环境,可以容纳较多的设备。
B类内网IP地址:
- 地址范围:从
172.16.0.0至172.31.0.0,后两位(即第三个八位组的后六位和第四个八位组)可以自由分配。 - 特点:B类内网IP地址适用于中等规模的局域网环境,能够较好地满足一般企业的网络需求。
C类内网IP地址:
- 地址范围:以
192.168.0.0开头,后两位(即第三个八位组的后六位和第四个八位组)同样可以自由分配,但需要注意的是,这里的“后两位自由分配”实际上是指第三个八位组的后六位可以自由变化,而第四个八位组则作为设备的具体IP地址。 - 特点:C类内网IP地址是家用和小型企业局域网中最常见的类型,由于其地址范围相对较小,因此适用于设备数量较少的网络环境。
# 定义
子网掩码(Subnet Mask) 是一个用于划分IP网络的32位二进制数字,通常以点分十进制表示(如 255.255.255.0)。它与IP地址结合使用,主要作用是定义IP地址中哪些部分表示网络地址,哪些部分表示主机地址。
# 核心作用:
- 划分网络和主机部分
- 子网掩码中的 1 对应IP地址中的网络位,0 对应主机位。
- 例如:IP
192.168.1.10,掩码255.255.255.0(11111111.11111111.11111111.00000000) 表示前24位是网络地址(192.168.1),后8位是主机地址(.10)。
- 实现子网划分
- 通过调整掩码长度,可以将一个大网络分割成多个小网络(子网)。
- 例如:将
192.168.1.0/24(掩码255.255.255.0)划分为两个子网:- 子网1:
192.168.1.0/25(掩码255.255.255.128,范围1-126) - 子网2:
192.168.1.128/25(掩码255.255.255.128,范围129-254)
- 子网1:
- 控制广播域
- 子网掩码限制了广播消息的传播范围(仅在同一个子网内广播),减少网络拥堵。
- 路由决策
- 路由器根据目标IP和子网掩码判断目标主机是否在同一子网:
- 若在同一子网,直接发送;
- 若在不同子网,则转发给网关。
- 路由器根据目标IP和子网掩码判断目标主机是否在同一子网:
# 常见表示方法:
- 点分十进制:
255.255.255.0 - CIDR表示法:
/24(即24个二进制“1”,等同于255.255.255.0)
# 特殊掩码:
- 默认掩码:
- A类:
255.0.0.0(/8) - B类:
255.255.0.0(/16) - C类:
255.255.255.0(/24)
- A类:
- 全1掩码:
255.255.255.255(用于单个主机,如路由条目)。
# CIDR
CIDR 的全称是 无类别域间路由。它是一种用于 IP 地址分配和路由聚合的方法,诞生于 1993 年,旨在解决早期 IP 地址分类系统(A、B、C 类)的低效和路由表爆炸式增长的问题。
简单来说,CIDR 的核心思想是:“打破固定的地址类别,用一个前缀来灵活地表示网络地址块”。
- 表示法:
x.x.x.x/yx.x.x.x: 起始 IP 地址。/y: 网络前缀的位数(从左边开始数)。它定义了有多少位用于标识网络,剩下的位用于标识该网络内的主机。
示例:
192.168.1.0/24
/24表示前 24 位是网络位。- 二进制中,这相当于子网掩码
11111111.11111111.11111111.00000000,即255.255.255.0。 - 所以,这个网络的范围是
192.168.1.0到192.168.1.255(共 256 个地址,其中192.168.1.0是网络地址,192.168.1.255是广播地址,可用主机地址为 254 个)。
# 确定网络地址和主机数量
- 网络地址: 将 IP 地址的前
y位保留,后(32-y)位全部置 0。 - 广播地址: 将 IP 地址的前
y位保留,后(32-y)位全部置 1。 - 可用主机数量:
2^(32-y) - 2(减去网络地址和广播地址)。在现代网络中,有时会全部使用(如点对点链路)。 - 地址范围: 网络地址 + 1 到广播地址 - 1。
# 常见的 CIDR 块示例
| CIDR 表示 | 子网掩码 | 地址总数 | 可用主机数 | 典型场景 |
|---|---|---|---|---|
/32 | 255.255.255.255 | 1 | 1 | 单台主机(如环回地址) |
/30 | 255.255.255.252 | 4 | 2 | 点对点链路(如路由器间连接) |
/29 | 255.255.255.248 | 8 | 6 | 极小网络 |
/28 | 255.255.255.240 | 16 | 14 | 小型网络 |
/27 | 255.255.255.224 | 32 | 30 | 小型网络 |
/26 | 255.255.255.192 | 64 | 62 | 中型部门 |
/24 | 255.255.255.0 | 256 | 254 | 经典的“C类网络”,家庭/小企业局域网 |
/16 | 255.255.0.0 | 65,536 | 65,534 | 经典的“B类网络”,大型机构/校园网 |
/8 | 255.0.0.0 | 16,777,216 | 16,777,214 | 经典的“A类网络”(如 10.0.0.0/8 私有地址) |
/0 | 0.0.0.0 | 4,294,967,296 | - | 默认路由(匹配所有地址) |
# 快速计算
/26
32-26=10 11111111 11111111 11111111 1100000
2^7 + 2^6 = 128 + 64 = 192
最终掩码255.255.255.192
# 判断2个IP是否在同一网段
区分两个IP是否在同一网段,核心就是看它们的网络地址(Network Address)是否相同。
这是一个分步骤的判断方法,你可以手动计算,也可以借助工具。
# 1、核心原理与判断步骤
同一网段 = 相同的网络地址
# 第一步:获取必要信息
你需要知道:
- IP地址:例如
192.168.1.100和192.168.1.200 - 子网掩码(或CIDR前缀):例如
255.255.255.0或/24
如果不知道子网掩码,就无法判断!掩码定义了“网络”和“主机”的边界。
# 第二步:计算网络地址
网络地址 = IP地址 AND 子网掩码(按位“与”运算)
方法A:手动计算(推荐理解原理)
IP地址: 192.168.1.100 → 二进制:11000000.10101000.00000001.01100100
子网掩码: 255.255.255.0 → 二进制:11111111.11111111.11111111.00000000
按位AND: -----------------------------------
网络地址: 192.168.1.0 ← 二进制:11000000.10101000.00000001.00000000
IP地址: 192.168.1.200 → 二进制:11000000.10101000.00000001.11001000
子网掩码: 255.255.255.0 → 二进制:11111111.11111111.11111111.00000000
按位AND: -----------------------------------
网络地址: 192.168.1.0 ← 二进制:11000000.10101000.00000001.00000000
结果:两个网络地址都是 192.168.1.0 → 在同一网段
方法B:快速判断法(针对常见/24掩码)
对于 255.255.255.0(/24),前三段必须完全相同:
192.168.1.100/24和192.168.1.200/24→ 前三段都是192.168.1→ 同一网段192.168.1.100/24和192.168.2.100/24→ 第三段不同(1 ≠ 2)→ 不同网段
# 二、不同掩码的示例对比
# 示例1:明显不在同一网段
- IP1:
10.1.1.100,掩码255.255.255.0(/24) - IP2:
192.168.1.100,掩码255.255.255.0(/24) 一眼看出:第一段就不同(10 ≠ 192),肯定不在同一网段。
# 示例2:相同IP段,但掩码不同导致不同网段(重要!)
- IP1:
192.168.1.100,掩码255.255.255.128(/25) - IP2:
192.168.1.200,掩码255.255.255.128(/25)
掩码 /25 = 255.255.255.128
二进制:11111111.11111111.11111111.10000000
IP1: 192.168.1.100 → 11000000.10101000.00000001.01100100
AND掩码 → 11000000.10101000.00000001.00000000 = 192.168.1.0
IP2: 192.168.1.200 → 11000000.10101000.00000001.11001000
AND掩码 → 11000000.10101000.00000001.10000000 = 192.168.1.128
结果:网络地址不同(192.168.1.0 ≠ 192.168.1.128)→ 不在同一网段。
# 示例3:掩码很大,包含范围广
- IP1:
10.0.1.100,掩码255.255.0.0(/16) - IP2:
10.0.200.50,掩码255.255.0.0(/16)
计算:掩码 /16 只看前两段:
10.0 和 10.0 → 相同 → 在同一网段(都属于 10.0.0.0/16 这个大网段)。
← 简介