第03章 数据链路控制

上传人:飞*** 文档编号:46205667 上传时间:2018-06-23 格式:PPT 页数:93 大小:2.29MB
返回 下载 相关 举报
第03章 数据链路控制_第1页
第1页 / 共93页
第03章 数据链路控制_第2页
第2页 / 共93页
第03章 数据链路控制_第3页
第3页 / 共93页
第03章 数据链路控制_第4页
第4页 / 共93页
第03章 数据链路控制_第5页
第5页 / 共93页
点击查看更多>>
资源描述

《第03章 数据链路控制》由会员分享,可在线阅读,更多相关《第03章 数据链路控制(93页珍藏版)》请在金锄头文库上搜索。

1、第3章 数据链路控制 计算机网络与通信(第2版)第3章 数据链路控制 在数据链路层中,比特流被组织成协议数据单元(帧), 帧中包含地址、控制、数据、校验等信息。数据链路层的主要 功能是通过校验、确认、重发等手段,将不可靠的物理链路改 造成对网络层来说是无差错的数据链路。还要进行流量控制, 协调双方的数据率。3.1 流量控制 3.2 差错检测 3.3 差错控制 3.4 高级数据链路控制(HDLC) 协议3.5 其他数据链路控制协议 第3章 数据链路控制 为了理解数据链路控制的必要性,我们 针对两个直接相连的发送站和接收站之间的高效率 的数据通信,在下面列出一些要求和目标 :n帧同步:数据以数据块

2、的形式发送,这些数据块 简称为帧。每个帧的开始和结束必须可以辨别。 n流量控制:发送站点发送帧的速度不得超出接收 站点接纳这些帧的速度。 n差错控制:由传输系统引起的比特差错必须被校 正。 第3章 数据链路控制n寻址:在类似局域网这样的多站点线路上,必 须对传输时涉及的两个站点的身份有所定义。 n在同一链路上既有控制信息,又有数据。通常 人们不希望为控制信息另外设立一条物理上独立 的通信路径。因此,接收器必须能够从传输的数 据中辨认出控制信息 。n链路管理:持续的数据交换的初始化、维护以 及终止等工作需要站点之间大量的协同和合作。 因而需要具有管理这些交换的过程。 3.1 流量控制3.1.1

3、停止等待流量控制3.1.2 滑动窗口流量控制3.1 流量控制帧传输模型3.1.1 停止等待流量控制流量控制中最简单的形式,其工作过程 如下:源实体传送一个帧,目的实体在接收 到它之后,返回一个对刚刚接收到的帧的确 认,以表明自己愿意接收另一个帧。源站点 在发送下一个帧之前必须等待,直到接收到 这个确认。因此,目的站点可以不发送确认 ,从而简单地中止了传输流量。 3.1.1 停止等待流量控制将一个长的报文分成多个数据块(分组)来 发送(用多个帧来传送)。这样做的原因如下:n接收方的缓存空间或数据交换站点的缓存空间有 限。n传输时间越长,产生差错的可能性也越高,重传 整个帧的可能性也越大。使用较小

4、的帧,就能更快 地检测到差错,而且需要重新传输的数据量也较小 。n在类似局域网这样的共享媒质上,通常不希望让 一个站点长时间地占用传输媒质,因为这样会导致 其他发送站点的时延过长。 停止等待的链路利用率(传输时间 = 1;传播时间 = a) 3.1.1 停止等待流量控制n在图中,传输时间(站点传输一个帧所需要的时间)取归一化 值1,并且传播时间(一个比特从发送方到达接收方所需的时间 )用变量a表示。a=(l/k)/(s/v) l帧长(bit),k数据率(bps),s传输距离(m),v传输速度 (m/s)n当a大于1时(传播时间大于传输时间),此时,在这个帧 的前几比特到达接收方之前,发送方已完

5、成了整个帧的发送 。n当a小于1时(传播时间小于传输时间),在这种情况下, 帧的长度足以使源站点在把这个帧完全发送出去之前,帧的 前几位已经到达了目的站点。n数据率越高或距离越远,a值越大。3.1.1 停止等待流量控制n当a1时,线路总是没有被完全利用,并且即 使a1,线路也没有得到充分利用(主要是确认 帧很小)。n总体上来说,当数据率非常高时,或发送方与 接收方之间的距离非常远时,停止等待流量控制 所提供的路线利用效率不高。3.1.2 滑动窗口流量控制n 站点B为n个帧分配了缓冲区,因此,B能够接收n 个帧,且允许A在不等待任何确认帧的情况下发送n个 帧。n B通过发送一个确认帧来肯定某个帧

