高等学校21世纪教材《计算机网络教程》-第4章 数据链路层

上传人:aa****6 文档编号:49593566 上传时间:2018-07-31 格式:PPT 页数:53 大小:271KB
返回 下载 相关 举报
高等学校21世纪教材《计算机网络教程》-第4章  数据链路层_第1页
第1页 / 共53页
高等学校21世纪教材《计算机网络教程》-第4章  数据链路层_第2页
第2页 / 共53页
高等学校21世纪教材《计算机网络教程》-第4章  数据链路层_第3页
第3页 / 共53页
高等学校21世纪教材《计算机网络教程》-第4章  数据链路层_第4页
第4页 / 共53页
高等学校21世纪教材《计算机网络教程》-第4章  数据链路层_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《高等学校21世纪教材《计算机网络教程》-第4章 数据链路层》由会员分享,可在线阅读,更多相关《高等学校21世纪教材《计算机网络教程》-第4章 数据链路层(53页珍藏版)》请在金锄头文库上搜索。

1、计算机网络教程第 4 章数 据 链 路 层第4章 数据链路层4.1 数据链路层的基本概念4.2 停止等待协议4.3 连续ARQ协议4.4 选择重传ARQ协议4.5 面向比特的链路控制规程HDLC4.6 因特网的点对点协议PPP退出退出计算机网络教程第 4 章数 据 链 路 层4.1 数据链路层的基本概念链路(link)就是一条无源的点到点的物理线路段, 中间没有任何其他的交换结点。 数据链路(data link)则是另一个概念。这是因为当 需要在一条线路上传送数据时,除了必须有一条物理 线路外,还必须有一些必要通信协议来控制这些数据 的传输(这将在后面讨论)。 也有人采用另外的术语。这就是将链

2、路分为物理 链路和逻辑链路。物理链路就是上面所说的链路,而 逻辑链路就是上面的数据链路,是物理链路加上必要 的通信协议。计算机网络教程第 4 章数 据 链 路 层数据链路层的主要功能归纳如下:(1)链路管理 数据链路的建立、维持和释放就 叫做链路管理。 (2)帧同步(3)流量控制(flow control)(4)差错控制(5)将数据和控制信息区分开(6)透明传输(7)寻址计算机网络教程第 4 章数 据 链 路 层4.2 停止等待协议停止等待(stop-and-wait)协议是最简单但也是最基本的数据链路层协议。4.2.1 不需要数据链路层协议的数据传输图4-1所示的简化模型对于一个计算机网络中

3、任意一条链路上的数据传输情况都是适用的。计算机网络教程第 4 章数 据 链 路 层计算机网络教程第 4 章数 据 链 路 层4.2.2 具有最简单流量控制的数据链路层协议由接收方控制发送方的数据流,乃是计算机网络中流量控制的一个基本方法。计算机网络教程第 4 章数 据 链 路 层假定:链路是理想的传输信道,即所传送的任何 数据既不会出差错也不会丢失。在发送结点:(1)从主机取一个数据帧;(2)将数据帧送到数据链路层的发送缓存;(3)将发送缓存中的数据帧发送出去;(4)等待;(5)若收到由接收结点发过来的信息(此信息的格 式与内容可由双方事先商定好),则从主机取一个新的 数据帧,然后转到(2)。

4、计算机网络教程第 4 章数 据 链 路 层在接收结点:(1)等待;(2)若收到由发送结点发过来的数据帧,则将其放入数据链路层的接收缓存;(3)将接收缓存中的数据帧上交主机;(4)向发送结点发一信息,表示数据帧已经上交给主机;(5)转到(1)。图4-2是前面所述的两种情况的对比。计算机网络教程第 4 章数 据 链 路 层计算机网络教程第 4 章数 据 链 路 层4.2.3 实用的停止等待协议传输数据的信道不能保证使所传的数据不产生差错,并且还需要对数据的发送端进行流量控制。图4-3(a)画的是数据在传输过程中不出差错的情况。当发现差错时,结点B就向主机A发送一个否认帧NAK,以表示主机A应当重传

5、出现差错的那个数据帧。图4-3(b)画出了主机A重传数据帧。计算机网络教程第 4 章数 据 链 路 层有时链路上的干扰很严重,或由于其他一些原因,结点B收不到结点A发来的数据帧。这种情况称为帧丢失,如图4-3(c)所示。于是就出现了死锁现象。要解决死锁问题,可在结点A发送完一个数据帧时,就启动一个超时计时器(timeout timer)。若到了超时计时器所设置的重传时间tout而仍收不到结点B的任何确认帧,则结点A就重传前面所发送的这一数据帧,如图4-3(c)和图4-3(d)所示。一般可将重传时间选为略大于“从发完数据帧到收到确认帧所需的平均时间”。计算机网络教程第 4 章数 据 链 路 层计

