实验二数据链路层实验解析.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验二 数据链路层实验 实验项目性质:设计性   计划学时:4 实 验 环 境: 实验日期:2015年10月14日 一、实验目的 1、理解并掌握数据链路层协议的功能。 2、进一步理解停止等待协议和滑动窗口协议的基本工作原理。 3、掌握计算机网络协议的基本实现技术。 4、利用RS 232C通信接口实现两台PC间传输文件。 二、实验内容与要求 1、设计完成数据链路层相关类; 2、开发一个使用RS232C接口在两台计算机之间采用停止等待协议传输信息(文件)的程序; 3、开发一个使用RS232C接口在两台计算机之间采用滑动窗口协议传输文件的程序。 完成实验内容中的第1、2部分,有能力的同学完成全部内容。 三、实验(设计)仪器设备和材料清单 计算机两台,串行电缆一根。 四.相关知识 1 数据路层概述 数据链路层协议应提供的基本功能有: (2) 帧定界与同步,以实现透明传输。 (3) 差错控制和流量控制。 (4) 透明传输。 2 数据成帧方法 在数据链路层,为实现透明传输及进行差错控制和流量控制,在把数据送到物理层之前,需将若干个数据组成一帧,并在其中加上其他必要的控制信息。控制信息形成(数据成帧)的方法有以下几种:字符计数法、带字符填充的首尾界符法、带填充位的首尾标志法、物理层编码违例法。 3 差错控制与流量控制 为确保帧可靠地交付接收方,接收方在收到帧后,应向发送方应答,告知是否正确收到帧,因此在数据链路层要建立差错控制机制: 差错控制方法、CRC循环冗余校验、流量控制。 4 数据链路层协议 (1) 停止等待协议 停止等待协议的基本原理是:发送方在数据帧中加入校验码(CRC),由接收方检查;若出错,返回NAK帧(否认帧),否则发送ACK帧(确认帧);发送方收到NAK帧后重发数据帧,若收到ACK帧可发送下一帧。当超时计时事件发生时,重发丢失的帧,这样可通过等待发送来实现流量控制,如图3-2所示。 停止等待协议发送方的算法如下: (1) 从主机取一个数据帧。 (2) V(s) --0,发送方状态变量初始化。 (3) N(s)-- V(s)(置发送序号),将数据帧送发送缓冲区。 (4) 将发送缓冲的数据发送。 (5) 置超时定时器。 (6) 等待(下列三种情况)。 (7) 收到回答ACK ,从主机取一个新数据帧, V(s) --[1-V(s)],转(3)。 图3-2 停止等待协议工作原理示意图 (8) 收到回答NAK ,转(4)。 (9) 超时,转(4)。 接收方的算法如下: (1) V(r) --0, 接收方状态变量初始化。 (2) 等待。 (3) 收到一个数据帧后,测试正确继续;否则传输出错,转(8)。 (4) 如果接收到的帧序号等于期待的帧序号( N(s) = V(r)) ,继续;否则丢弃该数据,转(7)。 (5) 将接收帧的数据部分上交主机。 (6) V(r) --[1- V(r)]。 (7) 向发方发ACK ,转(2)。 (8) 向发方发NAK ,转(2)。 停止等待协议的算法流程如图3-3所示,其中V(s) 和V(r)分别是发送方和接收方维护的状态变量,N(s)是发送序号。 图3-3 停止等待协议的算法 停止等待协议算法简单,只适合传送少量的大的帧的情况。但大的数据块要分成许多帧传送,此时停止等待协议不适用,原因是本协议只允许同时只有一帧在链路上传送,链路利用率低。 (2) 连续重传ARQ协议 为了提高信道利用率,发送方发完一帧后,不必停下来等待对方的应答,可以连续发送若干帧;如果在发送过程中收到接收方的肯定应答,可以继续发送;若收到对其中某一帧的否认帧,则从该帧开始的后续帧全部重发,如图3-4。由于减少了等待时间,整个通信的吞吐量就提高了,提高了信道利用率。但回退重传(Go-back-N)会导致某些已正确接收的帧的重传,因此降低了发送效率。当误码率较低时,连续重传ARQ优于停止等待协议;反之则不一定。 图3-4 连续重传ARQ协议工作原理示意图 (3) 滑动窗口协议(Sliding Window Protocol) 在使用连续重传ARQ协议时,如果发送端一直没有收到对方的确认信息,那么实际上发送端并不能无限制地发送其数据帧。这是因为: (1) 当未被确认的数据帧的数目太多时,只要有一帧出了差错,就可能要有很多的数据帧需要重传,这必然要白白花费较多的时间,因而增大开销。 (2) 为了对所发送出去的大量数据帧进行编号,每个数据帧的发送序号也要占用较多的比特数,这样又增加了一些不必要开销。 连续ARQ协议中,每一个要发出的帧都包含一个序列号,范围从0到最大(0 ~ 2n – 1,一般用n个二进制位表示),使得序列号能恰好放入n位的字段中,n同时表示缓存器的大小。滑动窗口协议的工作原理如下: (1) 任

文档评论(0)

武神赵子龙 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档