- 1、本文档共121页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
03数据链路层讲解
第 3 章 数据链路层 3.1 使用点对点信道的数据链路层 3.2 点对点协议 PPP 3.3 使用广播信道的数据链路层 3.4 使用广播信道的以太网 3.5 扩展的以太网 3.6 高速以太网 3.7 其他类型的高速局域网接口 数据链路层使用的信道 点对点信道 使用一对一的点对点通信方式。 广播信道 使用一对多的广播通信方式。 数据链路层的简单模型 数据链路层的简单模型(续) 3.1 使用点对点信道的数据链路层 (1)链路(link)和数据链路(data link) 数据链路层像个数字管道 常常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位是帧。 早期的数据通信协议曾叫作通信规程(procedure)。因此在数据链路层,规程和协议是同义语。 3.1.2 三个基本问题 (1) 封装成帧 (2) 透明传输 (3) 差错控制 (1)封装成帧 封装成帧(framing)就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限。 首部和尾部的一个重要作用就是进行帧定界。 用控制字符进行帧定界的方法举例 (2)透明传输 解决透明传输问题 发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”(其十六进制编码是 1B)。 字节填充(byte stuffing)或字符填充(character stuffing)——接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。 如果转义字符也出现数据当中,那么应在转义字符前面插入一个转义字符。当接收端收到连续的两个转义字符时,就删除其中前面的一个。 用字节填充法解决透明传输的问题 (3)差错检测 在传输过程中可能会产生比特差错:1 可能会变成 0 而 0 也可能变成 1。 在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率 BER (Bit Error Rate)。 为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。 循环冗余检验的原理 在数据链路层传送的帧中,广泛使用了循环冗余检验 CRC 的检错技术。 在发送端,先把数据划分为组。假定每组 k 个比特。 假设待传送的一组数据 M = 101001(现在 k = 6)。我们在 M 的后面再添加供差错检测用的 n 位冗余码一起发送。 CRC码的计算 任何一个k位的帧看成一个k-1次的多项式M(x),如:1011001看成 设定一个生成多项式G(x),G(x)为r阶,kr xrM(x)/G(x)=Q(x)+R(x)/G(x),其中Q(x)为商、R(x)为余数,R(x)即为M(x)的CRC码 将CRC码接在帧后一起发送,即发送数据为xrM(x) +R(x) 二进制运算中,减法和加法都做异或运算 因为(xrM(x) -R(x))一定能被G(x)整除,即余数为0,则接收方只要计算CRC,并所得余数为0即为正确 CRC码的计算举例 帧检验序列 FCS 在数据后面添加上的冗余码称为帧检验序列 FCS (Frame Check Sequence)。 循环冗余检验 CRC 和帧检验序列 FCS并不等同。 CRC 是一种常用的检错方法,而 FCS 是添加在数据后面的冗余码。 FCS 可以用 CRC 这种方法得出,但 CRC 并非用来获得 FCS 的唯一方法。 接收端对收到的每一帧进行 CRC 检验 (1) 若得出的余数 R = 0,则判定这个帧没有差错,就接受(accept)。 (2) 若余数 R ? 0,则判定这个帧有差错,就丢弃。 但这种检测方法并不能确定究竟是哪一个或哪几个比特出现了差错。 只要经过严格的挑选,并使用位数足够多的除数 P,那么出现检测不到的差错的概率就很小很小。 应当注意 仅用循环冗余检验 CRC 差错检测技术只能做到无差错接受(accept)。 “无差错接受”是指:“凡是接受的帧(即不包括丢弃的帧),我们都能以非常接近于 1 的概率认为这些帧在传输过程中没有产生差错”。 也就是说:“凡是接收端数据链路层接受的帧都没有传输差错”(有差错的帧就丢弃而不接受)。 要做到“可靠传输”(即发送什么就收到什么)就必须再加上确认和重传机制。 3.2 点对点协议 PPP 现在全世界使用得最多的数据链路层协议是点对点协议 PPP (Point-to-Point Protocol)。 用户使用拨号电话线接入因特网时,一般都是使用 PPP 协议。 用户到 ISP 的链路使用 PPP 协议 1. PPP 协议应满足的需求 简单——这是首要的要求 封装成帧 透明性 多种网络层协议 多种类型链路 差错检测 检测连接状态 最大传送单元 网络层地
文档评论(0)