第 3 章:网络层(上)—— IP 地址与子网划分¶
场景: 你要给远在另一个城市的朋友寄快递。光知道他的名字(MAC 地址)不够——你需要他的完整地址:省、市、区、街道、门牌号。IP 地址就是互联网世界的"收件地址",而子网划分就是"邮政编码系统"。
3.1 IP 地址基础¶
核心比喻:IP 地址就是门牌号
每台接入互联网的设备都需要一个唯一的 IP 地址,就像每栋房子需要一个唯一的门牌号。快递员(路由器)根据门牌号找到你的房子。
- IPv4:32 位地址,约 43 亿个(已经不够用了)
- IPv6:128 位地址,多到可以为地球上每一粒沙子分配一个地址
IPv4 地址格式¶
IPv4 地址由 32 位二进制组成,通常用"点分十进制"表示:
每 8 位一组(称为一个字节/octet),共 4 组,取值范围 0~255。
IP 地址分类¶
| 类别 | 首字节范围 | 网络号位数 | 主机号位数 | 最大网络数 | 每网络最大主机数 |
|---|---|---|---|---|---|
| A 类 | 1~126 | 8 | 24 | 126 | \(2^{24}-2 \approx 1677\) 万 |
| B 类 | 128~191 | 16 | 16 | \(2^{14}\) | \(2^{16}-2 = 65534\) |
| C 类 | 192~223 | 24 | 8 | \(2^{21}\) | \(2^{8}-2 = 254\) |
| D 类 | 224~239 | — | — | 组播地址 | — |
| E 类 | 240~255 | — | — | 保留 | — |
特殊 IP 地址
127.0.0.1:回环地址(localhost),指向本机0.0.0.0:表示"任意地址"或"本网络本主机"255.255.255.255:有限广播地址- 主机号全 0:表示"本网络"
- 主机号全 1:表示"本网络的广播地址"
私有 IP 地址¶
这些地址只能在局域网内使用,不能出现在公网上:
| 类别 | 私有地址范围 |
|---|---|
| A 类 | 10.0.0.0 ~ 10.255.255.255 |
| B 类 | 172.16.0.0 ~ 172.31.255.255 |
| C 类 | 192.168.0.0 ~ 192.168.255.255 |
3.2 子网掩码与子网划分¶
核心比喻:子网掩码就是邮政编码
一个城市有成千上万的门牌号,快递员怎么快速定位?靠邮政编码——前几位代表省,中间代表市,后面代表区。
子网掩码就是 IP 地址的"邮政编码"——它告诉你 IP 地址中哪部分是"网络号"(省市区),哪部分是"主机号"(具体门牌号)。
子网掩码的作用¶
子网掩码也是 32 位,用连续的 1 标识网络位,连续的 0 标识主机位:
IP 地址: 192.168. 1. 10 → 11000000 10101000 00000001 00001010
子网掩码: 255.255.255. 0 → 11111111 11111111 11111111 00000000
└────── 网络号 ──────┘ └─主机号─┘
逻辑与运算 得到网络地址:
11000000 10101000 00000001 00001010 (192.168.1.10)
AND
11111111 11111111 11111111 00000000 (255.255.255.0)
=
11000000 10101000 00000001 00000000 (192.168.1.0) ← 网络地址
CIDR 表示法¶
CIDR(无类别域间路由)用 /n 表示子网掩码中 1 的个数:
| CIDR | 子网掩码 | 可用主机数 |
|---|---|---|
/8 |
255.0.0.0 |
\(2^{24}-2\) |
/16 |
255.255.0.0 |
\(2^{16}-2 = 65534\) |
/24 |
255.255.255.0 |
\(2^{8}-2 = 254\) |
/25 |
255.255.255.128 |
\(2^{7}-2 = 126\) |
/26 |
255.255.255.192 |
\(2^{6}-2 = 62\) |
/28 |
255.255.255.240 |
\(2^{4}-2 = 14\) |
子网划分实战¶
题目: 将 192.168.1.0/24 划分为 4 个子网,写出每个子网的网络地址、可用 IP 范围和广播地址。
解题步骤:
- 4 个子网需要借 2 位主机位(\(2^2 = 4\))
- 新子网掩码:
/24 + 2 = /26,即255.255.255.192 - 每个子网有 \(2^{6} = 64\) 个地址,可用 \(64 - 2 = 62\) 个
| 子网 | 网络地址 | 可用 IP 范围 | 广播地址 |
|---|---|---|---|
| 1 | 192.168.1.0/26 |
192.168.1.1 ~ 192.168.1.62 |
192.168.1.63 |
| 2 | 192.168.1.64/26 |
192.168.1.65 ~ 192.168.1.126 |
192.168.1.127 |
| 3 | 192.168.1.128/26 |
192.168.1.129 ~ 192.168.1.190 |
192.168.1.191 |
| 4 | 192.168.1.192/26 |
192.168.1.193 ~ 192.168.1.254 |
192.168.1.255 |
3.3 NAT —— 网络地址转换¶
核心比喻:NAT 就像公司总机转分机
公司只有一个对外公布的电话号码(公网 IP),但内部有 100 个员工(私有 IP)。外部打电话进来,总机根据分机号转接到对应员工。员工打出去,对方看到的也是公司总机号码。
NAT 让整个局域网共享一个公网 IP 上网,极大缓解了 IPv4 地址枯竭问题。
内网 (私有IP) 外网 (公网IP)
┌──────────┐ ┌──────────┐
│ PC1 │ │ │
│ 192.168.1.2 ├──┐ │ │
└──────────┘ │ ┌─────┐ │ │
├───┤ NAT ├──┤ Internet │
┌──────────┐ │ │路由器│ │ │
│ PC2 │ │ └─────┘ │ │
│ 192.168.1.3 ├──┘ │ │
└──────────┘ └──────────┘
3.4 ARP 协议 —— IP 到 MAC 的翻译¶
ARP(Address Resolution Protocol)解决"知道 IP 地址但不知道 MAC 地址"的问题:
主机 A (192.168.1.10) 想知道 192.168.1.1 的 MAC 地址:
1. A 广播 ARP 请求:"谁是 192.168.1.1?请告诉 192.168.1.10 你的 MAC 地址"
2. 路由器 (192.168.1.1) 单播回复:"我是 192.168.1.1,我的 MAC 是 00:1A:2B:3C:4D:5E"
3. A 将映射关系存入 ARP 缓存
3.5 常见考试题型¶
例题 1: IP 地址 172.16.10.5/20 所在的网络地址是( )。
A. 172.16.0.0 B. 172.16.10.0 C. 172.16.8.0 D. 172.0.0.0
查看答案
答案:A
/20 表示子网掩码前 20 位为 1,即 255.255.240.0。
172.16.10.5 的二进制:10101100 00010000 00001010 00000101
与 255.255.240.0 做 AND 运算:10101100 00010000 00000000 00000000 = 172.16.0.0
例题 2: 某公司获得一个 C 类地址 202.112.10.0,需要划分 5 个子网,每个子网至少 25 台主机,应使用的子网掩码是( )。
A. 255.255.255.0 B. 255.255.255.128 C. 255.255.255.192 D. 255.255.255.224
查看答案
答案:D
5 个子网需要借 3 位(\(2^3 = 8 \ge 5\)),剩余 5 位主机位,可用主机数 \(2^5 - 2 = 30 \ge 25\)。
子网掩码:/24 + 3 = /27,即 255.255.255.224。
例题 3: 以下属于私有 IP 地址的是( )。
A. 10.1.2.3 B. 127.0.0.1 C. 8.8.8.8 D. 202.112.10.5
查看答案
答案:A
10.1.2.3 属于 A 类私有地址范围 10.0.0.0 ~ 10.255.255.255。
127.0.0.1 是回环地址,8.8.8.8 是 Google 的公共 DNS,202.112.10.5 是公网地址。
要点总结¶
- IPv4 地址 32 位,点分十进制表示;IPv6 地址 128 位
- A 类(1~126)、B 类(128~191)、C 类(192~223)
- 子网掩码区分网络号和主机号,CIDR 用
/n表示 - 子网划分:借主机位 → 增加子网数,减少每子网主机数
- NAT 让内网私有 IP 共享公网 IP 上网
- ARP 协议实现 IP 地址到 MAC 地址的解析
课后练习¶
-
子网划分 :将
10.0.0.0/8划分为 16 个子网,写出每个子网的网络地址和子网掩码。 -
地址判断 :判断
172.16.255.255是公网地址还是私有地址,并说明理由。 -
真题演练 :某主机的 IP 地址为
180.80.77.55,子网掩码为255.255.252.0,该主机所在子网的广播地址是多少?
下一章预告: IP 地址搞清楚了,但数据包怎么从北京到达纽约?中间经过哪些路由器?谁来选择最优路径?第 4 章将学习路由协议。