2014春计算机网络课程设计任务与要求一、课程目标深入理解计算机网络基本原理,将书本上抽象的概念与具体的实现技术相结合,体会网络协议的设计与实现过程,以及专业技术人员所使用的基本方法和技巧;熟悉相关应用开发工具,掌握网络协议应用开发技术;进一步熟悉网络设备,学习组网技术,掌握网络规划与设计的基本方法;培养一定的自学能力和独立分析问题、解决问题的能力;对设计中遇到的问题,能通过独立思考、查阅资料、参考文献,寻求解决方案。
二、设计题目说明设计题目设置上,采取了分类、分级的形式。
分5个类别,分别是:网络协议或算法、网络服务、组网设计、网络应用编程、理论与应用研究。
分3个级别,从高至低分别是A、B、C。
题目的级别综合依据创新性、综合性、实用性、难度等因素,不同级别,成绩起评分数有别。
A级题目(良-优):较难;综合性强、有明显或突出的创新、探究性较强、实际课题或项目的一部分(实用性);工作量非常饱满;富有建设性;有很强的分析问题与解决问题的能力。
B级题目(中-良):难度适中;工作内容侧重于设计或研究或较高水平应用;有一定综合性、有一定创新、有一定实用性;工作量饱满;有较强的分析问题与解决问题的能力。
C级题目(及格-中):难度不大或偏小;工作内容侧重于验证或学习或简单应用;基本上无创新;工作量不大;有一定的分析问题与解决问题的能力。
三、任务完成形式(1)交付课程设计说明书(纸质+电子版)(2)通过现场验收或答辩(3)交付完整的设计作品(或能体现自己工作的视频课件)、工作量、掌握程度:有效代码行数:600行以上对于第一、四类题目,必须交付设计作品,设计作品指的是完整的源程序代码、相关数据文件;对于第三类题目,必须交付设计作品,设计作品指的是网络拓扑文件、网络仿真配置文件;对于第二、五类题目,必须交付能体现自己工作的视频课件,要求有一定的文字或声音解说。
课程设计说明书(纸质+电子版),对于对于第一、四类题目,内容包括:设计任务、系统分析、总体设计、详细设计(相应地给出关键的代码)、设计总结(评价/遇到的问题/体会/建议等)、使用说明等。
四、工作计划与进度安排根据所选题目,合理安排进度计划,总体上需要50个小时以上(不包含查资料时间)。
以下仅供参考:1. 原理知识8小时以上2. 实用技术(编程、或组网、服务器技术)8小时以上3. 环境与工具(系统平台、开发或仿真工具)4小时以上4. 总体设计、关键环节的详细设计10小时5. 系统实现(编码与调试、或配置与测试)12小时6. 课程设计说明书8小时五、成绩评定总评成绩=平时成绩x20﹪+验收或答辩成绩x50﹪+报告成绩x30﹪六、设计题目及选题以班为单位组织选题,每人限选一题,每题限一人(除特别声明外);可自拟题目,需申报待批,自拟题目不能与已有的题目重复。
题目分五类、三个级别,根据个人的兴趣及基础自行选择。
自拟题目要求:(1)主要内容须与本课程相关(属于上述五种题目类型中某类);(2)原则上仅限A、B级(3)在课程设计正式开始前(至少提前三天),提交“课程设计自拟题目”申请报告,等待指导老师审批,申请报告内容分以下几部分,注意内容一定要具体,否则不予批准:题目、类别、级别、申请人学号/XX/专业、设计任务/内容、选题背景、相关的原理/技术/方法、系统平台与开发工具(语言)、可能的创新或特色之处、工作计划、参考文献。
第一类题目: 网络协议、算法要求:(1)推荐采用图形界面实现。
(2)程序代码书写规X,有充足的注释。
(3)绿色软件:程序运行不需安装,避免写系统和注册表;(4)开发平台、开发语言不限。
(5) 明确题目的意图,设计上应有足够的工作量1.网络协议解析(基于文件)(1)使用报文分析工具软件,捕获报文并进行存储,获得报文数据文件。
(2)编程,在图形界面下,对报文的协议进行解码(3)对ethernet_II、ip、tcp、udp协议进行解码【C】(4)对ieee802.3、icmp协议进行解码【B】(5)对ftp协议进行解码【A】2.网络协议解析(基于Raw Socket)(1)编程,基于socket API接口,使用raw socket捕获网络报文,过滤得到指定格式的报文(2)编程,在图形界面下,对报文的协议进行解码(3)对ethernet_II、ip、tcp、udp协议进行解码【C】(4)对ieee802.3、arp协议进行解码【B】(5)对http协议进行解码【A】3.网络协议解析(基于Winpcap接口)(1)编程,基于winpcap接口,捕获网络报文,过滤得到指定格式的报文(2)编程,在图形界面下,对报文的协议进行解码(3)对ethernet_II、ip、tcp、udp协议进行解码【C】(4)对IPV6、ICMPV6协议进行简单的解码【B】(5)对除ftp、http外的某种应用层协议进行解码【A】4.模拟共享网络中Ethernet帧的发送过程使用至少2个线程模拟Ethernet上主机的数据发送流程。
发送流程必须遵循CSMA/CD协议【C】。
5. 发送和解析Ethernet ARP包熟悉ARP协议并了解Winpcap编程,构造ARP包;先在主机A,ARP包发送出给主机B。
再在主机B 上解析此ARP包。
【C】6. 模拟TCP协议通信过程编程,基于图形界面,仿真两个对等的tcp通信实体,完成一次文件(数据较长)传输的通信过程。
要求具有如下的交互能力:(1)数据文件的长度的设置(2)双方发送、接收窗口大小的设置(3)报文丢失、出错、重复、顺序的人为设置(可定义有关策略(4)发送、或接收能力的设置(假设一方主机很忙)(5)设置可采取预先设置、也可中途设置(6)可自动演示、可单步操作(7)每一步报文都可给出tcp头部数据,并进行说明【B】(8)给出时间轴,以起始时间为0,适当考虑网络发送、接收处理及传输延迟,给出每个报文发送与接收时间7. RIP路由仿真配置与测试程序设计以图形化界面形式,对多个路由器组成的网络,实现RIP路由仿真配置与测试。
路由学习建议采用多线程方式实现。
【A】8. FTP客户端设计(基于winsock接口)实现的ftp客户端,能列出/更改目录,上下传文件,显示文件列表等选项。
【A】9. HTTP客户端的设计与实现(基于winsock接口)开发一HTTP客户端,使其能够向web服务器请求文件、和向服务器提交数据,以便服务器做出相应的处理。
【A】10. 电子客户端的设计与实现(基于winsock接口)完成一个电子客户端软件,要求能够收取、发送、书写新、具有图形化界面。
能批量发送。
【A】11. 软件路由器的设计与实现(基于Winpcap接口)(1)编程实现一个简易的路由器(具有路由功能)(2)具有图形化界面、显示所有的过路、已路由、已丢弃报文(3)对ethernet_ii、简单的ip、tcp、udp协议进行解码(4)支持静态路由的配置【B】(5)可以人为地对可路由报文进行延迟发送、删除、修改、改变发送顺序等操作【A】12. 利用RTP协议完成多媒体数据流传输(1)消化理解实时传输协议RTP及其源代码(可以从网上下载)(2)分别编写个服务器、客户端程序,使用RTP协议来实时传输视频数据或音频数据【A】13. 自定义应用层协议的设计与实现(基于UDP)协议名称:myqq协议功能:实现简单的聊天系统功能(1)注册(2)登入与注销(3)获取在线用户表(4)对指定用户发送聊天报文(5)群发聊天报文【A】14. TCP通信仿真课件设计设计一个课件程序,采用图形化设计,主要功能:(1) 能读取wireshark或sniffer工具所捕获的数据文件(2) 能以直观形式表达TCP连接的建立、释放过程(3) 能以直观形式表达报文序号变化、应答机制【B】(4) 能以直观形式仿真报文的丢失与重传(5) *能以直观形式表达流量控制【A】15. 扩展UDP实现SR可靠数据传输(1)熟悉流水线可靠数据传输机制(GBN);(2)熟悉TCP/UDP协议规X;(3)基于UDP的SR(选择重传)可靠数据传输机制分析与设计(4)UDP Socket程序设计(5)利用UDP实现可靠数据传输服务的验证系统设计与实现【A】16. TRACERT图形化工具(1)另写一个程序,取代Windows 下的Tracert命令,并以图形界面显示输出结果。
(2)能解析主机的域名(将域名解析成对应的IP)(3)支持对物理网络的跟踪【B】(4)支持逻辑网络的定义、及对逻辑网络的跟踪【A】17. OSPF实现熟悉OSPF协议,寻求指定有向图的最短路径。
要求用图形显示求解过程。
【A】第二类题目: 网络服务要求:(1)在虚拟机环境下搭建操作系统平台,虚拟机网卡与物理网络进行桥接(2)网络操作系统类型为linux、ubuntu或windows server 2003/2008(3)学习相关服务器理论知识和配置、应用方法(4)合理规划所要求提供的服务(5) 完成相关的配置,并进行相应的应用测试(6)对所遇到的问题进行分析和解决,(7)应有足够的工作量1. 某单位网络应用服务器的搭建与测试(一)(基于linux或ubuntu平台)(1)网络操作系统安装(在虚拟机环境下)(2)DNS、DHCP服务器(3)服务器(4)FTP服务器(5)WEB服务器(6)TELNET服务、NFS服务2. 某单位网络应用服务器的搭建与测试(二)(基于linux或ubuntu平台)(1)网络操作系统安装(在虚拟机环境下)(2)防火墙服务(3)SSH服务器(4)VNC服务器(5)VPN服务*(6)P2P服务器3. 某单位网络应用服务器的搭建与测试(一)(基于windows server 2003/2008平台)(1)网络操作系统安装(在虚拟机环境下)(2)AD、DNS、DHCP服务(3)Exchange服务*(4)ISA服务(5)VPN远程访问(6)、远程管理4. Windows服务器集群的部署与测试(基于Vmware)(1)网络操作系统安装(在虚拟机环境下)(2)Windows服务器集群的部署(3)集群的应用测试第四类题目: 网络应用编程要求:(1)推荐采用图形界面实现。
(2)程序代码书写规X,有充足的注释。
(3)绿色软件:程序运行不需安装,避免写系统和注册表;(4)开发平台、开发语言不限。
(5) 明确题目的意图,设计上应有足够的工作量N小助手编程实现以下功能:(1)发送ICMP数据包,以获取指定IP网段中的活动主机,并将结果显示在标准输出设备或输出到文件中。
(2)显示这些主机的的IP地址与对应的MAC地址的关系表(3)能显示本地机所有可用的网络接口与对应的ip地址(4)能修改本地机指定网络接口的ip地址(5) 能解析主机的域名(将域名解析成对应的IP)2. 网络流量统计(基于raw socket)监控网络,捕获一段时间内网络上的IP数据包,按IP数据包的源地址统计出该源地址在该时间段内发出的IP数据包的个数,并将其用图形表示出来。