- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
《计算机网络》课程设计报告
学院:计算机学院
专业:计算机科学与技术6班
指导老师:***
学生姓名:李皓楠、王博韬、魏征、杨俊铸
计算机网络项目书
一,设计目标
Project2:滑动窗口协议模拟
编写一个简单的滑动窗口协议模拟程序,实现两台主机间基于滑动窗口的流控机制。拓扑结
构如下图所示:
主机A传输模主机B
拟器器
(1)主机A、主机B及传输模拟器可分别用线程模拟;
(2)传输模拟器用于实现网络传输过程中的丢包、错包和延迟;
(3)定义主机间传输的PDU的结构,包括发送方标识、接收方标识、帧序号、确认号等、
窗口大小等,以用于实现Go-Back-N的滑动窗口协议;
(4)在两个主机间传送需要切分成多个帧的大数据块(可直接传输文件进行模拟);
(5)一开始的时候,可以让网络仿真网关不丢弃任何帧,也不产生差错帧,检查程序是
否能够正常完成传输,为了验证程序是否按照协议工作,让两个程序都显示收发包
信息
(6)开启网络仿真网关的丢包功吧一定的丢包率进行丢包,重新运行两个应用程序,检
查是否能正常完成文件的传输
(7)开启网络仿真网关的错包功能,使其按照一定的错包率产生错包,重新运行两个应
用程序,检查是否能正常完成文件的传输
(1)开启网络仿真网关的延时功能,使其按照一定的概率产生延时,重新运行两个应用
程序,检查是否能正常完成文件的传。
(2)能直观体现出收发双方窗口的滑动过程或Go-Back过程。
二,任务分配
1.组内分工
代码编写:王博韬、魏征
资料查找、程序测试、报告编写:李皓楠、杨俊铸
三,系统设计
1,基本原理
滑动口协议的基本原理就是在任意时刻,发送方都维持了一个连续的允许发送的帧的序号,
称为发送窗口;同时,接收方也维持了一个连续的允许接收的帧的序号,称为接收窗口。发
送窗口和接收窗口的序号的上下界不一定要一样,甚至大小也可以不同。不同的滑动窗口协
议窗口大小一般不同。发送方窗口内的序号代表了那些已经被发送,但是还没有被确认的帧,
或者是那些可以被发送的帧。接受方为其窗口内的每一个序号保留了一个缓冲区。与每个缓
冲区相关联的还有一位,用来指明该缓冲区是满的还是空的。若从滑动窗口的观点来统一看
待1比特滑动窗口、后退n及选择重传三种协议,它们的差别仅在于各自窗口尺寸的大小不
同而已。1比特滑动窗口协议:发送窗口=1,接收窗口=1;后退N协议:发送窗口1,接收
窗口=1;选择重传协议:发送窗口1,接收窗口1。
四,系统实现
考虑设计采用进程模拟,主要算法写在check.h中,编写发送窗口与接收窗口调用实现。
发送帧格式为第一位表示接发者,(0表示数据帧,1表示确认帧)。第二至第四位表示帧
序号(确认号),数据帧由第5位开始到最后为数据与末3位的校验码,确认帧无校验码。
窗口大小为7,采用CRC校验(生成多项式为1010)
1,发送窗口主要函数实现
函数名:send_data2
功能:检测是否需要产生错误,检测是否需要丢包(只丢一次),将string类型
转为字符数组,发送缓冲区所有数据,
函数名:send_data
功能:发送数据块。
确认帧类型+帧序号+数据部分,加CRC校验码,加入缓冲池
函数名:accept_inf
功能:接受监测
2,接受窗口主要函数实现
函数名:send_ack
功能:确认并请求帧
函数名:data_handling
功能:数据处理
函数名:accept_inf
功能:接受线程信息,进行CRT校验,主要数据处理
3,数据处理部分主要函数实现
函数名:bin_division
功能:二进制除法(被除数与除数位数一致),返回余数(字符串形式)
函数名:bin_division_2
功能:二进制除法(被除数位数不定),返回字符串型余数
函数名:check
功能:校验帧是否发生错误,返回bool值
函数名:add_CRC
功能:为字符串型加上CRC校验码,返回字符串类型
函数名:cut_CRC
您可能关注的文档
- 重大风险清单.pdf
- 重修复习题_原创文档.pdf
- 采区电气设备使用3300v供电时安全措施.pdf
- 酒店无线网络方案教学文稿.pdf
- 配送运营部内部监督管理工作方案范文.pdf
- 配电柜安装及调试技术部分.pdf
- 部编语文五年级下册第14课《刷子李》同步训练题(含答案).pdf
- 部编版选择性必修上第二单元名句默写(含答案).pdf
- 部编版语文五年级下册 课课练——11军神(含答案).pdf
- 部编版语文一至六年级词语、古诗、日积月累、文言文、课文汇总(完美版、至尊版、匹配版、打印版)).pdf
- 中国国家标准 GB/T 4214.17-2024家用和类似用途电器噪声测试方法 干式清洁机器人的特殊要求.pdf
- GB/T 4214.17-2024家用和类似用途电器噪声测试方法 干式清洁机器人的特殊要求.pdf
- 《GB/Z 43202.1-2024机器人 GB/T 36530的应用 第1部分:安全相关试验方法》.pdf
- GB/Z 43202.1-2024机器人 GB/T 36530的应用 第1部分:安全相关试验方法.pdf
- 中国国家标准 GB/Z 43202.1-2024机器人 GB/T 36530的应用 第1部分:安全相关试验方法.pdf
- 中国国家标准 GB/T 32455-2024航天术语 运输系统.pdf
- GB/T 32455-2024航天术语 运输系统.pdf
- 《GB/T 32455-2024航天术语 运输系统》.pdf
- GB/T 44369-2024用于技术设计的人体运动生物力学测量基础项目.pdf
- 中国国家标准 GB/T 44369-2024用于技术设计的人体运动生物力学测量基础项目.pdf
文档评论(0)