数据通信与计算机网络课程设计要求
计算机网络课程设计题目及要求

《计算机网络》课程设计题目及要求一、课程设计的性质和目的计算机网络课程是计算机科学与技术专业的重要专业课程之一,由于计算机网络是一门实践性较强的技术,课堂教学应该与实践环节紧密结合。
根据计算机网络与Internet基本概念、基本工作原理与实现技术的学习要求,本课程通过课程设计,配合教学过程,由学生循序渐进地独立完成网络编程任务,以达到深入理解网络基本工作原理与实现方法,掌握处理网络问题的基本方法的目的。
二、课程设计教学基本要求学生选做一题,程设计时间为1周,学生独立完成设计、调试工作,设计合理,达到设计任务要求。
认真完成设计报告书。
设计结束时每人提交一份设计报告。
三、课程设计选题1.FTP客户机程序设计2.POP3客户机程序设计3.WWW客户机程序设计4.主机端口扫描程序设计5.网络主机扫描程序设计6.IP数据包捕获与解析程序设计以上题目要求在课程设计指导书的基础上扩展与Socket通信编程相关的功能。
四、成绩评定考核方式包括课程设计报告考核和设计作品考核两部分。
主要考查学生程序设计、程序调试情况。
课程设计报告考核:综合考核学生的设计报告内容、软件设计方案、文字表达、页面整洁度等,评定总成绩分优秀、良好、中等、及格、不及格五个等级。
五课程设计报告要求1、设计报告的组成课程设计报告的构成包括:(1)前置部分:封面、题目(2)主体部分:引言(设计目的、任务与要求等)、正文、结论、参考文献;(3)附录部分。
2、编写格式2.1前置部分2.1.1封面由设计题目、班级、学号、姓名、指导教师、设计时间等部分组成。
2.1.2设计报告结构设计报告按章、节结构组成,有必要的话,可以有附录部分。
章形式:第X章节形式:X.Y(两级结构)X.Y.Z(三级结构)2.2主体部分2.2.1引言(设计目的、任务与要求等)简要说明设计题目的目的、意义、内容、主要任务等。
2.2.2正文正文是设计说明书的核心部分,占主要篇幅。
要按照软件工程设计过程来阐述,可以包括实验环境、理论依据、编程原理、数据结构、系结构结、数据处理、设计说明与依据、加工整理和图表、形成的论点和导出的结论等。
《通信与网络技术》课程标准

《通信与网络技术》课程标准一、课程性质与目标《通信与网络技术》是计算机科学与技术专业的一门重要课程,旨在培养学生掌握通信与网络的基本理论、技术和方法,具备通信与网络系统的设计、开发、维护和管理能力。
本课程是一门综合性较强的课程,涉及到通信原理、计算机网络、数据通信、网络安全、多媒体通信等多个领域。
本课程的目标是使学生掌握通信与网络的基本概念、原理和技术,了解通信与网络的发展趋势,能够运用所学知识解决实际问题,具备团队协作和创新能力。
二、教学内容与要求教学内容包括通信与网络的基本概念、通信原理、数据传输、网络体系结构、局域网、广域网、无线网络、网络安全、多媒体通信等。
要求学生掌握通信与网络的基本原理和技术,了解各种网络协议和标准,能够运用所学知识进行网络系统的设计、开发、维护和管理。
三、教学方法与手段1. 理论教学与实践教学相结合:本课程采用理论教学与实践教学相结合的教学方法,通过实验、课程设计、项目实践等多种形式,使学生掌握通信与网络技术的实际应用。
2. 案例教学:在教学中引入实际案例,帮助学生理解通信与网络技术的实际应用,提高学生的学习兴趣和动力。
3. 课堂讨论:鼓励学生参与课堂讨论,培养他们的思辨能力和表达能力。
4. 多媒体教学:利用多媒体手段,包括课件、视频、案例分析等多种形式,提高教学效果和质量。
四、教学评价方式本课程的考核方式包括平时成绩和期末考试两部分。
平时成绩包括出勤率、作业完成情况、实验成绩等;期末考试采用闭卷笔试的形式,考查学生对通信与网络技术的掌握情况。
同时,鼓励学生积极参加课外实践活动和项目实践,以丰富他们的实践经验和学习体验。
五、师资队伍与教学资源本课程的教学团队由具有丰富教学经验和行业背景的教师组成,他们具有硕士及以上学历,具备通信与网络领域的专业知识和技能。
同时,学校拥有丰富的实验设备、教学资源和实践基地,为学生提供良好的学习环境和条件。
六、课程建设规划为了提高《通信与网络技术》课程的教学质量和水平,我们计划进行以下课程建设规划:1. 完善教学资源:更新和完善实验设备、教学资源和实践基地,为学生提供更好的学习环境和条件。
北邮计算计网络课程设计

北邮计算计网络课程设计一、课程目标知识目标:1. 让学生掌握计算机网络的基本概念,包括网络结构、协议和设备;2. 了解数据通信的基本原理,如信号传输、编码和解码;3. 学会使用网络模型分析实际网络问题,理解不同层次的网络协议及其功能;4. 掌握TCP/IP协议簇,了解互联网的工作原理。
技能目标:1. 培养学生运用网络知识解决实际问题的能力,如网络故障排查、网络性能优化;2. 提高学生的网络设备配置与调试技能,熟悉常见网络设备的使用方法;3. 培养学生进行网络编程和网络安全防护的能力,掌握相关技术和工具。
情感态度价值观目标:1. 培养学生对计算机网络学科的热爱和兴趣,激发学生自主学习、探究网络的欲望;2. 培养学生良好的团队合作精神,提高沟通协调能力;3. 增强学生的网络安全意识,树立正确的网络道德观念。
课程性质:本课程为计算机网络专业基础课,旨在帮助学生建立扎实的网络知识体系,提高实际操作能力。
学生特点:北邮计算机网络课程面向大学二年级学生,学生具备一定的计算机基础,但网络知识相对薄弱。
教学要求:结合学生特点,课程设计应注重理论与实践相结合,强化实操环节,使学生能够将所学知识应用于实际网络环境中。
通过课程学习,使学生达到预定的知识、技能和情感态度价值观目标,为后续相关课程打下坚实基础。
二、教学内容1. 计算机网络基本概念:介绍网络结构、协议、设备等基本知识,对应教材第一章内容。
- 网络层次模型- 网络协议与标准- 网络设备与分类2. 数据通信基础:讲解信号传输、编码解码等原理,对应教材第二章内容。
- 数据通信原理- 信号传输方式- 编码与解码技术3. 网络模型与协议:分析OSI七层模型、TCP/IP模型,学习各层协议及其功能,对应教材第三章内容。
- OSI七层模型- TCP/IP四层模型- 常见网络协议及其功能4. TCP/IP协议簇:深入了解互联网工作原理,学习TCP、IP、UDP等协议,对应教材第四章内容。
计算机网络课程设计

