【教学课件】第3章数据链路层.ppt
《【教学课件】第3章数据链路层.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第3章数据链路层.ppt(94页珍藏版)》请在三一办公上搜索。
1、第 3 章 数据链路层,基本内容:数据链路层的基本概念,数据链路层协议的工作原理:停止等待协议,连续ARQ协议,滑动窗口,选择ARQ协议,Internet中的数据链路层协议。重点掌握:数据链路层的基本概念。数据链路层协议的工作原理。滑动窗口原理。,3.1 数据链路层的基本概念,链路(link)是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。数据链路(data link)除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。数据链路/逻辑链路=物理链路+通信规程,该层要解决的问题:如何在有差错的线路上,进行无差错传输。数据链路
2、层协议功能图示。,数据链路层的模型,数据链路层像个数字管道,常常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位是帧。早期的数据通信协议曾叫作通信规程(procedure)。因此在数据链路层,规程和协议是同义语。,结点,结点,帧,帧,在数据链路层上传输数据帧,?发送方:,?接收方:,?传输过程:,!解决这些问题,是数据链路层的主要任务。,!针对这些问题所制定的通信规程就是数据链路层的通信协议。,以多快的速度发送数据帧,即每帧之间相隔多长时间?如何确认对方是否收到数据?,是否接收到正确的数据帧?如何告诉发送方?能及时处理接收到的数据帧吗?,会出错吗?会丢失数据帧吗?,
3、数据链路层的主要功能,数据链路层最重要的作用就是:通过一些数据链路层协议,在不太可靠的物理链路上实现可靠的数据传输。其主要功能可归纳如下:(1)链路管理(2)帧定界(3)流量控制(4)差错控制(5)将数据和控制信息区分开(6)透明传输(7)寻址,数据链路层的主要功能,(1)链路管理-当网络中的两个结点要进行通信时,数据的发方必须确知收方是否已处在准备接受的状态。为此通信的双方必须先要交换一些必要的信息,用术语讲必须先建立一条数据链路。在传输数据时要维持数据链路,而在通信完毕时要释放数据链路。数据链路的建立、维持和释放就叫做链路管理。(2)帧同步-在数据链路层,数据的传送单位时帧。数据一帧一帧地
4、传送,就可以在出现差错时,将有差错的帧再重传一次,避免了全部数据的重传。帧同步是指收方应当能从受到的比特流中准确地区分出一帧的开始和结束。,数据链路层的主要功能,(3)流量控制-发方发送数据的速率必须使收方来得及接收。当收方来不及接收时,就必须及时控制发方发送数据的速率。(4)差错控制-在计算机通信中,一般都要求有极低的比特差错率。为此广泛地使用了编码技术,主要有两大类,一类是前向纠错,即收方收到有差错的数据帧时能自动将差错改正过来。这种方法的开销较大,不适合于计算机通信。另一类是检错重发,即收方可以检测出收到的帧中有差错,于是就让发方重复发送这一帧,直到收方正确收到这一帧为止。这种方法在计算
5、机通信中是最常用的。,数据链路层的主要功能,(5)将数据和控制信息区分开-由于数据和控制信息都是在同一信道中传输,在许多情况下,数据和控制信息处于同一帧中,因此一定要有响应的措施使收方能够将他们区分开来。(6)透明传输-所谓透明传输就是不管所传数据是什么样的比特组合,都应当能够在链路上传送。当所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采取适当的措施,使收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的。(7)寻址-在多点连接的情况下,必须保证每一帧都能送到正确的地址。双方也应当知道发方是哪一个站。,3.2 停止等待协议,3.2.1 完全理想化的数据传
6、输 3.2.2 具有最简单流量控制的数据链路层协议 3.2.3 实用的停止等待协议 3.2.4 循环冗余检验的原理 3.2.5 停止等待协议的算法 3.2.6 停止等待协议的定量分析,3.2.1 完全理想化的数据传输,数据链路层的简单模型:,局域网,广域网,主机 H1,主机 H2,路由器 R1,路由器 R2,路由器 R3,电话网,局域网,主机 H1 向 H2 发送数据,从层次上来看数据的流动,3.2.1 完全理想化的数据传输,数据链路层的简单模型(续):,局域网,广域网,主机 H1,主机 H2,路由器 R1,路由器 R2,路由器 R3,电话网,局域网,主机 H1 向 H2 发送数据,链路层,应
7、用层,运输层,网络层,物理层,链路层,应用层,运输层,网络层,物理层,链路层,网络层,物理层,链路层,网络层,物理层,链路层,网络层,物理层,R1,R2,R3,H1,H2,仅从数据链路层观察帧的流动,3.2.1 完全理想化的数据传输,两台计算机通过一条通信链路进行通信的筒化模型:,数据链路层,主机 A,缓存,主机 B,数据链路,AP2,AP1,缓存,发送方,接收方,帧,高层,帧,完全理想化的数据传输所基于的两个假定,假定1:链路是理想的传输信道,所传送的任何数据既不会出差错也不会丢失。假定2:不管发方以多快的速率发送数据,收方总是来得及收下,并及时上交主机。这个假定就相当于认为:接收端向主机交
8、付数据的速率永远不会低于发送端发送数据的速率。,3.2.2 具有最简单流量控制的数据链路层协议,现在去掉上述的第二个假定。但是,仍然保留第一个假定,即主机A向主机B传输数据的信道仍然是无差错的理想信道。然而现在不能保证接收端向主机交付数据的速率永远不低于发送端发送数据的速率。由收方控制发方的数据流,是计算机网络中流量控制的一个基本方法。,3.2.2 具有最简单流量控制的数据链路层协议,在发送结点:(1)从主机取一个数据帧。(2)将数据帧送到数据链路层的发送缓存。(3)将发送缓存中的数据帧发送出去。(4)等待。(5)若收到由接收结点发过来的信息,则从主机取一个新的数据帧,然后转到(2)。,在接收
9、结点:(1)等待。(2)若收到由发送结点发过来的数据帧,则将其放入数据链路层的接收缓存。(3)将接收缓存中的数据帧上交主机。(4)向发送结点发一信息,表示数据帧已经上交给主机。(5)转到(1)。,两种情况的对比(传输均无差错),A,B,DATA,DATA,DATA,DATA,送主机 B,送主机 B,送主机 B,送主机 B,A,B,DATA,送主机 B,DATA,送主机 B,时间,不需要流量控制,需要流量控制,3.2.3 实用的停止等待协议,时间,A,B,送主机,ACK,送主机,ACK,(a)正常情况,四种情况,解决死锁问题,结点A发送完一个数据帧时,就启动一个超时计时器(timeout tim
10、er)。若到了超时计时器所设置的重传时间 tout而仍收不到结点 B 的任何确认帧,则结点 A 就重传前面所发送的这一数据帧。一般可将重传时间选为略大于“从发完数据帧到收到确认帧所需的平均时间”。,解决重复帧的问题,如果是确认帧丢失,则超时重传将使主机B收到两个相同的数据帧,这就是重复帧。使每一个数据帧带上不同的发送序号。每发送一个新的数据帧就把它的发送序号加 1。若结点 B 收到发送序号相同的数据帧,就表明出现了重复帧。这时应丢弃重复帧,因为已经收到过同样的数据帧并且也交给了主机 B。但此时结点 B 还必须向 A 发送确认帧 ACK,因为 B 已经知道 A 还没有收到上一次发过去的确认帧 A
11、CK。,帧的编号问题,任何一个编号系统的序号所占用的比特数一定是有限的。因此,经过一段时间后,发送序号就会重复。序号占用的比特数越少,数据传输的额外开销就越小。对于停止等待协议,由于每发送一个数据帧就停止等待,因此用一个比特来编号就够了。注:一个比特可表示 0 和 1 两种不同的序号。,帧的发送序号,数据帧中的发送序号 N(S)以 0 和 1 交替的方式出现在数据帧中。每发一个新的数据帧,发送序号就和上次发送的不一样。用这样的方法就可以使收方能够区分开新的数据帧和重传的数据帧了。,可靠传输,虽然物理层在传输比特时会出现差错,但由于数据链路层的停止等待协议采用了有效的检错重传机制,数据链路层对上
12、面的网络层就可以提供可靠传输的服务。,3.2.4 循环冗余检验的原理,在数据链路层传送的帧中,广泛使用了循环冗余检验 CRC 的检错技术。假设待传送的数据 M=1010001101(共k bit)。我们在M的后面再添加供差错检测用的 n bit 冗余码一起发送。冗余码的计算用二进制的模 2 运算进行 2n 乘 M 的运算,这相当于在 M 后面添加 n 个 0。得到的(k+n)bit 的数除以事先选定好的长度为(n+1)bit 的数 P,得出商是 Q 而余数是 R,余数 R 比除数 P 至少要少1 个比特。,冗余码的计算举例,设 n=5,P=110101,M=1010001101模 2 运算的结
13、果是:商 Q=1101010110,余数R=01110。将余数 R 作为冗余码添加在数据 M 的后面发送出去,即发送的数据是101000110101110,或 2nM+R。,循环冗余检验的原理说明,1101010110 Q 商 除数 P 2nM 被除数 110101 111011 110101 111010 110101 111110 110101 101100 110101 110010 110101 01110 R 余数,循环冗余检验的原理说明,只要得出的余数 R 不为 0,就表示检测到了差错。但这种检测方法并不能确定究竟是哪一个或哪几个比特出现了差错。一旦检测出差错,就丢弃这个出现差错的
14、帧。只要经过严格的挑选,并使用位数足够多的除数 P,那么出现检测不到的差错的概率就很小很小。,3.2.5 停止等待协议的算法,在发送结点:(1)从主机取一个数据帧,送交发送缓存。(2)V(S)0。(3)N(S)V(S)。(4)将发送缓存中的数据帧发送出去。(5)设置超时计时器。(6)等待。等待以下(7)和(8)这两个事件中最先出现的一个(7)收到确认帧 ACKn,若 n=1 V(s),则:从主机取一个新的数据帧,放入发送缓存;V(S)1 V(S),转到(3)。否则丢弃这个确认帧,转到(6)。(8)若超时计时器时间到,则转到(4)。,3.2.5 停止等待协议的算法,在接收结点:(1)V(R)0。
15、(2)等待。(3)收到一个数据帧;若 N(S)=V(R),则执行(4);否则丢弃此数据帧,然后转到(6)。(4)将收到的数据帧中的数据部分送交上层软件。(5)V(R)1 V(R)。(6)nV(R);发送确认帧 ACKn,转到(2)。,3.2.6 停止等待协议的定量分析,设 tf 是一个数据帧的发送时间,且数据帧的长度是固定不变的。显然,数据帧的发送时间 tf 是数据帧的长度 lf(bit)与数据的发送速率 C(bit/s)之比,即 tf=lf/C=lf/C(s)(3-1)发送时间 tf 也就是数据帧的发送时延。数据帧沿链路传到结点B还要经历一个传播时延 tp。结点 B 收到数据帧要花费时间进行
16、处理,此时间称为处理时间 tpr,发送确认帧 ACK 的发送时间为 ta。,停止等待协议中数据帧和确认帧的发送时间关系,A,B,DATA,DATA,ACK,传播时延 tp,处理时间 tpr,确认帧发送时间 ta,传播时延 tp,处理时间 tpr,时间,两个成功发送的数据帧之间的最小时间间隔,数据帧的发送时间,tf,设置的重传时间,tout,重传时间,重传时间的作用是:数据帧发送完毕后若经过了这样长的时间还没有收到确认帧,就重传这个数据帧。为方便起见,我们设重传时间为 tout=tp+tpr+ta+tp+tpr 设上式右端的处理时间 tpr 和确认帧的发送时间 ta 都远小于传播时延 tp,因此
17、可将重传时间取为两倍的传播时延,即 tout=2tp,简单的数学分析,两个发送成功的数据帧之间的最小时间间隔是 tT=tf+tout=tf+2tp 设数据帧出现差错(包括帧丢失)的概率为 p,但假设确认帧不会出现差错。设正确传送一个数据帧所需的平均时间 tav tav=tT(1+一个帧的平均重传次数),简单的数学分析(续),一帧的平均重传次数=1 P重传次数为 1+2 P重传次数为 2+3 P重传次数为 3+=1 P第 1 次发送出错 P第 2 次发送成功+2 P第 1,2 次发送出错 P第 3 次发送成功+3 P第 1,2,3 次发送出错 P第 4 次发送成功+=p(1 p)+2p2(1 p
18、)+3p3(1 p)+这里 PX 是出现事件 X 的概率。得出正确传送一个数据帧所需的平均时间:当传输差错率增大时,tav 也随之增大。当无差错时,p=0,tav=tT。,简单的数学分析(续),每秒成功发送的最大帧数就是链路的最大吞吐量 max。显然,max=1/tav=(1 p)/tT在发送端,设数据帧的实际到达率为,则不应超过最大吞吐量 max,即(1 p)/tT用时间 tf 进行归一化,得出归一化的吞吐量 为 tf(1 p)/1其中参数 是 tT 的归一化时间:tT/tf 1当重传时间远小于发送时间时,1,此时的归一化吞吐量 1 p,停止等待协议 ARQ 的优缺点,优点:比较简单。缺点:
19、通信信道的利用率不高,也就是说,信道还远远没有被数据比特填满。为了克服这一缺点,就产生了另外两种协议,即连续 ARQ 和选择重传 ARQ。,3.3 连续 ARQ 协议,3.3.1 连续 ARQ 协议的工作原理 3.3.2 连续 ARQ 协议的吞吐量 3.3.3 滑动窗口的概念 3.3.4 信道利用率与最佳帧长,3.3.1 连续 ARQ 协议的工作原理,在发送完一个数据帧后,不是停下来等待确认帧,而是可以连续再发送若干个数据帧。如果这时收到了接收端发来的确认帧,那么还可以接着发送数据帧。若收到对其中某一帧的否认帧,则从该帧开始的后继帧全部重发。由于减少了等待时间,整个通信的吞吐量就提高了。,3.
20、3.1 连续 ARQ 协议的工作原理,ACK1 确认 DATA0,ACK2 确认 DATA1,DATA2 出错,丢弃,DATA3 不按序,丢弃,重传 ACK2,DATA4 不按序,丢弃,重传 ACK2,DATA5 不按序,丢弃,重传 ACK2,ACK3 确认 DATA2,ACK4 确认 DATA3,超时重传时间,A,B,tout,送交主机,送交主机,?,需要注意,(1)接收端只按序接收数据帧。虽然在有差错的 2号帧之后接着又收到了正确的 3 个数据帧,但接收端都必须将这些帧丢弃,因为在这些帧前面有一个 2 号帧还没有收到。(2)ACK1 表示确认 0 号帧 DATA0,并期望下次收到 1 号帧
21、;ACK2 表示确认 1 号帧 DATA1,并期望下次收到 2号帧。依此类推。,需要注意,(3)结点 A 在每发送完一个数据帧时都要设置该帧的超时计时器。如果在所设置的超时时间内收到确认帧,就立即将超时计时器清零。但若在所设置的超时时间到了而未收到确认帧,就要重传相应的数据帧。在等不到 2 号帧的确认而重传 2 号数据帧时,虽然结点 A 已经发完了 5 号帧,但仍必须向回走,将 2号帧及其以后的各帧全部进行重传。连续 ARQ 又称为Go-back-N ARQ(又称回退N式ARQ协议),意思是当出现差错必须重传时,要向回走 N 个帧,然后再开始重传。,连续ARQ协议的优缺点,连续ARQ协议一方面
22、因连续发送数据帧而提高了效率,另一方面,在重传时又必须把原来已正确传送过的数据帧进行重传,这种做法又使传送效率降低。若传输信道的传输质量很差因而误码率较大时,连续ARQ协议不一定优于停止等待协议。,3.3.2 连续 ARQ 协议的吞吐量,在连续ARQ协议的情况下,正确传送一个数据帧所需的平均时间是:吞吐量的最大值是:max=1/tav=(1 p)/tT1+(1)p 而归一化的吞吐量为:=tf(1 p)/1+(1)p 可见,当等于1时,停止等待ARQ与连续ARQ性能相同。,3.3.2 连续 ARQ 协议的吞吐量,例:若数据帧的差错率p=0.01,而参数=4,则对于停止等待协议,0.99/4,但对
23、于连续ARQ协议,0.96。故即使在数据帧的差错率高达0.01时,连续ARQ的效率也比停止等待协议的高。注意:停止等待协议归一化吞吐量(1 p)/连续ARQ协议归一化吞吐量(1 p)/1+(1)p,3.3.3 滑动窗口的概念,在连续ARQ协议中,应当将已发送出去但未被确认的数据帧的数目加发限制。发送端和接收端分别设定发送窗口和接收窗口。发送窗口用来对发送端进行流量控制。发送窗口的大小 WT 代表在还没有收到对方确认信息的情况下发送端最多可以发送多少个数据帧。接收窗口用来控制接收端可以接收哪些数据帧。只有发送序号落入接收窗口内的数据帧才可以收下。,0,1,2,3,4,5,6,7,0,1,2,发送
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 数据链
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5658589.html