仅供个人参考
2014春计算机网络课程设计任务与要求
一、课程目标
For personal use only in study and research; not for commercial use
深入理解计算机网络基本原理,将书本上抽象的概念与具体的实现技术相结合,体会网络协议的设计与实现过程,以及专业技术人员所使用的基本方法和技巧;熟悉相关应用开发工具,掌握网络协议应用开发技术;进一步熟悉网络设备,学习组网技术,掌握网络规划与设计的基本方法;培养一定的自学能力和独立分析问题、解决问题的能力;对设计中遇到的问题,能通过独立思考、查阅资料、参考文献,寻求解决方案。
二、设计题目说明
设计题目设置上,采取了分类、分级的形式。
分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) 在课程设计正式开始前(至少提前三天),提交“课程设计自拟题目”申请报告,
等待指导老师审批,申请报告内容分以下几部分,注意内容一定要具体,否则不予批准:
题目、类别、级别、申请人学号/姓名/专业、设计任务/内容、选题背景、相关的原理/技术/方法、系统平台与开发工具(语言)、可能的创新或特色之处、工作计划、参考文献。
不得用于商业用途
仅供个人参考
第一类题目: 网络协议、算法
要求:
(1)推荐采用图形界面实现。
(2)程序代码书写规范,有充足的注释。
(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协议规范;
(3)基于UDP的SR(选择重传)可靠数据传输机制分析与设计 (4)UDP Socket程序设计
(5)利用UDP实现可靠数据传输服务的验证系统设计与实现【A】 16. TRACERT图形化工具
(1)另写一个程序,取代Windows 下的Tracert命令,并以图形界面显示输出结果。 (2)能解析主机的域名(将域名解析成对应的IP) (3)支持对物理网络的跟踪【B】
(4)支持逻辑网络的定义、及对逻辑网络的跟踪【A】 17. OSPF实现
熟悉OSPF协议,寻求指定有向图的最短路径。要求用图形显示求解过程。【A】
不得用于商业用途