计算机网络课程设计一、课程设计目的计算机网络课程设计是计算机科学与技术专业实践环节之一,是学习完《计算机网络》课程后进行的一次全面的综合练习。
其目的在于加深对OSI七层模型、TCP/IP模型的各层功能和设计思想的理解,掌握组建计算机网络的基本技术,特别是网络规划、设计和IP地址的分配,提高学生的应用能力。
二、课程设计内容及要求1、规划、设计局域网拓扑图,划分子网,设计子网地址、掩码和网关,为每个子网中的计算机指定IP地址。
2、在计算机内安装网络接口卡,动手制作双绞线网线,把计算机与集线器(交换机)相连,实现硬件上的连接。
3、给每台计算机安装含有网络内置功能的操作系统,如Windows2000Server、Unix、或Windows98等,安装TCP/IP协议,配置IP地址、掩码和网关等参数。
4、创建一个简单的WEB服务器,并制作一些网页,放入WEB服务器内。
5、创建局域网内的DNS服务器,配置相关文件,可以对局域网内的主机作域名解析。
6、创建局域网内的DHCP服务器,配置相关文件,可以对局域网内的机器作IP自动分配。
三、实验过程:1、1)计算机IP地址分配、掩码和网关局域网的IP地址有动态和静态两种类型。
选中TCP/IP选项,再单击【属性】按钮,在如图3-3的【TCP/IP属性】窗口中,先单击【IP地址】标签,我们来配置本机的IP地址和子网掩码(每个正式入网的用户都事先被分配给了一个合法IP地址,不同的用户拥有各自不同的IP地址和相同的子网掩码,如有疑问请到网络中心用户服务部查询)。
2)IP、子网掩码本例中为:IP地址(I):210.34.128.211子网掩码(U):255.255.255.03)网关如果正式入网的用户事先被分配给了一个合法IP地址,那么同时也分配有固定的网关(路由器)地址。
例如,对应上面的IP地址,其网关地址为:210.34.128.1 (网络中心给定)用鼠标单击【网关】标签,在这里输入新增网关(210.34.128.1)的地址后,再单击【添加(A)】按钮把它添加到“已安装的网关(I):”中。
计算机网络课程设计报告

计算机网络课程设计报告一、设计背景。
计算机网络课程设计是计算机专业学生的重要课程之一,通过该课程的学习,学生可以系统地了解计算机网络的基本原理、技术和应用,培养学生的计算机网络设计和应用能力。
本次课程设计旨在通过实际操作,帮助学生深入理解计算机网络的知识,提高他们的实际动手能力和解决问题的能力。
二、设计目标。
1. 理论与实践相结合,通过设计,使学生能够将所学的理论知识应用到实际的网络设计中,提高他们的实际操作能力。
2. 提高解决问题的能力,设计中设置一些难点和问题,引导学生思考和解决,提高他们的问题解决能力。
3. 培养团队协作精神,设计中设置一些需要团队合作的任务,培养学生的团队协作意识和能力。
三、设计内容。
1. 网络拓扑设计,要求学生设计一个小型局域网的网络拓扑结构,包括主机、交换机、路由器等设备的连接方式和布局。
2. IP地址规划,要求学生为局域网中的每台主机和设备规划合理的IP地址,要求考虑到网络的扩展性和管理的便利性。
3. 网络服务配置,要求学生配置局域网中的基本网络服务,如DHCP服务、DNS服务等,使局域网内的主机能够正常通信和访问互联网。
4. 网络安全设置,要求学生设置基本的网络安全策略,包括防火墙配置、访问控制策略等,保障局域网的安全和稳定运行。
5. 网络故障排除,设计一些故障场景,要求学生能够快速定位和解决网络故障,提高他们的故障排除能力。
四、设计要求。
1. 设计报告,学生需要提交完整的设计报告,包括设计思路、实施步骤、配置截图等内容。
2. 实际操作,学生需要在实际的网络设备上进行配置和实验,完成设计要求。
3. 问题解答,学生需要对设计中遇到的问题进行解答和总结,形成经验和教训。
五、设计评价。
1. 设计报告评价,评价学生的设计报告是否完整、清晰、符合要求。
2. 实际操作评价,评价学生的实际操作能力和解决问题的能力。
3. 问题解答评价,评价学生对设计中遇到的问题的解答和总结是否合理、深入。
计算机网络技术课程设计

