3章-数据链路层课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《3章-数据链路层课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据链 课件
- 资源描述:
-
1、计算机网络第 3 章 数据链路层第3章 数据链路层n3.1 数据链路层概述n3.2 帧同步功能n3.3 流量控制功能n3.4 差错检测(重点)3.1 数据链路层概述n数据链路层是OSI参考模型中的第二层,介乎于物理层和网络层之间,在物理层所提供的服务的基础上向网络层提供服务。数据链路层的作用是对物理层传输原始比特流的功能的加强,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,即使之对网络层表现为一条无差错的链路。n数据链路层在相邻结点的物理连接上为网络层建立、维持、释放链路连接,并在链路连接上可靠地、正确地传送链路层协议数据单元(通常称为帧-Frame)数据链路层的简单模型局域
2、网广域网主机 H1主机 H2路由器 R1路由器 R2路由器 R3电话网局域网主机 H1 向 H2 发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2从层次上来看数据的流动数据链路层的简单模型(续)局域网广域网主机 H1主机 H2路由器 R1路由器 R2路由器 R3电话网局域网主机 H1 向 H2 发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2仅从数据链路层观察帧的流动3.1 使用点对点信道的数据链路层3.1.
3、1 数据链路和帧 n链路(link)是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。n一条链路只是一条通路的一个组成部分。n数据链路(data link)除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。n现在最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件。n一般的适配器都包括了数据链路层和物理层这两层的功能。IP 数据报1010 0110帧取出数据链路层网络层链路结点 A结点 B物理层数据链路层结点 A结点 B帧(a)(b)发送帧接收链路IP 数据报1010 0110帧装入数据链路层传送的是帧3.1.2
4、三个基本问题(1)封装成帧(2)透明传输(3)差错控制 3.2 帧同步功能n为了使传输中发生差错后只将出错的有限数据进行重发,数据链路层将比特流组织成以帧为单位传送。n帧的组织结构必须设计成使接收方能够明确的从物理层收到的比特流中区分出帧的起始与终止,这就是帧同步要解决的问题。n同步的方法n字符填充的首尾定界符法n比特填充的首尾定界符法1.封装成帧n封装成帧(framing)就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限。n首部和尾部的一个重要作用就是进行帧定界。帧结束帧首部IP 数据报帧的数据部分帧尾部 MTU数据链路层的帧长开始发送帧开始用控制字符进行帧定界的方法
5、举例 SOH装在帧中的数据部分帧帧开始符帧结束符发送在前EOT2.透明传输SOHEOT出现了“EOT”被接收端当作无效帧而丢弃被接收端误认为是一个帧数据部分EOT完整的帧发送在前解决透明传输问题n发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”(其十六进制编码是 1B)。n字节填充(byte stuffing)或字符填充(character stuffing)接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。n如果转义字符也出现数据当中,那么应在转义字符前面插入一个转义字符。当接收端收到连续的两个转义字符时,就删除其中前面的一个。SOHSO
6、HEOTSOHESCESCEOTESCSOHESCESCESCSOH原始数据EOTEOT经过字节填充后发送的数据字节填充字节填充字节填充字节填充发送在前帧开始符帧结束符用字节填充法解决透明传输的问题 SOH3.2.2 比特填充的首尾定界符法n在前面介绍的字符分界法中存在一个大的不足,那就是它仅依靠8位模式。而事实上,并不是所有的字符编码都使用8位模式,如UNICODE编码就使用了16位编码方式。n“比特填充的首尾界定符法”是以一组特定的比特模式(如01111110)来标志一帧的起始与终止,它允许任意长度的位码,也允许任意每个字符有任意长度的位。透明传输 n发送端:n若发现要发送的数据中有 5
7、个连续 1,则立即填入一个 0。n接收端:n对帧中的数据比特流进行扫描。每当发现 5 个连续1时,就把这 5 个连续 1 后的一个 0 删除。0 1 0 0 1 1 1 1 1 0 1 0 0 0 1 0 1 00 1 0 0 1 1 1 1 1 1 0 0 0 1 0 1 00 1 0 0 1 1 1 1 1 0 1 0 0 0 1 0 1 0信息字段中出现了和标志字段 F 完全一样的 8 比特组合发送端在 5 个连续 1 之后填入 0 比特再发送出去在接收端把 5 个连 续1之后的 0 比特删除会被误认为是标志字段 F 发送端填入 0 比特接收端删除填入的 0 比特零比特填充例题:nPPP
8、协议使用同步传输技术传送比特串0110111111111100。试问经过零比特填充后变成怎样的比特串?n若接收端收到的PPP帧的数据部分是0001110111110111110110,问删除发送端加入的零比特后变成怎样的比特串?n答案:(1)011011111011111000 (2)000111011111-11111-1103.3 流量控制功能(传输层TCP来讲)n流量控制是指一组过程n限制发送方在等待确认前能够发送的数据量n保证发送实体发送的数据不超出接收实体接收数据的能力n防止缓冲溢出?发送方:发送方:?接收方:接收方:?传输过程:传输过程:!解决这些问题,是链路层的主要任务。解决这些
9、问题,是链路层的主要任务。!针对这些问题所制定的通信规程就是数据链路层的通信协议。针对这些问题所制定的通信规程就是数据链路层的通信协议。以多快的速度发送数据帧,即每帧之间相隔多长时间?以多快的速度发送数据帧,即每帧之间相隔多长时间?如何确认对方是否收到数据?如何确认对方是否收到数据?是否接收到正确的数据帧?如何告诉发送方?是否接收到正确的数据帧?如何告诉发送方?能及时处理接收到的数据帧吗?能及时处理接收到的数据帧吗?在数据链路层上传输数据帧会出错吗?会丢失数据帧吗?会出错吗?会丢失数据帧吗?数据链路层功能数据链路层功能3.3.1 完全理想化的数据传输数据链路层主机 A缓存主机 B数据链路AP2
10、AP1缓存发送方接收方帧高层帧完全理想化的数据传输所基于的两个前提n1:链路是理想的传输信道,所传送的任何数据既不会出差错也不会丢失。n2:不管发方以多快的速率发送数据,收方总是来得及收下,并及时上交主机。具有简单的流量控制具有简单的流量控制DATA0DATA0ACKACKACKACKACKACKDATA2DATA2DATA1DATA1假设:假设:链路是理想化的,所传输的数据不会出错也不会丢失。链路是理想化的,所传输的数据不会出错也不会丢失。协协议议算算法法协议思想:协议思想:协调、控制接收方、发送方的速度。协调、控制接收方、发送方的速度。等待;等待;将收到的数据帧将收到的数据帧上交主机;上交
11、主机;发送应答信息;发送应答信息;转到第一步转到第一步发出一帧;发出一帧;等待;等待;直到收到直到收到ACKACK才发送下一帧才发送下一帧发送方发送方接收方接收方2 停止等待协议两种情况的对比(传输均无差错)ABDATADATADATADATA送主机 B送主机 B送主机 B送主机 BABDATA送主机 BDATA送主机 B时间不需要流量控制需要流量控制实用的停止等待协议时间ABDATA0送主机ACKDATA1送主机ACK(a)正常情况ABDATA0DATA0送主机ACK(c)数据帧丢失重传tout丢失!ABDATA0送主机ACKDATA0丢弃ACK(d)确认帧丢失重传tout丢失!ABDATA
12、0NAKDATA0送主机ACK(b)数据帧出错重传出错四种情况超时计时器的作用n结点A发送完一个数据帧时,就启动一个超时计时器(timeout timer)。n计时器又称为定时器。n若到了超时计时器所设置的重传时间 tout而仍收不到结点 B 的任何确认帧,则结点 A 就重传前面所发送的这一数据帧。n一般可将重传时间选为略大于“从发完数据帧到收到确认帧所需的平均时间”。解决重复帧的问题 n使每一个数据帧带上不同的发送序号。每发送一个新的数据帧就把它的发送序号加 1。n若结点 B 收到发送序号相同的数据帧,就表明出现了重复帧。这时应丢弃重复帧,因为已经收到过同样的数据帧并且也交给了主机 B。n但
13、此时结点 B 还必须向 A 发送确认帧 ACK,因为 B 已经知道 A 还没有收到上一次发过去的确认帧 ACK。帧的编号问题 n任何一个编号系统的序号所占用的比特数一定是有限的。因此,经过一段时间后,发送序号就会重复。n序号占用的比特数越少,数据传输的额外开销就越小。n对于停止等待协议,由于每发送一个数据帧就停止等待,因此用一个比特来编号就够了。n一个比特可表示 0 和 1 两种不同的序号。帧的发送序号 n数据帧中的发送序号 N(S)以 0 和 1 交替的方式出现在数据帧中。n每发一个新的数据帧,发送序号就和上次发送的不一样。用这样的方法就可以使收方能够区分开新的数据帧和重传的数据帧了。停止等
14、待协议的算法n这里不使用否认帧(实用的数据链路层协议大都是这样的),而且确认帧带有序号 n。n按照习惯的表示法,ACKn 表示“第 n 1 号帧已经收到,现在期望接收第 n 号帧”。nACK1 表示“0 号帧已收到,现在期望接收的下一帧是 1 号帧”;nACK0 表示“1 号帧已收到,现在期望接收的下一帧是 0 号帧”。停止等待协议的要点n连续出现相同发送序号的数据帧,表明发送端进行了超时重传。连续出现相同序号的确认帧,表明接收端收到了重复帧。n发送端在发送完数据帧时,必须在其发送缓存中暂时保留这个数据帧的副本。这样才能在出差错时进行重传。只有确认对方已经收到这个数据帧时,才可以清除这个副本。
15、停止等待协议的要点n实用的 CRC 检验器都是用硬件完成的。nCRC 检验器能够自动丢弃检测到的出错帧。因此所谓的“丢弃出错帧”,对上层软件或用户来说都是感觉不到的。n发送端对出错的数据帧进行重传是自动进行的,因而这种差错控制体制常简称为 ARQ(Automatic Repeat reQuest),直译是自动重传请求,但意思是自动请求重传。停止等待协议的定量分析n设 tf 是一个数据帧的发送时间,且数据帧的长度是固定不变的。显然,数据帧的发送时间 tf 是数据帧的长度 lf(bit)与数据的发送速率 C(bit/s)之比,即 tf=lf/C=lf/C(s)(3-1)n发送时间 tf 也就是数据
16、帧的发送时延。n数据帧沿链路传到结点B还要经历一个传播时延 tp。n结点 B 收到数据帧要花费时间进行处理,此时间称为处理时间 tpr,发送确认帧 ACK 的发送时间为 ta。停止等待协议中数据帧和确认帧的发送时间关系 ABDATADATAACK传播时延 tp处理时间 tpr确认帧发送时间 ta传播时延 tp处理时间 tprtT时间两个成功发送的数据帧之间的最小时间间隔数据帧的发送时间tf设置的重传时间tout重传时间 n重传时间的作用是:数据帧发送完毕后若经过了这样长的时间还没有收到确认帧,就重传这个数据帧。n为方便起见,我们设重传时间为 tout=tp+tpr+ta+tp+tpr n设上式
17、右端的处理时间 tpr 和确认帧的发送时间 ta 都远小于传播时延 tp,因此可将重传时间取为两倍的传播时延,即 tout=2tpn两个发送成功的数据帧之间的最小时间间隔是 tT=tf+tout=tf +2tp停止等待协议 ARQ 的优缺点 n优点:比较简单。n缺点:通信信道的利用率不高,也就是说,信道还远远没有被数据比特填满。n为了克服这一缺点,就产生了另外两种协议,即连续 ARQ 和选择重传 ARQ。这将在后面进一步讨论。n例:信道的数据传输速率为例:信道的数据传输速率为4Kbps,传播传播延迟时间延迟时间20ms(未注明往返则指单程)(未注明往返则指单程),求帧长在什么范围内才使停等协议
18、的信,求帧长在什么范围内才使停等协议的信道利用率达到道利用率达到50%以上。(以上。(注:信道利用注:信道利用率:指信道用于发送数据帧的时间在所有率:指信道用于发送数据帧的时间在所有信道占用时间中的百分比信道占用时间中的百分比)解析:已知信道的数据传输速率B=4kbps=4000bps,信道的单向传播时延R=20ms=0.02s,一帧的帧长为L。在停止等待协议中,协议忙的时间为数据发送的时间=L/B,协议空闲的时间为数据发送后等待确认帧返回的时间=2R。则要使停止等待协议的效率至少为50%,即要求信道利用率至少为50%。因为信道利用率数据发送时延/(传播时延数据发送时延),则有:L/B/(L/
19、B2R)50%可得,L2BR=240000.02=160(b)因此,当帧长大于等于160比特时,停止等待协议的效率至少为50%。3 连续 ARQ 协议n在发送完一个数据帧后,不是停下来等待确认帧,而是可以连续再发送若干个数据帧。n如果这时收到了接收端发来的确认帧,那么还可以接着发送数据帧。n由于减少了等待时间,整个通信的吞吐量就提高了。连续 ARQ 协议的工作原理 DATA0DATA1DATA2DATA3DATA4DATA5重传 DATA2重传 DATA3ACK1ACK2ACK1 确认 DATA0ACK2 确认 DATA1DATA2 出错,丢弃DATA3 不按序,丢弃,重传 ACK2DATA4
20、 不按序,丢弃,重传 ACK2DATA5 不按序,丢弃,重传 ACK2ACK3ACK3 确认 DATA2ACK4 确认 DATA3ACK4重传 DATA5重传 DATA4超时重传时间ABtout送交主机送交主机?ACK2ACK2ACK2需要注意:(1)接收端只按序接收数据帧。虽然在有差错的 2号帧之后接着又收到了正确的 3 个数据帧,但接收端都必须将这些帧丢弃,因为在这些帧前面有一个 2 号帧还没有收到。虽然丢弃了这些不按序的无差错帧,但应重复发送已发送过的最后一个确认帧(防止确认帧丢失)。(2)ACK1 表示确认 0 号帧 DATA0,并期望下次收到 1 号帧;ACK2 表示确认 1 号帧
21、DATA1,并期望下次收到 2 号帧。依此类推。需要注意:(3)结点 A 在每发送完一个数据帧时都要设置该帧的超时计时器。如果在所设置的超时时间内收到确认帧,就立即将超时计时器清零。但若在所设置的超时时间到了而未收到确认帧,就要重传相应的数据帧(仍需重新设置超时计时器)。在等不到 2 号帧的确认而重传 2 号数据帧时,虽然结点 A 已经发完了 5 号帧,但仍必须向回走,将 2号帧及其以后的各帧全部进行重传。连续 ARQ 又称为Go-back-N ARQ,意思是当出现差错必须重传时,要向回走 N 个帧,然后再开始重传。4 4 选择重传选择重传ARQARQ协议协议 GO-BACK-NGO-BACK
22、-N可能将已正确传送到目的方的帧再重传一遍,这显然是一可能将已正确传送到目的方的帧再重传一遍,这显然是一种浪费。另一种效率更高的策略是当接收方发现某帧出错后,其后继续送种浪费。另一种效率更高的策略是当接收方发现某帧出错后,其后继续送来的正确的帧虽然不能立即递交给接收方的高层,但接收方仍可收下来,来的正确的帧虽然不能立即递交给接收方的高层,但接收方仍可收下来,存放在缓冲区中,同时要求发送方重新传送出错的那一帧。一旦收到重新存放在缓冲区中,同时要求发送方重新传送出错的那一帧。一旦收到重新传来的帧后,就可以和已存于缓冲区中的其余帧一并按正确的顺序递交高传来的帧后,就可以和已存于缓冲区中的其余帧一并按
23、正确的顺序递交高层。这种方法称为选择重发,其工作过程如图所示。图中层。这种方法称为选择重发,其工作过程如图所示。图中2 2号帧的否认返回号帧的否认返回信息信息NAK2NAK2要求发送方选择重发要求发送方选择重发2 2号帧。显然,选择重发减少了浪费,但要求号帧。显然,选择重发减少了浪费,但要求接收方有足够大的缓冲区空间。接收方有足够大的缓冲区空间。选择重发选择重发ARQ原理示意原理示意5 滑动窗口协议 在使用连续ARQ协议时,在没收到应答时,实际上不能无限制的发送数据。因为:1、重传太多会花费较多的时间,增大开销;2、发送序号也占用比特数。因此应对已发送出去而未被确认的数据帧的数因此应对已发送出
24、去而未被确认的数据帧的数目加以限制,这就是滑动窗口所要研究的内容。目加以限制,这就是滑动窗口所要研究的内容。滑动窗口的概念n发送端和接收端分别设定发送窗口和接收窗口。n发送窗口用来对发送端进行流量控制。n发送窗口的大小 WT 代表在还没有收到对方确认信息的情况下发送端最多可以发送多少个数据帧。01234567012发送窗口WT不允许发送这些帧允许发送 5 个帧(a)01234567012不允许发送这些帧还允许发送 4 个帧WT已发送(b)01234567012不允许发送这些帧WT已发送(c)01234567012不允许发送这些帧还允许发送 3 个帧WT已发送 已发送并已收到确认(d)接收端设置
25、接收窗口 n在接收端只有当收到的数据帧的发送序号落入接收窗口内才允许将该数据帧收下。n若接收到的数据帧落在接收窗口之外,则一律将其丢弃。n在连续 ARQ 协议中,接收窗口的大小 WR=1。n只有当收到的帧的序号与接收窗口一致时才能接收该帧。否则,就丢弃它。n每收到一个序号正确的帧,接收窗口就向前(即向右方)滑动一个帧的位置。同时发送对该帧的确认。不允许接收这些帧01234567012WR准备接收 0 号帧(a)不允许接收这些帧01234567012WR准备接收 1 号帧已收到(b)不允许接收这些帧01234567012WR准备接收 4 号帧已收到(c)滑动窗口的重要特性n只有在接收窗口向前滑动
展开阅读全文