《《计算机网络课程设计》指导书》由会员分享,可在线阅读,更多相关《《计算机网络课程设计》指导书(9页珍藏版)》请在金锄头文库上搜索。
1、计算机网络课程设计指导书刘洪涛广东工业大学 自动化学院二六年七月印刷课程设计题目一实验项目名称:PING程序设计实验项目性质:综合性所属课程名称:计算机网络实验计划学时:四个题目总共2周一、 实验目的PING程序是我们使用的比较多的用于测试网络连通性的程序。PING程序基于ICMP,使用ICMP的回送请求和回送应答来工作。由计算机网络课程知道,ICMP是基于IP的一个协议,ICMP包通过IP的封装之后传递。课程设计中选取PING程序的设计,其目的是希望同学们通过PING程序的设计,能初步掌握TCP/IP网络协议的基本实现方法,对网络的实现机制有进一步的认识。二、 实验内容和要求1、RAW模式的
2、SOCKET编程PING程序是面向用户的应用程序,该程序使用ICMP的封装机制,通过IP协议来工作。为了实现直接对IP和ICMP包进行操作,实验中使用RAW模式的SOCKET编程。熟悉SOCKET的编程,包括基本的系统调用如SOCKET、BIND等;2、具体内容1) 定义数据结构需要定义好IP数据报、ICMP包等相关的数据结构;2) 程序实现在WINDOWS环境下实现PING程序;3) 程序要求在命令提示符下输入: PING .其中为目的主机的IP地址,不要求支持域名,对是否带有开关变量也不做要求。不带开关变量时,要求返回4次响应。返回信息的格式: REPLY FROM .或 REQUEST
3、TimeOut (无法PING通的情况)。三、 实验主要仪器设备和材料联网计算机。四、 实验方法、步骤及结构测试实验按下述步骤进行:1) 熟悉IP以及ICMP协议的工作机制2) 熟悉RAW模式的SOCKET编程3) 编写PING的实现程序4) 编译环境中需要包括SOCKET库 WS2_32.lib5) 在模拟实现环境下调试并运行自己编写的PING程序6) 保留你实现的程序在你的用户目录下,以备辅导教师检查7) 最后提交源程序,撰写实验报告五、 实验报告要求参照自动化学院实验报告要求。六、 思考题1. 本题目只要求实现PING的一些简单功能,在Windows命令行模式下,输入“Ping”回车,查
4、看PING的所有功能,考虑如何实现这些功能。2. 如果一台主机能ping通自己但网络不通,可能是什么原因?3. 考虑Netstat、Traceroute、ipconfig等网络测试应用程序的工作原理以及使用。课程设计题目二实验项目名称:文件传输协议的简单设计与实现实验项目性质:综合性所属课程名称:计算机网络实验计划学时:四个题目总共2周一、 实验目的文件传送是各种计算机网络都实现的基本功能,文件传送协议是一种最基本的应用层协议按照客户/服务器的模式进行工作,提供交互式的访问,是INTERNET使用最广泛的协议之一。本实验的目的是,学会利用已有网络环境设计并实现简单应用层协议,掌握TCP/IP
5、网络应用程序基本的设计方法和实现技巧。二、 实验内容和要求1、实验内容我们的计算机网络实验环境建立在TCP/IP 网络体系结构之上。各计算机除了安装TCP/IP 软件外,还安装了TCP/IP 开发系统。实验室各计算机具备Windows环境中套接字socket 的编程接口功能,可为用户提供全网范围的进程通信功能。本实验要求学生利用这些功能,设计和实现一个简单的文件传送协议。2、具体要求用socket 编程接口编写两个程序,分别为客户程序(client.c)和服务器程序(server.c),该程序应能实现下述命令功能:get:取远方的一个文件put:传给远方一个文件pwd:显示远主当前目录dir:
6、列出远方当前目录cd :改变远方当前目录? :显示你提供的命令quit :退出返回这此命令的具体工作方式(指给出结果的形式)可以参照FTP 的相应命令,有余力的同学可以多实现几个命令。最后,写出实验报告。三、 实验主要仪器设备和材料联网计算机。四、 实验方法、步骤及结构测试1) 关于端口号(假设用SERV_PORT 来表示)的设定,原则上2000 至5000都可用,为避免冲突,建议取你学号后三位数加上2000,比如学号为971234,则可定义: #define SERV_PORT 22342) 客户和服务程序中要有相应的include 文件(参考所给例子程序)3) 有些同学的server 方程
7、序支持多连接,为了不占用更多的系统资源,并发连接数限制在3 个以内。4) 最后提交源程序,撰写实验报告,在实验报告中说明设计的思路。五、 实验报告要求参照自动化学院实验报告要求。六、 思考题1. 本题目采用的是C/S模式下实现文件传输协议,考虑当前应用广泛的B/S模式,这两种编程模式优缺点如何?2. 查找资料,如何在本题目中添加“断点续传”功能?以及该功能的实现基本原理如何?3. 我们已经有了FTP后,为何在邮件服务器之间传输邮件(邮件也是一种文件)时,还需要SMTP协议?以及为何需要HTTP协议?4. 考虑如何用多线程实现FTP?课程设计题目三实验项目名称:局域网截包程序设计实验项目性质:综
8、合性所属课程名称:计算机网络实验计划学时:四个题目总共2周一、 实验目的目前的局域网基本上都采用以广播为技术基础的以太网,任何两个节点之间的通信数据包,不仅为这两个节点的网卡所接收,也同时为处在同一以太网上的任何一个节点的网卡所截取。因此,黑客只要接入以太网上的任一节点进行侦听,就可以捕获发生在这个以太网上的所有数据包,对其进行解包分析,从而窃取关键信息,这就是以太网所固有的安全隐患。网上主要的免费黑客攻击工具如SATAN、ISS、NETCAT等均将以太网侦听作为基本的手段。本实验实现一个局域网截包程序,目的在于使学生能更好地理解网络的工作机制(包括封包机制、协议分析等),该实验是对计算机网络
9、课程一个有益的补充。二、 实验内容和要求在一个局域网环境中,用C 语言实现下面的基本功能:1) 确定截包的方法:包括RAW 模式SOCKET、PACKET32以及直接作为驱动程序挂在NDIS上;2) 要求截获以下包的类型并分析:以太网帧格式、IP包、ICMP包、TCP报文段、UDP报文等相关字段进行描述。三、 实验主要仪器设备和材料联网计算机。四、 实验方法、步骤及结构测试实验按下述步骤进行:1) 熟悉RAW模式的SOCKET编程;2) 熟悉PACKET32的工作机制;3) 熟悉WINDOWS 2000环境下NDIS驱动程序的编写方法;4) 编写基于上述某一机制的局域网截包的实现程序;5) 在
10、模拟实现环境下调试并运行自己编写的协议实现程序;6) 如出现异常情况,在实验报告中记录并分析可能的原因。五、 实验报告要求参照自动化学院实验报告要求。六、 思考题1. 网络嗅探的基本原理是什么?有哪些方式?网络嗅探能够做哪些事情?以及如何防范网络嗅探?2. 如何用网络嗅探分析网络安全?3. 你对入侵检测有何理解?课程设计题目四实验项目名称:数据链路层协议的设计与实现实验项目性质:综合性所属课程名称:计算机网络实验计划学时:四个题目总共2周一、 实验目的计算机网络的数据链路层协议保证通信双方在有差错的通信线路上进行无差错的数据传输,是计算机网络各层协议中通信控制功能最典型的一种协议。本实验实现一
11、个数据链路层协议的数据传送部分,目的在于使学生更好地理解数据链路层协议中的“滑动窗口”技术的基本工作原理,掌握计算机网络协议的基本实现技术。二、 实验内容和要求在一个数据链路层的模拟实现环境中,用C 语言实现下面两个数据链路层协议。1) “退回到N 重发”的滑动窗口协议;2) “选择重发”的滑动滑动窗口协议。三、 实验主要仪器设备和材料联网计算机。四、 实验方法、步骤及结构测试实验按下述步骤进行:1) 熟悉已给出的数据链路层协议模拟实现环境的功能;2) 编写两个数据链路层协议的实现程序;3) 在模拟实现环境下调试并运行自己编写的协议实现程序;4) 了解协议的工作轨迹,如出现异常情况,在实验报告中写出原因分析;5) 保留你实现的数据链路层协议在你的用户目录下,以备辅导教师检查。五、 实验报告要求参照自动化学院实验报告要求。六、 思考题1. 数据链路层有很多种协议,每一种协议都有它的应用范围,思考在我们实际生活中,采用了那种数据链路层协议?2. 如果在数据链路层采用了ARQ协议,具有差错重传和超时重传功能,是否传输层的TCP不再需要差错重传和超时重传功能呢?仔细想想。3. 能够举一个生活中的实际例子,解释数据链路层和传输层需要重复功能的问题。附录一:参考文献1计算机网络(第4版),谢希仁编著,大连理工大学出版社,20042计算机网络(第4版),潘爱民译,清华大学出版社,2005