02 网络模型
任务分层
本节讨论的主题
发送方,接收方和载体 Sender, Receiver, and Carrier 层次结构 Hierarchy
在日常生活中,我们使用分层的概念。例如,两个好朋友通过发送邮件来进行通信,如果没有邮局所提供的服务,那么两个人的通信过程会非常的复杂。
发送信件所包含的任务

理解协议的分层
网购协议:甲方、乙方、商品、流程、顺序

快递协议:收件人、寄件人信息、物品信息——向网购协议提供服务

理解协议



网络协议的三要素
为网络中数据交换而制定的规则、约定与标准称为协议。协议定义了在两个或多个通信实体之间交换的报文的格式和顺序,以及报文的发送/接收或其他事件所采取的操作。
- 语法:规定用户数据与控制信息的结构与格式。
- 语义:定义需要发出何种控制信息,以及完成的动作与响应。
- 时序:对事件实现顺序的详细说明。
OSI 模型
本节讨论的主题
- 分层结构 Layered Architecture
- 对等进程 Peer-to-Peer Processes
- 封装 Encapsulation
- 国际标准化组织(International Organization for Standardization, ISO)成立于 1947 年,它是一个致力于在全世界范围内建立统一国际化标准的多国组织。
- 一个包含网络通信的 ISO 标准是开放系统互联模型(Open System Interconnection , OSI),它最初形成于上世纪 70 年代。
OSI 参考模型的定义
- 体系结构(Architecture):OSI 参考模型定义了开放系统的层次结构、层次之间的相互关系,以及各层可能提供的服务。它作为一个框架来协调与组织各层协议的制定,也是对网络内部结构的精炼概括与描述。
- 服务定义(Service Definition):OSI 参考模型的服务定义详细说明了各层所提供的服务。某层提供的服务是指该层及以下各层的一种能力,这种服务通过接口提供给相邻高层。各层提供的服务与这些服务的具体实现无关。
- 协议说明(Protocol Specification):在 OSI 参考模型的范围内,只要各种协议是可以实现的,各种产品只要遵循 OSI 的协议就可以互连。也就是说,OSI 参考模型并不是一个标准,而是一种在制定标准时使用的概念性框架。
邮政系统和计算机网络的相似点
- 层次(Layer)是处理复杂问题的基本方法。将要实现的功能分配在不同层次,对每个层次的功能及实现流程有明确规定。高层使用低层提供的服务时,无需知道低层服务的实现方法。
- 接口(Interface)是同一结点内相邻层之间交换信息的连接点。同一结点的相邻层之间存在明确规定的接口,低层通过接口向高层提供服务。低层功能的实现方法与技术的变化不会影响整个系统。
- 网络体系结构(Network Architecture)是网络层次结构模型与各层协议的集合。各层之间相对独立,高层只需知道下层能提供的服务,而无需知道低层的服务如何实现。每层的功能与提供的服务都已有精确说明,这有利于促进协议的标准化。
OSI 模型的结构
OSI 参考模型采用典型的分层结构。每层是一个模块,用于执行某种基本功能,并具有一套相应的协议。OSI 划分层次的原则是:
- 各结点都具有相同的层次。
- 不同结点的同等层具有相同的功能。
- 同一结点内相邻层之间通过接口通信。
- 每层可以使用下层提供的服务,并向其上层提供服务。
- 不同结点的同等层通过协议来实现对等层之间的通信。
OSI 七层模型
以下是进一步详细的表格描述:
| 层次 | 英文 | 功能 |
|---|---|---|
| 物理层 | Physical | 负责网络硬件的实际连接和信号传输,定义接口特性、传输介质和信号类型。包括电压电平、脉冲调制、数据速率、物理拓扑(如总线、环形、星型)、接插件类型等细节。支持二进制数据比特在设备间以电信号、光信号或无线信号形式的传输。 |
| 数据链路层 | Data Link | 提供设备间可靠的数据帧传输,负责将物理层的比特流划分为数据帧。支持帧同步、错误检测与纠正、重发机制、流量控制等功能。分为逻辑链路控制(LLC)子层和介质访问控制(MAC)子层,用于管理不同协议的通信以及在共享介质上的冲突检测与避免(如 CSMA/CD)。 |
| 网络层 | Network | 实现数据的寻址、路由和转发,确保数据包可以通过多个网络到达目的地。提供逻辑地址(如 IP 地址)管理、路由选择协议(如 OSPF、BGP)、流量管理(如 QOS),并处理拥塞控制、分段和重组等操作。支持跨网关的数据包传输。 |
| 传输层 | Transport | 确保应用之间的端到端通信,管理数据传输的可靠性和顺序性。提供传输协议(如 TCP/UDP)支持,处理分段与重组、错误检测与纠正、数据重传机制、流量控制和端口地址管理(如应用标识)。TCP 提供可靠的连接,UDP 提供快速但不可靠的服务。 |
| 会话层 | Session | 负责建立、管理和终止会话,确保双向通信的协调。支持会话同步(如标记断点以便恢复)、对话组织(如全双工或半双工模式)和权限管理。提供检查点机制,以防止长时间传输中的数据丢失。 |
| 表示层 | Presentation | 处理数据的格式化和表示形式,确保数据在不同系统之间的兼容性。支持字符集翻译(如 Unicode 与 ASCII 转换)、数据压缩和解压缩(如图像或视频数据)、数据加密和解密(如 TLS/SSL),以提高数据传输的效率和安全性。 |
| 应用层 | Application | 直接面向用户,提供网络服务的接口。支持具体应用程序协议(如 HTTP 用于浏览网页、FTP 用于文件传输、SMTP 用于电子邮件)。负责服务请求与响应的处理,支持用户认证、资源访问、数据显示等功能。实现网络功能和用户需求的对接,例如浏览网页、发送邮件、文件下载等操作。 |

