1、L,1,第3章 OSI/RM各层功能,本章要点: 了解物理层的作用、特性、协议和EIA RS-232C 接口标准 掌握数据链路层的功能、成帧、流量控制和差错控制 掌握网络层功能、数据交换技术和路由选择概念 掌握传输层的功能及面向连接和无连接的概念 了解会话层、表示层和应用层各层功能,L,2,第3章 OSI/RM各层功能,目 录 3.1 物理层 3.2 数据链路层 3.3 网络层 3.4 传输层 3.5 高层协议,L,3,3.1 物理层,3.1.1物理层的作用和特性,1. 物理层提供的功能 l 保证数据按位传送的正确性,同时提供通信接口定义、控制信号、数据传输速率、接口信号电平等; l 物理层管
2、理; l 建立、维持和释放物理连接。,物理层的作用是在网络节点之间的物理媒体上提供线路的建立、维持和释放,实现二进制位流的透明传输,并进行差错检查等。物理层是对DTE和DCE之间通信接口的描述和规定,如图所示。,L,4,3.1 物理层,3.1.1物理层的作用和特性 1. 物理层提供的功能 2. 物理层的特性,l 机械特性机械特性详细说明了接插式连接器的大小、形状、尺寸、引脚的排列方式锁定装置以及相应通信介质的参数和特性等。,l 电气特性 电气特性规定了信号及有关电路的特性。,l 功能特性功能特性规定了接口信号的来源、作用以及其它信号之间的关系。,l 规程特性 规程特性就是协议,定义了DTE和D
3、CE接口进行二进制比特流传输前的控制步骤,包括各信号线的工作规程和时序。,L,5,3.1 物理层,3.1.2 物理层协议(接口标准)举例 1. EIA-RS-232C接口标准 l EIA-RS-232C的机械特性DB25针式(凸插座)和DB25引式(凹插座)结构。另有一个9芯标准连接器简化标准。,l EIA-RS-232C的电气特性 逻辑“1”的电平范围是515V;逻辑“0”的电平范围是+5+15V。 l EIA-RS-232C的功能特性20根信号线(其中2根地线、4根数据线、11根控制线、3根定时信号线),剩下的5根线(9、10、11、18、25)做备用或末定义。 l DTE和DTE间近距离
4、连接交叉跳接信号线接线方法 2. EIA的RS-449、RS-422和RS-423接口标准 3. 数据传输的DTE/DCE接口标准X.21,L,6,3.2 数据链路层,3.2.1 成帧和帧同步,l 成帧成帧的目的是为了一旦在数据传输时出错,只重传或纠正有错的帧,而不必重发全部数据,从而提高效率。,l 帧同步为了能在收到的比特流中明确区分出一帧,发送方必须建立和识别帧的边界,一般是在帧的开始和结束位置增加一些特殊的位组合来实现,这就是帧同步问题。,数据链路层的作用是利用物理层提供的位串传输功能,将物理层传输原始比特流时可能出错的物理连接,改造成为逻辑上无差错的数据链路,在相邻节点间实现透明的高可
5、靠性传输,同时为网络层提供有效的服务。,l 常用的帧同步方法有下面几种: 1. 字节计数法 2. 使用字符填充的首尾定界符法 3. 使用比特填充的首尾定界符法 4. 违法编码法,L,7,3.2 数据链路层,3.2.2 差错控制,差错产生的原因主要是由于线路本身电气特性所产生的随机噪声(热噪声)、信号振幅、频率和相位的衰减或畸变、电信号在传输介质上的反射回音效应、相邻线路的串扰、外界的电磁干扰和设备故障等因素造成的。,1.差错类型差错可分为单比特差错和突发差错两类,单比特差错是指在传输的数据单元中只有一个比特发生了改变(0变1或1变0),而突发差错是指在传输的数据单元中有两个或两个以上的比特发生
6、了改变。差错控制有两种方法:一种方法是从硬件入手,但增加了通信成本;另一种方法是在传输过程中进行差错控制,在数据链路层采用编码进行查错或纠错处理。注意:数据链路层编码和物理层的数据编码与调制不同。物理层编码针对的是单个比特,解决传输过程中比特的同步等问题,如曼彻斯特编码。而数据链路层的编码针对的是一组比特,它通过冗余码的技术实现一组二进制比特串在传输过程是否出现了差错。,L,8,3.2 数据链路层,3.2.2 差错控制,2.检错码和纠错码,只具有检错能力的编码称为检错码。既能检错又具有自动纠错能力的编码则称为纠错码。差错控制方式有自动请求重发ARQ(Automatic repeat Reque
7、st)和前向纠错FEC(Forward Error Correction)两种。l ARQ采用检错码方法实现,它使用冗余技术。所谓冗余技术是在发送方的数据单元中增加一些用于检查差错的附加位,便于接收端进行检错。l FEC采用纠错码方法实现。纠错码比检错码复杂,需足够多的冗余位,实现来复杂,编码和解码速度慢,效率低,造价高且费时。,3. 奇偶校验码奇偶校验(Parity)码地通过在信息位的后面附加一个检验位,使得 码字中“1”的个数保持为奇数或偶数的编码方法。,L,9,3.2 数据链路层,3.2.2 差错控制1.差错类型2.检错码和纠错码3.奇偶校验码4.循环冗余校验码,循环冗余校验码(CRC)
8、是一种最常用的检错码。CRC是通过在信息位的后面附加一串冗余比特实现的。方法是将要发送的二进制比特序列当作一个多项式F(x)的系数,在发送端,用双方预先约定的G(x) 生成多项式对应的比特序列去除,(F(x)对应的比特序列后要加上n个0,n是一个比G(x) 生成多项式对应的比特序列的位数减1的数),求得一个余数多项式,它就是循环冗余校验码,然后将它附加在放在信息位的后面组成CRC码进行传输。在接收端,用同样的G(x)去除接收到的比特序列,若能被其整除,表示传输正确,否则表示有错。例如:,L,10,3.2 数据链路层,【例3.1】 (7,3)码中,信息码有3位,可分别表示十进制数据17,设G(x
9、)为 x 4 + x 3 + x 2+ 1,对应的生成多项式比特序列为11101,有5位组成,因此冗余校验码应是4位,通过计算,得表3.3。,3.2.2 差错控制1.差错类型2.检错码和纠错码3.奇偶校验码4.循环冗余校验码,L,11,3.2 数据链路层,l 本来7位二进制码可以有27(128)个码字,表中所得的8个CRC码是从这128个码字中,按照一致校验方程组挑选出来的,它有如下特性:1)封闭性。表中任两个CRC码的对应位进行模2相加后得到的结果,仍然是表3.3中8个码字中的一个。2)循环性。表中任意一个(7,3)CRC码字循环右移一位或多位后,仍是表中8个(7,3)CRC码字中的一个。,
10、【例3.1】 (7,3)码中,信息码有3位,可分别表示十进制数据17,设G(x)为 x 4 + x 3 + x 2+ 1,对应的生成多项式比特序列为11101,有5位组成,因此冗余校验码应是4位,通过计算,得表3.3。,L,12,3.2 数据链路层,l 本来7位二进制码可以有27(128)个码字,表中所得的8个CRC码是从这128个码字中,按照一致校验方程组挑选出来的,它有如下特性:1)封闭性。表中任两个CRC码的对应位进行模2相加后得到的结果,仍然是表3.3中8个码字中的一个。2)循环性。表中任意一个(7,3)CRC码字循环右移一位或多位后,仍是表中8个(7,3)CRC码字中的一个。, 目前
11、广泛使用的生成多项式主要有四种:CRC12x 12 + x 11 + x 3 + x 2 + 1CRC16x 16 + x 15 + x 2 + 1(IBM公司)CRC16x 16 + x 12 + x 5 + 1(CCITT)CRC32x 32 + x 26 + x 23 + x 22 + x 16 + x 11 + x 10 + x 8 + x 7 + x 5 + x 4 + x 2 + x + 1,l 循环冗余码的产生和校验均有集成电路产品,发送端能够自动生成CRC码,接收端自动校验。Ethernet采用的是32位CRC码,它由专用的以太网系列器件来实现。,L,13,3.2 数据链路层,
12、3.2.2 差错控制5.海明码,设信息位为k位,冗余位r位,构成n=k+r位码字。若希望用r个监督关系式产生r个校正因子来判断码字在传输后是否出错,并确定n个不同的错误位置,则要求满足下列关系式: 2 r n+1 或 2 r k+r+1例如,当k=4时,为了满足上述不等式,则需要r3。现取r=3,则n=k+r=7。也就是说,在4位信息位a6 a5 a4 a3后面加上3为冗余位a2 a1 a0 ,构成7位码字a6 a5 a4 a3 a2 a1 a0 。其中a2、a1和a0分别可通过4位信息位中某几位按半加方法得到。在校验时,a2 、a1 和a0就分别和这些位构成三个不同的监督关系式。如果传输后没
13、有错误,这三个监督关系式的值s2、s1和s0应该全为“0”。 a6 a5 a4 a3 a2 a1 a0中某一位差错与 S2 S1 S0的其对应关系可规定如表3.4所示(当然也可以规定成另外的对应关系)。,L,14,3.2 数据链路层,a2、a4、a6中有一个传输出错都应使S2=1,即:S2= a2a4a5a6同理,可以得到监督关系式:S2= a2a4a5a6S1= a1a3a5a6 (3.1)S0= a0a3a4a6,3.2.2 差错控制5.海明码,L,15,3.2 数据链路层,将(3.1)式中的S2、S1和S0取值为零,则:a2a4a5a6=0 a1a3a5a6=0 (3.2)a0a3a4a
14、6=0,由此可得:a2= a4a5a6a1=a3a5a6 (3.3)a0=a3a4a6,3.2.2 差错控制5.海明码,L,16,3.2 数据链路层,3.2.1 成帧和帧同步 3.2.2 差错控制 3.2.3 流量控制,3.2.4 链路管理 链路管理用于面向连接的服务,它包括链路的建立,维持和释放,它可以为网络层提供几种不同质量的链路服务。,流量控制是限制发送方的数据发送流量,使其发送速率不致超过接收方所能处理的能力,而导致帧的“淹没” 。,3.2.5 数据链路控制协议 l 异步协议:以字符作为信息传输单位,在每个字符的起始处同步,但字符之间的间隔时间是不固定的(即字符之间是异步的) l 同步
15、协议:以许多字符或许多比特组织成的数据块为传输单位,在帧的起始处同步。同步协议又分为面向字符(字节)的协议和面向比特的协议两类 。,L,17,3.3 网络层,物理层和数据链路层考虑节点间直接相连的情形(LAN内),而网络层则考虑源和目的节点存在许多中间节点的情形(WAN内) ,如下图所示。网络层是通信子网的最高层,主要任务是提供路由,以及数据的交换方式、流量控制、阻塞与死锁处理和网际互联等问题。网络层数据单元称为分组或者叫包(Packet)。,L,18,3.3 网络层, 网络层的主要作用 l 建立网络连接,提供网络地址,提供寻址l 实现网络数据单元(包)的传送l 路由选择l 拥塞控制l 差错控
16、制l 消除通信子网的质量差异l 确定网络层服务质量参数,如网络吞吐量、网络延迟等,物理层和数据链路层考虑节点间直接相连的情形(LAN内),而网络层则考虑源和目的节点存在许多中间节点的情形(WAN内) ,如下图所示。网络层是通信子网的最高层,主要任务是提供路由,以及数据的交换方式、流量控制、阻塞与死锁处理和网际互联等问题。网络层数据单元称为分组或者叫包(Packet)。,L,19,3.3 网络层,1.电路交换 电路交换(Circuit Switching)是源于电话交换网技术。数据传输前,先由一端发起呼叫,交换网开始建立连接,直到两端建立起一条,通路,然后才开始进行数据传输。在整个传输期间,该通
17、路一直为通信双方独占,直到通信结束后才释放线路。,3.3.1 数据交换方式 数据通信中,将数据在通信子网中节点间的数据传输过程称为数据交换(Switch),其对应的技术称为数据交换技术。,L,20,3.3 网络层,1.电路交换 电路交换的优点是数据以固定速度传输,传送快,延迟小,适用于实时传输、远程成批处理、发送大量数据和持续通信要求高的场合。缺点是整个连接过程的信道容量完全被通信双方占用,线路利用率不高。而且电路交换系统不具备差错控制能力,交换机也不具备数据存储能力。,3.3.1 数据交换方式 数据通信中,将数据在通信子网中节点间的数据传输过程称为数据交换(Switch),其对应的技术称为数
18、据交换技术。,2.存储转发交换 存储转发交换也称报文交换,源于电报传输方式。它不需要通过呼叫建立物理通路,而是以接力方式,报文在网络节点之间逐段传送直到目的地。存储转发交换时,传输前先将需要发送的数据分割成一定大小的块(报文),一个报文被存储在节点上并不立即发送,而是等到信道或路由中的下一节点的缓冲器空闲时再发送出去。传输的路径可以是固定的,也可动态建立,这就充分利用了信道和转接设备的容量。,L,21,3.3 网络层,3.3.1 数据交换方式 3.包交换包交换(Packet switching)也称分组交换。在包交换网络中,数据单元(包或分组)是大小可变的数据块,包的长度由网络确定。,l 数据
19、报方式数据报方式中,每个包在传输时都是一个独立的传输单元,传输时自己选择传输路径,即使若干个包可能属于同一个报文时也是如此。,L,22,3.3 网络层,3.3.1 数据交换方式 3.包交换包交换(Packet switching)也称分组交换。在包交换网络中,数据单元(包或分组)是大小可变的数据块,包的长度由网络确定。,l 数据报方式l 虚电路方式 虚电路传输过程时,属于同一个报文的所有包之间的先后顺序被保留了下来,源节点和目的节点之间路径在会话开始的时候先被选中,即先建立一条逻辑通路。,L,23,3.3 网络层,3.3.1 数据交换方式 3.3.2 网络层提供的服务,1.面向连接的服务面向连
20、接的服务主要是虚电路服务(电话型服务)。这种方式在数据传输时,需要经过连接的建立、维持(数据传输)和连接的拆除三个阶段。连接建立好后,所有的包沿着虚电路有序、无差错的传输,面向连接的服务往往是有确认的服务,适用于可靠性要求高和有大量数据传输的应用领域,典型的提供面向连接的服务是X.25协议。,2.面向无连接的服务面向无连接的服务主要是数据报服务(电报型服务)。数据传输不需建立连接和拆除过程,各个数据包都有自己的控制信息,它将差错控制、流量控制和包的排序等均交给传输层处理。因此.面向无连接的服务是不可靠的网络服务,但这种方式因无信道的连接和拆除过程,开销小,在信息不太长时非常适用。典型的面向无连
21、接的服务是IP协议。,L,24,3.3 网络层,3.3.1 数据交换方式 3.3.2 网络层提供的服务 3.3.3 路由选择,广域网中源节点和目的节点之间一般有多条传输路径供选择,网络中每个中间节点在收到一个数据包后,都要确定向下一个节点传送的路径,这就是路由选择。完成路由选择的设备是路由器,路由算法有以下几种:,1.静态路由选择策略l 扩散法 l 固定路由选择 l 随机路由选择,2.动态路由选择策略l 独立路由选择l 集中路由选择 l 分布路由选择,L,25,3.3 网络层,3.3.1 数据交换方式 3.3.2 网络层提供的服务 3.3.3 路由选择 3.3.4 拥塞控制,拥塞也称阻塞,是指
22、源和目的节点之间中某一个中间节点缓存中的包数量过多,使得该部分网络来不及处理,而后续的数据包还不断传送过来,导致缓存中的数据包“淹没”,以致这部分乃至整个网络性能急剧下降(甚会至死锁)。 拥塞现象如同交通拥挤一样,在某个瓶颈路段,各种走向的车流相互干扰,使每辆车到达目的地的时间都相对增加(延迟增加),甚至有时在某段公路上车辆因堵塞而无法开动(局部死锁)。,网络层最典型的协议是IP协议、X.25、帧中继(Frame Relay)和ATM。,L,26,3.4 传输层,3.4.1 传输层的功能 传输层是OSI/RM的核心,它提供的服务类似于数据链路层。区别是数据链路层控制局域网中单条链路上“点到点”
23、传输的情形,而“端到端”是指从源端到目的端,中间可以有一个或多个交换节点。 。传输层功能有下面几个: l 端到端的传递l 寻址l 可靠传递l 流量控制l 复用 l 分段和重组,传输层处于通信子网和资源子网之间,起着承上启下的作用,它能在源和目的计算机之间提供可靠经济的数据传输服务,而且独立于所使用的网络(屏蔽各种通信子网的差异),同时向高层提供一个标准及完善的服务界面。,L,27,3.4 传输层,端到端的传递也采用面向连接和面向无连接两种方式。面向连接的协议通过互联网在源端和目的端之间建立一条虚电路或路径,然后,属于同一个的报文的所有数据包都在这一路径上传递。面向连接有连接建立、数据传输和连接
24、终止三个阶段。 面向无连接的传输服务只为上层提供一种类型的服务,它为所有传输提供单个独立的数据单元。每个单元包含传输所需要的所有协议控制信息,但是不提供顺序和流量控制。 TCP/IP协议中的TCP和UDP是传输层协议。其中,传输控制协议TCP协议是面向连接的协议,用户数据报协议UDP是面向无连接的协议。,3.4.1 传输层的功能 3.4.2 面向连接和面向无连接,L,28,3.5 高层协议,3.5.2 表示层 l 翻译 l 数据加密 l 认证 l 数据压缩,3.5.1 会话层 会话层功能有限,它们提供的服务主要有:l 数据交换 l 隔离服务 l 与会话管理有关的服务 l 会话层与传输层的交互 l 同步点,3.5.3 应用层,3.5.4 小结,L,29,