计算机网络实验二

计算机网络实验二

ID:22102493

大小:216.73 KB

页数:16页

时间:2018-10-27

计算机网络实验二_第1页
计算机网络实验二_第2页
计算机网络实验二_第3页
计算机网络实验二_第4页
计算机网络实验二_第5页
资源描述:

《计算机网络实验二》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、哈尔滨工业大学«计算机网络》实验报告(2016年度春季学期)姓名:蔡鹏学号:1130310726学院:计算机科学与技术学院教师:李晓烽实验二一、实验目的理解滑动窗11协议的基本原理;掌握GBN的工作原理;掌握基于UDP设计并实现一个GBN协议的过程与技术。二、实验坏境1.接入internet的实验主机2.Windows7操作系统3.Visualstadio2015C++语言三、实验内容1)基于UDP设计一个简单的GBN协议,实现单向可靠数据传输(服务器到客户的数据传输)。2)模拟引入数椐包的丢失,验证所设计协议的有效性。四、实验过程及结果服务器端:使用UDP协议传输数裾(比如传输

2、一个文件),等待客户端的请求,接收并处理来自客户端的消息(如数据传输请求),当客户端开始请求数据时进入“伪连接”状态(并不是真正的连接,只是-•种类似连接的数据发送的状态),将数据打包成数据报发送,然后等待客户端的ACK信息,同时启动计时器。当收到ACK时,窗口滑动,正常发送下一个数据报,计时器重新计时;若在计时器超时前没有收到ACK,则全部重传窗口内的所以己发送的数据报。具体实现:1)命令解析为了测试客户端与服务器端的通信交互,方便操作,设置了此过程。首先,服务器接收客户端发来的请求数据,“-time”表示客户端请求获取当前时间,服务器回复当前时间;“-quit”表示客户端退出

3、,服务器回复“Goodbye!”;“-testgbn”表示客户端请求开始测试GBN协议,服务器开始进入GBN传输状态;其他数据,则服务器直接回复原数据。2)数据传输数据帧格式定义在以太网屮,数据帧的MTU为1500字节,所以UDP数据报的数据部分应小于1472字节(除去IP头部20字节与UDP头的8字节),为此,定义UDP数据报的数据部分格式为:dataSeqSeq为1个字节,取值为0〜255,(故序列号最多为256个);Data彡1024个字节,为传输的数据;最后一个字节放入EOFO,表示结尾。客户端:使用UDP协议向服务器端请求数据,接收服务器端发送的数据报并返回确认信息AC

4、K(注意GBN为累积确认,即若ACK=1和3,表示数据帧2已经正确接收),必须能够模拟ACK丢失直至服务器端超时重传的惜况。1)ACK数据帧定义Ack0巾于是从服务器端到客户端的单向数据传输,因此ACK数据帧不包含任何数据,只需要将ACK发送给服务器端即可。ACK字段为一个字节,表示序列号数值;末尾放入0,表示数据结束。2)命令设置客户端的命令和服务器端的解析命令向对应,获収当前川户输入并发送给服务器并等待服务器返回数据,如输入“-time”得到服务器的当前时间。“•testgbn[X][Y]”命令,[X],[y]均为[0,1]的小数,其中:[X]表示客户端的丢包率,模拟网络屮报

5、文丢失;IYJ表示客户端的ACK的丢失率。(使用随机函数完成)。如果用户不输入,则默认丢失率均为0.2。源代码及注释:Client.cpp://GBNclient,cpp:定义控制台应用程序的入口点。//#include^include〈stdlib.h>^include^include^pragmacomment(1ib,〃ws232.lib")#dcfincSERVER_PORT12340//接收数据的端口号#defineSERVERIP"127.0.0.1〃//服务器的IP地址constintBUFFERLENGT

6、H=1026;constintSEQ_SIZE=20;//接收端序列号个数,为广20/*-time从服务器端荻取当前时间-quit退出客户端-tcstgbn[X]测试GBN协议实现可靠数据传输[X][0,1]模拟数据包丢失的概率[Y][0,1]模拟ACK丟失的概率/*^T*^T*^T*^T**T*^T*^T*^T*^T*^T*^T*>T*^T*^T*^T**T*^T*voidprintTipsO{printf(,,*****************************************,/)printfC-timetogetcurrenttimelrT)print

7、fC-quittoexitclientIr/’)printf(〃-testgbn[X][Y]totestthegbn

8、〃)printf(,,*****************************************,);•’%v1、^、//Method:losslnLossRatio//EullNamc:losslnLossRatio//Access:public//Returns:BOOL//Qualifier:根据丢失率随机生成一个数字,判断是否丢失,丢失则

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

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

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