6、已经被接收, 在这个确认帧中包含有下一个希望接收到的帧序号。 这种机制也可用于一次确认多个帧(累计确认)。n A维护了一张允许发送的序号列表,而B维护的是 它准备接收的序号的列表。这两张列表都可以被认为 是帧的窗口(window)。滑动窗口的描述k bit长的字段,序号范围为02k-1,并且是以2k为 模的数值,当k=3时,滑动窗口最大为7个帧编号 滑动窗口的例子 滑动窗口的例子n假设该例中的序号字段为3 bit,且最大窗口尺寸为7个帧。n起初,A和B上的滑动都表明A可以发送以帧0(F0)为首的以下 7个帧。n在发送了3个帧(F0、F1和F2)且没有收到确认的情况下,A将 自己的滑动窗口缩小为

7、4个帧。此时的滑动窗口表明A可以发送 以3号帧为首的后4个帧。n接着B发送一个RR(接收就绪)3,RR3的含义是“我已经接收到 第2号帧以前的所有帧,并且准备接收第3号帧,事实上,我已 经准备接收以3号帧为首的后7个帧。”n有了这个确认帧,A再次允许发送7个帧,并且仍然以帧3为首 。A接着发送出帧3、帧4、帧5和帧6。B返回一个RR4,以允许 A继续发送,直到帧F2。 接收未就绪帧(RNR帧)n我们所描述的机制实际提供了流量控制的一种形式:接收 方必须只能容纳紧跟在最后一次确认帧之后的7个帧。n为了弥补这一点,大多数协议允许站点通过发送一个接收 未就绪(RNR)的报文来完全切断对方的帧流量,这

8、个报文确 认了前几个帧,但禁止继续发送后面的帧。n例RNR5的含义就是:“我已经接收到第4号帧之前的所有帧 ,但是无法接收更多的帧。”在此后的某个时刻,站点必须发 送一个正常的确认帧来重新启动滑动窗口,如RR5。捎带技术n到目前为止,我们仅讨论了一个方向上的传输。如果在两个 站点之间交换数据,那么每个站点都要维护两个窗口,一个用 于发送,另一个用于接收,且双方都需要向对方发送数据和确 认帧。n为了提供更有效的措施来满足这一要求,通常会采用一种称 为捎带的技术。每个数据帧除了一个存放帧序号的字段之外, 还有一个用于存放确认序号的字段,这两个字段会在一个帧中 同时发送。n因此,如果一个站点既要发送

9、数据,又要发送确认,那么这 两个字段会在一个帧中同时发送,因而节省了通信容量。捎带技术n当然,如果一个站点有确认,但却没有需要发送的 数据,那么它会发送一个独立确认帧。n如果一个站点,需要发送数据,但却没有新的确认 ,那么它必须重新发送上一次已经发送过的确认,这 是因为数据帧中包含有一个用于确认的字段,而且这 个字段中必须存放有数据。n当一个站点接收到重复的确认后,只是简单地忽略 这个确认。滑动窗口流量控制优点滑动窗口流量控制比停止等待流量控制能够达 到更高的有效性(信道的利用率提高)。其原因 是,在使用滑动窗口流量控制的情况下,传输链 路被看成一个管道,它有可能在传输过程中被填 满。相反,使

10、用停止等待流量控制,在这个管道 中一次只可能存在一个帧。3.2 差错检测3.2.1 奇偶校验3.2.2 循环冗余检验(CRC)3.2 差错检测传输帧的差错有关的概率:Pb:单个比特差错的概率,也称为比特差错率。P1:无比特差错的帧到达的概率。(无差错,帧正确率)P2:具有一个或多个没有检测到的比特差错的帧到达 的概率。(有差错,没检查出来,帧差错率)P3:具有一个或多个检测到的比特差错,并且没有未 被检测到的比特差错的帧到达的概率。(检错率)3.2 差错检测n考虑未采取任何差错检测手段的情况,那么此时检测到差错 的概率(P3)为零。为了表达其余几项概率,假设任意比特存在 差错的概率(Pb)恒定

