CH3 数据链路层-新背景.ppt
《CH3 数据链路层-新背景.ppt》由会员分享,可在线阅读,更多相关《CH3 数据链路层-新背景.ppt(91页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
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 协议课件制作人:谢希仁第 3 章 数据
2、链路层(续)*3.5 面向比特的链路层协议 HDLC3.5.1 HDLC 协议概述3.5.2 HDLC 的帧结构*3.6 因特网的点对点协议 PPP 3.6.1 PPP 协议的工作原理 3.6.2 PPP 协议的帧格式 3.6.3 PPP 协议的工作状态课件制作人:谢希仁3.1 数据链路层的基本概念 n数据电路n是一条通信双方的物理电路段,中间不含任是一条通信双方的物理电路段,中间不含任何交换节点何交换节点;是是在线路或信道上加信号变换在线路或信道上加信号变换设备之后所形成的二进制比特流通路设备之后所形成的二进制比特流通路,由传由传输信道加输信道加DCE组成。组成。n数据链路n具备逻辑上的控制
3、关系具备逻辑上的控制关系,=数据电路数据电路+规程规程n一条物理链路可以构成多条数据链路(采用复用技术时)课件制作人:谢希仁 数据网Modem分组交换机分组交换机 DTEDCEDTE信道信道数据电路数据电路数据链路数据链路数据电路数据电路:在线路或信道两端加上信号变换设备(如:在线路或信道两端加上信号变换设备(如ModemModem)之后所形成的二进制比特流通路。即数据电路由之后所形成的二进制比特流通路。即数据电路由传输信道加传输信道加DCEDCE组成。组成。数据链路数据链路:在数据电路已建立的基础上,在链路协议的:在数据电路已建立的基础上,在链路协议的控制下,使通信双方可开始传输数据的控制下
4、,使通信双方可开始传输数据的终端设备终端设备与与传输传输线路线路的组合体。的组合体。DCEModemModem课件制作人:谢希仁n数据链路与数据电路n数据电路又可称为数据电路又可称为物理链路物理链路或或链路链路n数据链路又称为数据链路又称为逻辑链路逻辑链路n数据链路是在数据电路上增加传输控制功能实现的。n只有建立了数据链路,才能真正地实现数据通信。课件制作人:谢希仁n物理链路的基本结构n点到点链路点到点链路:主站发信息或命令主站发信息或命令;从站发确认从站发确认或响应或响应;复合站兼有主从站功能复合站兼有主从站功能n多点链路多点链路:一站为控制站一站为控制站,其余各站为受控站其余各站为受控站n
5、数据链路层的传送方式:n单工通信单工通信n半双工通信半双工通信(Half Duplex)n全双工通信全双工通信(Full Duplex)HHHHHH点点-点链路点链路多点链路多点链路课件制作人:谢希仁数据链路层目标与主要功能目标:n屏蔽物理层不同的通信环境和条件,向高层提供可靠几乎无差错、透明的逻辑信道。主要功能:n成帧控制:用帧格式来分割和调节物理层比特流的传送,以便于数据的传送处理(缓冲准备)和差错控制。帧定界 帧同步n编址:点到点;多点链接须保证每一帧都能送到正确的地址.课件制作人:谢希仁数据链路层像个数字管道 n常常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数
6、据单位是帧。n早期的数据通信协议曾叫作通信规程(procedure)。因此在数据链路层,规程和协议是同义语。结点结点帧帧课件制作人:谢希仁数据链路层目标与主要功能n流量控制流量控制n现代数据通信的交换方式现代数据通信的交换方式,采用了存储转发的分组采用了存储转发的分组交换技术,交换技术,要求发送方的发送数据速率必须不能超要求发送方的发送数据速率必须不能超过接收方的接收和处理数据的速率。过接收方的接收和处理数据的速率。当接收方来不当接收方来不及接收和处理数据时,就必须采取相应的措施来控及接收和处理数据时,就必须采取相应的措施来控制发送方发送数据的速率。制发送方发送数据的速率。流量控制是一种使目的
7、流量控制是一种使目的端实体可以调节源端实体发出端实体可以调节源端实体发出PDU流量流量的协议机制。的协议机制。限制数据发送的数量或速率。限制数据发送的数量或速率。n通过采用应答机制来调节通信双方在处理能力上的通过采用应答机制来调节通信双方在处理能力上的差异。通常是使用窗口技术来控制数据的传输节奏,差异。通常是使用窗口技术来控制数据的传输节奏,以调节通信双方的缓冲区的使用。以调节通信双方的缓冲区的使用。课件制作人:谢希仁数据链路层目标与主要功能n差错控制n用途用途:处理处理PDUPDU丢失或损坏情况丢失或损坏情况n若采用若采用检错编码检错编码,则收方能够发现传输中出现的差则收方能够发现传输中出现
8、的差错错,通过检错重发和超时重发进行差错控制通过检错重发和超时重发进行差错控制。重发重发分为应答重发分为应答重发(被动纠错被动纠错)和超时重发和超时重发(主动纠错主动纠错)n若采用若采用纠错编码纠错编码,则收方收到有差错数据帧时则收方收到有差错数据帧时,能够能够发现差错并能自动加以改正发现差错并能自动加以改正,但但开销较大开销较大,适于使用适于使用卫星中继的计算机通信卫星中继的计算机通信.n差错控制和流量控制通常在一个单一的机制中一起差错控制和流量控制通常在一个单一的机制中一起实现实现,也可以在多种协议级别上实现。也可以在多种协议级别上实现。课件制作人:谢希仁数据链路层目标与主要功能n数据和控
9、制信息的识别n在同一帧中,在同一信道中传送。帧格式在同一帧中,在同一信道中传送。帧格式n透明传输n不管所传数据是什么样的比特组合不管所传数据是什么样的比特组合,即使与即使与某一控制信息完全一样也可以某一控制信息完全一样也可以,都能在物理都能在物理链路上传送链路上传送.且保证收方不会误判且保证收方不会误判.n链路管理n数据链路的建立、维持和释放过程数据链路的建立、维持和释放过程.课件制作人:谢希仁链路控制机制n三种常用的流量及差错控制技术n停等协议停等协议nGo-back-N(连续连续ARQ)n选择重传选择重传ARQ Selective RepeatSelective Repeat后两种是滑动窗
10、口技术的两个特例后两种是滑动窗口技术的两个特例课件制作人:谢希仁3.2 停止等待协议n3.2.1 完全理想化的数据传输n先研究一下数据链路层的模型。先研究一下数据链路层的模型。课件制作人:谢希仁数据链路层的简单模型局域网广域网主机 H1主机 H2路由器 R1路由器 R2路由器 R3电话网局域网主机 H1 向 H2 发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2从层次上来看数据的流动课件制作人:谢希仁数据链路层的简单模型(续)局域网广域网主机 H1主机 H2路由器 R1路由器 R2路由器 R3电话网局
11、域网主机 H1 向 H2 发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2仅从数据链路层观察帧的流动课件制作人:谢希仁3.2 停止等待协议3.2.1 完全理想化的数据传输数据链路层主机 A缓存主机 B数据链路AP2AP1缓存发送方接收方帧高层帧课件制作人:谢希仁完全理想化的数据传输所基于的两个假定 n假定 1:链路是理想的传输信道,所传送的任何数据既不会出差错也不会丢失。n假定 2:不管发方以多快的速率发送数据,收方总是来得及收下,并及时上交主机。n这个假定就相当于认为:接收端向主机交这个假定就相当于
12、认为:接收端向主机交付数据的速率永远不会低于发送端发送数付数据的速率永远不会低于发送端发送数据的速率。据的速率。课件制作人:谢希仁3.2.2 具有最简单流量控制的数据链路层协议n现在去掉上述的第二个假定。但是,仍然保留第一个假定,即主机 A 向主机 B传输数据的信道仍然是无差错的理想信道。然而现在不能保证接收端向主机交付数据的速率永远不低于发送端发送数据的速率。n当接收方的处理能力小于发送方的发送当接收方的处理能力小于发送方的发送量时,必须采用流量控制。量时,必须采用流量控制。n n由收方控制发方的数据流,乃是计算机网络中流量控制的一个基本方法。课件制作人:谢希仁具有最简单流量控制的数据链路层
13、协议算法在发送结点:(1)从主机取一个数据帧。(2)将数据帧送到数据链路层的发送缓存。(3)将发送缓存中的数据帧发送出去。(4)等待。(5)若收到由接收结点发过来的信息(此信息 的格式与内容可由双方事先商定好),则 从主机取一个新的数据帧,然后转到(2)。课件制作人:谢希仁具有最简单流量控制的数据链路层协议算法(续)在接收结点:(1)等待。(2)若收到由发送结点发过来的数据帧,则将其放入数据链路层的接收缓存。(3)将接收缓存中的数据帧上交主机。(4)向发送结点发一信息,表示数据帧已 经上交给主机。(5)转到(1)。课件制作人:谢希仁n具有最简单流量控制的具有最简单流量控制的L2协议算法协议算法
14、v发方算法发方算法1.1.从主机取一个数据帧从主机取一个数据帧2.2.送入送入L2L2的发送缓存的发送缓存3.3.将缓存中的数据帧发出去将缓存中的数据帧发出去4.4.等待直至收到接收结点发过等待直至收到接收结点发过来的信息来的信息5.5.从主机取一个新的数据帧从主机取一个新的数据帧6.6.转转2.2.v收方算法收方算法1.1.等待直至收到发来的数据帧等待直至收到发来的数据帧2.2.放入放入L2L2的接收缓存的接收缓存,上交主机上交主机3.3.向发方发信息向发方发信息4.4.转转1.1.课件制作人:谢希仁两种情况的对比(传输均无差错)ABDATADATADATADATA送主机 B送主机 B送主机
15、 B送主机 BABDATA送主机 BDATA送主机 B时间不需要流量控制需要流量控制课件制作人:谢希仁3.2.3 实用的停止等待协议时间ABDATA0送主机ACKDATA1送主机ACK(a)正常情况ABDATA0DATA0送主机ACK(c)数据帧丢失重传tout丢丢失失!ABDATA0送主机ACKDATA0丢弃ACK(d)确认帧丢失重传tout丢失!ABDATA0NAKDATA0送主机ACK(b)数据帧出错重传出错四种情况课件制作人:谢希仁超时计时器的作用n结点A发送完一个数据帧时,就启动一个超时计时器(timeout timer)。n计时器又称为计时器又称为定时器定时器。n若到了超时计时器所
16、设置的重传时间 tout而仍收不到结点 B 的任何确认帧,则结点 A 就重传前面所发送的这一数据帧。n一般可将重传时间选为略大于“从发完数据帧到收到确认帧所需的平均时间”。n重传若干次后仍不能成功,则报告差错。课件制作人:谢希仁解决重复帧的问题 n如果是接收方的应答帧丢失,会导致发送方重复发送,出现重复帧。n使每一个数据帧带上不同的发送序号。每发送一个新的数据帧就把它的发送序号加 1模2。n若结点 B 收到发送序号相同的数据帧,就表明出现了重复帧。这时应丢弃重复帧,因为已经收到过同样的数据帧并且也交给了主机 B。n但此时结点 B 还必须向 A 发送确认帧 ACK,因为 B 已经知道 A 还没有
17、收到上一次发过去的确认帧 ACK。课件制作人:谢希仁帧的编号问题 n任何一个编号系统的序号所占用的比特数一定是有限的。因此,经过一段时间后,发送序号就会重复。n序号占用的比特数越少,数据传输的额外开销就越小。n对于停止等待协议,由于每发送一个数据帧就停止等待,因此用一个比特来编号就够了。n一个比特可表示一个比特可表示 0 和和 1 两种不同的序号。两种不同的序号。课件制作人:谢希仁帧的发送序号 n数据帧中的发送序号 N(S)以 0 和 1 交替的方式出现在数据帧中。n每发一个新的数据帧,发送序号就和上次发送的不一样。用这样的方法就可以使收方能够区分开新的数据帧和重传的数据帧了。课件制作人:谢希
18、仁可靠传输 n虽然物理层在传输比特时会出现差错,但由于数据链路层的停止等待协议采用了有效的检错重传机制,数据链路层对上面的网络层就可以提供可靠传输的服务。课件制作人:谢希仁3.2.4 循环冗余检验的原理 n在数据链路层传送的帧中,广泛使用了循环冗余检验 CRC 的检错技术。n假设待传送的数据 M=1010001101(共k bit)。我们在M的后面再添加供差错检测用的 n bit 冗余码一起发送。课件制作人:谢希仁冗余码的计算 n用二进制的模 2 运算进行 2n 乘 M 的运算,这相当于在 M 后面添加 n 个 0。n得到的(k+n)bit 的数除以事先选定好的长度为(n+1)bit 的数 P
19、,得出商是 Q 而余数是 R,余数 R 比除数 P 至少要少1 个比特。课件制作人:谢希仁冗余码的计算举例 n设 n=5,P=110101,模 2 运算的结果是:商 Q=1101010110,余数R=01110。n将余数 R 作为冗余码添加在数据 M 的后面发送出去,即发送的数据是101000110101110,或 2nM+R。课件制作人:谢希仁 1101010110 Q 商 除数 P 110101 101000110100000 2nM 被除数 110101 111011 110101 111010 110101 111110 110101 101100 110101 110010 1101
20、01 01110 R 余数循环冗余检验的原理说明 课件制作人:谢希仁帧检验序列 FCS n在数据后面添加上的冗余码称为帧检验序列 FCS(Frame Check Sequence)。n循环冗余检验 CRC 和帧检验序列 FCS并不等同。nCRC 是一种常用的是一种常用的检错方法检错方法,而,而 FCS 是添是添加在数据后面的加在数据后面的冗余码冗余码。nFCS 可以用可以用 CRC 这种方法得出,但这种方法得出,但 CRC 并非用来获得并非用来获得 FCS 的惟一方法。的惟一方法。课件制作人:谢希仁检测出差错 n只要得出的余数 R 不为 0,就表示检测到了差错。n但这种检测方法并不能确定究竟是
21、哪一个或哪几个比特出现了差错。n一旦检测出差错,就丢弃这个出现差错的帧。n只要经过严格的挑选,并使用位数足够多的除数 P,那么出现检测不到的差错的概率就很小很小。课件制作人:谢希仁应当注意 n仅用循环冗余检验 CRC 差错检测技术只能做到无差错接受(accept)。n“无差错接受”是指:“凡是接受的帧(即不包括丢弃的帧),我们都能以非常接近于 1 的概率认为这些帧在传输过程中没有产生差错”。n也就是说:“凡是接受的帧都没有传输差错”(有差错的帧就丢弃而不接受)。n要做到“可靠传输”(即发送什么就收到什么)就必须再加上确认和重传机制。课件制作人:谢希仁3.2.5 停止等待协议的算法n这里不使用否
22、认帧(实用的数据链路层协议大都是这样的),而且确认帧带有序号 n。n按照习惯的表示法,ACKn 表示“第 n 1 号帧已经收到,现在期望接收第 n 号帧”。nACK1 表表示示“0 号号帧帧已已收收到到,现现在在期期望望接接收收的的下下一一帧是帧是 1 号帧号帧”;nACK0 表表示示“1 号号帧帧已已收收到到,现现在在期期望望接接收收的的下下一一帧是帧是 0 号帧号帧”。课件制作人:谢希仁在发送结点(1)从主机取一个数据帧,送交发送缓存。(2)V(S)0。(3)N(S)V(S)。(4)将发送缓存中的数据帧发送出去。(5)设置超时计时器。(6)等待。等待以下(7)和(8)这两个事件中最先出现的
23、一个(7)收到确认帧 ACKn,若 n=1 V(s),则:从主机取一个新的数据帧,放入发送缓存;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)。课件制作人:谢希仁停止等待协议的要点n只有收到序号正确的确认帧 ACKn 后,才更新
24、发送状态变量 V(S)一次,并发送新的数据帧。n接收端接收到数据帧时,就要将发送序号 N(S)与本地的接收状态变量 V(R)相比较。n若若二二者者相相等等就就表表明明是是新新的的数数据据帧帧,就就收收下下,并并发发送送确认。确认。n否否则则为为重重复复帧帧,就就必必须须丢丢弃弃。但但这这时时仍仍须须向向发发送送端端发发送送确确认认帧帧 ACKn,而而接接收收状状态态变变量量 V(R)和和确确认认序序号号 n 都不变。都不变。课件制作人:谢希仁停止等待协议的要点(续)n连续出现相同发送序号的数据帧,表明发送端进行了超时重传。连续出现相同序号的确认帧,表明接收端收到了重复帧。n发送端在发送完数据帧
25、时,必须在其发送缓存中暂时保留这个数据帧的副本。这样才能在出差错时进行重传。只有确认对方已经收到这个数据帧时,才可以清除这个副本。课件制作人:谢希仁停止等待协议的要点(续)n实用的 CRC 检验器都是用硬件完成的。nCRC 检验器能够自动丢弃检测到的出错帧。因此所谓的“丢弃出错帧”,对上层软件或用户来说都是感觉不到的。n发送端对出错的数据帧进行重传是自动进行的,因而这种差错控制体制常简称为 ARQ(Automatic Repeat reQuest),直译是自动重传请求,但意思是自动请求重传。课件制作人:谢希仁3.2.6 停止等待协议的定量分析n设 tf 是一个数据帧的发送时间,且数据帧的长度是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CH3 数据链路层-新背景 数据链 背景
限制150内