计算机网络体系结构:分层模型、协议三要素与OSI/TCP/IP参考模型。
1.2 计算机网络体系结构
1.2.1 计算机网络分层结构
网络的体系结构:计算机网络各层次及其协议和层间接口的集合,是对网络功能所应完成功能的精确定义。
分层结构的思想(以跨国信件传递为例)
- 寄信人:书写信件、填写地址、投入邮箱。
- 本地邮局:初步分拣。
- 国际邮件交换局:二次分拣、安检。
- 运输:航空或海运。
- 目的国国际邮件处理中心:清关、再次分拣。
- 地区邮局:分拣至收件人所在区域。
- 邮递员:派送至收件人手中。
分层结构的优点:
- 每层实现相对独立的功能,降低系统复杂度。
- 灵活性好,一层变化不影响其他层。
- 功能定义独立于具体实现方法。
- 易于实现和维护。
- 促进标准化工作。
1.2.2 计算机网络协议、接口、服务等概念
| 概念 | 定义 | 特点 |
|---|---|---|
| 实体 | 能够发送或接收信息的任何软硬件设施 | 网络功能实现的基础单元 |
| 对等实体 | 不同系统中处于相同层次的实体 | 通过协议进行通信 |
| 协议 | 对等实体之间为实现特定功能而制定的规则和约定 | 水平的,是实现接口和服务的基础 |
协议三要素
| 要素 | 含义 |
|---|---|
| 语法 | 传输数据的格式 |
| 语义 | 数据的含义和解释,各字段的功能、用途和意义 |
| 同步(时序) | 事件发生的顺序和时间关系 |
服务访问点(SAP)与数据单元
- 服务访问点(SAP,接口):同一系统相邻两层实体之间的通信接口。
- 服务数据单元(SDU):接口之间传递的数据。
- 协议控制信息(PCI):每层添加的控制信息。
- 协议数据单元(PDU):SDU + PCI = 本层的PDU,即下一层的SDU。
服务原语
| 原语 | 方向 | 含义 |
|---|---|---|
| 请求(Request) | 用户 → 提供者 | 请求完成某项工作 |
| 指示(Indication) | 提供者 → 用户 | 指示发生了某些事件 |
| 响应(Response) | 用户 → 提供者 | 对指示的响应 |
| 证实(Confirmation) | 提供者 → 用户 | 对请求的证实 |
服务分类
| 分类 | 含义 |
|---|---|
| 面向连接服务 | 先建立连接,再传输,最后释放(如TCP) |
| 无连接服务 | 不需建立连接,直接发送数据(如UDP、IP) |
| 可靠服务 | 具有纠错、检错、应答机制,确保数据按序、不丢失、不重复 |
| 不可靠服务 | 不提供可靠性保障,可能丢失、重复或乱序 |
| 有应答服务 | 接收方对每个数据包进行确认应答 |
| 无应答服务 | 接收方不发送确认应答 |
1.2.3 ISO/OSI参考模型和TCP/IP模型
1.2.3.1 OSI参考模型(开放系统互连参考模型)
| 层次 | 名称 | 功能 | 传输单位 | 协议/标准 |
|---|---|---|---|---|
| 7 | 应用层 | 为用户提供网络服务接口(文件传输、电子邮件、远程登录等) | 报文 | HTTP、FTP、SMTP、DNS、SNMP |
| 6 | 表示层 | 数据格式化、压缩、加密、解密,确保数据正确表示 | 报文 | — |
| 5 | 会话层 | 管理应用程序之间的会话,建立、维护、终止连接,提供同步和检查点 | 报文 | ADSP、ASP |
| 4 | 传输层 | 端到端服务,流量控制、差错控制、复用/分用 | 报文段/用户数据报 | TCP、UDP |
| 3 | 网络层 | 路由选择、流量控制、拥塞控制、网际互连 | 数据报 | IP、IPX、ICMP、IGMP、ARP、OSPF |
| 2 | 数据链路层 | 帧传输、错误检测、MAC地址管理、流量控制 | 帧 | SDLC、HDLC、PPP、STP |
| 1 | 物理层 | 比特流传输,定义电气、机械、功能特性 | 比特 | RJ45、IEEE 802.3、EIA-232C |
重要概念区分:
- 点到点通信:直接连接两个通信节点(一个点=硬件地址或IP地址)。
- 端到端通信:运行在不同主机内的两个进程之间的通信(一个进程=端口标识)。
各层流量控制范围:
- 数据链路层:相邻节点之间的流量控制
- 网络层:整个网络中的流量控制
- 传输层:端到端的流量控制
1.2.3.2 TCP/IP模型
| 层次 | 名称 | 功能 |
|---|---|---|
| 4 | 应用层 | 包含所有高层协议(相当于OSI会话层、表示层、应用层) |
| 3 | 传输层 | 使得发送端和目的端主机上的对等实体进行会话 |
| 2 | 网际层 | 定义IP分组格式,为分组独立选择路由,不保证有序交付 |
| 1 | 网络接口层 | 接收IP分组并发送到指定物理网络上 |
1.2.3.3 两个模型比较
区别:
| 对比项 | OSI参考模型 | TCP/IP模型 |
|---|---|---|
| 层次结构 | 7层 | 4层 |
| 发展历史 | ISO制定的标准化模型 | 基于ARPANET,实际互联网标准 |
| 协议栈 | 理论模型,不绑定具体协议 | 实用模型,定义具体协议(IP、TCP、UDP等) |
| 层间接口 | 详细定义SAP,强调标准化 | 灵活,关注实现和互操作性 |
| 连接方式 | 网络层支持无连接/面向连接,传输层仅面向连接 | 网际层仅无连接,传输层支持两种模式 |
联系:
- 都采用分层的体系结构
- 都基于独立的协议栈的概念
- 都可以解决异构网络的互连
层次对应关系
| OSI参考模型 | TCP/IP模型 | 原理参考模型(5层) |
|---|---|---|
| 应用层 | 应用层 | 应用层 |
| 表示层 | ↑ | ↑ |
| 会话层 | ↑ | ↑ |
| 传输层 | 传输层 | 传输层 |
| 网络层 | 网际层 | 网络层 |
| 数据链路层 | 网络接口层 | 数据链路层 |
| 物理层 | ↑ | 物理层 |
1.2 习题
在网络协议的三要素中,定义消息格式和编码的是哪个要素?
A. 语法关于网络协议的三要素,下列说法正确的是:
C. 时序决定了消息的发送和接收顺序请默写OSI参考模型和TCP/IP模型的各层名称,并回忆其各层作用。
(参考答案见上文表格)OSI模型的哪一层负责在网络之间路由选择并将数据包传递给目标地址?
C. 网络层在TCP/IP模型中,以下哪一层与OSI模型的网络层最相似?
D. 网际层DNS协议在OSI模型的哪一层工作?
D. 应用层谢希仁教材1-19
长度为100字节的应用层数据:- TCP首部:20字节
- IP首部:20字节
- 以太网首部和尾部:18字节
- 总数据量 = 100 + 20 + 20 + 18 = 158字节
- 传输效率 = 100 / 158 ≈ 63.3%
若应用层数据长度为1000字节:
- 总数据量 = 1000 + 20 + 20 + 18 = 1058字节
- 传输效率 = 1000 / 1058 ≈ 94.5%
笔记结束