OSI各层以及协议
一、OSI开放系统互连参考模型(Open System Interconnection/Reference Model,OSI/RM)将网络分为7层,从低到高分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
1.物理层(Physical Layer)
物理层位于OSI/RM参考模型的最底层,为数据链路层实体提供建立、传输、释放所必需的物理连接,并且提供透明的比特流传输。物理层的连接可以是全双工或半双工方式,传输方式可以是异步或同步方式。物理层的数据单元是比特,即一个二进制位。物理层构建在物理传输介质和硬件设备的相连接之上,向上服务于紧邻的数据链路层。
物理层通过各类协议定义了网络的机械特性、电气特性、功能特性和规程特性。
(1)机械特性:规定接口外形、大小、引脚数和排列、固定位置。
(2)电气特性:规定接口电缆上各条线路出现的电压范围。
(3)功能特性:指明某条线上出现某一电平的电压表示何种意义。
(4)规程特性:指明各种可能事件出现的顺序。
物理层的两个重要概念:DTE和DCE
数据终端设备(Data Terminal Equipment,DTE):具有一定的数据处理能力和数据手法能力的设备,用于提供或接受数据。常见的DTE设备有路由器、PC、终端等。
数据通信设备(Data Communications Equipment,DCE):在DTE和传输线路之间提供信号变换和编码功能,并负责建立、保持、和释放链路的链路。常见的DCE设备有CSU/DSU、NT1、广域网交换机、MODEM等。
两者的区别是:DCE提供时钟,而DTE不提供时钟;DTE的接头是针头(俗称“公头”),而DCE的接头是孔头(俗称“母头”)。
2.数据链路层(Data Link Layer)
数据链路层将原始的传输线路转变成一条逻辑的传输线路,实现实体间二进制信息块的正确传输,为网络层提供可靠的数据信息。数据链路层的数据单位是帧,具有流量控制功能。链路是相邻两结点间的物理线路。数据链路与链路是两个不同的概念。数据链路可以理解为数据的通道,是物理链路加必要的通信协议而组成的逻辑链路。
数据链路层应具有的功能:
(1)链路连接的建立、拆除和分离:数据传输所依赖的介质是长期的,但传输数据的实体时间的连接是有生存期。在连接生存期内,收发两端可以进行不等的一次或多次数据通信,每次通信都要经过通信联络、数据通信和拆除通信联络这三个过程。
(2)帧定界和帧同步:数据链路层的数据传输单元是帧,由于数据链路层的协议不同,帧的长短和界面也不同,所以必须对帧对帧进行定界和同步。
(3)顺序控制:对帧的收发顺序进行控制。
(4)差错检测、恢复:差错检测多用方阵码校验和循环码校验来检测信道上的数据误码,而帧丢失等序号检测。各种错误的恢复则常靠反馈重发技术来完成。
局域网中的数据链路层可以分为逻辑链路控制(Logical Link Control,LLC)和介质访问控制(Media Access Control,MAC)两个子层。其中LLC只在使用IEEE802.3格式的时候才会用到,而如今IEEE802.3格式,取而代之的是以太帧格式,而使用以太帧格式则不会有LLC存在。
3.网络层(Network Layer)
网络层控制子网的通信,其主要功能是提供路由选择,即选择到达目的主机的最优路径,并沿着该路径传输数据包。网络层还应具备的功能有:路由选择和中继;激活和终止网络连接;链路复用;差错检测和恢复;流量/拥塞控制。
4.传输层(Transport Layer)
传输层利用实现可靠的端对端的数据传输能实现数据分段、传输和组装,还提供差错控制和流量/拥塞控制。
5.会话层(Session Layer)
会话层允许不同机器上的用户之间建立会话。会话就是指各种服务,包括对话控制(记录该由谁来传递数据)、令牌管理(防止多方同时执行同一关键操作)、同步功能(在传输过程中设置检查点,以便在系统崩溃后还能在检查点上继续运行)。
建立和释放会话连接还应做以下工作:
(1)将会话地址映射为传输层地址;
(2)进行数据传输;
(3)释放连接。
6.表示层(Presentation Layer)
表示层提供一种通用的数据描述格式,便于不同系统间的机器进行信息转换和相互操作,如表示层完成EBCDE编码(大型机上使用)和ASCII码(PC机上使用)之间的转换。表示层的功能有:数据语法转换、语法表示、数据加密和解密、数据压缩和解压。
7.应用层(Application Layer)
应用层位于OSI/RM参考模型的最高层,直接针对用户的需要。应用层向应用程序提供服务,这些服务按向应用程序提供的特性分成组,并称为元素。应用层服务元素又分为公共应用服务元素(Common Application Service Element,CASE)和特定应用服务元素(Specific Application Service Element,SASE)。
二、OSI重要相关概念
1.封装
OSI/RM参考模型的许多层都使用特定方式描述信道中来回传送的数据。数据在从高层向低层传送过程中,每层都对接受到的原始数据添加信息,通常是附加一个报头和报尾,这个过程称为封装。
2.网络协议
网络协议(简称协议)是网络中的数据交换建立的一系列规则、标准和约定。协议是控制两个(或多个)对等实体进行通信的集合。
网络协议包括语法、语义和时序关系三个要素组成。
(1)语法:数据与控制信息的结构或形式;
(2)语义:根据需要发出哪种控制信息,依据情况完成哪种动作以及作出哪种响应。
(3)时序关系:又称同步,即事件实现顺序的详细说明。
3.PDU
协议数据单元(Protocol Data Unit,PDU)是对等层次之间传送的数据单元。如在数据从会话层传送到传输层的过程中,传输层把数据PDU封装在一个传输层数据段中。
4.实体
任何可以接受或发送信息的硬件/软件进程通常是一个特定的软件模块。
5.服务
在协议的控制下,两个对等实体间的通信使得本层能为上一层提供服务。要实现本层协议,还需要使用下一层所提供的服务。
协议和服务的区别是:本层实体只能看见服务二无法看见下面的协议。协议是“水平的”,是针对两个对等实体的通信规则;服务是“垂直的”,是由下层通过层间接口提供的。只有被高一层实体“看见”的功能才称为服务。
6.服务原语
上层使用下层提供的服务必须通过与下层交换一些命令,这些命令就称为服务原语。
7.服务数据单元
OSI把层与层之间交换的数据的单元称为服务数据的单元(Service Data Unit,SDU)。
8.TCP/IP参考模型主要协议的层次关系