计算机网络技术课程设计一、课程目标知识目标:1. 理解计算机网络的基本概念,掌握网络体系结构、网络协议、网络设备等基本知识;2. 学会使用网络通信协议,了解不同类型的网络拓扑结构及其特点;3. 了解网络信息安全的基本原理,掌握常用的网络防护措施。
技能目标:1. 能够独立搭建简单的网络环境,进行网络设备的配置与调试;2. 学会使用网络诊断工具,分析并解决网络故障;3. 提高信息检索、分析、处理的能力,运用网络资源进行自主学习。
情感态度价值观目标:1. 培养学生的团队协作精神,提高沟通与协作能力;2. 增强网络安全意识,遵循网络道德规范,养成文明上网的良好习惯;3. 激发学生对计算机网络技术的兴趣,培养其探索精神和创新意识。
课程性质:本课程为计算机网络技术的基础课程,旨在让学生掌握计算机网络的基本知识和技能,培养具备实际操作能力及网络素养的人才。
学生特点:本课程面向初中生,学生对计算机网络有一定的好奇心,但知识基础和操作能力有限,需要结合实际案例和实践活动进行教学。
教学要求:注重理论与实践相结合,采用案例教学、任务驱动等方法,提高学生的实际操作能力和解决问题的能力。
同时,关注学生的情感态度价值观的培养,使他们在学习过程中形成良好的网络素养。
通过分解课程目标,为后续的教学设计和评估提供明确的方向。
二、教学内容1. 计算机网络基础知识- 网络体系结构及OSI七层模型- 常用网络协议(TCP/IP、HTTP、FTP等)- 网络设备(交换机、路由器、防火墙等)2. 网络拓扑结构- 星型、总线型、环型、网状等拓扑结构的特点与应用- 网络设备在不同拓扑结构中的配置与调试3. 网络通信协议- IP地址、子网划分、路由选择等概念- 常用网络诊断工具(如ping、tracert等)的使用4. 网络信息安全- 网络攻击手段及防护措施- 加密技术、数字签名等安全机制5. 实践操作- 搭建简单网络环境,进行设备配置与调试- 分析网络故障,排除问题- 网络安全防护实践教学内容安排与进度:第一周:计算机网络基础知识第二周:网络拓扑结构与设备配置第三周:网络通信协议第四周:网络信息安全第五周:实践操作(含总结与评价)教材章节及内容列举:第一章:计算机网络基础第二章:网络拓扑结构与设备第三章:网络通信协议第四章:网络信息安全第五章:实践操作与案例分析教学内容根据课程目标进行科学性和系统性的组织,注重理论与实践相结合,使学生在掌握计算机网络基础知识的同时,提高实际操作能力。
计算机网络课程设计题目和要求

