实验 停止等待协议分析与协议模拟实现

实验 停止等待协议分析与协议模拟实现

ID:11244802

大小:463.50 KB

页数:11页

时间:2018-07-10

实验 停止等待协议分析与协议模拟实现_第1页
实验 停止等待协议分析与协议模拟实现_第2页
实验 停止等待协议分析与协议模拟实现_第3页
实验 停止等待协议分析与协议模拟实现_第4页
实验 停止等待协议分析与协议模拟实现_第5页
资源描述:

《实验 停止等待协议分析与协议模拟实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验停止等待协议分析与协议模拟实现一、实验目的1)了解停止等待协议的原理2)掌握协议分析的方法和过程3)通过程序模拟停止等待协议的工作过程二、实验要求1)根据示例,编写停止等待协议的模拟程序,演示停止等待协议的工作过程。2)撰写实验报告。三、协议概述如果链路是理想的传输信道,1)所传送的任何数据既不会出差错也不会丢失;2)如果不管发送方以多快的速率发送数据,接收方总是来得及收下,并及时上交主机。如果存在这样的传输信道,数据链路层协议也是不需要的。信道不会出错,而且接收方缓存的容量为无限大而永远不会溢出;或接收速率与发送速率绝对精确相等。在上述两个假定

2、的情况下,数据链路层当然就不需要任何协议就可以保证数据传输的正确。这就是说,传输数据的信道是不可靠的(即不能保证所传的数据不产生差错),并且还需要对数据的发送端进行流量控制。在大多数协议中,流量控制是一组过程,这组过程是用来告诉发送方在等待接收方的应答信号之前最多可以传送多少数据。流量控制有两个要点:(1)数据流不能使接收方过载。任何接收设备都有一个处理输入数据的速率限制,并且存储输入数据的存储器容量也是有限的。接收设备必须在达到这些限制之前通知发送设备并且请求发送设备发送较少的数据帧或是暂停一会儿。在使用输入数据之前,需要对数据进行校验和处理,因此

3、,每个接收设备都有一块存储器,叫做缓冲区,用于存放未来得及处理的数据帧。如果缓冲区将满,接收方也必须能够通知发送方暂停传输,直到接收方又能接收数据。(2)应答。随着数据帧的到来,接收方对他们进行应答,可以每收到一帧给一个应答,也可以一次对若干帧进行应答。如果一个帧到达时已经被破坏,接收方发送一个否定应答帧(NAK)。在数据链路层,差错控制主要指错误检测和重传方法。在一个帧中出现任何一个错误,接收方就返回一个否定应答帧,出错的帧就被发送方重新传送。这个过程被称作自动重复请求(ARQ)。数据被重传的情况有三种:帧破坏、帧丢失和应答帧丢失。流量控制和差错控

4、制是结合在一起实现的,共有两种实现流量控制和差错控制的技术:停止等待协议和滑动窗口协议。【图解】【总结】使用的链路层传输控制协议发方:发送一个数据帧后,必须等待收方的确认帧才可以发送下一个数据帧;为防止发送的数据或该数据的确认帧丢失,发方内部设置一个定时器,当超过定时时间发方仍未收到确认帧时,发方重发该帧;为防止确认帧丢失而造成收方收到重复帧的情况,发方给每一个数据帧带上一个序列号。(1个比特位)收方:在收方接收错误时,收方发一否认帧,要求发方重发该帧;收方收到相同的两帧时,丢掉该数据帧并重发确认帧。【流程示意图】发送数据包1接收正确认ACK发送数据

5、包2重发数据包2发送数据包3接收负确认NAK接收正确认ACK接收正确认ACK接收数据包1正确发送正确认ACK接收数据包2错误发送负确认NAK接收数据包2正确发送正确认ACK接收数据包3正确发送正确认ACK发送方接收方发送数据包0接收正确认ACK1发送数据包1超时重传数据包1超时重传数据包1接收正确认ACK0接收数据包0正确发送正确认ACK1接收数据包1正确发送正确认ACK0接收数据包1正确(抛弃)发送正确认ACK0发送方接收方发送数据包0超时超时图a停止等待协议的基本工作过程图b数据包的丢失和确认信息的丢失示意图四、协议分析可以用多种方法来表示一个有

6、限状态机,对协议进行描述。以下是在某种假定条件下的协议分析。1)状态迁移图设甲、乙双方进行半双工通信,甲发信息帧,乙回送确认帧。双方约定采用停止等待协议,因此甲方仅需用1比特来编号。下面将0号帧和1号帧分别记为[0]和[1]。当收到有差错的帧时,则丢弃此帧,同时不发任何应答帧。当收到无差错的帧但序号不正确时,要发确认帧,同时要丢弃此帧,不送主机。我们还假定收方在准备发送确认帧ACK时,暂不接收外面发来的帧。这样,我们就得出甲乙双方各自的有限状态机,如下图所示。图中椭圆形符号为状态符号,其右方数字为状态标号,椭圆形内的字表示状态的意义。带箭头的直线或弧

7、线表示状态的变迁,而直线或弧线旁边的字代表自动机的输入事件。例如,甲方自动机中的“发[0]”就是一个输入事件。图中在某些方面进行了一些简化。例如,当乙方处于“期望收[0]”的状态时,若收到无差错的[1]帧,仍然应当先进入“准备发ACK”状态,然后才发出ACK。但这里就将“收[1]”与“发ACK”合并成为一个事件。其余部分不再详述。2)状态迁移表方法除状态转移图之外,还可用状态迁移表(又称为判决表)来表示自动机的工作。例如对甲方的自动机,可得出如下表所示的状态变迁表。表中的项目代表“新的状态/输出”。例如在状态为x1时,若输入为“发[0]”,则状态从x

8、1转为x2,同时输出为“[0]帧”。当输出为“-”时表示无输出。3)混合描述方法比较实用的办法是合并一些状态

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。