6、算机网络教程第 4 章数 据 链 路 层4.2.4 循环冗余检验计算机网络教程第 4 章数 据 链 路 层计算机网络教程第 4 章数 据 链 路 层4.2.5 停止等待协议的算法在发送结点: (1)从主机取一个数据帧。 (2)V(S)0。发送状态变量初始化 (3)N(S)V(S); 将发送状态变量的数值写入 发送序号 将数据帧送交发送缓存。 (4)将发送缓存中的数据帧发送出去。 (5)设置超时计时器。选择适当的超时重传 时间tout 计算机网络教程第 4 章数 据 链 路 层(6)等待。 等待以下3个事件中最先出现的一个 (7)若收到确认帧ACK,则: 从主机取一个新的数据帧; V(S)1 V

7、(S);更新发送状态变量,变为下 一个序号 转到(3)。 (8)若收到否认帧NAK,则转到(4)。重传数 据帧 (9)若超时计时器时间到,则转到(4)。 重传数 据帧计算机网络教程第 4 章数 据 链 路 层在接收结点:(1)V(R)0。 接收状态变量初始化,其数值等于欲接收的数据帧的发送序号(2)等待。(3)当收到一个数据帧,就检查有无产生传输差错(如用CRC)。若检查结果正确无误,则执行后续算法;否则转到(8)。计算机网络教程第 4 章数 据 链 路 层(4)若N(S) = V(R),则执行后续算法; 收到发送序号正确的数据帧否则丢弃此数据帧,然后转到(7)。(5)将收到的数据帧中的数据部

8、分送交主机。(6)V(R)1 V(R)。 更新接收状态变量,准备接收下一个数据帧(7)发送确认帧 ACK,并转到(2)。(8)发送否认帧 NAK,并转到(2)。计算机网络教程第 4 章数 据 链 路 层状态变量的概念很重要,一定要弄清以下几点:(1)每发送一个数据帧,都必须将发送状态变量V(S)的值(即0或1)写到数据帧的发送序号N(S)上。但只有收到一个确认帧ACK后,才更新发送状态变量V(S)一次(将1变成0或0变成1)并发送新的数据帧。(2)在接收端,每接收到一个数据帧,就要将发送方在数据帧上设置的发送序号N(S)与本地的接收状态变量V(R) 相比较。若二者相等就表明是新的数据帧,否则为

9、重复帧。计算机网络教程第 4 章数 据 链 路 层(3)在接收端,若收到一个重复帧,则丢弃它(即不做任何处理),且接收状态变量不变,但此时仍须向发送端发送一个确认帧ACK。由于发送端对出错的数据帧进行重传是自动进行的,所以这种差错控制体制常简称为ARQ (Automatic Repeat reQuest),直译是自动重传请求,但意思是自动请求重传。计算机网络教程第 4 章数 据 链 路 层4.2.6 停止等待协议中的几个重要时间关系停止等待协议中的几个重要时间关系,如图4-5所示。计算机网络教程第 4 章数 据 链 路 层计算机网络教程第 4 章数 据 链 路 层4.3 连续ARQ协议4.3.

10、1 连续ARQ协议的工作原理先用图4-6所示的简单例子来讨论连续ARQ协议的工作原理。它的要点就是在发送完一个数据帧后,不是停下来等待确认帧,而是可以连续再发送若干个数据帧。如果这时收到了接收端发来的确认帧,那么还可以接着发送数据帧。由于减少了等待时间,整个通信的吞吐量就提高了。计算机网络教程第 4 章数 据 链 路 层计算机网络教程第 4 章数 据 链 路 层要注意两点:(1)接收端只按序接收数据帧。(2)结点A在每发送完每一个数据帧时都要设置超时计时器。计算机网络教程第 4 章数 据 链 路 层4.3.2 滑动窗口的概念发送窗口用来对发送端进行流量控制,而发送窗口的大小WT就代表在还没有收

11、到对方确认信息的情况下发送端最多可以发送多少个数据帧。计算机网络教程第 4 章数 据 链 路 层发送窗口的规则归纳如下:(1)发送窗口内的帧是允许发送的帧,而不考虑 有没有收到确认。发送窗口右侧所有的帧都是不允许 发送的帧。图4-7(a)说明了这一情况。(2)每发送完一个帧,允许发送的帧数就减1。 但发送窗口的位置不变。图4-7(b)说明已经发送了0号 帧,因此允许发送的帧数就少了一个,即只有4个。(3)如果所允许发送的5个帧都发送完了,但还 没有收到任何确认,那么就不能再发送任何帧了。图4 -7(c)表示这种情况。这时,发送端就进入等待状态。计算机网络教程第 4 章数 据 链 路 层(4)每