OSI 模型层次间的相互作用
相邻两层之间的接口是服务访问点 SAP

使用 OSI 模型传输过程
H2:封装 encapsulation,H3:头部 Header,T2:尾部 Trailer

OSI 环境中的数据传输过程

OSI 模型的各个层
在本节简要介绍 OSI 模型的各层的功能。
本节讨论的主题
- 物理层
- 数据链路层
- 网络层
- 传输层
- 会话层
- 表示层
- 应用层
物理层
- 物理层包含在物理介质上传输位流所需的功能,定义了接口与传输介质的机械和电气特性。
- 物理层负责位从一跳(节点)到另一跳(节点)的传递。
- 传输的是透明比特流
- 位的表示
- 数据速率
- 位同步
- 线路配置
- 拓扑结构
- 传输方式

数据链路层
- 数据链路层将物理层的数据无差错地传递给网络层。
- 数据链路层负责帧从一跳(节点)到下一跳(节点)传递。
- 成帧
- 物理寻址
- 流量控制
- 差错控制
- 访问控制

跳到跳的传递

网络层
- 网络层负责将各个分组从源地址传递到目的地址。
- 逻辑寻址
- 路由选择

源到目的传递

传输层
- 传输层负责一个报文从一个进程到另一个进程的传递。
- 服务访问点 SAP/端口 Port
- 分段 Segment 和组装
- 连接控制
- 流量控制
- 差错控制

一个报文在进程间的可靠传递

会话层
- 会话层负责对话控制和同步。
- 对话控制
- 同步
- Session 经常在套接字中使用

表示层
- 表示层负责翻译、加密和压缩数据。
- 翻译:语义与语法的转换
- 加密
- 压缩

应用层
- 应用层负责向用户提供服务。
- 向用户提供服务
- 虚拟终端
- FTP
- Directory 服务

各层功能的总结

