计算机网络课件——数据链路层

上传人:ji****n 文档编号:54802438 上传时间:2018-09-19 格式:PPT 页数:74 大小:592KB
返回 下载 相关 举报
计算机网络课件——数据链路层_第1页
第1页 / 共74页
计算机网络课件——数据链路层_第2页
第2页 / 共74页
计算机网络课件——数据链路层_第3页
第3页 / 共74页
计算机网络课件——数据链路层_第4页
第4页 / 共74页
计算机网络课件——数据链路层_第5页
第5页 / 共74页
点击查看更多>>
资源描述

《计算机网络课件——数据链路层》由会员分享,可在线阅读,更多相关《计算机网络课件——数据链路层(74页珍藏版)》请在金锄头文库上搜索。

1、主讲:任风华,计算机网络,第 3 章 数据链路层,课件制作人:谢希仁,第 3 章 数据链路层,*3.1 数据链路层的基本概念 *3.2 停止等待协议3.2.1 完全理想化的数据传输3.2.2 具有最简单流量控制的数据链路层协议3.2.3 实用的停止等待协议3.2.4 循环冗余检验的原理3.2.5 停止等待协议的算法3.2.6 停止等待协议的定量分析,课件制作人:谢希仁,第 3 章 数据链路层(续),*3.3 连续 ARQ 协议3.3.1 连续 ARQ 协议的工作原理3.3.2 连续 ARQ 协议的吞吐量3.3.3 滑动窗口的概念3.3.4 信道利用率与最佳帧长 3.4 选择重传 ARQ 协议,

2、课件制作人:谢希仁,第 3 章 数据链路层(续),*3.5 面向比特的链路层协议 HDLC3.5.1 HDLC 协议概述3.5.2 HDLC 的帧结构 *3.6 因特网的点对点协议 PPP3.6.1 PPP 协议的工作原理3.6.2 PPP 协议的帧格式3.6.3 PPP 协议的工作状态,课件制作人:谢希仁,3.1 数据链路层的基本概念,链路(link)是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。 一条链路只是一条通路的一个组成部分。 数据链路(data link) 除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。

3、 现在最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件。 一般的适配器都包括了数据链路层和物理层这两层的功能。,课件制作人:谢希仁,数据链路层像个数字管道,常常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位是帧。早期的数据通信协议曾叫作通信规程(procedure)。因此在数据链路层,规程和协议是同义语。,课件制作人:谢希仁,数据链路层的主要功能,(1) 链路管理 (2) 帧定界 (3) 流量控制 (4) 差错控制 (5) 将数据和控制信息区分开 (6) 透明传输 (7) 寻址,课件制作人:谢希仁,3.2 停止等待协议,3.2.1 完全理想化的数据传输

4、 先研究一下数据链路层的模型。,课件制作人:谢希仁,数据链路层的简单模型,局域网,广域网,主机 H1,主机 H2,路由器 R1,路由器 R2,路由器 R3,电话网,局域网,主机 H1 向 H2 发送数据,从层次上来看数据的流动,课件制作人:谢希仁,数据链路层的简单模型( 续),局域网,广域网,主机 H1,主机 H2,路由器 R1,路由器 R2,路由器 R3,电话网,局域网,主机 H1 向 H2 发送数据,链路层,应用层,运输层,网络层,物理层,链路层,应用层,运输层,网络层,物理层,链路层,网络层,物理层,链路层,网络层,物理层,链路层,网络层,物理层,R1,R2,R3,H1,H2,仅从数据链

5、路层观察帧的流动,课件制作人:谢希仁,3.2 停止等待协议 3.2.1 完全理想化的数据传输,数据链路层,主 机A,缓存,主 机B,数据链路,AP2,AP1,缓存,发送方,接收方,帧,高层,帧,课件制作人:谢希仁,完全理想化的数据传输 所基于的两个假定,假定 1: 链路是理想的传输信道,所传送的任何数据既不会出差错也不会丢失。 假定 2: 不管发方以多快的速率发送数据,收方总是来得及收下,并及时上交主机。 这个假定就相当于认为:接收端向主机交付数据的速率永远不会低于发送端发送数据的速率。,课件制作人:谢希仁,3.2.2 具有最简单流量控制的数据链路层协议,现在去掉上述的第二个假定。但是,仍然保

