第 1 章:网络体系结构 —— 分层是网络的"灵魂"¶
场景: 你打开浏览器输入
www.example.com,不到一秒页面就出现了。这背后发生了什么?数据是如何从服务器跨越千山万水到达你的电脑的?答案就藏在网络的分层体系结构中。
1.1 为什么需要分层?¶
核心比喻:物流公司的部门分工
想象一家全国性的快递物流公司。如果所有事情都由一个人做——收件、打包、分拣、运输、派送——效率极低且容易出错。
聪明的做法是 分层分工 :
- 收件部 :负责从客户手中收取包裹,贴上运单
- 分拣部 :根据目的地将包裹分类,装入不同方向的卡车
- 运输部 :负责将包裹从 A 城市运到 B 城市
- 派送部 :将包裹从本地中转站送到收件人手中
每一层只关心自己的职责,层与层之间通过标准接口(运单格式)交接。这就是网络分层的核心思想!
| 分层的好处 | 说明 |
|---|---|
| 独立性强 | 每层可以独立开发和升级,不影响其他层 |
| 标准化 | 层间接口统一,不同厂商的设备可以互操作 |
| 易于排错 | 问题可以定位到具体某一层 |
| 灵活替换 | 比如把运输方式从卡车换成火车,其他层不受影响 |
1.2 OSI 七层参考模型¶
OSI(Open Systems Interconnection)模型是国际标准化组织(ISO)提出的理论模型,将网络通信分为七层:
┌─────────────────────────────────┐
│ 7. 应用层 (Application) │ ← 用户直接接触的层
├─────────────────────────────────┤
│ 6. 表示层 (Presentation) │ ← 数据格式转换、加密解密
├─────────────────────────────────┤
│ 5. 会话层 (Session) │ ← 建立、管理、终止会话
├─────────────────────────────────┤
│ 4. 传输层 (Transport) │ ← 端到端可靠传输
├─────────────────────────────────┤
│ 3. 网络层 (Network) │ ← 寻址和路由选择
├─────────────────────────────────┤
│ 2. 数据链路层 (Data Link) │ ← 相邻节点间的可靠传输
├─────────────────────────────────┤
│ 1. 物理层 (Physical) │ ← 比特流的物理传输
└─────────────────────────────────┘
| 层号 | 层名 | 核心功能 | 数据单元 | 典型设备/协议 |
|---|---|---|---|---|
| 7 | 应用层 | 为用户应用程序提供网络服务 | 报文 | HTTP、FTP、DNS、SMTP |
| 6 | 表示层 | 数据格式转换、加密/解密、压缩 | 报文 | JPEG、ASCII、SSL/TLS |
| 5 | 会话层 | 建立/管理/终止会话连接 | 报文 | RPC、NetBIOS |
| 4 | 传输层 | 端到端可靠传输、流量控制 | 段(Segment) | TCP、UDP |
| 3 | 网络层 | 逻辑寻址、路由选择 | 包(Packet) | IP、路由器 |
| 2 | 数据链路层 | 帧同步、差错控制、MAC 寻址 | 帧(Frame) | 交换机、网桥 |
| 1 | 物理层 | 比特流的物理传输 | 比特(Bit) | 集线器、网线、光纤 |
记忆口诀
"应表会传网数物" —— 从上到下:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。
或者用英文首字母: All People Seem To Need Data Processing (所有人似乎都需要数据处理)。
1.3 TCP/IP 四层模型¶
OSI 七层模型是理论标准,而实际互联网使用的是更简洁的 TCP/IP 四层模型 :
┌──────────────────────────────────────┐
│ OSI 七层 TCP/IP 四层 │
├──────────────────────────────────────┤
│ 7. 应用层 ┐ │
│ 6. 表示层 ├── 应用层 │
│ 5. 会话层 ┘ │
├──────────────────────────────────────┤
│ 4. 传输层 ──── 传输层 │
├──────────────────────────────────────┤
│ 3. 网络层 ──── 网际层 │
├──────────────────────────────────────┤
│ 2. 数据链路层 ┐ │
│ 1. 物理层 ┴── 网络接口层 │
└──────────────────────────────────────┘
| TCP/IP 层 | 对应 OSI 层 | 核心协议 |
|---|---|---|
| 应用层 | 5~7 层 | HTTP、FTP、DNS、SMTP、Telnet |
| 传输层 | 4 层 | TCP、UDP |
| 网际层 | 3 层 | IP、ICMP、ARP、RARP |
| 网络接口层 | 1~2 层 | Ethernet、Wi-Fi、PPP |
1.4 数据封装与解封装¶
核心比喻:快递打包与拆包
你要寄一本书给朋友:
- 你把书放进信封,写上收件人姓名( 应用层 加头部)
- 邮局把信封装进包裹,贴上地址标签( 传输层 加头部)
- 分拣中心把包裹装进邮袋,写上目的地城市( 网络层 加头部)
- 邮袋装车,司机按路线运输( 数据链路层+物理层 )
收件方反过来一层层拆开:先拆邮袋→拆包裹→拆信封→拿到书。
发送方(封装) 接收方(解封装)
┌──────────┐ ┌──────────┐
│ 应用层数据 │ │ 应用层数据 │
├──────────┤ ├──────────┤
│ TCP 头部 │ ← 传输层添加 │ TCP 头部 │ → 传输层移除
├──────────┤ ├──────────┤
│ IP 头部 │ ← 网络层添加 │ IP 头部 │ → 网络层移除
├──────────┤ ├──────────┤
│ 帧头+帧尾 │ ← 数据链路层添加 │ 帧头+帧尾 │ → 数据链路层移除
└──────────┘ └──────────┘
1.5 常见考试题型¶
例题 1: 在 OSI 参考模型中,负责路由选择的层是( )。
A. 物理层 B. 数据链路层 C. 网络层 D. 传输层
查看答案
答案:C
网络层负责逻辑寻址和路由选择,即决定数据包从源到目的地的路径。
例题 2: TCP/IP 模型中,传输层对应的协议是( )。
A. IP B. TCP 和 UDP C. HTTP D. ARP
查看答案
答案:B
TCP/IP 模型的传输层包含 TCP(传输控制协议)和 UDP(用户数据报协议)两个核心协议。
例题 3: 数据从应用层向下传递时,每层都会添加自己的头部信息,这个过程称为( )。
查看答案
答案:封装(Encapsulation)
发送方数据从上层到下层的传递过程中,每一层都会添加该层的协议头部(数据链路层还会添加尾部),这个过程称为封装。接收方则进行相反的解封装过程。
要点总结¶
- 网络分层将复杂通信分解为独立的功能层,便于设计、实现和维护
- OSI 七层模型:物理层→数据链路层→网络层→传输层→会话层→表示层→应用层
- TCP/IP 四层模型:网络接口层→网际层→传输层→应用层(实际互联网标准)
- 发送方数据逐层 封装 (加头部),接收方逐层 解封装 (去头部)
- 网络层负责路由选择,传输层负责端到端可靠传输
课后练习¶
-
概念辨析 :用自己的话解释 OSI 七层模型和 TCP/IP 四层模型的对应关系。
-
封装练习 :画出发送一封电子邮件时,数据在各层之间的封装过程。
-
真题演练 :在 OSI 参考模型中,提供流量控制功能的层是( )层。
下一章预告: 搞懂了分层结构,我们从最底层开始——物理层和数据链路层。网线里的信号是怎么传输的?交换机如何转发数据?第 2 章见。