TCP/IP 协议族
- TCP/IP 协议族 是在 OSI 模型之前所开发的,因此 TCP/IP 协议族的各层并不与 OSI 模型的各层严格对应。TCP/IP 协议族被定义为四个层次:主机到网络层,互联网层,传输层和应用层。
- 然而,当 TCP/IP 与 OSI 模型进行比较的时候,可以说 TCP/IP 协议族有五层:物理层,数据链路层,网络层,传输层和应用层。
本节讨论的主题
- 物理层和数据链路层
- 网络层
- 传输层
- 应用层
TCP/IP 参考模型的层次结构
- TCP/IP 是互联网中重要的通信规程,规定了计算机之间通信使用的命令与响应、PDU 格式、相应的动作等。
- TCP/IP 的主要特点:
- 开放的协议标准;
- 独立于特定的计算机硬件与操作系统;
- 独立于特定的网络硬件;
- 它拥有统一的网络地址分配方案;
- 使用标准化的应用层协议。

TCP/IP 和 OSI 模型
流控制传输协议 SCTP(STREAM CONTROL TRANSMISSION PROTOCOL)是 IETF 新定义的一个传输层协议(2000 年)

PDUs(Protocol Data Unit) in TCP/IP

- 协议数据单元 PDU 是指对等层次之间传递的数据单位。
- 物理层的 PDU 是数据位(bit),数据链路层的 PDU 是数据帧(frame),网络层的 PDU 是数据包/数据报(packet),传输层的 PDU 是数据段(segment),其他更高层次的 PDU 是数据(data)。
Some Protocols in TCP/IP Suite

TCP/IP Concepts

寻址
TCP/IP 协议簇的应用网络中使用 4 层地址:物理地址、逻辑地址、端口地址和专用地址。
本节讨论的主题
- 物理地址 Physical Addresses
- 逻辑地址 Logical Addresses
- 端口地址 Port Addresses
- 专用地址 Specific Addresses
TCP/IP 中的地址

TCP/IP 协议中的各层与地址的关系

物理地址
- 物理地址,也称链路地址、硬件地址、MAC 地址,是局域网或广域网定义的节点地址。
- 它包含在数据链路层的帧中,是最低级的地址。其长度和格式是可变的,与网络有关。
- 通常以太网使用 6 个字节(48 位)物理地址,在网络接口卡上标明。
- 物理地址为 10 的节点向物理地址为 87 的节点发送了一个帧,这两个节点通过链路相连接(总线结构局域网)。
- 物理地址为 10 的计算机是发送方,物理地址为 87 的计算机是接收方。

- 大多数的局域网使用 48 位(6 个字节)的物理地址,这个物理地址被写成 12 个十六进制的数字;每个字节(2 个十六进制数)用冒号分开。
- 例如:07:01:02:01:2C:4B 6 个字节 (12 个十六进制) 物理地址。
IP 地址
- 下图显示了由两个路由器连接三个局域网的互联网的一部分。为了相互的连接,每个设备(计算机或者路由器)都有一对地址(物理地址和逻辑地址)。
- 在下面的例子中,每台计算机只与一个链路相连,因此只有一对地址。然而,每个路由器和三个网络相连(在图中只显示了两个)。因此每个路由器有三对地址,一对地址对应一个连接。
跳到跳时物理地址将改变,但逻辑地址保持不变。

端口地址
- 下图表示两台计算机通过网络进行通信。
- 发送方计算机有三个进程正在进行,分别使用端口 a,b,c。同时,接收方计算机有两个进程正在进行,端口地址分别是 j 和 k。
- 在发送方计算机中的进程 a 需要和在接收方计算机的进程 j 进行通信。
- 尽管从跳到跳物理地址会改变,但是逻辑地址和端口地址从源地址到目的地址均保持不变。

- 16 位的端口地址是用十进制数所表示。
- 例如:753:一个 16 位端口地址被表示成一个数字。
专用地址
- 有些面向用户的应用被设计为专用地址。
- 如电子邮件地址和统一资源定位符 URL。电子邮件地址定义邮件收发人,统一资源定位符用于在万维网中寻找一个文档。这些地址由发送计算机转换成对应的端口地址和逻辑地址。