目录

计算机网络体系结构

~~TOC~~

概述

计算机网络体系结构采用分层设计,把复杂的网络通信过程划分成若干相对独立的功能层。

每一层完成特定的通信任务:

常见的计算机网络体系结构主要包括:

  1. OSI参考模型:划分为7层;
  2. TCP/IP模型:通常划分为4层。
核心思想:把复杂的网络通信问题分解为多个层次,每一层只关注自己的任务,并通过清晰的接口与相邻层交互。

1. 分层体系结构

1.1 为什么采用分层结构

计算机网络通信涉及信号传输、差错控制、寻址、路由、可靠传输、数据表示和应用服务等多个问题。

如果把所有功能集中在一个整体中实现,系统将变得非常复杂,难以设计、维护和扩展。

分层设计具有以下优点:

1.2 分层关系

为了便于描述,任意一层可以称为 (N)层

其基本关系如下:

(N+1)层
   ↑ 使用(N)层提供的服务
   │
(N)层
   ↑ 使用(N-1)层提供的服务
   │
(N-1)层

每一层都在下层服务的基础上增加新的功能,再向上层提供增值服务。

例如:

1.3 层次独立性

分层设计要求不同层次之间保持相对独立。

只要某一层继续向上层提供相同的服务,该层的内部实现方式就可以改变,而不必要求上层同时修改。

理解要点:上层关心下层“能够提供什么服务”,通常不需要知道这些服务“具体如何实现”。

2. 实体、协议、服务与接口

2.1 实体

实体是实现某一网络层功能的软件元素或硬件元素的抽象。

常见实体包括:

处于同一层中的实体称为对等实体

例如,两台主机中的传输层协议模块就是传输层的对等实体。

2.2 协议

协议是同一层对等实体之间进行通信时共同遵守的规则集合。

协议通常规定:

(N)层实体之间的合作关系由 (N)协议规范。

主机A                                主机B
(N)实体  ←────── (N)层协议 ──────→  (N)实体
   ↑                                     ↑
使用(N-1)层服务                    使用(N-1)层服务

2.3 服务

服务是某一层向相邻上层提供的功能。

(N)层使用(N-1)层提供的服务,完成自己的功能后,再向(N+1)层提供服务。

例如:

2.4 接口

接口描述同一系统中相邻层次之间交换信息的方式。

接口位于上下相邻层之间,规定上层如何调用下层提供的服务。

2.5 四个概念的区别

概念 作用范围 核心含义 简单理解
实体 某一层内部 实现该层功能的软件或硬件元素 谁在工作
协议 不同系统的同层实体之间 对等实体通信的规则 横向规则
服务 相邻上下层之间 下层向上层提供的功能 下层能做什么
接口 同一系统的相邻层之间 上层访问下层服务的方法 纵向入口
记忆方法:实体是参与者,协议是同层规则,服务是下层能力,接口是访问服务的入口。

3. 服务访问点SAP

3.1 SAP的含义

服务访问点简称 SAP,英文名称为:

(N+1)实体通过(N)服务访问点获得(N)层提供的服务。

(N)SAP表示(N)实体与(N+1)实体之间的逻辑接口。

3.2 SAP的关系

教材中给出的基本关系包括:

SAP本质上代表上下层实体建立服务关系的手段。

             (N+1)实体
                  │
             (N) SAP
                  │
               (N)实体
                  │
            (N-1) SAP
                  │
             (N-1)实体

4. 服务原语

OSI参考模型使用服务原语描述某个功能层提供的服务。

服务原语通常采用类似过程调用的形式,用于描述相邻层之间如何请求和提供服务。

4.1 面向连接服务的四种原语

面向连接服务通常包括四种服务原语:

服务原语 英文 作用
请求原语 Request 服务使用者请求执行某项操作
指示原语 Indication 服务提供者通知对方发生了请求或事件
响应原语 Response 被调用方对收到的指示作出响应
确认原语 Confirm 服务提供者向请求方确认操作结果

典型交互过程如下:

发起方                        接收方
  │                             │
  │ 请求 Request                │
  ├──────────────→              │
  │              指示 Indication│
  │                        ─────→│
  │                             │
  │              响应 Response  │
  │              ←──────────────┤
  │ 确认 Confirm                │
  │←──────────────              │

4.2 面向连接与无连接服务

OSI服务可以分为:

面向连接服务

面向连接服务在传输数据前,需要先建立逻辑连接。

其基本过程通常包括:

  1. 建立连接;
  2. 传输数据;
  3. 释放连接。

连接通常是点到点连接,也可以在多个端点之间建立多点连接。

