- 1、本文档共66页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机网络PPT课件-第三章 数据链路层
第三章 数据链路层 本章内容3.1 数据链路层设计要点3.2 错误检测和纠正3.3 基本数据链路协议3.4 滑动窗口协议3.5 点对点协议 PPP3.6 介质访问控制3.7 以太网3.8 局域网互连 3.1 数据链路层设计要点 3.1 数据链路层设计要点 一、数据链路层概述(1/2) 物理层实现了比特流的传输,数据链路层在其基础上实现帧(frame)的传输 数据链路层传输的协议数据单元(PDU)是帧 数据链路层可能提供的服务 无确认、无连接的服务 有确认、无连接的服务 有确认的面向连接的服务 3.1 数据链路层设计要点 一、数据链路层概述(2/2) 数据链路层使用的信道类型 点对点信道 使用一对一的点对点通信方式。 广播信道 使用一对多的广播通信方式 广播信道上连接多个主机,必须采用专门的共享信道协议来协调数据发送 数据链路层涉及的问题 成帧(framing):怎样组成帧、怎样使接收方识别帧 差错控制:帧在传输过程中出错的检测 流量控制及可靠传输:仅是数据链路层的选项 广播信道中的介质访问控制 3.1 数据链路层设计要点 二、成帧方法 成帧要考虑的问题:接收方如何识别帧的边界? 常用的成帧方法 (1) 字符计数法在帧头部字段中指明本帧的字节数,接收方通过该字段得知该接收多少字节 (2) 字符填充的首尾定界法定义专门的字符作为帧的起始/结束标志,并使用字符填充方式将标志字符与数据区分开来 (3) 比特填充的首尾定界法定义专门的比特序列作为帧的起始/结束标志,并使用比特填充方式将标志序列与数据区分开来 (4) 物理编码违例法使用无效的物理编码作为帧的开始/结束标志,供接收方识别 3.2 错误检测和纠正 3.2 错误检测和纠正 一、检错编码(Error detecting code) 任何通信链路在传输数据时都可能出错 一般用误码率BER(Bit Error Rate)表示链路可靠性 例如:误码率为10-10表示平均每传送1010个比特会出现一个比特出错 处理方法 使用可检测并纠正错误的编码:纠错码 使用可检测错误的编码 + 重传:检错码 常用检错编码方法 奇偶校验 简单累加和(校验和) 循环冗余校验CRC(Cyclic Redundancy Check) 3.2 错误检测和纠正 一、检错编码(Error detecting code) 循环冗余校验CRC原理 发送方把数据划分为组,设每组 k 个比特,在其后添加供差错检测用的n 位冗余码,(k+n)比特一起发送 对数据M计算n位冗余码的过程: 用二进制的模 2 运算进行 2n乘 M 的运算,这相当于在 M 后面添加 n 个 0 得到的 (k + n) 位的数除以事先选定好的长度为 (n + 1) 位的除数 P,得出商是 Q 而余数是 R,余数 R 比除数 P 少1 位,即 R 是 n 位 R作为冗余码,添加在数据M后面,最终发送数据:2nM+R 注:除数P为双方事先商定 接收方对收到的(k+n)比特计算冗余码,结果为0表示传输正确,否则表示传输错误 3.2 错误检测和纠正 例:计算101001的3位CRC冗余码 已知:M=101001 k=6, n=3 设:除数P=1101 被除数:2nM = 101001000 模 2 运算的结果:商 Q = 110101 余数 R = 001 发送的数据:2nM + R 即:101001001,共 (k + n) 位 3.2 错误检测和纠正 通常用生成多项式P(x)表示除数P 例:除数P=1101的生成多项式P(X) = X3 + X2 + 1 目前广泛使用的生成多项式 CRC-16 = X16 + X15 + X2 + 1 CRC-CCITT = X16 + X12 + X5 + 1 CRC-32 = X32+X23+X22+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1 在网络中具体实现时,通常采用硬件电路生成CRC校验和(checksum) 3.2 错误检测和纠正 二、纠错编码(Error correcting code) 检错码只能发现数据出现了错误,无法得知哪个比特出错 纠错编码通过增加冗余信息使得能够检测错误发生所在,以便于纠正,又称为前向纠错(forward error correcting) 海明编码 关于数据链路层检错/纠错的讨论 通过检错码/纠错码可以做到帧的无差错接收,或者说“无比特差错” 并不意味着可靠传输,其他的错误包括: 帧丢失、帧重复、帧失序 3.3 基本数据链路协议 3.3 基本数据链路协议 一、无限制的单工协议 假设前提 单向传输 理
文档评论(0)