计算机网络课程设计通过课程设计,使学生在对计算机网络技术与发展整体了解的基础上,掌握网络的主要种类和常用协议的概念及原理,初步掌握以TCP/IP协议族为主的网络协议结构,培养学生在TCP/IP协议和LAN、WAN上的实际工作能力;学会网络构建、网络日常维护以及网络管理的方法,使学生掌握在信息化社会建设过程中所必须具备的计算机网络组网和建设所需的基本知识与操作技能;运用网络工程和软件工程思想,按照需求分析、规划、设计、配置的基本流程,经历一个完整的网络工程过程,培养学生调查研究、查阅技术文献、资料、手册以及编写技术文档的能力,培养学生将理论知识应用于实践的能力;一、格式要求及须知:(1)使用学院网站的课程设计模版,要求格式美观,字体及编号要求见表1;表1 字体及编号要求(2)参考文献:参考课本的参考文献格式附录C;但编号换成1、2……(3)附录:课程设计中的代码或得到的数据包等数据将作为该设计附件或附录,题目需要但没有的相应代码及数据包文件的将记整组不及格,需要重做; (4)成绩记录:该设计成绩将记录到教务处成绩管理系统中;6 如发现两组设计雷同或抄袭互联网,该组重做二、任务完成形式:交付课程设计说明书、设计作品需要验收;设计作品指的是完整的源程序代码对于第二类题目为仿真文件;课程设计说明书纸质+电子版,内容包括:设计任务、需求分析、总体设计、详细设计相应地给出关键的代码、设计总结评价/遇到的问题/体会/建议等、使用说明等;设计工作计划与进度安排:根据所选题目,合理安排进度计划,总体上需要40个小时;以下仅供参考:1. 原理知识 4小时2. 程序设计技术 4小时3. 开发环境与程序调试环境 4小时4. 总体设计、关键环节的详细设计 8小时5. 系统实现编码与调试 12小时6. 课程设计说明书 8小时成绩评定方式:总评成绩=平时成绩x10﹪+软件演示与陈述x45﹪+课程设计说明书x45﹪设计题目与任务:每组自由分组从下列题目中任选其一,班长统计每组题目,报给指导老师;注意题目不能重复辅导时间、验收时间安排:辅导时间:1、网络答疑群号2、现场答疑:第4,5周周二下午 5678节周五上午 1234节周日上午 1234节辅导答疑地点:14307上机指导地点:14410验收时间:周日 14410 8:30~12:00课程设计报告上交时间周五上午11:00交到14307第一类:网络编程类题目以软件形式验收要求:1推荐采用图形界面实现;2程序代码书写规范,有充足的注释;3绿色软件:程序运行不需安装,避免写系统和注册表;4开发平台、开发语言不限;5 明确题目的意图,设计上应有足够的工作量题目1 基于C/S模式的简单聊天程序2人1、设计要求使用Socket实现网上聊天功能;用户可以通过客户端连接到服务器端并进行网上聊天;聊天时可以启动多个客户端;服务器端启动后,接收客户端发来的用户名和密码验证信息;验证通过则以当前的聊天客户列表信息进行响应;此后接收客户端发来的聊天信息,转发给客户端指定的聊天客户即私聊或所有其他客户端;在客户断开连接后公告其退出聊天系统的信息;客户端启动后在GUI界面接收用户输入的服务器端信息、账号和密码等验证客户的身份;验证通过则显示当前系统在线客户列表;客户可以与指定对象进行私聊,也可以向系统中所有在线客户发送信息;实现本程序需要了解网络基础知识,掌握C/S结构的工作特点,掌握数据结构、高级语言及网络编程知识,可以选择Visual C++、C或Java等语言实现;2、课程设计报告内容1 给出系统的结构;2 给出程序的流程图;3 分别给出服务器端和客户端的程序源码;4 给出程序的部分运行测试结果;题目2 基于C/S模式的通讯录查询程序2人1、设计要求采用C/S模式,编写程序,实现通过客户端查询服务器端的通讯录的功能;1 服务器端接收客户端的查询请求,验证客户身份,如通过身份验证,则将客户要查询的通信录记录返回客户端;客户身份数据及通信录数据均为虚拟数据,可自行编制,客户身份至少应有客户ID、客户密码登录密码,通信录记录包括:人员编号ID、姓名,单位地址、手机号码、单位电话、宅电等;所有字段的数据类型可自行设计;2 客户端以GUI方式接收用户输入的查询请求,向服务器发出查询并接收和显示查询结果;3 其他说明客户端需包括如下的按钮:连接;连接到查询服务器,回应:连接成功/失败;登录;用户登录由服务器验证用户的身份;回应:若用户不存在,提示“无此用户”;若用户存在,提示“密码:”,用户输入密码后,若正确提示“登录成功”,若不正确提示“密码错”;查询;根据用户ID或姓名查询用户信息;回应:若用户号或姓名不存在,提示“错误的用户号或姓名”;若用户号或姓名存在,给出该记录的详细信息;退出;退出查询系统,断开与服务器的连接;服务器端的通讯录保存在数据库中,数据库类型不限;实现本程序需要了解网络基础知识,掌握C/S结构的工作特点,掌握数据结构、高级语言及网络编程知识,可以选择Visual C++、C或Java等语言实现;2、课程设计报告内容1 给出系统的结构;2 给出程序的流程图;3 给出服务器端的数据表结构;4 分别给出客户端和服务器端的程序源码;5 给出程序的部分运行测试结果;题目3 FTP客户端的设计与实现 2人1、设计要求遵循FTP协议,实现一个FTP的客户端程序,根据账号和密码登录指定的FTP 服务器,可以查看服务器内容列表,下载选定的文件,重命名或删除指定的文件/文件夹,也可以把本地文件上传到服务器上;实现本程序需要了解网络基础知识,掌握FTP的工作过程,了解FTP的相关命令,掌握高级语言及网络编程知识,可以选择Visual C++、Java或C等语言实现;2、课程设计报告内容1 给出相关的原理和设计思路;2 给出程序的流程图;3 给出程序源码;4 给出程序的部分运行测试结果;题目4 PING程序的设计与实现 2人1、设计要求设计并实现程序,实现类似Windows自带PING程序的功能,可以向指定的域名或IP地址发送Echo 请求报文,并根据响应报文显示出Ping的结果;程序仅支持-t 选项即可;实现本程序需要了解网络基础知识,掌握Ping命令的使用、ICMP报文的作用和结构、高级语言及网络编程知识,可以选择Visual C++、C或Java等语言实现;2、课程设计报告内容1 给出相关的原理和设计思路;2 给出程序的流程图;3 给出程序源码;4 给出程序的部分运行测试结果;题目5 一个单工的停-等协议及支持重传确定协议的实现2人1、设计要求对一个单工的停-等协议及支持重传肯定确定协议进行解释说明,并分别给出一个单工的停-等协议及支持肯定协议的例子,对函数进行解释说明;2、课程设计报告内容1 给出设计的需求分析,包括概要设计,详细设计;2 列出程序代码;3 给出程序实现结果抓图;题目6 路由器查表过程模拟 2人1、设计要求编程模拟路由器查找路由表的过程,用目的地址掩码下一跳的IP路由表以及目的地址作为输入,为目的地址查找路由表,找出正确的下一跳并输出结果;2、课程设计报告内容1 给出路由表的相关知识和原理;2 详细描述设计过程;3 给出设计思路;4 列出程序代码;5 给出查找过程的测试结果;题目7 基于多线程的端口扫描程序 2人1、设计要求使用Socket实现简单的端口扫描功能;分别针对TCP和UDP,采用多线程技术实现端口扫描,给出扫描结果;实现本程序需要了解网络基础知识、网络安全基础知识,掌握C/S结构的工作特点,掌握高级语言及网络编程知识,可以选择Visual C++、C或Java等语言实现;2、课程设计报告内容1 给出程序的流程图;2 给出程序源码;3 给出程序的部分运行测试结果;题目8 循环冗余校验CRC算法的实现 2人1利用结构体或数组模拟网络数据包结构;2编码实现CRC算法,并将得到的校验位附加到网络数据包相应的位置;3根据数据包的长度,随机生成一个数据包产生突变的位置,并对该位置的bit 位模拟突变的产生;4重新利用CRC算法校验该数据包,并指出产生的结果;5CRC能够检出所有的错误吗如果不能,你能构造出无法检错的实例吗2、课程设计报告内容1 给出程序的流程图;2 给出程序源码;3 给出程序的测试结果;题目9 子网划分工具的设计与实现 2人1、设计要求1编程实现一个子网划分的简单工具;2能够根据用户输入的网络地址和子网掩码,判断出用户输入的合法性及网络的类别A、B、C地址;3能够计算出下列参数:子网数及有效子网、每个子网的主机数、每个子网IP范围及广播地址;4应有相应的帮助提示及良好的结果输出组织,易于用户使用和查看结果; 2、课程设计报告内容1 给出程序的流程图;2 给出程序源码;3 给出程序的部分运行测试结果;题目10 电路交换和分组交换的软件仿真比较2人软件编程语言不限实现将数据报文划分成若干个大小有限的短数据块,在每个数据块前面加上一些控制信息即首部,包括诸如数据收发的目的地址、源地址,数据块的序号等,形成一个个分组,然后各分组在交换网内采用“存储转发”机制将数据从源端发送到目的端;节点交换机数目和连接方式可以根据需要自行设定;然后用将同样的报文用电路交换的方式从源端发送到目的端;2、课程设计报告内容1给出将报文划分成若干大小有限的短数据块和目的端接收到数据后将数据报文还原成原始报文的算法;2模拟报文在路由器之间存储转发的过程;3比较两种传输方式的效率;题目11 RIP路由协议原型系统的实现 2人1、设计要求在了解RIP路由协议工作原理的基础上,实现其原型系统;路由节点能够利用广播发布本地节点的路由信息,其它节点接收信息并选择最优路径;2、课程设计报告内容1描述并分析RIP路由协议的工作原理;2撰写设计文档;3实现RIP路由协议原型系统,该系统具备的功能包括:广播本地路由,接收其它节点路由信息,根据路由信息选择最佳路径,支持最大不超过15跳的特性;4测试原型系统功能,撰写报告;题目12 TCP头部校验和计算方法的实现2人1、设计要求在网络数据传输过程中,网络上的数据都要通过差错控制来保证其数据的正确性;进行差错检测和控制的主要方法是:发送放在需要发送的数据后面增加一定的冗余信息,这些冗余信息通常是通过对发送的数据进行某种算法计算而得到的;接收方对数据进行同样的计算然后比较冗余信息以检测数据是否正确;2、课程设计报告内容1对比TCP头部中校验和计算方式描述校验和计算方法2画出计算校验和算法的流程图;3计算编写程序完成校验和的过程;4给出一个数据,计算其校验和并验证,写出结果;题目13 基于C/S的时间同步服务器的实现2人1、设计要求时间服务器是在局域网中作为发布统一时间的服务器,它利用电脑网络把时间信息传递给用户;要求参照现有的时间服务器的原理以及效果实现一个时间服务器的服务端和客户端;服务器端开放指定的端口发布时间到网络中,其他客户端从网络中获取该时间并将本地时间与之同步;2、课程设计报告内容1给出相关的原理、设计思想和设计过程;2画出时间同步服务器端与客户端的算法流程图;3实现服务器端和客户端并给出使用说明;4测试服务器端与客户端,写出测试结果;题目14 基于TCP的数据包发送和接收程序的实现2人1、设计要求TCP是一种面向连接的、可靠的传输层协议;TCP协议工作在网络层IP的基础上;本课程设计的目的是设计一个发送和接受TCP数据包的程序,其功能是填充一个TCP数据包,发送给目的主机,并在目的主机接收此TCP数据包,将数据字段显示显示在标准输出上;2、课程设计报告内容1 给出TCP传输的原理和过程;2 分别给出服务器端和客户端设计的思路;3 服务器端和客户端的程序代码;4 给出测试结果截图并撰写课程设计报告;题目15 网络数据包的捕获与分析 2人1、设计要求Jpcap是使用java语言编写的一个开源库,使用该库的函数可以方便的捕获网络上传输的数据包;要求使用该库函数实现捕获经过一个网卡的所有流量,并能显示出来或存入数据库并按照要求撰写课程设计报告;2、课程设计报告内容1用java 的Jpcap开源库捕获数据包;2通过编程实现抓取通过一个网卡的所有数据包,并把这些数据包存入数据库;3运用所学的网络知识对数据包进行分析,并把分析所得的结果用友好的界面呈现;4给出相关的原理和设计思路、程序的流程图、程序源码及运行测试结果; 题目16 网络U盘2人1实现远程主机上管理自己的文件:如创建、打开、复制、删除文件或目录以及远程文件上传、下载;2程序包括客户端和服务器端两部分:客户端使用图形用户界面发出各种管理命令;接收服务器返回的操作结果;服务器为每个用户建立一个目录网络U盘,服务器维护用户对目录操作权限的列表,负责验证用户对文件的操作权限;接收和执行授权用户的命令并返回操作结果;3用户界面:服务器端界面显示用户登录及认证信息和操作日志;客户端界面可以设置远程主机名;显示远程文件列表;操作命令可以采用菜单、按钮及弹出菜单来实现;要求界面布局合理、简洁美观;4运用Socket 技术,使用TCP协议题目17 模拟以太网帧封装1人要求:根据给出的原始数据,组装一个格式的帧;默认的输入文件为二进制原始数据;封装得到的帧输出到二进制数据文件中;题目18 网卡驱动程序设计2人要求:熟悉Windows DDKDriver Development Kit编程机制,了解NDISNetwork Device Interface Specification提供的一些库函数的使用方法和各种数据结构的定义;掌握用Visual C++ 开发中小型项目的方法,并学会使用Driver Studio集成DDK来建立网络驱动程序的基本框架;应用Visual C++ + WINDOWS DDK + Driver Studio实现一个简单的Realtek8139小端口网卡驱动程序;题目19网络流量统计2人要求:监控网络,捕获一段时间内网络上的IP数据包,按IP数据包的源地址统计出该源地址在该时间段内发出的IP数据包的个数,并将其用图形表示出来;题目20包过滤防火墙的设计与实现2人要求:要求实现一个简单的包过滤防火墙,能够根据 IP 地址范围阻塞或允许客户机对 FTP 服务的访问;题目21 简单电子邮件客户端的设计与实现1人要求:完成一个电子邮件客户端软件,要求能够收取邮件、发送邮件、书写新邮件、具有图形化界面;提示:可选用基于JavaMail网络包实现;题目22 综合扫描器程序的实现2人1ARP扫描实现2ICMP扫描实现3TCP扫描实现4UDP扫描实现题目23 利用组播实现网络教学2人1通过socket接口,引用UDP协议,设置成组播通信方式2分别设计教师机端程序、学生机端程序,3教师机端程序将本机屏幕画面,定时地以多播方式传给学生机端程序显示题目24 本地计算机基本信息管理1人要求:如:获取计算机的名称和IP地址;获取计算机的子网掩码;获取计算机的DNS设置;获取计算机的网卡地址;获取计算机安装的协议;获取计算机提供的服务;获取计算机的所有网络资源;修改本地计算机的网络设置;获取计算机TCP/IP的所有信息;题目25 点对点语音聊天程序设计2人要求:程序主要由语音采集、语音发送、语音接收、语音播放四个部分组成;通信协议采用UDP;图形化界面;语音采集与播放采用windows APIACM接口;题目26 TCP通信仿真课件设计2人要求:设计一个课件程序,采用图形化设计,主要功能:1 能读取wireshark或sniffer工具所捕获的数据文件2 能以直观形式表达TCP连接的建立、释放过程3 能以直观形式表达报文序号变化、应答机制4 能以直观形式仿真报文的丢失与重传5 能以直观形式表达流量控制题目27 网络对弈程序设计1人要求:运用tcp协议设计一个五子棋联机对弈程序,采用图形化方式设计;题目28 网络游戏开发1人要求:开发一个网络游戏,如坦克大战、网页小游戏等;题目29加密解密软件的设计与实现2人要求:根据对称密钥密码体制或公钥密码体制加密解密算法的原理,设计并实现一个加密解密软件;题目30 网络对时程序实现2人1设计一个程序从internet上某个时间服务器,获取时间信息,准确地更新本地机时钟2采用ntp协议3支持手动、定时自动两种方式第二类:网络工程类题目以方案设计为主,以网络仿真为辅,仿真部分需要验收要求:1论文论述详尽;2论文包括设计任务、需求分析、总体设计方案与拓扑图、系统主要设备报价、软硬件设备选取、关键设计或配置、网络安全方案、其它如网络管理方案、综合布线设计、设计总结;3对方案中关键设计,尽可能用仿真软件进行仿真配置与测试;组网仿真软件建议采用packet tracer只能仿真cisco的部分中低端网络设备,当然为了能在该软件中进行仿真,对原方案中的设计进行必要的简化、设备作必要的变通是必然的;4题目中的XX,必须为具体的单位名称最好为自己所熟悉的5目标网络规模为中等规模的园区网络信息节点数为500个到5000个之间6VLAN技术、RIP或OSPF技术必须运用到设计中7支持internet接入8支持远程用户访问题目1 某企业组网方案设计 2人a、设计要求给出本课程设计的可行性分析,用户需求分析,网络规划,设备选型清单,系统配置,网络安全及管理措施,基于需求分析进行网络规划;b、课程设计报告内容1 完成需求分析;2 企业网络拓扑方案设计;3 列出所需网络设备、服务器、PC机的设备清单;4 给出部门PC机的IP地址分配方案;5 给出第三层VLAN设计方案;6 给出路由器配置方案;题目2 一个简单的校园网设计与实现 2人a、设计要求为所在学校设计一个简单的基于三层交换技术的校园网络;具体要求:1 每部门1个单独的子网,自定义子网需要的IP地址数,至少有4种不同的地址规模;23 计算每个部门的网络地址、掩码,并指定网关地址;4 每个子网1个单独的VLAN,并使用三层交换机互连各VLAN;b、课程设计报告内容1 计算各VLAN信息;2 绘制网络拓扑图,要求包含三层交换机、二层交换机等节点,并标注各VLAN 信息;3 完成交换机配置,具体包括:①三层交换机中创建VLAN,为VLAN分配IP,配置与二层交换机互连的Trunk链路;②二层交换机中创建VLAN,配置与三层交换机互连的Trunk链路,并体会跨二层交换机的VLAN配置;4 基于PacketTracer,实现校园网原型,并测试网络的可用性;题目3 校园无线网络组网方案设计2人a、题目内容和要求:⑴了解FIT AP和FAT AP的几种典型的组网方式;掌握无线网络的两种体系结构;掌握网络b、系统设计方法;⑵理解无线网络设备的工作原理,掌握无线网络控制器AC、无线网络接入点AP、无线网桥、交换机、路由器、服务器、防火墙、入侵检测、行为审计以及流量控制等设备的选型方法;⑶了解传统校园网服务的工作原理,掌握服务如DNS、WEB、FTP等的配置方法;⑷理解校园无线网络的室内外覆盖原则;掌握信道规划原理;⑸设计校园网络拓扑结构,并给出相应的校园无线网络的室内外覆盖方案和信道规划方案;⑹完成设备配置及测试;⑺按照要求撰写学年设计报告并准备答辩;题目4 某学院计算机大楼的综合布线系统方案设计2人a、题目内容与要求:⑴掌握综合布线系统的构成,熟悉各子系统相对应的设计原则;⑵能够对综合布线系统中用到的各种材料,譬如:支架、pvc管材、线缆、配线架、机柜等进行选型;⑶能够熟练使用综合布线系统中用到的相关安装工具和测试工具;⑷绘制出综合布线系统结构图、布线路由图、信息点分布图等;⑸按照要求撰写学年设计报告并准备答辩;大楼的基本情况:大楼为6层结构,建筑面积6000多平方米,有普通教室、多媒体教室、实训室、办公室、学生科技活动中心、图书阅览室等功能用房;一楼是办公区,二楼、三楼为教室,四楼、五楼为实训室;大楼除通常用的信息网络和语音电话外,在出入口、楼梯口、走廊和实训室安装了网络监控点,每层楼安装两个网络考勤点,该大楼的信息点的种类和数量如下表所示5. XX医院网络规划与设计2人6. XX社区网络规划与设计2人7. 其它单位网络组网方案设计2人8. 网络应用服务器的搭建2人1网络操作系统安装在虚拟机环境下2DNS、DHCP服务器3邮件服务器4P2P服务器5防火墙6VPN远程访问、远程管理参考资料:1.Winsock编程2.Winpcap编程3.Windows DDKDriver Development Kit编程机制;4.NDISNetwork Device Interface Specification提供的库函数5.Java网络编程基础(1)Internet地址操作(2)URL和URLConnection(3)套接字ServerSocket和Socket编程(4)JMail包6.组网技术7.网络技术与组网工程参考教材:1 吴功宜. 计算机网络课程设计. 机械工业出版社计算机网络课程设计计算机课程设计与综合实践规划教材.清华大学出版社网络编程实用教程第2版. 人民邮电出版社.2010 windows网络与通信程序设计第二版. 人民邮电出版社 //适合高手5 思科网络技术学院CCNA ——路由协议和概念6 思科网络技术学院CCNA ——LAN交换和无线。
计算机网络课程设计报告书

