【概述】
国际标准化组织 ISO 提出的网络体系结构模型称为开放系统互连参考模型(OSI/RM),通常简称为 OSI 参考模型,其有七层,从下到上依次为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
对于前三层来说,统称为通信子网,其是为了联网而附加的通信设备,用于完成数据的传输功能;对于高三层来说,统称为资源子网,其相当于计算机系统,完成数据的处理功能;传输层承上启下,将通信子网与资源子网连接起来
【物理层】
物理层(Physical Layer)的传输单位是比特,其主要任务就是在物理媒体上为数据端设备透明地传输原始比特流
物理层主要定义数据终端设备(DTE)、数据通信设备(DCE)的物理与逻辑连接方法,因此物理层协议又称为物理层接口标准
具体来说,对于两个通信结点及其中间的一段通信链路,物理层完成了以下工作:
- 物理层规定了通信链路与通信结点的连接处电路接口的参数,如机械形状、尺寸、交换电路数量等
- 物理层规定了通信链路上传输的信号意义与电气特征,如收到信号 $A$ 代表数字 $0$
- 物理层规定了通信链路的传输模式(单工、双工、半双工)
需要注意的是,传输信息所利用的物理媒体,如双绞线、光缆等,并不在物理层协议之内,其属于物理层协议之下,因此物理媒体常被当作第 $0$ 层
【数据链路层】
数据链路层(Data Link Layer)的传输单位是帧,其主要任务是将网络层传下来的 IP 数据报组装成帧,具体功能可概括为:成帧、差错控制、流量控制、传输管理
由于外界噪声的干扰,原始的物理连接在传输比特流时可能会出现错误,若两结点间规定了数据链路层协议,就可以对比特流进行检验,将收到的错误信息丢弃,即差错控制
在两个相邻结点传输数据时,由于两结点性能不同,可能会造成发送结点的发送速度快于接收结点的接收速度,如果不加以控制,接收结点就会丢弃许多来不及接收的数据,从而造成传输线路效率的下降,协调两结点的发送速度与接收速度即流量控制
对于广播式网络来说,数据链路层还要对共享信道的访问进行控制,为此数据链路层存在一个独特的子层——介质访问子层,专门用于控制共享信道的访问,这个控制过程,即传输管理功能
【网络层】
网络层(Network Layer)的传输单位是数据报,其关心的是通信子网的运行控制,主要任务是将分组从源端传到目的端,为分组交换网上不同主机提供通信服务,具体功能可概括为:路由选择、流量控制、拥塞控制、差错控制、网际互联
对于实际的网络,若要从源端传送到目的端,无疑会有多条可以选择的路径(路由),网络层会根据实际网络的情况,利用相应的路由算法计算一条合适的路径,使得分组可以顺利的到达目的端,这个过程即路由选择过程
如果网络中的结点均来不及接收分组,需要丢弃大量分组的话,那么网络就处于拥塞状态,在该状态下,网络中的结点无法正常通信,网络层会进行拥塞控制以缓解这种拥塞
因特网是全世界最大的互联网,其由大量的异构网络通过路由器相互连接,因此因特网主要的网络层协议是无连接的网际协议(Internet Protocol,IP)与诸多路由选择协议,故而因特网的网络层由称为 IP 层,其连接大量异构网络的过程即网际互联
【传输层】
传输层(Transport Layer)的传输单位是报文段(TCP)或用户数据报(UDP),其主要任务是负责主机中两个进程间的通信,具体功能可概括为:为端到端连接提供可靠的传输服务、流量控制、差错控制、传输管理
数据链路层所提供的,是点到点的通信,一个点是指一个硬件地址或 IP 地址,网络中参与通信的主机是通过硬件地址或 IP 地址标识的,因此点到点通信可认为是主机到主机的通信
而传输层所提供的,是端到端的通信,在主机中,一个进程用一个端口号来标识,因此端到端通信可认为是进程到进程的通信
使用传输层的服务,高层用户可以直接进行端到端的数据传输,从而忽略通信子网的存在,换句话说,传输层对高层屏蔽了通信子网的交替与变化
此外,由于一个主机可同时运行多个进程,因此传输层具有复用与分用的功能:
- 复用:多个应用层进程可同时使用传输层的服务
- 分用:运输层收到的数据可分别交付给应用层相应的进程
【会话层】
会话层(Session Layer)允许不同主机上各进程间进行会话,其利用传输层所提供的端到端的服务,向表示层实体提供建立连接并在连接上有序传输数据的服务,这种传输数据的服务过程即会话,也称建立同步(SYN)
具体来说,会话层负责管理主机间的会话进程,包括建立、管理、终止进程间的会话
此外,其使用的校验点技术能够令会话在通信失败时从校验点继续恢复通信,实现数据同步,最典型的例子就是传输大文件时的断点传送
【表示层】
表示层(Presentation Layer)主要定义了两通信系统中交换信息的表示方式
由于不同机器所采用的编码与表示方式不同,使用的数据结构也不同,为了使不同表示的数据间能够相互通信,表示层采用抽象的标准方法来定义数据结构,同时采用标准编码格式(如:JEPG、ASCII)
此外,数据压缩、数据加密、数据解密,也是表示层所提供的数据变换功能
【应用层】
应用层(Application Layer)是 OSI
模型的最高层,其是用户与网络的界面,为特定类型的网络应用提供访问 OSI
环境的手段
由于用户的实际需求多种多样,这就要求应用层采用不同的应用协议来解决不同类型的应用需求,因此应用层是最复杂的一层,使用的协议也是最多的一层
常见的应用层协议有:FTP、SMTP、HTTP 等