王道408计算机网络 1.2 分层结构与OSI参考模型
1.计算机网络分层结构
“分层”设计思想
参考快递网络的四层体系结构设计

使用分层设计实现计算机网络的诸多功能

计算机网络的分层结构:

- 分层结构的设计并不唯一,可以根据实际需求增加或减少层次

网络体系结构
网络体系结构(Network Architecture)是计算机网络的各层及其协议的集合,解释这个计算机网络及其构件所应完成的功能的精确定义(不涉及实现)。
实现(implementation)是遵循这种体系结构的前提下,用何种硬件或软件完成这些功能的问题。
体系结构是抽象的,而实现则是具体的
各层之间的关系
水平

每一层负责实现一个或多个功能
实体:在计算机网络的分层结构中,第n层中的活动元素(软件+硬件)通常称为第n层实体。不同机器上的同一层称为对等层,同一层的实体称为对等实体。
协议:即 网络协议(Network Protocol),是控制对等实体之间进行通信的规则的集合,是水平的。
为什么要分层?为什么要制定协议?计算机网络功能复杂 > 采用分层结构,将诸多功能合理地划分在不同层次 > 对等层之间制定协议,以实现功能。
传输过程:

竖直

接口:即同一节点内相邻的两层的实体交换信息的逻辑接口,又称为服务访问节点(Service Access Point,SAP)。
服务:服务是指下层为紧邻的上层提供的功能调用,它是垂直的。
传输过程:

PDU、SDU、PCI 的概念
协议数据单元(PDU):对等层次之间传送的数据单位。第n层的PDU记为n-PDU。
服务数据单元(SDU):为完成上一层实体所要求的功能而传送的数据。第n层的SDU记为n-SDU。
协议控制信息(PCI):控制协议操作的信息。第n层的PCI记为n-PCI。
协议三要素
协议:即网络协议(NetworkProtocol),是控制对等实体之间进行通信的规则的集合,是水平的。
协议由语法、语义和同步三部分组成(协议的三要素):
- 语法,数据与控制信息的格式。例如,协议控制信息(首部)部分占几个字节、每个字节是什么含义;协议的数据部分最多由多少字节。
- 语义,即需要发出何种控制信息、完成何种动作及做出何种应答。例如,协议中需要明确规定:发送方完数据后,接收方是否需要“应答”,以及应答的种类有哪些(如:传输成功、传输失败)
- 同步(或时序),执行各种操作的条件、时序关系等,即事件实现顺序的详细说明。例如,发送方发完数据后,接收方需要立即应答。如果发送方在10秒内未收到“传输成功”应答,则发送方会再次发送数据。
2.OSI参考模型&TCP/IP模型

OSI参考模型
常见的网络设备实现的功能层次:

1 物理层
任务:实现相邻节点之间比特(0或1)的传输
- 需要定义电路接口参数(如:形状、尺寸、引脚数等)
- 需要定义传输信号的含义、电器特征(如:5V表示1,1V表示0;每比特电信号持续时间0.1ms)
2 数据链路层
任务:确保相邻节点之间的链路逻辑上无差错。包含以下功能
- 差错控制:检错+纠错;或 检错+丢错+重传
- 流量控制:协调两个结点间的速率
3 网络层
任务:把“分组”从源结点转发到转发到的目的结点,包含以下功能
- 路由选择:构造并维护路由表,决定分组到达目的节点的最佳路径
- 分组转发:将“分组”从合适的端口转发出去
- 拥塞控制:发现网络拥塞,并采取措施缓解拥塞
- 网际互联:实现异构网络互联
- 其他功能:差错控制、流量控制、连接建立与释放、可靠传输管理
4 传输层
任务:实现端到端通信(即实现进程到进程的通信,“端”指“端口”)。包含以下功能
- 复用和分用:发送端几个高层实体复用一条低层的连接,在接收端再进行分用。
- 其他功能:差错控制、流量控制、连接建立与释放、可靠传输管理
5 会话层
任务:管理进程间会话
主要功能:会话管理(采用检查点机制,当通信失效时从检查点继续恢复通讯)
6 表示层
任务:解决两台主机上信息表示不一致的问题
主要功能:数据格式转换(如编码转换、压缩/解压、加密/解密)
7 应用层
任务: 实现特定的网络应用
功能繁多根据需求设计
各层之间的传输单位

TCP/IP模型
网络接口层任务:实现相邻结点间的数据传输(为网络层传输“分组”)。但具体怎么传输不作规定
使得TCP/IP网络体系结构具有更强的灵活性、适应性。
应用层任务:实现特定的网络应用(功能复杂且多样)
TCP/IP的理念:如果某些应用需要数据格式转换、会话管理功能,就交给应用的特定协议去实现

TCP/IP网络层功能:路由选择、分组转发、拥塞控制、网际互联
TCP/IP网络层只保证“尽最大能力交付”,数据传输是不可靠的
TCP/IP传输层功能:复用和分用、差错控制、流量控制、连接建立与释放、可靠传输管理
TCP/IP模型中,由传输层负责保证数据传输的正确性、可靠性把数据传输的正确、可靠由传输层负责,压力给到“网络边缘部分(主机)”


- 差错控制和流量控制以帧为单位,确保局部正确
- 差错控制和流量控制以分组为单位,确保全局正确
- 确保分组有序不重复到达
- 接收方需返回分组确认消息
- 以“报文段”为单位