计算机网络中的地址体系全解析(包含 A/B/C 类地址 + 私有地址 + CIDR)
1. 🌐 为什么网络通信离不开“地址”?
现实生活中,快递小哥要送货,需要:
- 省 → 市 → 区 → 小区 → 楼栋 → 门牌号
网络通信也一样,一台电脑想给另一台电脑发送数据,也必须“精准找到对方”。
因此计算机网络中有三类“地址”:
| 类别 | 作用 | 类比 |
|---|---|---|
| MAC 地址 | 物理地址,局域网层识别身份 | 小区门口保安的“人脸识别” |
| IP 地址 | 网络层寻址,负责“你在哪个网段” | 行政地址(省市区) |
| 端口号 | 应用识别,指出“找哪一个应用” | 收件人本人 |
这三种地址层层递进,才能实现 从一台电脑到另一台电脑的完整通信链路。
2. 🧬 MAC 地址:网络世界每个设备的“身份证”
2.1 MAC 是什么?
- 工作在 数据链路层(第 2 层)
- 写死在网卡中(也可以修改)
- 长度 48 bit,常见格式:
AA-BB-CC-DD-EE-FF
2.2 特点
- 局域网内唯一
- 不可跨网(交换机只认 MAC)
- 路由器不会转发 MAC 地址
📌 结论:MAC 地址只能在局域网内部定位,不参与跨网通信。
3. 🌍 IP 地址体系:从 ABC 类到 CIDR,你必须真正理解的知识
3.1 IP 地址的历史:经典 A/B/C 类地址划分
在最初的互联网设计中,IP 地址被人为划分成:
| 类别 | 领先位 | 网络号长度 | 主机号长度 | 默认子网掩码 | 可分配主机数量 |
|---|---|---|---|---|---|
| A 类 | 0xxx | 8 bit | 24 bit | 255.0.0.0 (/8) | 16,777,214 |
| B 类 | 10xx | 16 bit | 16 bit | 255.255.0.0 (/16) | 65,534 |
| C 类 | 110x | 24 bit | 8 bit | 255.255.255.0 (/24) | 254 |
| D 类(组播) | 1110 | - | - | - | - |
| E 类(科研) | 1111 | - | - | - | - |
常见 IP 范围:
| 类别 | IP 范围 |
|---|---|
| A 类 | 1.0.0.0 ~ 126.255.255.255 |
| B 类 | 128.0.0.0 ~ 191.255.255.255 |
| C 类 | 192.0.0.0 ~ 223.255.255.255 |
| D 类 | 224.0.0.0 ~ 239.255.255.255 |
| E 类 | 240.0.0.0 ~ 255.255.255.255 |
🌟 重点:127.x.x.x 保留为回环地址,不属于 A 类正常使用范围。
为什么 ABC 类失败了?
因为:
- A 类 = 网太大
- C 类 = 主机太少
- 很多地址用不了 → 互联网地址严重浪费
所以后来出现了:
3.2 现代互联网使用的 CIDR(无类域间路由)
CIDR 的形式是:
IP地址/网络前缀
例如:
192.168.1.10/24
10.0.0.5/8
172.16.5.20/12
网络前缀决定:
- 网络号多少位
- 主机号多少位
- 子网掩码是什么
例如:
/24 = 255.255.255.0
/16 = 255.255.0.0
/12 = 255.240.0.0
总结:现代互联网已经不再依赖传统 ABC 类,而是依赖灵活的 CIDR 划分。
3.3 私有地址(Private IP):不需要公网授权的地址
RFC1918 定义了内网使用的私有地址段:
| 类别 | 私有 IP 网段 | 掩码 |
|---|---|---|
| A 类私有地址 | 10.0.0.0 ~ 10.255.255.255 | /8 |
| B 类私有地址 | 172.16.0.0 ~ 172.31.255.255 | /12 |
| C 类私有地址 | 192.168.0.0 ~ 192.168.255.255 | /16 |
家庭、公司、学校,几乎都使用这些 IP。
这些地址不会在公网路由,因此必须依靠 NAT 才能访问外网。
3.4 特殊地址总结(你必须记住)
| 目的 | 地址 | 说明 |
|---|---|---|
| 本机回环测试 | 127.0.0.1/8 | 永远指向自己 |
| 本网段广播 | x.x.x.255(根据掩码) | 向所有主机发送广播 |
| 本机所有 IP | 0.0.0.0 | 常用于服务器绑定 |
| 未知地址 | 0.0.0.0/8 | 未指定来源 |
| 组播地址 | 224.0.0.0 ~ 239.255.255.255 | 组播协议使用 |
| APIPA 自动分配 | 169.254.x.x | DHCP 获取失败时临时地址 |
这些在面试、工作(尤其运维/网络排查)中非常常见。
4. 🧩 端口号:数据包要送给哪一个应用?
IP 地址定位到机器后,还要知道交给 哪一个程序。
- 工作在传输层(TCP/UDP)
- 范围:0~65535
- 常见端口:
| 服务 | 端口 | 协议 |
|---|---|---|
| HTTP | 80 | TCP |
| HTTPS | 443 | TCP |
| DNS | 53 | UDP |
| MySQL | 3306 | TCP |
端口号 ≈ 房子的不同住户 / 部门,区分不同应用程序。
5. 🧱 NAT:为什么全世界几十亿设备能共享有限的 IPv4?
公共 IP 只有 43 亿个,但设备远超这个数。
因此网络大量使用 NAT(网络地址转换)。
家庭路由器 NAT 示意图:
手机:192.168.1.5
电脑:192.168.1.10
Pad:192.168.1.20 全部通过一个公网 IP:123.45.67.8
路由器记录连接表:
| 内网 IP | 内部端口 | 公网端口 |
|---|---|---|
| 192.168.1.10 | 50001 | 20001 |
| 192.168.1.5 | 50002 | 20002 |
NAT 让多个内网设备共享一个公网 IP,节省 IPv4 地址。
6. 🛰️子网划分:如何判断两个 IP 是否同网段?
例:
A: 192.168.1.10/24
B: 192.168.1.100/24
二者是否同网段?
计算:
192.168.1.10 & 255.255.255.0 = 192.168.1.0
192.168.1.100 & 255.255.255.0 = 192.168.1.0
→ 同网段
如果 B 改成:
192.168.2.100
则:
192.168.2.0 ≠ 192.168.1.0
→ 不同网段,需要路由器
7. 📡ARP:IP 如何找到 MAC?
流程:
我知道 192.168.1.10
我不知道它的 MAC
↓
ARP 广播:“192.168.1.10 是谁?”
↓
目标机器回复 MAC
↓
构建局域网数据帧
局域网通信 = IP → ARP → MAC
8.🛣️ 路由:IP 包如何走向世界?
数据包要走出你的家庭网络,需要:
电脑 → 默认网关(家庭路由器) → ISP → 骨干网 → 目标
路由器做的事情:
- 判断目标是否在同网段
- 如果不是 → 查路由表,转发到下一跳
- 最终到达目标网络
路由器是“快递高速公路的导航系统”。
9. 🗺️ 图解:完整的数据包通信链路
下面是完整通信路径:
应用层:HTTP 给浏览器
↓
传输层:TCP 将数据分段 + 端口号
↓
网络层:IP 封装 IP 地址(源/目标)
↓
链路层:ARP → MAC 封装
↓
物理层:电信号发送
一个数据包从浏览器到服务器,会经历:
- IP 地址定位服务器所在网络
- 路由器根据网络号转发
- ARP 在局域网找到最终的 MAC
- 端口号定位到服务器的具体应用
10. 📦 总结:计算机网络地址体系 = 城市物流系统
| 网络概念 | 类比 | 功能 |
|---|---|---|
| MAC | 小区内的人脸识别 | 局域网内识别设备 |
| IP | 行政地址 | 跨网段寻找目标 |
| 子网掩码 | 小区划分 | 判断是否同网段 |
| 路由 | 高速公路与导航 | 决定数据包的路径 |
| NAT | 快递驿站 | 多个内网共享一个公网 IP |
| 端口 | 收件人 | 交给具体应用 |
这个体系精准高效,使整个互联网能够 互联互通。
🎯 结语:为什么你要真正理解这个?
无论你做:
- 前端 / 后端开发
- 运维 / 安全
- 嵌入式 / IOT
- 云原生 / k8s
- 网络工程 / 架构设计
你都需要彻底理解:
IP + MAC + 端口 是网络的三大基石
理解了这些,即可通透理解 NAT、路由、VLAN、VPN、Docker 网络、K8S CNI 等更高级主题。
