《计算机网络-03数据链路层.ppt》由会员分享,可在线阅读,更多相关《计算机网络-03数据链路层.ppt(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机网络基础教程第3章 数据链路层本章概要 数据链路层是介于物理层和网络层之间的功能层次,其基本功能是将物理层提供的传输原始比特流的物理连接改造成逻辑上无差错的数据传输链路,以向网络层提供透明的可靠的数据传输服务,包括:成帧、差错控制和流量控制等。计算机网络2第3章 数据链路层3.1 数据链路层的功能 数据链路层最基本的服务是将源网络层来的数据可靠地传输到相邻节点的网络层。为达到这一目的,数据链路层必须具备一系列相应的功能,这些功能主要包括:n成帧n差错控制n流量控制n链路管理 计算机网络3第3章 数据链路层3.1.1 帧同步功能 为了使接收方能够检查传送数据,就必须能从物理层所收到的比特流
2、中明确区分一个数据帧的开始和结束位置,这就是帧同步问题。帧同步主要有4种方法:n字节计数法 n使用字符填充的首尾定界法 n使用比特填充的首尾标志法 n违规编码法 计算机网络4第3章 数据链路层3.1.2 差错控制功能通信系统必须具备发现差错的能力,并采取措施纠正之,将差错的出现控制在所能允许的尽可能小的范围内,这就是差错控制功能。主要策略:n差错编码和重发n计时器n对帧编号 计算机网络5第3章 数据链路层3.1.3 流量控制功能流量控制处理的是发送方发送能力大于接收方接收能力的问题。流量控制实际上是限制发送方的数据流量,使其发送速率不要超过接收方所能处理的范围。计算机网络6第3章 数据链路层3
3、.1.4 链路管理功能 数据链路层实现的链路的建立、维持和释放功能统称链路管理。计算机网络7第3章 数据链路层3.2 差错控制信号在物理信道上的传输过程中,由于线路本身电气特性产生的随机噪声(又称热噪声),会引起信号幅度、频率和相位的衰减或畸变,电信号在线路上反射造成的回音效应,相邻线路间的串扰以及各种外界因素(如闪电、开关跳闸、强电磁场变化等)会造成信号失真,从而出现数据传输错误。一个实用的通信系统必须能发现(检测)这种差错,并且能采取措施纠正它。把这种用于对差错进行检测与校正的技术叫差错控制。计算机网络8第3章 数据链路层3.2.1 差错产生的原因及其控制产生原因:n随机热噪声 n特点:信
4、道所固有、持续存在 n控制方法:提高信噪比、差错控制编码 n冲击噪声 n特点:外界特定的短暂原因所造成、冲击噪声的幅度可以相当大、差错呈突发状 n控制方法:差错控制编码 计算机网络9第3章 数据链路层3.2.1 差错产生的原因及其控制差错控制差错控制编码 n工作过程:n编码过程n校验过程n分类:n自动请求重发(ARQ)n使用检错码,必须有双向信道,发送方预设缓冲区。n向前纠错(FEC)n使用纠错码,使用更多的冗余位,编码效率低。n编码效率:Rk/nk/(k+r)计算机网络10第3章 数据链路层3.2.2 常用的简单差错控制编码奇偶校验码n垂直奇偶校验 偶校验:ri=I1iI2iIpi(i=1,
5、2,q)奇校验:ri=I1iI2iIpi1(i=1,2,q)n水平奇偶校验 偶校验:ri=I i1I i2Iiq(i=1,2,p)奇校验:ri=I i1I i2Iiq1(i=1,2,p)n水平垂直奇偶校验 ri,q+1=I i1I i2Iiq (i=1,2,p)rp+1,j=I1jI2jIpj (j=1,2,q)rp+1,q+1=Ip+1,1Ip+1,2Ip+1,q=I1,q+1I2,q+1Ip,q+1计算机网络11第3章 数据链路层3.2.2 常用的简单差错控制编码定比码 定比码是指每个码字中均含有相同数目的“1”(码字长一定,“1”的数目固定后,所含“0”的数目也必然相同)。正由于每个码字
6、中“1”的个数与“0”的个数之比保持恒定,故得此名。若几位码字中“1”的个数恒定为m,还可称“n中取m码”。这种码在检测时,只要计算接收码字中“1”的数目就能知道是否有错。计算机网络12第3章 数据链路层3.2.2 常用的简单差错控制编码正反码n正反码冗余位的个数与信息位的个数相同,冗余位与信息位或者完全相同或者完全相反,由信息位中“1”的个数来决定。n接收端的校验方法为:先将接收码中的信息位和冗余位按位串加,得到一个K位的合成码组。若接收码字中的信息位有奇数个“1”,则取合成码组为校验码组;若接收码字中信息位中有偶数个“1”,则取合成码组的反码作为校验码组。最后,根据校验码组查看差错检测表(
7、表3-1),就能判断是否有差错,并能纠正部分差错。计算机网络13第3章 数据链路层表3-1 正反码检测表(信息位为5位)校验码组差错情况全“0”无差错4个“1”,一个“0”信息位中有一位错,其位置对应于校验码组中“0”的位置4个“0”,一个“1”冗余位中有一位错,其位置对应于校验码组中“1”的位置其他情况差错在两位或两位以上计算机网络14第3章 数据链路层3.2.3 循环冗余码 任何一个由二进制数位串组成的代码,都可以唯一的与一个只含有“0”和“1”两个系数的多项式建立一一对应关系 CRC码在发送端编码和接收端校验时,都可以利用事先约定的生成多项式G(X)来得到。k位要发送的信息位可对应于一个
8、(k-1)次多项式K(X),r位冗余位对应于一个(r-1)次多项式R(X)。由k位信息位后再加上r位冗余位组成的n=k+r位码字则对应于一个(n-1)次多项式T(X)XrK(X)+R(X)由于R(X)+R(X)=0的特点,Xr K(X)=G(X)Q(X)+R(X)若传输过程无差错,则接收方收到的码字多项式应能被G(X)整除。如果传输中有差错,差错模式对应的多项式记为E(X)T(X)+E(X)/G(X)=T(X)/G(X)+E(X)/G(X)若E(X)/G(X)不等于0,则这种差错就能检测出来;否则E(X)/G(X)=0,由于码字多项式仍能被G(X)整除,就发生漏检。计算机网络15第3章 数据链
9、路层循环码性质 若G(X)含有x+1的因子,则能检测出所有奇数错若G(X)中不含有x的因子,或者换句话讲,G(X)中含有常数项1,那么能检测出所有突发长度r的突发错 若G(X)中不含有x的因子,而且对任何0en-1的e,除不尽Xe+1,则能检测出所有的双错 若G(X)中不含有x的因子,则对突发长度为r+1的突发错误的漏检率为2-(r-1)若G(X)中不含有x的因子,则对突发长度b大于r+1的突发错误的漏检率为2-r 计算机网络16第3章 数据链路层3.2.3 海明码在奇偶校验情况下,只有一个监督关系式和一个校正因子,其取值只有“0”和“1”两种情况,分别代表无错和有错两种结果,还不能指出差错所
10、在地位置。不难设想,若增加冗余位,也即相应的增加了监督关系式和校正因子,就能区分更多的情况。设信息位为k位,增加r位冗余位,构成一个nkr位的码字。若希望用r个监督关系式产生的r个校正因子来区分出错和在码字中的几个不同位置的一位错,则要求满足以下关系式:2rn+1或2rk+r+1 计算机网络17第3章 数据链路层3.3 流量控制 流量控制涉及链路上字符或帧发送速率的控制,以使接收方在接收前有足够的缓冲存储空间来接收每一字符或帧。在面向字符的终端-计算机链路中,若远程计算机为许多台终端服务,它就有可能因不能在高峰时按预定速率传输全部字符而暂时过载。在面向帧的自动重发请求系统中,当待确认帧数量增加
11、时,有可能超出缓冲器存储空间,也会造成过载。计算机网络18第3章 数据链路层3.3.1 XON/XOFF方案 XON/XOFF方案中使用一对控制字符来实现流量控制,其中,XON采用ASCII字符集中的控制字符DC1,XOFF采用ASCII字符集中的控制字符DC3。当通信链路上接收方发生过载时,便向发送方发送一个XOFF字符,发送方接收到XOFF字符后便暂时停止发送数据;等接收方处理完缓冲存储器中的数据,过载恢复后,再向发送方发送一个XON字符,通知发送方恢复数据发送。在一次数据传输过程中,XON、XOFF可周期的重发多次,但这些操作对用户来说是透明的。计算机网络19第3章 数据链路层3.3.2
12、 窗口机制在接收到一确定帧之前,对发送方发送帧的数量加以限制。这是由发送方调整保留在重发表中待确认帧的数目来实现的。如果接收方来不及对收到的帧进行处理,则接收方停发确认信息,此时发送方重发表就会增长,当达到某个限度时,发送方就不再发送新帧,直至再次接收到确认信息为止。举例说明:图3-4 滑动窗口状态变化 计算机网络20第3章 数据链路层图3-4 滑动窗口状态变化 计算机网络21第3章 数据链路层3.4 数据链路层协议简化的模型。如图3-5所示,有两个主机A和B交换报文,它们各自连接到一个节点机,分别为节点机A和B。节点机A和B之间有物理信道直接相连,通过在其上建立的数据链路可以交换由报文构成的
13、帧 主机A主机B节点机B图3-5 简化的模型节点机A计算机网络22第3章 数据链路层3.4.1 停等协议停等(Stop and Wait)协议是一个最简单的协议。它规定发送方每发送一帧就要停下来,等待对方已正确接收的确认(Acknowledgement)返回后才能继续发送下一帧。发送的数据帧必须编号以区分是新发送的帧还是重发的帧。停等协议的优点:简单停等协议的缺点:造成信道浪费 捎带确认(piggyback acknow ledgement)在双向传送时,返回的ACK帧通常可由反向发送的数据帧一起捎带回来 计算机网络23第3章 数据链路层3.4.2 顺序接收的管道协议为了提高信道的有效利用率,
14、允许发送方不等确认帧返回就连续发送若干帧,发送的过程就像一条连续的流水线,故称为管道技术(Pipelining)允许连续发出多个未被确认的帧,要采用多位帧号才能区分 要求发送方有较大的发送缓冲区保留准备重发的帧 接收方应以正确的顺序将报文送主机 需要重发出错以后的所有帧,所以称为“回退n”(Go Back n)实例如图3-10 回退n协议 计算机网络24第3章 数据链路层图3-10 回退n协议 计算机网络25第3章 数据链路层3.4.3 选择重传协议若某一帧出错,后面送来的正确的帧虽然不能立即送主机,但接收方仍可收下来,放在一个缓冲区中,同时只要求发送方重新传送出错的那一帧,一旦收到重传的帧后
15、,就可与原先已正确接收但暂存在缓冲区中的其余帧一起按正确的顺序送主机 实例如图3-11 选择重传 计算机网络26第3章 数据链路层图3-11 选择重传 计算机网络27第3章 数据链路层3.5 协议的描述与验证自然语言:本身不够严格和精确,故容易产生二义性 为此,人们对协议的形式描述技术进行了大量的研究工作,以使协议成为一个严密的规范,也便于验证协议本身的正确性和完整性,还为以后从协议规范到实现代码的计算机辅助自动生成和对实现是否真正符合协议进行一致性测试奠定了基础 计算机网络28第3章 数据链路层3.5.1 有限状态自动机系统被描述成有限的状态,在一定的前提条件下会发生一系列的输入事件,这些事
16、件使得系统采取相应的动作,并从一个状态转换成另一个状态,称为状态的变迁或转换(transition)有限状态机模型也可以用来描述协议。以数据链路层停等协议为例说明计算机网络29第3章 数据链路层3.5.2 Petri网 它本质上也是一种有限状态机模型,但是它允许多种状态变迁同时交叉发生,对于异步并发过程的描述更为方便,因而用它来描述网络协议也更为简洁 Petri网的描述中有4种基本元素:位置(Place)、标记(Token)、变迁(Transition)和带箭头的弧线(Arc)只有某变迁的所有输入位置中都有标记时,该变迁才是就绪的,即可以发生的(Enable)任何就绪的变迁随时可能被触发或点火(Fire)。点火后才真正发生状态的变迁 从该变迁每条输入弧线的输入位置处取出一个标记,并在该变迁的每条输出弧线的输出位置处放入一个标记 计算机网络30第3章 数据链路层3.5.3 其他协议描述语言1SDL 2ESTELLE 3LOTOS 计算机网络31第3章 数据链路层3.6 链路通信规程举例3.6.1 起止式异步规程 3.6.2 面向字符的同步规程 3.6.3 面向比特的同步规程 3.6.4 面向字节计数的同步规程 计算机网络32第3章 数据链路层