欢迎来到天天文库
浏览记录
ID:13676029
大小:1.07 MB
页数:24页
时间:2018-07-23
《数据通信与计算机网络课程设计要求》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第一部分数据通信与计算机网络课程设计(要求)一、课程设计的性质、目的和任务性质:独立设课目的和任务:1、掌握数据通信和计算机网络的基本原理2、掌握数据通信和计算机网络设计、分析和实现方法3、提高学生编制网络通信程序、网络应用服务程序的能力二、课程设计的基本内容和要求基本内容:网络数据通信的基本方法及实现。基本要求:根据选定的项目,课题小组成员认真查阅相关资料,发挥学生的主体作用,提出设计方案,老师参与,进行讨论和分析,最终确定设计方案。在此基础上,合理分工,协同完成项目的设计与实现,最后完成课程设计的报告
2、撰写。三、课程设计的内容学时安排序号实验项目学时分配实验类型每组人数内容提要1ARP协议数据包的捕获解析设计与实现1周设计性3-6人通过本实验,掌握网络协议数据包捕获和解析编程的技术2基于Socket的在线数据传输设计与实现1周设计性3-6人基于Socket套接口,实现通信双方的在线键盘数据传输服务。目的使学生掌握网络在线数据交换的设计方法。3基于Socket的文件传输服务(FTP)设计与实现1周设计性3-6人基于Socket套接口,实现文件数据传输服务。目的使学生掌握文件传输服务的设计方法。4基于Soc
3、ket的HTTP文件传输服务设计与实现1周设计性3-6人基于Socket套接口,实现HTTP文件数据传输服务。目的使学生掌握Web网络服务的设计方法。5基于Socket的Telnet服务设计与实现1周设计性3-6人基于Socket套接口,实现Telnet服务。目的使学生掌握远程登录网络访问服务的设计方法。6滑动窗口协议的模拟1周设计性3-6人通过实现对于滑动窗口协议的模拟,加深对滑动窗口协议的理解。7简单的端口扫描1周设计性3-6人实现一个扫描器,必须能够完成以下所有功能:使用TCPconnect、TCP
4、SYN和TCPFIN进行端口扫描,使用ICMPecho扫描实现IP扫描。并把扫描得知的结果记录下来。注:一、滑动窗口协议的模拟1关于滑动窗口,请阅读网络教材(实现—选择性重发);2运行时启动两个线程client和server。其中sever初始应该为监听状态;3可指定滑动窗口数目m(m=2n,n为大于1的整数)和要发送的帧总数,停等的超时时间间隔以及发送类型(正常发送,即没有缺帧和错序发送帧的现象),发送速率等参数;4client向server发起连接,成功则转入5;5client端发出帧,帧的内容可同序
5、号或者为“111”“222”…“aaa”“bbb”…或者是一段文章中的部分内容;6选择发送类型为“缺帧”,模拟因网络拥塞造成丢帧的情况,开始发送情况同“正常发送”的情况。不同的是在帧x发送前用户可以选择丢失,则客户端继续接收帧x+1,x+2…并且对帧x+1,x+2…发出确认并缓存该帧;7服务器端等待一段相当长的时间(超时),重发帧x;8选择发送类型为“错序发送”。将一组待发送的帧按照指定(错序)顺序发送。具体实现同“缺帧”情况;9以上各种情况下,client和server窗口中应实时显示帧的发送和接受情况
6、,包括序号,到达时间,内容等。以及窗口的填充和清空情况;10使用socket编程;11本实验要求实现的是一个简化了许多的滑动窗口协议。对于所有包,在生成序列号后进行发送。接收方为每个包设定一个定时器,记录包的到达情况。如发送方发送速度过快,或某包定时器超时,则发送方应重发。接受方窗口满时,接受到的包应被拷贝至硬盘(以下部分可以自由设计,仅做参考)。12主要的数据结构:包:classpacket{protect:intnum;//数据包的序号cstringcontent;//数据包内容……//method…
7、…}消息:classmessage{protect:intno;//消息的序号cstringcontent;//消息内容intid;//消息的方向//method……}create_windows()create—packets()Create—timer()Receive()Waitfornext()Write()超时包全部进入Resend()13程序主要流程14方法:voidcreate_windows();//模拟滑动窗口协议中发送,接受窗口voidcreate_packet();//模拟滑动窗口协
8、议中包boolcreate_timer();//模拟滑动窗口协议中的定时器intwaitfornext();//等待下一个包voidresend();//重发voidreceive();//数据包到达,接受数据包voidwrite();//数据包全部到达,写入硬盘注:本实验主要目的是为了加深同学们对于滑动窗口协议的了解,而不是底层的网络编程。所以在这里,“包”的概念可以是一组题为“1”、“2”、“3”等等的文件(由程序动态创建
此文档下载收益归作者所有