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

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

本文格式为Word版,下载可任意编辑

第PAGE1页共NUMPAGES1页

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

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

目录

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

1.实验内容(2)

2.实验目的(2)

3.实验环境(2)

二、协议设计(3)

三、软件设计(4)

PartA选择重传协议

1.数据结构(4)

2.模块结构(6)

3.算法流程(7)

PartBgobackn协议

1.数据结构(8)

2.模块结构(9)

3.算法流程(10)

四、实验结果分析(11)

五、探究问题(13)

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

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

1.实验内容

利用所学数据链路层原理,自己设计一个滑动窗口协议,在仿真环境下编程实现有噪音信道环境下两站点之间无差错

双工通信。信道模型为8000bps全双工卫星信道,信道传播

时延270毫秒,信道误码率为10?5,信道提供字节流传输服

务,网络层分组长度固定为256字节。

2.实验目的

通过该实验,进一步巩固和深刻理解数据链路层误码检测的CRC校验技术,以及滑动窗口的工作机理。滑动窗口机制

的两个主要目的:(1)实现有噪音信道环境下的无差错传输;

(2)充分利用传输信道的带宽。在程序能够稳定运行并成功

实现第一个目标之后,运行程序并检查在信道没有误码和存

在误码两种情况下的信道利用率。为实现第二个目标,提高

滑动窗口协议信道利用率,需要根据信道实际情况合理地为

协议配置工作参数,包括滑动窗口的大小和重传定时器时限

以及ACK搭载定时器的时限。

3.实验环境

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.选择重传协议

1.数据结构

1)帧结构定义:

typedefstruct{

unsignedcharkind;//类型FRAME_DATA、FRAME_ACK、FRAME_NAK

seq_nrack;//ack序号

seq_nrseq;//帧序号

packetdata;//数据域

unsignedintpadding;//填充部分保存CRC校

文档评论(0)

偶遇 + 关注
实名认证
内容提供者

个人介绍

1亿VIP精品文档

相关文档