一、知识总览
二、“分层”的设计思想
分层的设计思想:将庞大而复杂的问题,转化为若干较小的局部问题
2.1 快递网络的四层体系结构
- 分层原理:将庞大复杂的系统拆分为若干更小的局部问题,每层承担特定功能
- 四层功能划分:
- 第四层(顾客层):实现货物打包功能
- 第三层(快递员层):负责取件和派件服务
- 第二层(仓储部门):实现冷链存储和包裹路由功能
- 第一层(运输部门):承担包裹运输功能
- 节点类型差异:
- 快递终点站需实现全部四层功能
- 快递中转站只需实现运输和仓储两层功能
- 包裹传输流程:
- 寄件顾客打包→快递员取件→仓储部门存储路由→运输部门运输
- 中转站入库→仓储部门路由决策→运输部门继续转运
- 终点站逆向交付:运输→仓储→快递员→收件顾客
2.2 计算机网络要完成的功能
- 核心功能需求:
- 差错控制:确保数据传输过程不出错
- 流量控制:调节发送速率使接收端能及时处理
- 分段与重装:数据块划分传输后还原
- 复用与分用:高层会话共享低层连接
- 连接管理:建立/释放逻辑连接
- 设计思路:类比快递网络,采用分层思想将复杂功能分解到不同层次
2.3 计算机网络的分层结构
- 层次划分:
- 第五层:应用层
- 第四层:传输层
- 第三层:网络层
- 第二层:数据链路层
- 第一层:物理层
- 物理传输媒体(网线/光纤等)
- 节点实现差异:
- 主机需实现全部五层功能
- 路由器只需实现下三层功能
- 数据传输流程:
- 发送方:应用层→传输层→网络层→数据链路层→物理层→物理媒体
- 接收方:逆向处理过程
- 路由器:物理层→数据链路层→网络层→向下转发
- 设计灵活性:
- 分层数量可调整(如快递网络可设计为四层或五层)
- 功能可重复出现在不同层次(如打包功能可在顾客层和驿站层同时存在)
- 功能安排需合理(如不应让运输部门承担派件功能)
- 计算机网络变体:
- 除五层结构外,还可设计为四层或七层结构
- 关键原则是功能分配的合理性而非固定层数
三、三种常见的计算机网络体系结构
- OSI参考模型:
- 提出组织: 国际标准化组织(ISO)提出
- 分层特点: 7层结构(应用层、表示层、会话层、传输层、网络层、数据链路层、物理层)
- 标准性质: 法律上的标准
- 功能特点: 同一功能可能在多个层次重复出现
- TCP/IP模型:
- 发展背景: 美国国防部阿帕网(ARPANET)项目后续成果
- 分层特点: 4层结构(应用层、传输层、网际层IP层、网络接口层)
- 标准性质: 事实上的标准
- 功能特点: 各层功能划分明确,设计更简单高效
- 五层模型:
- 设计目的: 综合前两者优点,便于教学理解
- 分层特点: 5层结构(应用层、传输层、网络层、数据链路层、物理层)
- 标准性质: 教学用标准
- 优势: 结合OSI对底层的清晰解释和TCP/IP的简洁性
四、网络结构的概念
- 定义:
- 组成要素: 计算机网络的各层及其协议的集合
- 本质: 对计算机网络及其构件应完成功能的精确定义
- 特点: 不涉及具体实现细节
- 实现:
- 关系: 在遵循体系结构前提下,用硬件/软件完成功能
- 特点: 具体且可操作的
- 抽象性:
- 体系结构: 抽象的框架和规范
- 实现: 具体的软硬件解决方案
五、各层之间的关系
5.1 层之间的关系
- 功能分配:
- 原则: 每个层次负责实现一个或多个特定功能
- 特点: 功能划分遵循层次化设计思想
5.2 分层结构的几个重要概念
实体
- 定义:在计算机网络的分层结构中,第n层中的活动元素(软件+硬件)称为第n层实体。
- 对等关系:不同机器上的同一层称为对等层,同一层的实体称为对等实体。
- 功能实现:每个层次负责实现一个或多个功能,如压缩传输、差错控制等。
对等实体的定义
- 定义:
- 概念: 不同节点中处于同一层的实体
- 示例: 两个主机中的第五层实体互为对等实体
- 通信基础:
- 作用: 对等实体间的通信是网络运行的基础
网络协议的作用与特点
- 定义:网络协议是控制对等实体之间进行通信的规则的集合,是水平的。
- 作用:为实现某一层的功能,对等实体之间需要遵循特定的通信协议。
层次间的服务关系
- 服务机制:
- 请求方式: 上一层通过接口请求下一层服务
- 关系特点: 仅相邻层之间存在服务关系
- 服务方向:
- 特点: 垂直方向的服务(上下层间)
- 类比: 类似函数调用过程
接口与服务访问点的概念
- 接口定义:
- 概念: 相邻两层实体交换信息的逻辑接口
- 别名: 服务访问点(SAP, Service Access Point)
- 服务定义:
- 概念: 下层为紧邻上层提供的功能调用
- 方向性: 垂直方向的交互
六、数据的传输过程
6.1 数据传输过程的水平视角
- 水平视角:发送方和接收方的对等实体通过协议完成特定功能(如数据压缩),用户感知不到中间处理过程。
- 示例:YSCS协议(压缩传输协议)规定发送方添加首部说明压缩算法,接收方根据首部选择解压算法。
6.2 为什么要分层?为什么要制定协议?
计算机网络功能复杂→采用分层结构,将诸多功能合理地划分在不同层次→对等层之间制定协议,以实现功能。
6.3 数据传输过程的垂直视角
- 逐层封装:应用层数据依次添加传输层、网络层、链路层首部,物理层直接传输比特流。
- 路由器处理:网络层实体根据IP地址决定下一跳,仅处理本层首部信息。
- 垂直视角:
- 发送方:数据从顶层逐层向下传递,每层添加协议控制信息(首部/尾部)。
- 接收方:数据从底层逐层向上处理,每层移除本层的协议控制信息。
6.4 PDU、SDU、PCI的概念
- PDU(协议数据单元):对等层次之间传送的数据单位,记为n-PDU。
- SDU(服务数据单元):为完成上层功能而传送的数据,记为n-SDU。
- PCI(协议控制信息):控制协议操作的信息(如首部/尾部),记为n-PCI。
七、协议的三要素
- 语法:数据与控制信息的格式(如首部字节数、字段含义)。
- 语义:规定对等实体需要发出的控制信息、完成的动作及应答(如压缩传输协议中的成功/失败响应)。
- 同步(时序):描述操作执行的顺序和条件(如发送方超时重传机制)。
八、知识总结
补充对等实体和对等层的概念
对等层(Peer Layer)和对等实体(Peer Entity)是计算机网络中的重要概念,我用简单例子来说明:
对等层(Peer Layer)
指网络协议栈中同一层次的协议层。
例子:
- 两台计算机通信时,A机器的传输层和B机器的传输层就是对等层
- A机器的网络层和B机器的网络层也是对等层
- 它们在协议栈中处于相同位置,执行相同类型的功能
对等实体(Peer Entity)
指不同主机上同一层的协议实现。
例子:
- A电脑上的TCP协议 ↔ B电脑上的TCP协议(传输层对等实体)
- A路由器上的IP协议 ↔ B路由器上的IP协议(网络层对等实体)
- A电脑上的HTTP协议 ↔ 服务器上的HTTP协议(应用层对等实体)
实际场景举例
当你用浏览器访问网站时:
- 你的浏览器中的HTTP协议和Web服务器中的HTTP协议是对等实体
- 它们都工作在应用层,应用层就是它们的对等层
- 这两个HTTP协议实体会直接”对话”,交换HTTP请求和响应
简单说:对等层是”同一楼层”,对等实体是”同一楼层里的具体住户”。
本网站原创文章版权归何大锤的狂飙日记所有。发布者:何大锤,转转请注明出处:何大锤的博客