跳转至

第 3 章:网络层(上)—— IP 地址与子网划分

场景: 你要给远在另一个城市的朋友寄快递。光知道他的名字(MAC 地址)不够——你需要他的完整地址:省、市、区、街道、门牌号。IP 地址就是互联网世界的"收件地址",而子网划分就是"邮政编码系统"。


3.1 IP 地址基础

核心比喻:IP 地址就是门牌号

每台接入互联网的设备都需要一个唯一的 IP 地址,就像每栋房子需要一个唯一的门牌号。快递员(路由器)根据门牌号找到你的房子。

  • IPv4:32 位地址,约 43 亿个(已经不够用了)
  • IPv6:128 位地址,多到可以为地球上每一粒沙子分配一个地址

IPv4 地址格式

IPv4 地址由 32 位二进制组成,通常用"点分十进制"表示:

二进制:  11000000 10101000 00000001 00001010
十进制:  192    . 168    . 1      . 10

每 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 范围和广播地址。

解题步骤:

  1. 4 个子网需要借 2 位主机位(\(2^2 = 4\)
  2. 新子网掩码:/24 + 2 = /26,即 255.255.255.192
  3. 每个子网有 \(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 地址的解析

课后练习

  1. 子网划分 :将 10.0.0.0/8 划分为 16 个子网,写出每个子网的网络地址和子网掩码。

  2. 地址判断 :判断 172.16.255.255 是公网地址还是私有地址,并说明理由。

  3. 真题演练 :某主机的 IP 地址为 180.80.77.55,子网掩码为 255.255.252.0,该主机所在子网的广播地址是多少?


下一章预告: IP 地址搞清楚了,但数据包怎么从北京到达纽约?中间经过哪些路由器?谁来选择最优路径?第 4 章将学习路由协议。

继续第 4 章:网络层(下)—— 路由协议 →