第04章数据链路层.docVIP

  • 12
  • 0
  • 约1.14万字
  • 约 17页
  • 2017-02-08 发布于重庆
  • 举报
第04章数据链路层

第04章 数据链路层 一 数据链路层概述 1 什么是数据链路? 为了在相邻的两个节点间实现可靠的数据传输,除了需要一条物理链路外,还必须有一些规程控制数据的传输。把实现这些规程的软硬件加到物理链路上,就构成了所谓的数字链路,我们也称之为逻辑链路 2 数据链路层的主要功能 1)链路管理 数据链路的建立、维持和释放就叫链路管理 2)帧同步 在数据链路层,数据的传送单位是帧。帧同步是指接收方能从收到的比特流中识别出一帧的开始和结束 3)流量控制 发送方发送数据的速率必须得到控制,以使得接收方能够从容接收 5)差错控制 有两类差错控制方法——前向纠错和检错重发。在计算机通信中通常采用检错重发机制提供差错控制功能 6)帧格式 接收方能识别帧中的每一个字段 7)透明传输 不管数据是什么样的比特组合,都能在数据链路上传送 8)寻址 在多点连接的情况下,确保每一帧能到达正确的目的站点。同时接收方也能知道发送方是哪个站点 二 如何识别一帧的开始和结束? 1 带字符填充的首尾界符法 2 带位填充的首位界符法 比如,在HDLC帧中,用比特序示一帧的开始和结束,当有效载荷中出现连续的5个1,则在其后插入1位0;接收方在收到5个1后自动删除紧随其后的0 3 物理层编码违例法 比如,在曼彻斯特编码中,连续的高电平或连续的低电平可用作帧头和帧尾(令牌环使用该方法) 三 检错技术 1 校验和 将数据按一定长度分段,然后以段为单位相加,若最高位有进位,将进位加到最低位上,形成校验码 2 块校验码 将所有字符的内码异或,结果为块校验码 3 循环冗余校验码(CRC) 信息多项式M(x) 以k个信息比特为系数的多项式 生成多项式G(x) 根据多项式理论求得、具有某些特殊属性的多项式 冗余多项式R(x) 以r个冗余比特为系数的多项式 码多项式P(x) k个信息比特加r个冗余比特构成的码字所对应的多项式 如何求冗余多项式? 用G(x)除x r M(x),得到的余式即为冗余多项式R(x) 如何求码多项式? P(x)= x r M(x)+ R(x) 接收方如何检错? 用G(x)除收到的码多项式,除尽表示无错 强调 上面的除法都是模2除法,即加减都采用异或运算,不进位和借位 国际标准生成多项式举例 CRC-12:x 12 + x 11 + x 3 + x 2 + x 1 + x 0 CRC-16:x 16 + x 15 + x 2 + x 0 CRC-ITU:x 16 + x 12 + x 5 + x 0 五 差错控制和流量控制技术 1 帧编号 通过在帧中加上帧编号字段告诉接收方现在过来的是几号帧。帧编号字段的长度是有限的,所以帧的编号是循环编号。假如帧编号的长度是3比特,则最大的帧编号是7,7号以后的帧又从0开始编号 2 应答号 通过在帧中包含应答号字段告诉发送方下一次期待接收的是几号帧 3 肯定应答帧ACK N 接收方收到一个通过校验的帧,给发送方返回一个肯定应答帧ACK N,N是应答号,这意味着接收方已经收下了编号为N -1及其以前的各个帧,期待接收N号帧 4 否定应答帧NAK N 接收方收到一个没有通过校验的帧,给发送方返回一个否定应答帧NAK N,N是应答号,这意味着接收方没能正确接收第N号帧,但已经正确收下了N -1及其以前的各帧 5 滑动窗口技术 发送窗口 用来限制在收到对方确认以前能发送的帧的数目;仅当编号落在发送窗口内的数据帧才允许被发送出去;发送窗口的长度WT代表收到对方的确认前发送方最多能发送多少个数据帧;其实,发送窗口的长度就是发送缓冲区能容纳的帧数 接收窗口 仅当编号落在接收窗口内的数据帧才允许被接收;接收窗口的长度WR等于接收缓冲区的能容纳的帧数 滑动窗口的工作原理如下图所示,其中帧编号字段长度为3比特,发送窗口长度为5,接收窗口长度为1 6 超时重发 也就是所谓的自动重发;发送方每发送一个数据帧,便启动一个定时器,如果在定时时间到之前收到了对该数据帧的确认就关闭它的定时器;一旦一个数据帧的定时器超时,发送方便立即启动重传,或者将该数据帧及其以后的帧重发,或者只重传该数据帧 7 GO - BACK- N 接收方如果收到NAK N或者N号帧超时,就将N号帧及其以后的帧重新发送一遍 8 选择重传 接收方如果收到NAK N或者N号帧超时,只重发N号帧 9 捎带应答 A和B进行双工通信,假设A如果收到来自B的数据帧B6,这时A并不马上回复一个专门的肯定应答帧ACK 7,而是等到有数据帧发给B时,在该数据帧的应答号字段插入编号7,表示已经收到B6及其以前的各帧,期待接收第7帧,这就是所谓的捎带应答 六

文档评论(0)

1亿VIP精品文档

相关文档