6、留第一个假定,即主机 A 向主机 B传输数据的信道仍然是无差错的理想信道。然而现在不能保证接收端向主机交付数据的速率永远不低于发送端发送数据的速率。 由收方控制发方的数据流,乃是计算机网络中流量控制的一个基本方法。,课件制作人:谢希仁,具有最简单流量控制的 数据链路层协议算法,在发送结点:(1) 从主机取一个数据帧。(2) 将数据帧送到数据链路层的发送缓存。(3) 将发送缓存中的数据帧发送出去。(4) 等待。(5) 若收到由接收结点发过来的信息(此信息的格式与内容可由双方事先商定好),则从主机取一个新的数据帧,然后转到(2)。,课件制作人:谢希仁,具有最简单流量控制的 数据链路层协议算法(续)

7、,在接收结点:(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) 正常情况,四种情况,课件制作人:

8、谢希仁,超时计时器的作用,结点A发送完一个数据帧时,就启动一个超时计时器(timeout timer)。 计时器又称为定时器。 若到了超时计时器所设置的重传时间 tout而仍收不到结点 B 的任何确认帧,则结点 A 就重传前面所发送的这一数据帧。 一般可将重传时间选为略大于“从发完数据帧到收到确认帧所需的平均时间”。,课件制作人:谢希仁,解决重复帧的问题,使每一个数据帧带上不同的发送序号。每发送一个新的数据帧就把它的发送序号加 1。 若结点 B 收到发送序号相同的数据帧,就表明出现了重复帧。这时应丢弃重复帧,因为已经收到过同样的数据帧并且也交给了主机 B。 但此时结点 B 还必须向 A 发送确

9、认帧 ACK,因为 B 已经知道 A 还没有收到上一次发过去的确认帧 ACK。,课件制作人:谢希仁,帧的编号问题,任何一个编号系统的序号所占用的比特数一定是有限的。因此,经过一段时间后,发送序号就会重复。 序号占用的比特数越少,数据传输的额外开销就越小。 对于停止等待协议,由于每发送一个数据帧就停止等待,因此用一个比特来编号就够了。 一个比特可表示 0 和 1 两种不同的序号。,课件制作人:谢希仁,帧的发送序号,数据帧中的发送序号 N(S) 以 0 和 1 交替的方式出现在数据帧中。 每发一个新的数据帧,发送序号就和上次发送的不一样。用这样的方法就可以使收方能够区分开新的数据帧和重传的数据帧了

10、。,课件制作人:谢希仁,可靠传输,虽然物理层在传输比特时会出现差错,但由于数据链路层的停止等待协议采用了有效的检错重传机制,数据链路层对上面的网络层就可以提供可靠传输的服务。,课件制作人:谢希仁,3.2.4 循环冗余检验的原理,在数据链路层传送的帧中,广泛使用了循环冗余检验 CRC 的检错技术。 假设待传送的数据 M = 1010001101(共k bit)。我们在M的后面再添加供差错检测用的 n bit 冗余码一起发送。,课件制作人:谢希仁,冗余码的计算,用二进制的模 2 运算进行 2n 乘 M 的运算,这相当于在 M 后面添加 n 个 0。 得到的 (k + n) bit 的数除以事先选定

11、好的长度为 (n + 1) bit 的数 P,得出商是 Q 而余数是 R,余数 R 比除数 P 至少要少1 个比特。,课件制作人:谢希仁,冗余码的计算举例,设 n = 5, P = 110101,模 2 运算的结果是:商 Q = 1101010110,余数R = 01110。 将余数 R 作为冗余码添加在数据 M 的后面发送出去,即发送的数据是101000110101110,或 2nM + R。,课件制作人:谢希仁,1101010110 Q 商除数 P 110101 101000110100000 2nM 被除数110101111011 1101011110101101011111101101

