梳理计算机网络分层的必要性,以及协议、接口、服务、体系结构和参考模型之间的关系。

# 为什么需要分层

计算机网络非常复杂,涉及应用、端到端传输、路由、链路传输和物理信号。分层的目的就是把复杂问题拆开:每一层只关注本层任务,并向上层提供服务。

分层优点:

  • 降低复杂度。
  • 各层职责清晰。
  • 便于标准化。
  • 便于不同厂商设备互通。
  • 某层实现变化时尽量不影响其他层。

分层缺点:

  • 层间封装带来额外开销。
  • 有些功能可能在多层重复出现,例如差错控制、流量控制。
  • 严格分层有时会降低整体优化空间。

# 协议、接口与服务

这三个概念是体系结构章节的核心。

概念含义关注方向
协议同层实体之间通信的规则水平方向
接口相邻层之间交互的边界垂直方向
服务下层通过接口向上层提供的功能垂直方向

1
2
3
4
5
6
7
8
9
10
11
12
flowchart LR
subgraph HostA[主机 A]
A3[第 n 层]
A2[第 n-1 层]
end
subgraph HostB[主机 B]
B3[第 n 层]
B2[第 n-1 层]
end
A3 <-->|协议| B3
A3 -->|接口/服务| A2
B3 -->|接口/服务| B2

# 协议三要素

网络协议规定通信双方交换信息的规则,包含三要素:

要素含义示例
语法数据与控制信息的格式首部字段、报文格式
语义控制信息的含义SYN 表示请求建立连接
时序事件顺序和速度匹配先请求后响应、超时重传

协议是 “同层之间” 的规则,服务是 “下层给上层” 的能力。选择题常在这里设陷阱。

# 封装与解封装

发送数据时,每一层把上层数据作为本层载荷,并加上本层首部或尾部;接收时反向拆除。

1
2
3
4
5
flowchart TB
A[应用层数据] --> B[传输层<br/>加 TCP/UDP 首部]
B --> C[网络层<br/>加 IP 首部]
C --> D[数据链路层<br/>加帧首部和帧尾]
D --> E[物理层<br/>比特流]

常见数据单位:

层次数据单位
应用层报文
传输层段 TCP / 用户数据报 UDP
网络层分组、IP 数据报
数据链路层
物理层比特

# OSI 七层模型

OSI 参考模型从上到下分为七层。

层次名称主要功能
7应用层为用户应用提供网络服务
6表示层数据表示、加密、压缩、格式转换
5会话层会话建立、管理和释放
4传输层端到端通信、可靠传输、流量控制
3网络层路由选择、分组转发、逻辑寻址
2数据链路层组帧、差错控制、MAC、链路传输
1物理层比特传输、接口特性、物理介质

记忆方向:

  • 上三层偏应用和数据表示。
  • 中间传输层负责端到端。
  • 下三层负责网络传输过程。

# TCP/IP 模型

TCP/IP 模型更贴近实际互联网。

TCP/IP 层次对应 OSI典型协议
应用层应用层、表示层、会话层HTTP、DNS、FTP、SMTP
传输层传输层TCP、UDP
网际层网络层IP、ICMP、ARP、RIP、OSPF
网络接口层数据链路层、物理层Ethernet、PPP、Wi-Fi

1
2
3
4
5
6
flowchart LR
A[OSI 七层] --> B[TCP/IP 四层]
A1[应用/表示/会话] --> B1[应用层]
A2[传输层] --> B2[传输层]
A3[网络层] --> B3[网际层]
A4[数据链路层/物理层] --> B4[网络接口层]

# 五层参考模型

考研和教材中常使用五层模型,兼顾 OSI 的清晰性和 TCP/IP 的实用性。

层次功能关键词典型协议 / 技术
应用层应用进程间通信HTTP、DNS、FTP、SMTP
传输层进程到进程TCP、UDP
网络层主机到主机、路由IP、ICMP、路由协议
数据链路层相邻结点、帧Ethernet、PPP、HDLC
物理层比特流双绞线、光纤、无线

1
2
3
4
5
flowchart TB
A[应用层<br/>报文] --> B[传输层<br/>段/用户数据报]
B --> C[网络层<br/>IP 数据报]
C --> D[数据链路层<br/>帧]
D --> E[物理层<br/>比特]

# 服务类型

# 面向连接与无连接

类型特点示例
面向连接服务通信前建立连接,通信后释放连接TCP、虚电路
无连接服务不预先建立连接,每个分组独立处理IP、UDP、数据报

# 可靠与不可靠

类型特点示例
可靠服务有确认、重传、排序等机制TCP
不可靠服务尽力而为,不保证到达IP、UDP

“面向连接” 不等于 “可靠”,“无连接” 也不必然 “不可靠”。它们是两个维度,只是常见协议组合容易让人混淆。

# 各层典型设备

层次设备依据
物理层中继器、集线器比特、电信号
数据链路层网桥、交换机MAC 地址
网络层路由器IP 地址
应用层网关、代理服务器应用协议

设备层次判断方法:

  1. 看它是否理解地址。
  2. 看它依据什么地址转发。
  3. 看它处理的数据单位。

# 协议栈总览

常见协议位置:

层次协议
应用层HTTP、HTTPS、DNS、FTP、SMTP、POP3、DHCP
传输层TCP、UDP
网络层IP、ICMP、RIP、OSPF、BGP
数据链路层Ethernet、PPP、HDLC、ARP
物理层物理介质和接口标准

说明:

  • ARP 介于网络层和数据链路层之间,常作为网络层辅助协议掌握。
  • DHCP 是应用层协议,使用 UDP。
  • DNS 主要使用 UDP,区域传送或大报文可使用 TCP。

# 本节考点

  1. 分层的核心价值是降低复杂度和实现标准化。
  2. 协议是同层实体之间的规则;服务是下层向上层提供的功能;接口是相邻层交互边界。
  3. 协议三要素:语法、语义、时序。
  4. OSI 七层、TCP/IP 四层、五层模型要能对应。
  5. 数据单位:报文、段 / 用户数据报、IP 数据报、帧、比特。
  6. TCP 是面向连接可靠服务;IP 是无连接不可靠尽力而为服务。
  7. 集线器物理层,交换机数据链路层,路由器网络层。