计算机网络--滑动窗口实验报告.docx

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

计算机网络滑动窗口协议实验报告

目录

实验内容和实验环境描述 (2)

实验内容 (2)

实验目的(2)

实验环境(2)

协议设计(3)

软件设计(4)

PartA选择重传协议

数据结构(4)

模块结构(6)

算法流程(7)

PartBgobackn协议

数据结构(8)

模块结构(9)

算法流程(10)

实验结果分析(11)

探究问题(13)

实验总结与心得体会(14)

一、实验内容和实验环境描述

实验内容

利用所学数据链路层原理,自己设计一个滑动窗口协议,在仿真环境下编程实现有噪音信道环境下两站点之间无差错双工通信。信道模型为8000bps全双工卫星信道,信道传播时延270毫秒,信道误码率为10-5

实验目的

通过该实验,进一步巩固和深刻理解数据链路层误码检测的CRC校验技术,以及滑动窗口的工作机理。滑动窗口机制的两个主要目的:(1)实现有噪音信道环境下的无差错传输;(2)充分利用传输信道的带宽。在程序能够稳定运行并成功实现第一个目标之后,运行程序并检查在信道没有误码和存在误码两种情况下的信道利用率。为实现第二个目标,提高滑动窗口协议信道利用率,需要根据信道实际情况合理地为协议配置工作参数,包括滑动窗口的大小和重传定时器时限以及ACK搭载定时器的时限。

实验环境

Windows10环境PC机

MicrosoftVisualStudio2017集成开发环境

协议设计

本次试验主要设计数据链路层,实验中分别设计了gobackn协议与选择重传协议。主要涉及到的层次结构是物理层、数据链路层、网络层。

物理层:为数据链路层提供的服务为8000bps,270ms传播延时,10-5误码率的字节流传输通道。数据链路层利用接口函数send_frame()和recv_frame()

网络层:利用数据链路层提供的“可靠的分组传输”服务,在站点A与站点B之间交换长度固定为256字节的数据分组。网络层把产生的分组交付数据链路层,并接受数据链路层提交来的数据分组。

数据链路层:通过get_packet()函数从网络层得到一个分组,将之组装成帧,向物理层发送,启动计时器;进行适当的流量控制;数据帧经信道传送给接收方;接收方数据链路层终止定时器(或启动ack定时器),判断数据是否出错,若正确的话,是否为欲接受数据。若所受到的数据帧是期待接受的数据帧,则通过put_packet()函数将其缓冲区内缓存的数据依序提交给网络层。

可靠通信的实现:通过捎带确认来完成可靠的数据通信。

在选择重传协议中:1)出现信道误码导致收帧出错时,若未发送过该帧的NAK则接收方发NAK帧要求发送方重传;若已经发送过NAK,则等待定时器超时后发送方重发;2)当收到的帧位于接收窗口内,但不是接收窗口下边界的一帧时,将该帧进行缓存,待窗口下边界的帧到来后依序递交给网络层;3)接收方无数据传送导致发送方无法收到捎带确认时,接收方ACK定时器超时,构造ACK帧单独传送。

在gobackn协议中:1)出现信道误码导致收帧出错时,等待定时器超时后发送方重发;2)当收到的帧不是期望收到的数据帧时,不做处理,等待定时器超时后发送方重发;3)接收方无数据传送导致发送方无法收到捎带确认时,接收方ACK定时器超时,构造ACK帧单独传送。

软件设计

PartA.选择重传协议

数据结构

帧结构定义:

typedefstruct{

unsignedcharkind; //类型FRAME_DATA、FRAME_

文档评论(0)

135****3855 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档