12、0110110011010111001011010101110 R 余数,循环冗余检验的原理说明,课件制作人:谢希仁,帧检验序列 FCS,在数据后面添加上的冗余码称为帧检验序列 FCS (Frame Check Sequence)。 循环冗余检验 CRC 和帧检验序列 FCS并不等同。 CRC 是一种常用的检错方法,而 FCS 是添加在数据后面的冗余码。 FCS 可以用 CRC 这种方法得出,但 CRC 并非用来获得 FCS 的惟一方法。,课件制作人:谢希仁,检测出差错,只要得出的余数 R 不为 0,就表示检测到了差错。 但这种检测方法并不能确定究竟是哪一个或哪几个比特出现了差错。 一旦检测出

13、差错,就丢弃这个出现差错的帧。 只要经过严格的挑选,并使用位数足够多的除数 P,那么出现检测不到的差错的概率就很小很小。,课件制作人:谢希仁,应当注意,仅用循环冗余检验 CRC 差错检测技术只能做到无差错接受(accept)。 “无差错接受”是指:“凡是接受的帧(即不包括丢弃的帧),我们都能以非常接近于 1 的概率认为这些帧在传输过程中没有产生差错”。 也就是说:“凡是接受的帧都没有传输差错”(有差错的帧就丢弃而不接受)。 要做到“可靠传输”(即发送什么就收到什么)就必须再加上确认和重传机制。,课件制作人:谢希仁,3.2.5 停止等待协议的算法,这里不使用否认帧(实用的数据链路层协议大都是这样

14、的),而且确认帧带有序号 n。 按照习惯的表示法,ACKn 表示“第 n 1 号帧已经收到,现在期望接收第 n 号帧”。 ACK1 表示“0 号帧已收到,现在期望接收的下一帧是 1 号帧”; ACK0 表示“1 号帧已收到,现在期望接收的下一帧是 0 号帧”。,课件制作人:谢希仁,在发送结点,(1) 从主机取一个数据帧,送交发送缓存。 (2) V(S)0。 (3) N(S)V(S)。 (4) 将发送缓存中的数据帧发送出去。 (5) 设置超时计时器。 (6) 等待。 等待以下(7)和(8)这两个事件中最先出现的一个 (7) 收到确认帧 ACKn, 若 n = 1 V(s),则:从主机取一个新的数

15、据帧,放入发送缓存;V(S)1 V(S),转到 (3)。 否则,丢弃这个确认帧,转到(6)。 (8) 若超时计时器时间到,则转到(4)。,课件制作人:谢希仁,在接收结点,(1) V(R)0。 (2) 等待。 (3) 收到一个数据帧;若 N(S) = V(R),则执行(4);否则丢弃此数据帧,然后转到(6)。 (4) 将收到的数据帧中的数据部分送交上层软件(也就是数据链路层模型中的主机)。 (5) V(R)1 V(R)。 (6) nV(R);发送确认帧 ACKn,转到(2)。,课件制作人:谢希仁,停止等待协议的要点,只有收到序号正确的确认帧 ACKn 后,才更新发送状态变量 V(S)一次,并发送新的数据帧。 接收端接收到数据帧时,就要将发送序号 N(S) 与本地的接收状态变量 V(R) 相比较。 若二者相等就表明是新的数据帧,就收下,并发送确认。 否则为重复帧,就必须丢弃。但这时仍须向发送端发送确认帧 ACKn,而接收状态变量 V(R) 和确认序号 n 都不变。,课件制作人:谢希仁,停止等待协议的要点(续),连续出现相同发送序号的数据帧,表明发送端进行了超时重传。连续出现相同序号的确认帧,表明接收端收到了重复帧。 发送端在发送完数据帧时,必须在其发送缓存中暂时保留这个数据帧的副本。这样才能在出差错时进行重传。只有确认对方已经收到这个数据帧时,才可以清除这个副本。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号