无连接服务

无连接服务在发送数据前不需要建立连接。

每个数据单元可以独立发送,网络服务中的数据报通信就是典型的无连接通信方式。

4.3 连接端点CEP

连接的两端称为连接端点,简称 CEP

(N)实体使用本地CEP标识已经建立的各个连接。


5. OSI参考模型

5.1 OSI/RM的提出

1978年,国际标准化组织 ISO 提出开放系统互连参考模型。

OSI/RM的英文名称为:

ISO 7498文件对OSI参考模型进行了规定和描述。

OSI/RM为开放系统之间的互连提供了一套分层的功能结构框架。

将原页面中“OSI七层结构”表格替换为以下内容即可:

5.2 OSI七层结构

OSI参考模型由低到高分为7层。各层传输的数据统称为协议数据单元(Protocol Data Unit,PDU)。

层号 层次 主要任务 协议数据单元
7 应用层 为用户应用提供网络服务 APDU(Application Protocol Data Unit,应用层协议数据单元)
6 表示层 数据格式转换、压缩和加密 PPDU(Presentation Protocol Data Unit,表示层协议数据单元)
5 会话层 建立、管理和终止会话 SPDU(Session Protocol Data Unit,会话层协议数据单元)
4 传输层 提供端到端的数据传输 TPDU(Transport Protocol Data Unit,传输层协议数据单元)
3 网络层 寻址、路由和分组传输 分组(Packet)
2 数据链路层 成帧、差错控制和流量控制 帧(Frame)
1 物理层 透明传输比特 比特流(Bit Stream)

将原来的“OSI层次结构图”替换为以下内容:

将“5.3 OSI层次结构图”替换为以下单行版本。每层的名称、缩写、英文全称和中文含义均在同一行:

5.3 OSI层次结构图

┌────────────────────────────────────────────────────────────────────────────────────────────────┐
│ 第7层 应用层       APDU(Application Protocol Data Unit,应用层协议数据单元)                    │
├────────────────────────────────────────────────────────────────────────────────────────────────┤
│ 第6层 表示层       PPDU(Presentation Protocol Data Unit,表示层协议数据单元)                   │
├────────────────────────────────────────────────────────────────────────────────────────────────┤
│ 第5层 会话层       SPDU(Session Protocol Data Unit,会话层协议数据单元)                        │
├────────────────────────────────────────────────────────────────────────────────────────────────┤
│ 第4层 传输层       TPDU(Transport Protocol Data Unit,传输层协议数据单元)                      │
├────────────────────────────────────────────────────────────────────────────────────────────────┤
│ 第3层 网络层       Packet(分组)                                                               │
├────────────────────────────────────────────────────────────────────────────────────────────────┤
│ 第2层 数据链路层   Frame(帧)                                                                  │
├────────────────────────────────────────────────────────────────────────────────────────────────┤
│ 第1层 物理层       Bit Stream(比特流)                                                         │
└────────────────────────────────────────────────────────────────────────────────────────────────┘
                                          │
                                          ▼
                              Transmission Medium(传输介质)
层号 层次 数据单元及含义
7 应用层 APDU(Application Protocol Data Unit,应用层协议数据单元)
6 表示层 PPDU(Presentation Protocol Data Unit,表示层协议数据单元)
5 会话层 SPDU(Session Protocol Data Unit,会话层协议数据单元)
4 传输层 TPDU(Transport Protocol Data Unit,传输层协议数据单元)
3 网络层 Packet(分组)
2 数据链路层 Frame(帧)
1 物理层 Bit Stream(比特流)
PDU:Protocol Data Unit,协议数据单元,表示同层对等实体之间处理和交换的数据单位。
封装顺序:APDU → PPDU → SPDU → TPDU → Packet → Frame → Bit Stream。

6. OSI各层功能

6.1 物理层

物理层负责在通信链路上透明地传输比特。

其主要功能包括:

物理层通常定义以下特性:

教材列举的物理层相关标准或协议包括:

关键词:比特、信号、接口、传输介质、电气特性。

6.2 数据链路层

数据链路层将物理层传输的比特组成帧,并在链路上提供点到点的帧传输服务。

其主要功能包括:

教材列举的数据链路层协议包括:

关键词:帧、MAC地址、差错控制、流量控制、点到点链路。

6.3 网络层

网络层负责在源节点和目的节点之间传输分组。

其主要功能包括:

在路由器经过的通信子网中,通常主要处理物理层、数据链路层和网络层功能。

关键词:分组、IP地址、路由、转发、拥塞控制。

