开放系统互连参考模型分七层,从低到高是物理层,数据链路层,网络层,传输层,会话层,表示层和应用层
一.物理层(Physical Layer)
物理层位于 OSI/RM 参考模型的最底层,为数据链路层实体提供建立、传输、释放所必须的物理连接,并且提供透明的比特流传输。物理层的连接可以是全双工或半双工方式,传输方式可以是异步或同步方式。物理层的数据单位是比特,即一个二进制位。物理层构建在物理传输介质和硬件设备相连接之上,向上服务于紧邻的数据链路层。
数据通信系统模型如图所示:
(1)发信是信息产生的源头,可以是人,也可以是硬件。
(2)信源编码器的作用是进行模/数转换(A/D转换),即将文字、声音、动画、图像等转换为数字信号或模拟信号。计算机或终端可以看作信源编码器。由计算机或终端产生的数字信号的频谱都是从零开始的,这种未经调制的信号所占用的频率范围叫做基本频带(这个频带从直流起可以高到数百千赫兹,甚至数千赫兹),简称为基带。局域网中的信源编码器发出的信号往往是基本频带信号,简称为基带信号。
另外,当采用模拟信号传输数据时往往只占用有限的频带,使用频带传输的信号简称为频带信号。通过借助将基带划分为多个频带方式可以将链路容量分解成两个或更多信道,每个信道可以携带不同的信号,这就是宽带传输。
(3)信道编码器的作用是将信号转换为合适的形式对传输介质进行数据传输。
(4)信道解码器将传输介质和传输数据转换为接收信号。
(5)信源解码器的作用是进行数/模转换(D/A转换),即将数字信号或模拟信号转换为文字、声音、动画、图像等。
1.传输速率
数字通信系统的有效程度可以用码元传输速率和信息传输速率来表示。
码元:在数字通信中常用时间间隔相同的符号来表示一个二进制数字,这样的时间间隔内的信号称为二进制码元。另一种定义是,在使用时间域(时域)的波形表示数字信号时,代表不同离散数值的基本波形就称为码元。
码元速率(波特率):即单位时间内载波参数(相位、振幅、频率等)变化的次数,单位为波
特,常用符号 Baud表示,简写成B。
比特率(信息传输速率、信息速率):指单位时间内在信道上传送的数据量(即比特数),单位
为比特每秒(bit/s),简记为b/s或bps。
比特率与波特率关系:
波特率与比特率有如下换算关系:
比特率=波特率x单个调制状态对应的二进制位数=波特率x
其中,N是码元总类数。
带宽:传输过程中信号不会明显减弱的一段频率范围,单位为赫兹(Hz)。对于模拟信道而言,信道带宽计算公式如下:
信道带宽W=最高频率-最低频率
信噪比与分贝:信号功率与噪声功率的比值称为信噪比,通常将信号功率记为S,噪声功率记为N,则信噪比为S/N。通常人们不使用信噪比本身,而是使用10lgS/N 的值,即分贝(dB
或decibel):
ldB=10xlogS/N
无噪声时的数据速率计算:在无噪声情况下应依据尼奎斯特定理来计算最大数据速率。尼奎斯
特定理为:
最大数据速率=2WlogN=BlogN
其中,W表示带宽,B代表波特率,N是码元总的种类数。
有噪声时的数据速率计算:在有噪声情况下应依据香农公式来计算极限数据速率。香农公
式为:
极限数据速率=带宽xlog(1+S/N)
其中,S为信号功率,N为噪声功率。
误码率:指接收到的错误码元数在总传送码元数中所占的比例。
Pc=错误码元数/码元总数
2.调制与编码
由于模拟信号和数字信号的应用非常广泛,日常生活中的模拟数据和数字数据也很多,因
此数据通信中就面临模拟数据和数字数据与模拟信号和数字信号之间相互转换的问题,这就要
用到调制和编码。编码就是用数字信号承载数字或模拟数据;调制就是用模拟信号承载数字或
模拟数据。
调制可以分为基带调制和带通调制
●基带调制,基带调制只对基带信号波形进行变换,并不改变其频率,变换后仍然是基带信号。
●带通调制(频带调制),带通调制使用载波将基带信号的频率迁移到较高频段进行传输,解决了很多传输介质不能传输低频信息的问题,并且使用带通调制信号可以传输得更远。
(1)模拟信号调制为模拟信号
由于基带信号包含许多低频信息或直流信息,而很多传输介质并不能传输这些信息,因此需要使用调制器对基带信号进行调制。
模拟信号调制为模拟信号的方法有:
●调幅(AM):依据传输的原始模拟数据信号变化来调整载波的振幅。
●调频(FM):依据传输的原始模拟数据信号变化来调整载波的频率。
●调相(PM):依据传输的原始模拟数据信号变化来调整载波的初始相位。
(2)模拟信号编码为数字信号
模拟信号编码为数字信号最常见的就是脉冲编码调制(Pulse Code Modulation,PCM)。脉冲
编码的过程为采样、量化和编码
●采样,即对模拟信号进行周期性扫描,把时间上连续的信号变成时间上离散的信号。采样必须遵循奈奎斯特采样定理才能保证无失真地恢复原模拟信号。
举例:模拟电话信号通过PCM编码成为数字信号。语音最大频率小于4KHz(约为3.4KHz),根据采样定理,采样频率要大于2倍语音最大频率,即8KHz(采样周期=125us),就可以无失真地恢复语音信号。
●量化,即利用抽样值将其幅度离散,用先规定的一组电平值把抽样值用最接近的电平值来代替。规定的电平值通常用二进制表示。
举例:语音系统采用128级(7位)量化,采用8KHz的采样频率,那么有效数据速率为56kb/s,又由于在传输时,每 7bit 需要添加1bit的信令位,因此语音信道数据速率为64kb/s。
●编码,即用一组二进制码组来表示每一个有固定电平的量化值。然而实际上量化是在编码过程中同时完成的,故编码过程也称为模/数变换,记作A/D。
(3)数字信号调制为模拟信号
模拟信号传输的都是在数字载波信号上完成的,与模拟信号调制为模拟信号的方法类似,可以利用调制频率、振幅和相位三种载波特性之一或组合。
对于基本调制方法ASK(幅移键控),FSK(频移键控),PSK(相移键控),可以看我的另外一篇博客,有详细介绍:http://t.csdn.cn/NUURO
(4)数字信号调制为数字信号
数字信号调制的方法比较多,下面讲述考试所涉及的所有数字信号调制方法:
常见的编码
●极性编码
使用正负电平和零电平来表示的编码。
极性码使用正电平表示0,负电平表示1;
单极性码使用正电平表示0,零电平表示1;
双极性码使用正负电平和零电平共3个电平表示信号。典型的信号交替反转编码(Alternate Mark Inversion,AMI)就是一种双极性码,数据流中遇到1时,电平在正负电平之间交替翻转,遇到0则保持零电平。
极性编码使用恒定的电平表示数字0或1,因此需要使用时钟信号定时。
●归零码(Return to Zero,RZ)
码元中间信号回归到零电平,从正电平到零电平表示0,从负电平到零电平表示1。这种中间
信号都有电平变化的方式,使得编码可以自同步。
●不归零码(Not Return to Zero,NRZ)
码元中间信号不回归到0,遇到1时,电平翻转:遇到0时,电平不翻转。这种翻转的特性称为差分机制。不归零反相编码(No Return Zero-InverseNRZ-I),在NRZ-I编码中,编码后电平只有正负电平之分,没有零电平,属于不归零编码。NRZ-I遇到0时,电平翻转;遇到1时,电平不翻转。
●双相码
双相码的每一位中有电平转换,如果中间缺少电平翻转,则认为是违例代码,既可以同步,也
可以用于检错。负电平到正电平代表 0,正电平到负电平代表1。
●曼彻斯特编码
曼彻斯特编码属于一种双相码,负电平到正电平代表0,高电平到负电平代表1;也可以是负电平到正电平代表1,正电平到负电平代表0。常用于10M以太网。传输一位信号需要有两次电平变化,因此编码效率为 50%
● 差分曼彻斯特编码
差分曼彻斯特编码属于一种双相码,中间电平只起到定时的作用,不用于表示数据。信号开始时有电平变化则表示0,没有电平变化则表示1。
● 4B/5B、8B/10B、8B/6T编码
由于曼彻斯特编码的效率不高,只有 50%,因此在高速网络中,这种编码方式显然就不适用了。在高速率的局域网和广域网中采用m位比特编码成n位比特编码方式,即mB/nB编码:
物理层通过各类协议定义了网络的机械特性、电气特性、功能特性和规程特性。
•机械特性:规定接口的外形、大小、引脚数和排列、固定位置。
•电气特性:规定接口电缆上各条线路出现的电压范围。
•功能特性:指明某条线上出现某一电平的电压表示何种意义。
•规程特性:指明各种可能事件出现的顺序。
物理层的两个重要概念:DCE和DTE。
•数据终端设备(Data Terminal Equipment,DTE):具有一定的数据处理能力和数据收发能力的设备,用于提供或接收数据。常见的DTE设备有路由器,PC,终端等。
•数据通信设备(Data Communications Equipment,DCE):在DTE和传输线路之间提供信号变换和编码功能,并负责建立、保持和释放链路的连接。常见的DCE设备有CSU/DSU、NT1、广域网交换机、MODEM等。
两者的区别是:DCE提供时钟,而DTE不提供时钟:DTE的接头是针头(俗称公头),而DCE的接头是孔头(俗称母头)。
二.数据链路层(Data Link Layer)
数据链路层将原始的传输线路转变成一条逻辑的传输线路,实现实体间二进制信息块的正确传输,为网络层提供可靠的数据信息。数据链路层的数据单位是帧,具有流量控制功能。链路是相邻两节点间的物理线路。数据链路与链路是两个不同的概念。数据链路可以理解为数据的通道,是物理链路加上必要的通信协议而组成的逻辑链路。
数据链路层应具有的功能:
•链路连接的建立、拆除和分离:数据传输所依赖的介质是长期的,但传输数据的实体间的连接是有生存期的。在连接生存期内,收发两端可以进行不等的一次或多次数据通信,每次通信都要经过建立通信联络、数据通信和拆除通信联络这三个过程。
•帧定界和帧同步:数据链路层的数据传输单元是帧,由于数据链路层的协议不同,帧的长短和界面也不同,所以必须对帧进行定界和同步。帧的首部必须设有一些特殊的比特组合,使得接收端能够找出一帧的开始,这种方式称为帧定界,也就是异步通信中的"帧同步"。
•顺序控制:对帧的收发顺序进行控制。
•差错检测、恢复:差错检测多用方阵码校验和循环码校验来检测信道上数据的误码,而帧丢失等用序号检测。各种错误的恢复则常靠反馈重发技术来完成。
•链路标识、流量/拥塞控制:对于流量和拥塞控制,涉及停等协议和滑动窗口协议(单位是帧)可以看这篇文章:
局域网中的数据链路层可以分为逻辑链路控制(Logical Link Control, LLC)和介质访问控制(Media Access Control,MAC)两个子层。其中LLC只在使用802.3格式的时候才会用到,而如今很少使用802.3格式,取而代之的是以太帧格式,而使用以太帧格式则不会有LLC存在。
三.网络层(Network Laver)
网络层控制子网的通信,其主要功能是提供路由选择,即选择到达目的主机的最优路径并沿着该路径传输数据包。网络层还应具备的功能有:路由选择和中继;激活和终止网络连接;链路复用;差错检测和恢复;流量/拥塞控制等。网络层的差错检测涉及奇偶校验,海明码校验和循环冗余码校验:
四.传输层(Transport Layer)
传输层利用实现可靠的端到端的数据传输能实现数据分段、传输和组装,还提供差错控制和流量/拥塞控制等功能。传输层的差错控制和流量/拥塞控制主要是通过重传机制和滑动窗口机制(以数据报为单位):
五.会话层(Session Layer)
会话层允许不同机器上的用户之间建立会话。会话就是指各种服务,包括对话控制(记录该由谁来传递数据)、令牌管理(防止多方同时执行同一关键操作)、同步功能(在传输过程中设置检查点,以便在系统崩溃后还能在检查点上继续运行)。
建立和释放会话连接还应做以下工作:
•将会话地址映射为传输层地址。
•进行数据传输。
•释放连接。
六.表示层(Presentation Layer)
表示层提供一种通用的数据描述格式,便于不同系统间的机器进行信息转换和相互操作,如会话层完成EBCDIC编码(大型机上使用)和ASCII码(PC机器上使用)之间的转换。表示层的主要功能有:数据语法转换、语法表示、数据加密和解密、数据压缩和解压。
七.应用层(Application Layer)
应用层位于 OSI/RM参考模型的最高层,直接针对用户的需要。应用层向应用程序提供服务,这些服务按其向应用程序提供的特性分成组并称为服务元素。应用层服务素分为公共应用服务元素(Common Application Service ElementCASE)和特定应用服务元素(Specific Application Service Element,SASE)。
其中涉及的考点:
(1)封装,OSI/RM参考模型的许多层都使用特定方式描述信道中来回传送的数据。数据在从高层向低层传送的过程中,每层都对接收到的原始数据添加信息,通常是附加一个报头和报尾,这个过程称为封装。
(2)网络协议,网络协议(简称协议)为网络中的数据交换建立的一系列规则、标准或约定。协议是控制两个(或多个)对等实体进行通信的集合。
网络协议由语法、语义和时序关系三个要素组成。
•语法:数据与控制信息的结构或形式。
•语义:根据需要发出哪种控制信息,依据情况完成哪种动作以及做出哪种响应。
•时序关系:又称为同步,即事件实现顺序的详细说明。
(3)PDU,协议数据单元(Protocol Data Unit,PDU)是指对等层次之间传送的数据单位。如在数据从会话层传送到传输层的过程中,传输层把数据 PDU 封装在一个传输层数据段中。
如图所示描述了OSI参考模型数据封装流程及各展对应的PDU
(4)实体,任何可以接收或发送信息的硬件/软件进程通常是一个特定的软件模块。
(5)服务,在协议的控制下,两个对要实体间的通信使得本展能为上一层提供服务。要实现本层协议,还需要使用下一层所提供的服务。协议和服务区别是:本层服务实体只能看见服务而无法看见下面的协议。协议是“水平的”,是针对两个对等实体的通信规则;服务是“垂直的”,是由下层向上原通过层间接口提供的。只有能被高一层实体“看见”的功能才能称为服务。
(6)服务语,上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令就称为服务原语。
(7)服务数据单元,OSI把层与层之间交换的数据的单位称为服务数据单元(Service Data Unit,SDU)。相邻两层的关系如图所示:
注:服务访问点SAP是一个抽象的概念,它实际上就是一个逻辑接口。
SDU是指定层的用户服务的数据集,传送到接收方的时候同一协议层时数据没有发生变化,即业务部分,然后发给下层之后,下层将其封装在PDU中发送出去。服务数据单元是从高层协议来的信息单元传送到低层协议(高层协议到底层协议依次是物理层,数据链路层,网络层,传输层,会话层,表示层,应用层)。第N层服务数据单元SDU,和上一层的协议数据单元(PDU)是一一对应的。根据协议数据单元的数据的不同,送到接收端的指定层。即:
PDU(N+1)=SDU(N)
对于PDU(协议数据单元)和SDU(服务数据单元)的区别和关系:
N层协议实体之间传递的数据称为协议数据单元(PDU),通过数据发送/接收管理把用户提交的SDU以PDU的形式,通过下层通道发送到对端协议实体。在接收端再将PDU还原成SDU送给收端用户,即用户接收和发出的是SDU,协议之间传递的数据是PDU。