【2017年整理】ch33讲数据链路层讲义(打印版).doc

【2017年整理】ch33讲数据链路层讲义(打印版).doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【2017年整理】ch33讲数据链路层讲义(打印版)

数据链路层(6学时) 本章概述: 数据链路层主要内容为: 两台相邻机器之间实现可靠、有效的通信而涉及到的一些算法。所谓相邻,意思是指两台机器通过一条通信信道连接起来,这里的通信信道在概念上就像一条线(比如同轴电缆、电话线或者点到点的无线信道)。一条信道像一条线, 这也暗示了它的一个本质特性, 即在一条信道上递交的数据位的顺序与发送的顺序完全相同。 相邻机器的通信并不简单, 影响因素有: 通信线路的偶尔错误, 通信线路的数据传输率有限, 传输延迟等. 所以协议必须考虑这些因素的影响. 数据链路层的任务是将物理层提供的原始位流转换成可供网络层使用的帧流。数据链路层用到了各种成帧的方法,包括字符计数法、字节填充法和位填充法。数据链路协议可以提供错误控制能力,以便重传损环的或者丢失的帧。为了避免快速的发送方淹没一个慢速的接收方, 数据链路协议还要提供流控制功能。滑动窗口机制是—种被广泛使用的技术,它可以方便地将错误控制和流控制结合在一起来考虑。 滑动窗口协议可以按照发送方的窗口大小和接收方的窗口大小来进行分类。当两个窗口的大小都是l的时候,滑动窗口协议变成了停—等协议。当发送方的窗口大于1(例如,为了避免发送方由于长的传输延迟而阻塞线路)的时候,接收方可以有两种实现办法:除了下一个顺序帧以外其他的帧都丢弃;或者将所有乱序的帧都缓存起来,一直到需要这些帧的时候。 3.1 数据链路层设计要点 数链层基本功能: 向网络层提供一个定义良好的服务接口; 处理传输错误; 调节数据流, 防止淹死接收方. 图3.1 分组和帧之间的关系 3.1.1为网络层提供服务 图3.2 (a)虚拟通信过程; (b)实际通信过程 图3.3 数据链路层协议的位置 3.1.2成帧 1.字符计数法 在帧头中用一个域来表示整个帧的字符个数 缺点:若计数出错,对本帧和后面的帧有影响 图3.4 一个字符流 (a) 无差错 (b) 有一个差错 2.带字符填充的首尾字符定界法 缺点:局限于8位字符和ASCII字符传送。 图3.5 (a) 有标志字节作为分界的帧; (b) 字节填充前后的4个字节序列例子 3.带位填充的首尾标记定界法 帧的起始和结束都用一个特殊的位串,称为标记(flag) “0”比特插入删除技术 图3.6 位填充 (a) 原始数据; (b) 线路上的数据; (c) 删除填充之后存储在接收方存储器中的数据 4.物理层编码违例法 802 LAN:曼彻斯特编码或差分曼彻斯特编码用high-low pair/low-high pair表示1/0,high-high/low-low不表示数据,可以用来做定界符。 注意:在很多数据链路协议中,使用字符计数法和一种其它方法的组合。 3.1.3 错误控制 帧完全丢失 一般方法:接收方给发送方一个反馈(响应)。 接收方反馈接收情况信息?确认: 肯定性确认 否定性确认 出错情况 帧(包括发送帧和响应帧)出错; 帧(包括发送帧和响应帧)丢失 ?计数器(计时用) 收到重复帧?帧编号 通过计时器和序号保证每帧最终交给目的网络层仅一次是数据链路层的一个主要功能。 3.1.4流控制 淹没问题, 两种流控制策略: 基于反馈的流控制 和 基于速率的流控制(第5章讲) 3.2 错误检测和纠正 差错出现的特点(错误分为两种):随机的, 单个位, 孤立的错误, 连续突发(burst) 一次连续许多位错误 更难以纠正 处理差错的两种基本策略 使用纠错码:发送方在每个数据块中加入足够的冗余信息,使得接收方能够判断接收到的数据是否有错,并能纠正错误。 使用检错码:发送方在每个数据块中加入足够的冗余信息,使得接收方能够判断接收到的数据是否有错,但不能判断哪里有错。 纠错码(error-correcting code), 技术上又称为前向纠错(forward error correction)(适用于低可靠性信道—无线链路, 在数据块中加入足够冗余信息, 减少重传, 因重传也可能是错误的) 码字(codeword):一个帧包括m个数据位,r个校验位,n = m + r,则此n比特单元称为n位码字。 海明距离(Hamming distance):两个码字之间不同的比特位数目。 例:0000000000 与0000011111的海明距离为5 如果两个码字的海明距离为d,则需要d个单比特错就可以把一个码字转换成另一个码字; 为了检查出d个错(单比特错),需要使用海明距离为 d + 1 的编码; 为了纠正d个错,需要使用海明距离为 2d + 1 的编码。 最简单的例子是奇偶校验,在数据后填加一个奇偶位 例:使用偶校验(“1”的个数为偶数) —— 101101011 —— 1

文档评论(0)

liangyuehong + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档