6.4 网络层的三个子层

OSI网络层可以进一步划分为三个子层:

子层 英文缩写 主要作用
与子网无关的会聚功能 SNIC 提供与具体子网无关的统一网络功能,类似网际互连功能
与子网相关的会聚功能 SNDC 把具体网络服务改造为适合网络层使用的服务
子网访问功能 SNAC 使用数据链路层服务访问具体子网

6.5 传输层

传输层提供端到端、可靠和透明的数据传输。

其主要功能包括:

教材列举的相关标准包括:

关键词:端到端、可靠传输、分段、顺序、完整性。

6.6 会话层

会话层用于建立、管理和终止应用进程之间的会话。

其主要功能包括:

教材列举的相关标准包括:

关键词:会话、对话控制、同步、恢复。

6.7 表示层

表示层负责不同系统之间的数据表达和转换。

其主要功能包括:

关键词:格式、编码、压缩、加密。

6.8 应用层

应用层直接面向用户应用提供网络服务。

典型服务包括:

关键词:用户应用、电子邮件、文件传输、网络服务。

7. OSI数据传输过程

7.1 对等通信

在逻辑上,两个系统中的同层实体通过同层协议通信。

例如:

但实际数据并不会直接横向穿过主机。

发送端的数据需要逐层向下传递,经过传输介质到达接收端后,再逐层向上处理。

7.2 封装与解封装

发送端:

应用数据
   ↓ 加入应用层控制信息
APDU
   ↓ 加入表示层控制信息
PPDU
   ↓ 加入会话层控制信息
SPDU
   ↓ 加入传输层首部
TPDU
   ↓ 加入网络层首部
分组
   ↓ 加入数据链路层首部和尾部
帧
   ↓ 转换为物理信号
比特流

接收端按照相反顺序逐层处理:

比特流 → 帧 → 分组 → TPDU → SPDU → PPDU → APDU → 应用数据

7.3 中间设备处理层次

在典型通信过程中:


8. OSI模型的特点

8.1 优点

8.2 局限性

理解要点:OSI协议体系虽然没有成为Internet的主流实现,但OSI七层模型仍广泛用于网络教学、协议分析和故障定位。

9. TCP/IP模型

9.1 TCP/IP模型的形成

1969年,美国国防高级研究计划局在研究ARPANET的过程中提出了TCP/IP相关体系。

TCP/IP同样采用分层设计,使各层的任务和目标更加明确,有利于软件开发和通信控制。

TCP/IP模型通常划分为4层,由低到高依次为:

  1. 网络接口层;
  2. 网际层;
  3. 传输层;
  4. 应用层。

9.2 TCP/IP四层结构

层次 主要功能 典型协议或技术
应用层 向用户和应用程序提供网络服务 DNS、HTTP、SMTP、POP3、FTP、Telnet、SNMP、TFTP、RPC
传输层 提供端到端的数据传输 TCP、UDP
网际层 IP寻址、分组和路由选择 IP、ICMP、ARP、RARP
网络接口层 接收和发送IP数据包,与传输介质交互 Ethernet等

9.3 TCP/IP结构图

┌────────────────────────────────────┐
│ 应用层                             │
│ DNS、HTTP、SMTP、POP3、FTP、       │
│ Telnet、SNMP、TFTP、RPC            │
├────────────────────────────────────┤
│ 传输层                             │
│ TCP                         UDP    │
├────────────────────────────────────┤
│ 网际层                             │
│ IP、ICMP、ARP、RARP                │
├────────────────────────────────────┤
│ 网络接口层                         │
│ Ethernet及其他链路技术             │
└────────────────────────────────────┘

10. TCP/IP各层功能

10.1 应用层

应用层直接面向用户和应用程序。

用户通过应用层完成:

教材列举的主要应用层协议包括:

协议 主要用途
DNS 域名解析
HTTP Web信息传输
SMTP 发送电子邮件
POP3 接收电子邮件
FTP 文件传输
TFTP 简单文件传输
Telnet 远程登录
SNMP 网络管理
RPC 远程过程调用
典型关系:SNMP属于应用层协议,通常基于UDP传输。

10.2 传输层

TCP/IP传输层负责对应用层数据进行分段,并提供主机应用进程之间的端到端通信。

主要协议包括:

TCP

TCP是传输控制协议,主要特点包括:

UDP

UDP是用户数据报协议,主要特点包括:

10.3 网际层

网际层负责把传输层形成的数据段封装成IP数据包,在报头中加入地址信息,并选择数据包的发送路径。

网际层的主要功能包括:

主要协议包括:

协议 主要功能
IP 寻址、分组和路由转发
ICMP 传递控制信息和差错报告
ARP 根据IP地址解析链路层地址
RARP 根据链路层地址请求网络层地址
核心协议:IP协议和TCP协议是TCP/IP体系中最重要的协议之一。

10.4 网络接口层

网络接口层是TCP/IP模型的最低层,也称为链路层。

其主要功能包括:

TCP/IP早期并没有对网络接口层的功能、协议和实现方式作出完全统一的规定,因此可以使用多种底层网络技术,例如Ethernet。


11. TCP/IP的数据传输过程

11.1 发送过程

发送端的数据封装过程可以形象地理解为“套信封”:

  1. 应用层产生需要传输的数据;
  2. TCP将数据划分为若干段;
  3. TCP在每段数据前加入序号、端口等控制信息;
  4. IP把TCP数据段封装成IP数据包;
  5. IP首部中加入源地址和目的地址;
  6. 网络接口层把IP数据包封装成帧;
  7. 帧最终转换成物理信号发送到网络。
应用数据
   ↓
TCP数据段
   ↓
IP数据包
   ↓
数据链路帧
   ↓
物理信号

11.2 接收过程

接收端按照相反的顺序处理数据:

  1. 网络接口层接收帧;
  2. 网际层取出IP数据包;
  3. 传输层取出数据段;
  4. TCP根据序号重新排列数据;
  5. TCP进行校验并确认接收;
  6. 如果发现数据丢失或错误,则请求重传;
  7. 应用层最终获得完整数据。

11.3 分组交换

TCP/IP本质上采用分组交换技术。

其基本思想是把信息划分成多个不超过规定大小的数据包,再分别发送。

分组交换的优点包括:


12. OSI与TCP/IP的对应关系

OSI参考模型 TCP/IP模型 主要功能
应用层 应用层 面向用户提供网络应用服务
表示层 应用层 数据格式转换、压缩和加密
会话层 应用层 建立、管理和终止会话
传输层 传输层 端到端通信和可靠传输
网络层 网际层 IP寻址、路由和分组转发
数据链路层 网络接口层 帧传输和介质访问
物理层 网络接口层 比特和物理信号传输

12.1 对应关系图

OSI参考模型                 TCP/IP模型
┌──────────┐
│ 应用层   │ ┐
├──────────┤ │
│ 表示层   │ ├──────→ 应用层
├──────────┤ │
│ 会话层   │ ┘
├──────────┤
│ 传输层   │ ───────→ 传输层
├──────────┤
│ 网络层   │ ───────→ 网际层
├──────────┤
│ 数据链路层│ ┐
├──────────┤ ├──────→ 网络接口层
│ 物理层   │ ┘
└──────────┘

13. OSI与TCP/IP的区别

对比项 OSI参考模型 TCP/IP模型
提出或制定机构 ISO DARPA相关研究推动形成
层次数量 7层 4层
定位 通用开放系统互连参考模型 实际互联网协议体系
应用、表示、会话 分为3个独立层次 合并在应用层
物理层和链路层 分为两个层次 统一归入网络接口层
网络层服务 同时讨论面向连接和无连接服务 以无连接IP数据报服务为核心
实际应用 主要用于理论分析和标准参考 广泛用于Internet和实际网络
主要价值 层次完整、概念清晰 简洁实用、协议成熟、部署广泛
考试重点:OSI是七层参考模型,TCP/IP通常是四层模型;现代互联网实际采用TCP/IP协议体系。

14. 常见设备与层次

网络设备 主要工作层次 主要功能
中继器 物理层 放大或再生物理信号
集线器 物理层 在多个端口之间转发比特流
网桥 数据链路层 根据MAC地址转发帧
二层交换机 数据链路层 MAC地址学习和帧交换
路由器 网络层 根据IP地址选择路由并转发分组
三层交换机 网络层和数据链路层 高速三层转发和二层交换
网关 多个层次 实现不同协议或应用系统之间的转换

15. 易错点辨析

15.1 协议与服务

15.2 服务与接口

15.3 逻辑通信与实际通信

15.4 网络层与传输层

15.5 数据链路层与网络接口层

15.6 SNMP所在层次


16. 复习要点

一句话总结:计算机网络体系结构通过分层把通信任务拆解,OSI用七层完整描述通信功能,TCP/IP用四层协议体系支撑现代互联网。

相关条目

参考资料

计算机网络 网络体系结构 OSI TCPIP 分层模型 协议 服务 接口 SAP 网络协议 软考 网络规划设计师