12、收到对一个帧的确认,发送窗口就向前(即向右方)滑动一个帧的位置。图4-7(d)表示发送端已经收到了0, 1和2号帧共3个帧的确认,因此发送窗口可以向前滑动3个帧的位置。于是,发送端现在又可以继续发送3个帧(即5 7号帧)。计算机网络教程第 4 章数 据 链 路 层计算机网络教程第 4 章数 据 链 路 层在接收端只有当收到的数据帧的发送序号落入接 收窗口内才允许将该数据帧收下。接收窗口的规则很 简单,归纳如下: (1)只有当收到的帧的序号与接收窗口一致时才 能接收该帧。否则,就丢弃它。 (2)每收到一个序号正确的帧,接收窗口就向前( 即向右方)滑动一个帧的位置。同时向发送端发送对该 帧的确认。

13、 图4-8(a)表明一开始接收窗口处于0号帧处,接收 端准备接收0号帧。一旦收到0号帧,接收窗口即向前 滑动一个帧的位置(图4-8(b),准备接收1号帧,同时向 发送端发送对0号帧的确认信息。当陆续收到1号至3号 帧后,接收窗口的位置应如图4-8(c)所示。计算机网络教程第 4 章数 据 链 路 层计算机网络教程第 4 章数 据 链 路 层4.3.3 信道利用率与最佳帧长数据帧长的选择与信道质量的好坏有很大的关系 。计算机网络教程第 4 章数 据 链 路 层4.4 选择重传ARQ协议为进一步提高信道的利用率,可设法只重传出现差错的数据帧或者是计时器超时的数据帧。计算机网络教程第 4 章数 据

14、链 路 层4.5 面向比特的链路控制规 程HDLC 4.5.1 HDLC概述HDLC可适用于链路的两种基本配置,即非平衡配置与平衡配置。非平衡配置的特点是由一个主站 (primary station)控制整个链路的工作。主站发出的帧 叫做命令(command)。受控的各站叫做次站或从站 (secondary station)。次站发出的帧叫做响应(response)。在多点链路中,主站与每一个次站之间都有一个分 开的逻辑链路。计算机网络教程第 4 章数 据 链 路 层4.5.2 HDLC 的帧结构1各字段的意义数据链路层的数据传送是以帧为单位的。一个帧的结构具有固定的格式,如图4-9所示。计算

15、机网络教程第 4 章数 据 链 路 层计算机网络教程第 4 章数 据 链 路 层HDLC采用零比特填充法使一帧中两个F字段之间 不会出现6个连续1。零比特填充的具体做法是:在发送端,当一串比 特流数据尚未加上标志字段时,先用硬件扫描整个帧( 用软件也能实现,但要慢些)。只要发现有5个连续1, 则立即填入一个0。因此经过这种零比特填充后的数据 ,就可以保证在数据中不会出现6个连续1。在接收一 个帧时,先找到F字段以确定一个HDLC帧的边界。接 着再用硬件对其中的比特流进行扫描。每当发现5个连 续1时,就将这5个连续1后的一个0删除,以还原成原 来的比特流,如图4-10所示。计算机网络教程第 4

16、章数 据 链 路 层计算机网络教程第 4 章数 据 链 路 层HDLC帧划分为三大类,即信息帧、监督帧和无编号帧,其简称分别是I (Information)、S (Supervisory)和U (Unnumbered)。图4-11是对应于这3种帧的控制字段以及控制字段中的各比特的作用。计算机网络教程第 4 章数 据 链 路 层计算机网络教程第 4 章数 据 链 路 层2信息帧若控制字段的第1比特为0,则该帧为信息帧。比特2 4为发送序号N(S),而比特6 8为接收序号N(R)。N(S)表示当前发送的信息帧的序号,而N(R)表示这个站所期望收到的帧的发送序号。计算机网络教程第 4 章数 据 链 路 层3监督帧若控制字段的第1 2比特为1 0,则对应的帧即为监督帧S。监督帧共有四种,取决于第3 4比特的值(如图4-11中标有S的二比特)。表4-1是这四种监督帧的名称和功能。计算机网络教程第 4 章数 据 链 路 层计算机网络教程第

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

当前位置:首页 > 办公文档 > PPT模板库 > 教育/培训/课件

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