计算机网络课程设计报告书Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT《计算机网络》课程设计报告书专业:计嵌班级:计嵌151学号:姓名:张耀目录一、设计题目二、设备选型三、IP地址规划四、拓扑图设计五、主要技术六、配置清单七、总结一、设计题目1、课设目的巩固《计算机网络》和《网络通信》两门课程的知识,在本次课程设计中充分利用前面所学的知识,熟练应用所有技术,系统掌握一个较为复杂的网络配置过程。
在课设中有少量需要的技术教学过程中没有涉及,请自己查阅CCNA资料。
2、课设内容项目背景:某中小型企业有两个部门,销售部(vlan 10)与行政部(vlan 20)。
要求同部门之间采用二层交换网络相连;不同部门之间采用单臂路由方式互访。
企业有一台内部web 服务器,承载内部网站,方便员工了解公司的即时信息.局域网路由器启用多种路由协议(静态路由、动态路由协议),并实施路由控制、负载均衡、链路认证、访问限制等功能.企业有一条专线接到运营商用以连接互联网,采用HDLC封装,由于从运营商只获取到一个公网IP地址,所以企业员工上网需要做NAT网络地址转换,具体拓扑结构如上图所示。
二、设备选型三、IP地址规划四、拓扑图设计五、主要技术Trunk:在路由/交换领域,VLAN的中继端口叫做trunk。
trunk技术用在交换机之间互连,使不同VLAN通过共享链路与其它交换机中的相同VLAN通信。
交换机之间互连的端口就称为trunk端口。
trunk是基于OSI第二层数据链路层(DataLinkLayer)的技术。
Vlan:在计算机网络中,一个二层网络可以被划分为多个不同的广播域,一个广播域对应了一个特定的用户组,默认情况下这些不同的广播域是相互隔离的。
不同的广播域之间想要通信,需要通过一个或多个路由器。
这样的一个广播域就称为VLAN。
单臂路由:在计算机网络中,一个二层网络可以被划分为多个不同的广播域,一个广播域对应了一个特定的用户组,默认情况下这些不同的广播域是相互隔离的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一部分数据通信与计算机网络课程设计(要求)一、课程设计的性质、目的和任务性质:独立设课目的和任务:1、掌握数据通信和计算机网络的基本原理2、掌握数据通信和计算机网络设计、分析和实现方法3、提高学生编制网络通信程序、网络应用服务程序的能力二、课程设计的基本内容和要求基本内容:网络数据通信的基本方法及实现。
基本要求:根据选定的项目,课题小组成员认真查阅相关资料,发挥学生的主体作用,提出设计方案,老师参与,进行讨论和分析,最终确定设计方案。
在此基础上,合理分工,协同完成项目的设计与实现,最后完成课程设计的报告撰写。
注:一、滑动窗口协议的模拟1 关于滑动窗口,请阅读网络教材(实现—选择性重发);2 运行时启动两个线程client 和server。
其中sever 初始应该为监听状态;3 可指定滑动窗口数目m(m=2n,n为大于1的整数)和要发送的帧总数,停等的超时时间间隔以及发送类型(正常发送,即没有缺帧和错序发送帧的现象),发送速率等参数;4 client向server发起连接,成功则转入5;5 client端发出帧,帧的内容可同序号或者为“111”“222”…“aaa”“bbb”…或者是一段文章中的部分内容;6 选择发送类型为“缺帧”,模拟因网络拥塞造成丢帧的情况,开始发送情况同“正常发送”的情况。
不同的是在帧x发送前用户可以选择丢失,则客户端继续接收帧x+1,x+2…并且对帧x+1,x+2…发出确认并缓存该帧;7 服务器端等待一段相当长的时间(超时),重发帧x;8 选择发送类型为“错序发送”。
将一组待发送的帧按照指定(错序)顺序发送。
具体实现同“缺帧”情况;9 以上各种情况下,client和server窗口中应实时显示帧的发送和接受情况,包括序号,到达时间,内容等。
以及窗口的填充和清空情况;10 使用socket编程;11 本实验要求实现的是一个简化了许多的滑动窗口协议。
对于所有包,在生成序列号后进行发送。
接收方为每个包设定一个定时器,记录包的到达情况。
如发送方发送速度过快,或某包定时器超时,则发送方应重发。
接受方窗口满时,接受到的包应被拷贝至硬盘(以下部分可以自由设计,仅做参考)。
12 主要的数据结构:包:class packet{protect:int num;//数据包的序号cstring content;//数据包内容……//method……}消息:class message{protect:int no;//消息的序号cstring content;//消息内容int id;//消息的方向//method……}13 程序主要流程14 方法:void create_windows();//模拟滑动窗口协议中发送,接受窗口void create_packet();//模拟滑动窗口协议中包bool create_timer();//模拟滑动窗口协议中的定时器int waitfornext();//等待下一个包void resend();//重发void receive();//数据包到达,接受数据包void write();//数据包全部到达,写入硬盘注:本实验主要目的是为了加深同学们对于滑动窗口协议的了解,而不是底层的网络编程。
所以在这里,“包”的概念可以是一组题为“1”、“2”、“3”等等的文件(由程序动态创建)。
如果是在两台机器上实现,其中一台机器作为发送方,另一台则是接收方,双方进行通讯。
如果接收方窗口大小为6,则当编号为7的包(文件)到达时,接受方应作相应处理,包括通知发送方暂停发送,缓存收到的包,清空滑动窗口等。
当然,对于出错的情况,比如包丢失,不按序到达等情况编程者应有所考虑,所以在模拟接收方的机器上,应提供选择待发送包序号的界面。
一个简单的选择发送包的界面如下:15按序发送16 错序发送(包4未发送)二、简单的端口扫描1、基本概念●三次握手Three-way Handshake一个虚拟连接的建立是通过三次握手来实现的1. (B) --> [SYN] --> (A)假如服务器A和客户机B通讯. 当A要和B通信时,B首先向A发一个SYN (Synchronize) 标记的包,告诉A请求建立连接.注意: 一个 SYN包就是仅SYN标记设为1的TCP包(参见TCP包头Resources). 认识到这点很重要,只有当A收到B发来的SYN包,才可建立连接,除此之外别无他法。
因此,如果你的防火墙丢弃所有的发往外网接口的SYN包,那么你将不能让外部任何主机主动建立连接。
2. (B) <-- [SYN/ACK] <--(A)接着,A收到后会发一个对SYN包的确认包(SYN/ACK)回去,表示对第一个SYN包的确认,并继续握手操作。
注意: SYN/ACK包是仅SYN 和 ACK 标记为1的包.3. (B) --> [ACK] --> (A)B收到SYN/ACK ,B发一个确认包(ACK),通知A连接已建立。
至此,三次握手完成,一个TCP连接完成。
Note: ACK包就是仅ACK 标记设为1的TCP包。
需要注意的是当三次握手完成、连接建立以后,TCP连接的每个包都会设置ACK位。
这就是为何连接跟踪很重要的原因了. 没有连接跟踪,防火墙将无法判断收到的ACK 包是否属于一个已经建立的连接。
一般的包过滤(Ipchains)收到ACK包时,会让它通过;而当状态型防火墙收到此种包时,它会先在连接表中查找是否属于哪个已建连接,否则丢弃该包。
●四次握手Four-way Handshake四次握手用来关闭已建立的TCP连接1. (B) --> ACK/FIN --> (A)2. (B) <-- ACK <-- (A)3. (B) <-- ACK/FIN <-- (A)4. (B) --> ACK --> (A)注意: 由于TCP连接是双向连接, 因此关闭连接需要在两个方向上做。
ACK/FIN 包(ACK 和FIN 标记设为1)通常被认为是FIN(终结)包。
然而,由于连接还没有关闭, FIN包总是打上ACK标记。
没有ACK标记而仅有FIN标记的包不是合法的包,并且通常被认为是恶意的。
最常见的非法组合是SYN/FIN 包。
注意:由于 SYN包是用来初始化连接的。
它不可能和 FIN和RST标记一起出现,这也是一个恶意攻击。
正常状态转换1 服务器端首先执行 LISTEN 原语进入被动打开状态( LISTEN ),等待客户端连接;2当客户端的一个应用程序发出 CONNECT 命令后,本地的 TCP 实体为其创建一个连接记录并标记为 SYN SENT 状态,然后给服务器发送一个 SYN 报文段;3 服务器收到一个 SYN 报文段,其 TCP 实体给客户端发送确认 ACK 报文段同时发送一个 SYN 信号,进入 SYN RCVD 状态;4客户端收到 SYN + ACK 报文段,其 TCP 实体给服务器端发送出三次握手的最后一个 ACK 报文段,并转换为 ESTABLISHED 状态;5 服务器端收到确认的 ACK 报文段,完成了三次握手,于是也进入 ESTABLISHED 状态。
在此状态下,双方可以自由传输数据。
当一个应用程序完成数据传输任务后,它需要关闭 TCP 连接。
假设仍由客户端发起主动关闭连接。
6 客户端执行 CLOSE 原语,本地的 TCP 实体发送一个 FIN 报文段并等待响应的确认(进入状态 FIN WAIT 1 );7 服务器收到一个 FIN 报文段,它确认客户端的请求发回一个 ACK 报文段,进入 CLOSE W AIT 状态;8 客户端收到确认 ACK 报文段,就转移到 FIN WAIT 2 状态,此时连接在一个方向上就断开了;9 服务器端应用得到通告后,也执行 CLOSE 原语关闭另一个方向的连接,其本地 TCP 实体向客户端发送一个 FIN 报文段,并进入 LAST ACK 状态,等待最后一个 ACK 确认报文段;10 客户端收到 FIN 报文段并确认,进入 TIMED WAIT 状态,此时双方连接均已经断开,但 TCP 要等待一个 2 倍报文段最大生存时间 MSL ( Maximum Segment Lifetime ),确保该连接的所有分组全部消失,以防止出现确认丢失的情况。
当定时器超时后, TCP 删除该连接记录,返回到初始状态( CLOSED )。
11 服务器收到最后一个确认 ACK 报文段,其 TCP 实体便释放该连接,并删除连接记录,返回到初始状态( CLOSED )。
2、几种扫描的原理●TCP connect() 扫描:这是最基本的TCP扫描。
操作系统提供的connect()系统调用,用来与每一个感兴趣的目标计算机的端口进行连接。
如果端口处于侦听状态,那么connect()就能成功。
否则,这个端口是不能用的,即没有提供服务。
这个技术的一个最大的优点是,你不需要任何权限。
系统中的任何用户都有权利使用这个调用。
另一个好处就是速度。
如果对每个目标端口以线性的方式,使用单独的connect()调用,那么将会花费相当长的时间,你可以通过同时打开多个套接字,从而加速扫描。
使用非阻塞I/O允许你设置一个低的时间用尽周期,同时观察多个套接字。
●TCP SYN扫描:这种技术通常认为是“半开放”扫描,这是因为扫描程序不必要打开一个完全的TCP 连接。
扫描程序发送的是一个SYN数据包,好像准备打开一个实际的连接并等待反应一样(参考TCP的三次握手建立一个TCP连接的过程)。
一个SYN/ACK的返回信息表示端口处于侦听状态。
一个RST返回,表示端口没有处于侦听态。
如果收到一个SYN/ACK,则扫描程序必须再发送一个RST信号,来关闭这个连接过程。
●TCP FIN 扫描:有的时候有可能SYN扫描都不够秘密。
一些防火墙和包过滤器会对一些指定的端口进行监视,有的程序能检测到这些扫描。
相反,FIN数据包可能会没有任何麻烦的通过。
这种扫描方法的思想是关闭的端口会用适当的RST来回复FIN数据包。
另一方面,打开的端口会忽略对FIN数据包的回复。
这种方法和系统的实现有一定的关系。
有的系统不管端口是否打开,都回复RST,这样,这种扫描方法就不适用了。
这种方法在区分Unix和NT时,是十分有用的。
●ICMP Echo扫描:使用ICMP Request数据包来判断在一个网络上主机是否开机。
如果主机开机,则会回复ICMP Echo数据包。
否则得不到回复。
注释:从上述所列的课程设计内容中,选择一个必做。
若有能力或业余时间的学生,可选择一个以上的设计内容做。
四、课程设计报告要求写出课程设计目的,设计内容,实验环境,设计思想和实现流程,源程序、运行结果以及分析。