滑动窗口实验.docxVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
滑动窗口实验

计算机通信网络实验 滑动窗口实验 学院: 班级: 学号: 姓名: 2012年11月14日实验目的实现一个滑动窗口协议的数据传送部分,目的在于使学生更好地理解基本滑动窗口协议的基本工作原理,掌握计算机网络协议的基本实现技术。原理简介(1)窗口机制滑动窗口协议的基本原理就是在任意时刻,发送方都维持了一个连续的允许发送的帧的序号,称为发送窗口;同时,接收方也维持了一个连续的允许接收的帧的序号,称为接收窗口。发送窗口和接收窗口的序号的上下界不一定要一样,甚至大小也可以不同。不同的滑动窗口协议窗口大小一般不同。发送方窗口内的序列号代表了那些已经被发送,但是还没有被确认的帧,或者是那些可以被发送的帧。(2)1比特滑动窗口协议当发送窗口和接收窗口的大小固定为1时,滑动窗口协议退化为停等协议(stop-and-wait)。该协议规定发送方每发送一帧后就要停下来,等待接收方已正确接收的确认(acknowledgement)返回后才能继续发送下一帧。由于接收方需要判断接收到的帧是新发的帧还是重新发送的帧,因此发送方要为每一个帧加一个序号。由于停等协议规定只有一帧完全发送成功后才能发送新的帧,因而只用一比特来编号就够了。(3)后退n协议由于停等协议要为每一个帧进行确认后才继续发送下一帧,大大降低了信道利用率,因此又提出了后退n协议。后退n协议中,发送方在发完一个数据帧后,不停下来等待应答帧,而是连续发送若干个数据帧,即使在连续发送过程中收到了接收方发来的应答帧,也可以继续发送,且发送方在每发送完一个数据帧时都要设置超时定时器,只要在所设置的超时时间内仍收到确认帧,就要重发相应的数据帧。如:当发送方发送了N个帧后,若发现该N帧的前一个帧在计时器超时后仍未返回其确认信息,则该帧被判为出错或丢失,此时发送方就不得不重新发送出错帧及其后的N帧。实验步骤编写滑动窗口协议的实现程序;在模拟实现,调试并运行自己编写的协议实现程序;了解协议的工作轨迹,如出现异常情况,在实验报告中写出原因分析。实验过程 1、程序功能及设计思路功能概述:用客户端/服务器模式代表A站、B站。先由客户端输入服务器IP地址,然后客户端和服务器之间建立连接。在服务器中可以自行设置发送窗口的大小(如果需要实现的是停等式协议,那么就将发送窗口设为1),设置完后,服务器开始向客户端根据滑动窗口(停等式)的协议规定发送数据帧,同时启动计时器,客户端收到数据帧后马上向服务器发送确认帧,服务器如果没有及时收到客户端的确认帧,就要返回到出错的地方进行重发。实现滑动窗口协议的算法:发送端:1、socket初始化,绑定端口,监听,接受连接;2、设置发送窗口大小winsize;3、启动定时器,设置时间为0.2s*winsize;4、组帧并发送数据,即设置序号SN、数据data、长度msglen,之后发送一个窗口中的帧,每发送一个数据SN++;若发送完毕,则执行第6步;5、接收确认帧,每收到一个正确的确认帧,则改变滑动窗口上下限,若正确接收所有确认帧,则关闭定时器,返回第3步;若接收超时或有确认帧丢失,则SN=right_number,返回第3步;6、关闭socket,重新建立新的进程,等待下一个连接,返回第2步。接收端:1、socket初始化,连接服务器;2、接收数据帧,将data存入缓存recvBuf,RN=SN+1;3、发送确认帧,若接收完毕,则关闭socket,否则返回第二步。实现停等式协议的算法:和上述滑动窗口协议的算法类似,只需在发送端的第二步中将发送窗口大小winsize设置为1即可。2、C语言程序代码:客户端Client://*********************** receiver.c *****************************#pragma comment(lib, ws2_32.lib) //WINSOCK API连接库文件#include winsock.h //WINSOCK API的头文件,需要包含在项目中#include stdio.h #includestring.hint err;SOCKET sockClient; //用于客户端的SocketSOCKADDR_IN addrSrv; //服务端地址SOCKADDR_IN addrClient; //客户端地址char serverip[20]; //服务端IP//int i=0; //testint length = sizeof(struct sockaddr);int RN=0; //接收序号char recvBuf[10][100]; //发送帧测试内容,10条//-------------------------------------------

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档