文章目录
计算机网络体系结构
当前计算机网络主要以分层结构来看待,从功能上进行描述
每一层依赖底层提供的服务完成一种特定的服务/功能
遵循一定的协议、通过层内动作完成本层的功能,并以此向上一层提供服务
即 计算机网络体系结构是计算机网络的各层及其协议的集合,是对计算机网络
功能层次及其关系的描述(每层遵循哪些协议、完成哪些功能,各层之间的关系)
计算机网络体系结构是抽象的,不关心具体实现方式
分层结构
- 有利于描述复杂系统的组成部分之间的关系,
- 模块化思想的体现
- 有利于标准化
- 分层过多时存在效率问题
分层体系结构中的基本概念
在分层网络体系结构中
- 实体(entity) 表示任何可以发送或接受信息的硬件或进程(软件)
- 协议(protocol) 是控制两个对等实体之间的通信规则的集合,是“水平的”
- 每一层的实体需要使用下一层的服务,遵循本层的协议,完成本层功能,向上一层提供服务,服务是“垂直的”
- 下层协议的实现对上层是透明的
- 同系统的相邻层实体之间通过接口进行交互,通过服务访问点(SAP,Service Access Point),交换原语(类似于系统调用,如请求、确认、响应等),请求特定的服务
OSI参考模型
OSI参考模型 由 ISO(国际标准化组织)于1984年提出
主要目的是支持异构网络的互联互通
该模型并未实际应用到市场,但仍具有相当的理论价值
OSI参考模型将计算机网络分为七层
- 图中虚线表示对等层在逻辑上相互通信
如某设备发出的完成网络层功能的数据只有其他设备的网络层功能关心
更高层/更低层 见不到/不关心 这些信息,即 各层的数据均是发送给对等层的
所以说对等层之间遵循协议进行通信 - 图中实线表示数据真正的传递方向
虚线连接的对等层之间并没有实际的通信链路,数据最终是通过物理层在
传输介质上进行传递的 - 相邻层通过接口传递数据
- 高四层称为端到端层(end-to-end)
应用层,表示层,会话层,传输层的源与目的地一定都是端系统,或者说
只有端系统才关心这四层的数据
数据封装
用户数据在传递过程中,通常根据各层的协议在数据前加上相应的控制信息
如应用层头(header)、表示层头,(数据链路层通常会加头加尾,物理层直接传输比特流)
构成该层的 PDU(protocol data unit,协议数据单元),然后传递给下一层
特别地,数据链路层的 PDU 又被称为帧
增加控制信息构成 PDU 的过程称为数据封装
控制信息
增加的控制信息主要 / 可能包括:
- 地址信息(Address):从哪里来、到哪里去
- 差错检测编码(Error-detecting code):用于差错检测或纠正
- 协议控制(Protocol control):实现协议功能的附加信息,如优先级、服务质量和安全控制等
下面详述 OSI参考模型 各层次的功能
物理层(Physical )
物理层负责把数据按比特在物理介质上进行传输(发送与接收)
具体体现为以下内容的定义与规范:
接口特性(主机与发送设备之间、发送设备与物理介质之间的接口)
- 机械特性:物理接口的形状、尺寸,引线数目和顺序等
- 电气特性:接口电缆每条线的电平,电压范围
- 功能特性:各条线的用途与某电平下电压的意义
- 规程特性:接口按照怎样的过程工作、各事件的出现顺序
数据率:以多快的速度发送数据
比特编码:如何表示一个比特
比特同步:即时钟同步,同步地发送与接收,如利用一个通道传递时钟信号
传输模式:
- 单工(Simplex):单向传输
- 半双工(half-duplex):可交替进行双向传输
- 全双工(full-duplex):可同 时双向传输
数据链路层(Data Link)
物理层仅仅是把比特放到物理介质上 / 从物理介质接收比特
数据链路层负责完成 由物理链路直接相连的两个结点(主机、交换设备)之间的数据传输
数据链路层以帧(frame,D-PDU)为单位进行传输
具体包括以下内容:
- 成帧:为 N-PDU 加头加尾,使得接收端可以把帧从比特流中识别分割,进一步得到其中的控制信息,以完成数据链路层的其他功能
- 物理寻址:物理层对数据的发送端与接收端一无所知,因为它的数据单位是比特;数据链路层在帧头中增加发送/接收端的物理地址以标识发送端与接收端
- 流量控制:避免发送数据太快使接收端来不及处理造成数据丢失
- 差错控制:比如使用差错编码,检测并重传损坏或丢失帧,并避免重复帧
- 访问控制:即接入控制,在共享链路中的任一给定时刻决定哪个设备拥有链路的使用权
网络层(Network)
负责源主机到目的主机数据分组(packet)的交付
主要功能包括:
- 逻辑地址:由于分组的的传送可以需要跨越多个网络,因此需要能够唯一标识
一个主机在网络中位置的逻辑地址,如 IP 地址,这个逻辑地址会保存在网络层头中 - 路由:路由分组、为分组选择路径
- 分组转发:即转发分组至下一结点
传输层(Transport)
负责源到目的(端到端、进程间)的完整报文的传输
传输层的协议数据单元也叫做段
传输层的主要功能包括:
- 分段与重组:发送端需要将完整报文分割成数据段并添加传输层头封装为 PDU
传递给网络层;接收端需要将网络层传递来的 PDU 重组为完整的数据报并向上传递 - SAP寻址:由于传输层需要实现进程到进程的通信,所以需要某种方法对进程寻址
OSI参考模型称为SAP寻址,服务访问点(SAP)在 Internet 中即相当于端口号 - 连接控制:由于传输层是第一个端到端层,因此适合实现连接的控制
包括连接的建立,维护和拆除 - 流量控制:有些传输层协议会解决端到端的流量控制
- 差错控制:有些传输层协议会进行差错控制
上图中传输层头 x、y 表示通信双方的端口号
会话层(Session)
负责控制对话
主要包括:
- 对话控制:负责对话的建立、维护
- 同步:在数据流中插入控制点,一旦数据传输出错,只需从相应的控制点恢复
会话层是 OSI参考模型中功能最薄弱的一层,实际的网络中可能不单独存在该层
表示层(Presentation)
负责处理两个系统间交换信息的语法、语义问题
主要包括数据的表示转化(如编码)、加密 / 解密 和压缩 / 解压缩
通常该层也不独立存在(应用层就可以直接对数据处理
应用层(Application)
应用层支持用户通过用户代理(如浏览器)或网络接口使用网络
典型的应用层服务:文件传输(FTP),电子邮件(SMTP),Web应用(HTTP)等等
TCP/IP参考模型
与 OSI 不同,TCP/IP 参考模型是先有实现,后整理总结出的模型
Internet 与其前身 ARPAnet 符合 TCP/IP 参考模型
TCP/IP参考模型划分为四个层次
其中,网络接口层未定义具体的协议,只要求可以封装(向上)和传输(向“下”)网际层的 IP分组
自顶向下看 是一种 Everything over IP 的局面,所有的应用都架构在 IP 之上
自底向上看 是一种 IP over everything 的局面,底层网络最少只需要处理 IP分组
网络接口层的开放性促进了 Internet 的发展
五层参考模型
五层参考模型综合了 OSI 与 TCP/IP 的优点,TCP/IP 源于事实,OSI 更清晰规范
五层参考模型主要将 TCP/IP 中的网络接口层拆分为 OSI 描述的数据链路层与物理层
五层参考模型所解释的通信过程
(注意,交换机(switch)是链路层设备,路由器(router)是网络层设备
三种参考模型的对照
OSI参考模型 | TCP/IP参考模型 | 五层参考模型 |
---|---|---|
应用层 | ||
表示层 | ||
会话层 | 应用层 | 应用层 |
传输层 | 运输层 | 传输层 |
网络层 | 网际层 | 网络层 |
数据链路层 | 网络接口层 | 数据链路层 |
物理层 | 物理层 |
2020/4/25