~~TOC~~
计算机网络体系结构采用分层设计,把复杂的网络通信过程划分成若干相对独立的功能层。
每一层完成特定的通信任务:
常见的计算机网络体系结构主要包括:
核心思想:把复杂的网络通信问题分解为多个层次,每一层只关注自己的任务,并通过清晰的接口与相邻层交互。
计算机网络通信涉及信号传输、差错控制、寻址、路由、可靠传输、数据表示和应用服务等多个问题。
如果把所有功能集中在一个整体中实现,系统将变得非常复杂,难以设计、维护和扩展。
分层设计具有以下优点:
为了便于描述,任意一层可以称为 (N)层:
其基本关系如下:
(N+1)层 ↑ 使用(N)层提供的服务 │ (N)层 ↑ 使用(N-1)层提供的服务 │ (N-1)层
每一层都在下层服务的基础上增加新的功能,再向上层提供增值服务。
例如:
分层设计要求不同层次之间保持相对独立。
只要某一层继续向上层提供相同的服务,该层的内部实现方式就可以改变,而不必要求上层同时修改。
理解要点:上层关心下层“能够提供什么服务”,通常不需要知道这些服务“具体如何实现”。
实体是实现某一网络层功能的软件元素或硬件元素的抽象。
常见实体包括:
处于同一层中的实体称为对等实体。
例如,两台主机中的传输层协议模块就是传输层的对等实体。
协议是同一层对等实体之间进行通信时共同遵守的规则集合。
协议通常规定:
(N)层实体之间的合作关系由 (N)协议规范。
主机A 主机B (N)实体 ←────── (N)层协议 ──────→ (N)实体 ↑ ↑ 使用(N-1)层服务 使用(N-1)层服务
服务是某一层向相邻上层提供的功能。
(N)层使用(N-1)层提供的服务,完成自己的功能后,再向(N+1)层提供服务。
例如:
接口描述同一系统中相邻层次之间交换信息的方式。
接口位于上下相邻层之间,规定上层如何调用下层提供的服务。
| 概念 | 作用范围 | 核心含义 | 简单理解 |
|---|---|---|---|
| 实体 | 某一层内部 | 实现该层功能的软件或硬件元素 | 谁在工作 |
| 协议 | 不同系统的同层实体之间 | 对等实体通信的规则 | 横向规则 |
| 服务 | 相邻上下层之间 | 下层向上层提供的功能 | 下层能做什么 |
| 接口 | 同一系统的相邻层之间 | 上层访问下层服务的方法 | 纵向入口 |
记忆方法:实体是参与者,协议是同层规则,服务是下层能力,接口是访问服务的入口。
服务访问点简称 SAP,英文名称为:
(N+1)实体通过(N)服务访问点获得(N)层提供的服务。
(N)SAP表示(N)实体与(N+1)实体之间的逻辑接口。
教材中给出的基本关系包括:
SAP本质上代表上下层实体建立服务关系的手段。
(N+1)实体
│
(N) SAP
│
(N)实体
│
(N-1) SAP
│
(N-1)实体
OSI参考模型使用服务原语描述某个功能层提供的服务。
服务原语通常采用类似过程调用的形式,用于描述相邻层之间如何请求和提供服务。
面向连接服务通常包括四种服务原语:
| 服务原语 | 英文 | 作用 |
|---|---|---|
| 请求原语 | Request | 服务使用者请求执行某项操作 |
| 指示原语 | Indication | 服务提供者通知对方发生了请求或事件 |
| 响应原语 | Response | 被调用方对收到的指示作出响应 |
| 确认原语 | Confirm | 服务提供者向请求方确认操作结果 |
典型交互过程如下:
发起方 接收方 │ │ │ 请求 Request │ ├──────────────→ │ │ 指示 Indication│ │ ─────→│ │ │ │ 响应 Response │ │ ←──────────────┤ │ 确认 Confirm │ │←────────────── │
OSI服务可以分为:
面向连接服务在传输数据前,需要先建立逻辑连接。
其基本过程通常包括:
连接通常是点到点连接,也可以在多个端点之间建立多点连接。
无连接服务在发送数据前不需要建立连接。
每个数据单元可以独立发送,网络服务中的数据报通信就是典型的无连接通信方式。
连接的两端称为连接端点,简称 CEP:
(N)实体使用本地CEP标识已经建立的各个连接。
1978年,国际标准化组织 ISO 提出开放系统互连参考模型。
OSI/RM的英文名称为:
ISO 7498文件对OSI参考模型进行了规定和描述。
OSI/RM为开放系统之间的互连提供了一套分层的功能结构框架。
将原页面中“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层次结构图”替换为以下单行版本。每层的名称、缩写、英文全称和中文含义均在同一行:
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
│ 第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。
物理层负责在通信链路上透明地传输比特。
其主要功能包括:
物理层通常定义以下特性:
教材列举的物理层相关标准或协议包括:
关键词:比特、信号、接口、传输介质、电气特性。
数据链路层将物理层传输的比特组成帧,并在链路上提供点到点的帧传输服务。
其主要功能包括:
教材列举的数据链路层协议包括:
关键词:帧、MAC地址、差错控制、流量控制、点到点链路。
网络层负责在源节点和目的节点之间传输分组。
其主要功能包括:
在路由器经过的通信子网中,通常主要处理物理层、数据链路层和网络层功能。
关键词:分组、IP地址、路由、转发、拥塞控制。
OSI网络层可以进一步划分为三个子层:
| 子层 | 英文缩写 | 主要作用 |
|---|---|---|
| 与子网无关的会聚功能 | SNIC | 提供与具体子网无关的统一网络功能,类似网际互连功能 |
| 与子网相关的会聚功能 | SNDC | 把具体网络服务改造为适合网络层使用的服务 |
| 子网访问功能 | SNAC | 使用数据链路层服务访问具体子网 |
传输层提供端到端、可靠和透明的数据传输。
其主要功能包括:
教材列举的相关标准包括:
关键词:端到端、可靠传输、分段、顺序、完整性。
会话层用于建立、管理和终止应用进程之间的会话。
其主要功能包括:
教材列举的相关标准包括:
关键词:会话、对话控制、同步、恢复。
表示层负责不同系统之间的数据表达和转换。
其主要功能包括:
关键词:格式、编码、压缩、加密。
应用层直接面向用户应用提供网络服务。
典型服务包括:
关键词:用户应用、电子邮件、文件传输、网络服务。
在逻辑上,两个系统中的同层实体通过同层协议通信。
例如:
但实际数据并不会直接横向穿过主机。
发送端的数据需要逐层向下传递,经过传输介质到达接收端后,再逐层向上处理。
发送端:
应用数据 ↓ 加入应用层控制信息 APDU ↓ 加入表示层控制信息 PPDU ↓ 加入会话层控制信息 SPDU ↓ 加入传输层首部 TPDU ↓ 加入网络层首部 分组 ↓ 加入数据链路层首部和尾部 帧 ↓ 转换为物理信号 比特流
接收端按照相反顺序逐层处理:
比特流 → 帧 → 分组 → TPDU → SPDU → PPDU → APDU → 应用数据
在典型通信过程中:
理解要点:OSI协议体系虽然没有成为Internet的主流实现,但OSI七层模型仍广泛用于网络教学、协议分析和故障定位。
1969年,美国国防高级研究计划局在研究ARPANET的过程中提出了TCP/IP相关体系。
TCP/IP同样采用分层设计,使各层的任务和目标更加明确,有利于软件开发和通信控制。
TCP/IP模型通常划分为4层,由低到高依次为:
| 层次 | 主要功能 | 典型协议或技术 |
|---|---|---|
| 应用层 | 向用户和应用程序提供网络服务 | DNS、HTTP、SMTP、POP3、FTP、Telnet、SNMP、TFTP、RPC |
| 传输层 | 提供端到端的数据传输 | TCP、UDP |
| 网际层 | IP寻址、分组和路由选择 | IP、ICMP、ARP、RARP |
| 网络接口层 | 接收和发送IP数据包,与传输介质交互 | Ethernet等 |
┌────────────────────────────────────┐ │ 应用层 │ │ DNS、HTTP、SMTP、POP3、FTP、 │ │ Telnet、SNMP、TFTP、RPC │ ├────────────────────────────────────┤ │ 传输层 │ │ TCP UDP │ ├────────────────────────────────────┤ │ 网际层 │ │ IP、ICMP、ARP、RARP │ ├────────────────────────────────────┤ │ 网络接口层 │ │ Ethernet及其他链路技术 │ └────────────────────────────────────┘
应用层直接面向用户和应用程序。
用户通过应用层完成:
教材列举的主要应用层协议包括:
| 协议 | 主要用途 |
|---|---|
| DNS | 域名解析 |
| HTTP | Web信息传输 |
| SMTP | 发送电子邮件 |
| POP3 | 接收电子邮件 |
| FTP | 文件传输 |
| TFTP | 简单文件传输 |
| Telnet | 远程登录 |
| SNMP | 网络管理 |
| RPC | 远程过程调用 |
典型关系:SNMP属于应用层协议,通常基于UDP传输。
TCP/IP传输层负责对应用层数据进行分段,并提供主机应用进程之间的端到端通信。
主要协议包括:
TCP是传输控制协议,主要特点包括:
UDP是用户数据报协议,主要特点包括:
网际层负责把传输层形成的数据段封装成IP数据包,在报头中加入地址信息,并选择数据包的发送路径。
网际层的主要功能包括:
主要协议包括:
| 协议 | 主要功能 |
|---|---|
| IP | 寻址、分组和路由转发 |
| ICMP | 传递控制信息和差错报告 |
| ARP | 根据IP地址解析链路层地址 |
| RARP | 根据链路层地址请求网络层地址 |
核心协议:IP协议和TCP协议是TCP/IP体系中最重要的协议之一。
网络接口层是TCP/IP模型的最低层,也称为链路层。
其主要功能包括:
TCP/IP早期并没有对网络接口层的功能、协议和实现方式作出完全统一的规定,因此可以使用多种底层网络技术,例如Ethernet。
发送端的数据封装过程可以形象地理解为“套信封”:
应用数据 ↓ TCP数据段 ↓ IP数据包 ↓ 数据链路帧 ↓ 物理信号
接收端按照相反的顺序处理数据:
TCP/IP本质上采用分组交换技术。
其基本思想是把信息划分成多个不超过规定大小的数据包,再分别发送。
分组交换的优点包括:
| OSI参考模型 | TCP/IP模型 | 主要功能 |
|---|---|---|
| 应用层 | 应用层 | 面向用户提供网络应用服务 |
| 表示层 | 应用层 | 数据格式转换、压缩和加密 |
| 会话层 | 应用层 | 建立、管理和终止会话 |
| 传输层 | 传输层 | 端到端通信和可靠传输 |
| 网络层 | 网际层 | IP寻址、路由和分组转发 |
| 数据链路层 | 网络接口层 | 帧传输和介质访问 |
| 物理层 | 网络接口层 | 比特和物理信号传输 |
OSI参考模型 TCP/IP模型 ┌──────────┐ │ 应用层 │ ┐ ├──────────┤ │ │ 表示层 │ ├──────→ 应用层 ├──────────┤ │ │ 会话层 │ ┘ ├──────────┤ │ 传输层 │ ───────→ 传输层 ├──────────┤ │ 网络层 │ ───────→ 网际层 ├──────────┤ │ 数据链路层│ ┐ ├──────────┤ ├──────→ 网络接口层 │ 物理层 │ ┘ └──────────┘
| 对比项 | OSI参考模型 | TCP/IP模型 |
|---|---|---|
| 提出或制定机构 | ISO | DARPA相关研究推动形成 |
| 层次数量 | 7层 | 4层 |
| 定位 | 通用开放系统互连参考模型 | 实际互联网协议体系 |
| 应用、表示、会话 | 分为3个独立层次 | 合并在应用层 |
| 物理层和链路层 | 分为两个层次 | 统一归入网络接口层 |
| 网络层服务 | 同时讨论面向连接和无连接服务 | 以无连接IP数据报服务为核心 |
| 实际应用 | 主要用于理论分析和标准参考 | 广泛用于Internet和实际网络 |
| 主要价值 | 层次完整、概念清晰 | 简洁实用、协议成熟、部署广泛 |
考试重点:OSI是七层参考模型,TCP/IP通常是四层模型;现代互联网实际采用TCP/IP协议体系。
| 网络设备 | 主要工作层次 | 主要功能 |
|---|---|---|
| 中继器 | 物理层 | 放大或再生物理信号 |
| 集线器 | 物理层 | 在多个端口之间转发比特流 |
| 网桥 | 数据链路层 | 根据MAC地址转发帧 |
| 二层交换机 | 数据链路层 | MAC地址学习和帧交换 |
| 路由器 | 网络层 | 根据IP地址选择路由并转发分组 |
| 三层交换机 | 网络层和数据链路层 | 高速三层转发和二层交换 |
| 网关 | 多个层次 | 实现不同协议或应用系统之间的转换 |
一句话总结:计算机网络体系结构通过分层把通信任务拆解,OSI用七层完整描述通信功能,TCP/IP用四层协议体系支撑现代互联网。
计算机网络 网络体系结构 OSI TCPIP 分层模型 协议 服务 接口 SAP 网络协议 软考 网络规划设计师