11、,且与比特本身无关,则可以得到:其中,F是每个帧的比特数目。n用语言来表达就是,一个无比特差错的帧到达的概率随单个 比特差错概率的增加而减小,这和我们所预料的一样。同时, 一个无比特差错的帧到达的概率随帧长度的增加而减小。帧越 长,则这个帧含有更多的比特,那么这些比特中出现差错的概 率也就越高。 用一个简单的例子来描述这些关系nISDN连接的目标就是在64 kb/s的信道中,一分钟时间内至少 有90的时间里比特差错率小于106。现在假设我们的要求不 高,只需要在连续传输的64 kb/s信道上,每天最多允许出现一 个未被检测到比特差错的帧,并且假设帧的长度为1000 bit。通 过计算可知,n一

12、天能够传输的帧的数量为5.5296106,由此得出所需的帧 差错率为P2 = 1/(5.529106) =1.808107。但是,如果我们假设 Pb的值为106,那么P1 = (0.999 999)1000 = 0.999,并且因此得到 P2 = 10 3,这比我们的要求高出了四个数量级(达不到要求)。n正是上述结果促使我们要使用差错检测技术。差错检测技术的操作原理n所有这些差错检测技术的操作原理均如下所述参见图3.5: 对某一组特定的帧比特,发送器将为其添加一些额外的由差错 检验码组成的比特。这些检验码是根据某个函数计算得到的, 这个函数的参数是除了检验码之外其余的传输比特。接收器执 行同样

13、的计算过程并比较这两个结果。当且仅当两个结果不相 同时,就表明有一个被检测到的差错。n因此P3这个概率所指的是帧中含有差错,且差错检测机制能 够检测出来的这样一种情况。P2也称为剩余差错率,这个概率指的是尽管使用了差错检测机制也无法检测出来的差错。 图3.5 差错检测3.2.1 奇偶检验n在数据块的末尾附加奇偶检验位,使整个数据中1的个数为奇 数(奇校验)或偶数(偶校验)。n如果接收到的数据中1的个数是奇数(奇校验)或偶数(偶校 验),就认为接收到的数据正确,否则认为存在错误。n如果有两位(或任意偶数个比特)因错误而翻转,那么就会出 现检测不到的差错。n一般情况下,偶检验用于同步传输,而奇检验

14、用于异步传输 。n使用奇偶检验并不是十分安全的,因为噪声脉冲的长度经常 足以破坏一个以上的比特,特别是在数据率较高的情况下。3.2.2 循环冗余检验(CRC)n 循环冗余检验是一种最常用的、也是最有效的差 错检测编码。n 给定一个k bit的比特块,发送器会生成一个n bit 的比特序列,称为帧检验序列(FCS),这个比特序列 要使最后得到的具体(k + n)bit的帧可以被一些预定的 数值整除。n 接收器用同样的数值对接收到的帧进行除法运算 ,若其结果余数为0,则认为没有差错,否则认为存 在错误。1模2运算(异或运算)模2运算使用无进位(无借位)的二进制加 (减)法,它恰好就是异或操作。例如

15、:1111 + 1010 1011111- 1010 1011模2运算n T = 要传输的(k + n) bit,其中nk; n M = k bit报文(控制信息+分组数据),就 是T中的前k bit; n F = n bit FCS,就是T中的后n bit; n P = (n+1) bit的模式,它是预定的除数。 若T/P没有余数(余数为0),显然T = 2nM + F (3.1) M左移n位+F假设用2nM除以P: (3.2)1模2运算由于模2除法,所以得到的余数R至少比除数P少1 bit 。我们把这个余数R作为FCS。于是可得:T = 2nM + R (3.3) R是否能满足我们需要的T

16、/P余数为0这个条件?考虑 到: (3.4)利用式(3.2),可以得到 (3.5)1模2运算任何二进制数与它自己相加后得到的结果是零。 因此 :n 结果余数为0,因此说T可以被P整除。n 只要用P去除2nM,并将得到的余数作为FCS即 可。n 接收方用T除以P,并且,如果传输没有差错, 那么计算得到的结果就余数为0。 (3.6)一个简单的例子 (1) 给定报文M =1010001101(10 bit)模式P = 110101(6 bit)FCS R =由计算得出(5 bit) (2) 报文M乘以25,得到101000110100000(3) 101000110100000除以P:一个简单的例子一个简单的例子 (4) 2nM加上余数(R = 01110)之后得到了传输 用的T = 101000110101110。(5) 如果没有差错,接收方接收到的T原封未 动。这个接收到的帧除以P后得到:一个简单的例子2多项

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

当前位置:首页 > 商业/管理/HR > 管理学资料

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