《计算机网络课程设计》指导书

  • 格式:pdf
  • 大小:13.44 KB
  • 文档页数:9

《计算机网络课程设计》
指导书

洪涛

工业大学自动化学院
二00六年七月印刷
课程设计题目一
实验项目名称:PING程序设计
实验项目性质:综合性
所属课程名称:计算机网络
实验计划学时:四个题目总共2周

一、实验目的
PING程序是我们使用的比较多的用于测试网络连通性的程序。PING
程序基于ICMP,使用ICMP的回送请求和回送应答来工作。由计算机网
络课程知道,ICMP是基于IP的一个协议,ICMP包通过IP的封装之后
传递。
课程设计中选取PING程序的设计,其目的是希望同学们通过PING
程序的设计,能初步掌握TCP/IP网络协议的基本实现方法,对网络的实
现机制有进一步的认识。
二、实验容和要求
1、RAW模式的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 TimeOut (无法PING通的情况)。
三、实验主要仪器设备和材料
联网计算机。
四、实验方法、步骤及结构测试
实验按下述步骤进行:
1)熟悉IP以及ICMP协议的工作机制
2)熟悉RAW模式的SOCKET编程
3)编写PING的实现程序
4)编译环境中需要包括SOCKET库WS2_32.lib
5)在模拟实现环境下调试并运行自己编写的PING程序
6)保留你实现的程序在你的用户目录下,以备辅导教师检查
7)最后提交源程序,撰写实验报告

五、实验报告要求
参照自动化学院实验报告要求。

六、
思考题

1.本题目只要现PING的一些简单功能,在Windows命令行模式下,输
入“Ping”回车,查看PING的所有功能,考虑如何实现这些功能。
2.如果一台主机能ping通自己但网络不通,可能是什么原因?
3.考虑Netstat、Traceroute、ipconfig等网络测试应用程序的工作原理以
及使用。
课程设计题目二
实验项目名称:文件传输协议的简单设计与实现
实验项目性质:综合性
所属课程名称:计算机网络
实验计划学时:四个题目总共2周

一、实验目的
文件传送是各种计算机网络都实现的基本功能,文件传送协议是一种
最基本的应用层协议按照客户/服务器的模式进行工作,提供交互式的访
问,是INTERNET使用最广泛的协议之一。
本实验的目的是,学会利用已有网络环境设计并实现简单应用层协
议,掌握TCP/IP 网络应用程序基本的设计方法和实现技巧。
二、实验容和要求
1、实验容
我们的计算机网络实验环境建立在TCP/IP 网络体系结构之上。各计
算机除了安装TCP/IP 软件外,还安装了TCP/IP 开发系统。实验室各计
算机具备Windows环境中套接字socket 的编程接口功能,可为用户提供
全网围的进程通信功能。本实验要求学生利用这些功能,设计和实现一个
简单的文件传送协议。

2、具体要求
用socket 编程接口编写两个程序,分别为客户程序(client.c)和服务器
程序(server.c),该程序应能实现下述命令功能:
get:取远方的一个文件
put:传给远方一个文件
pwd:显示远主当前目录
dir:列出远方当前目录
cd :改变远方当前目录
?:显示你提供的命令
quit :退出返回
这此命令的具体工作方式(指给出结果的形式)可以参照FTP 的相
应命令,有余力的同学可以多实现几个命令。
最后,写出实验报告。
三、实验主要仪器设备和材料
联网计算机。
四、实验方法、步骤及结构测试
1)关于端口号(假设用SERV_PORT 来表示)的设定,原则上2000
至5000都可用,为避免冲突,建议取你学号后三位数加上2000,
比如学号为971234,则可定义:
#define SERV_PORT 2234
2)客户和服务程序中要有相应的include 文件(参考所给例子程序)
3)有些同学的server 方程序支持多连接,为了不占用更多的系统资
源,并发连接数限制在3 个以。
4)最后提交源程序,撰写实验报告,在实验报告中说明设计的思路。

五、实验报告要求
参照自动化学院实验报告要求。
六、
思考题

1.本题目采用的是C/S模式下实现文件传输协议,考虑当前应用广泛的B/S模式,
这两种编程模式优缺点如何?
2.查找资料,如何在本题目中添加“断点续传”功能?以及该功能的实现基本原
理如何?

3.我们已经有了FTP后,为何在服务器之间传输(也是一种文件)时,还需要SMTP
协议?以及为何需要HTTP协议?

4.考虑如何用多线程实现FTP?
课程设计题目三
实验项目名称:局域网截包程序设计
实验项目性质:综合性
所属课程名称:计算机网络
实验计划学时:四个题目总共2周

一、实验目的
目前的局域网基本上都采用以广播为技术基础的以太网,任何两个节
点之间的通信数据包,不仅为这两个节点的网卡所接收,也同时为处在同
一以太网上的任何一个节点的网卡所截取。因此,黑客只要接入以太网上
的任一节点进行侦听,就可以捕获发生在这个以太网上的所有数据包,对
其进行解包分析,从而窃取关键信息,这就是以太网所固有的安全隐患。
网上主要的免费黑客攻击工具如SATAN、ISS、NETCAT等均将以太网侦
听作为基本的手段。
本实验实现一个局域网截包程序,目的在于使学生能更好地理解网络
的工作机制(包括封包机制、协议分析等),该实验是对《计算机网络》
课程一个有益的补充。
二、实验容和要求
在一个局域网环境中,用C 语言实现下面的基本功能:
1)确定截包的方法:包括RAW 模式SOCKET、PACKET32以及直
接作为驱动程序挂在NDIS上;
2)要求截获以下包的类型并分析:以太网帧格式、IP包、ICMP包、
TCP报文段、UDP报文等相关字段进行描述。
三、实验主要仪器设备和材料
联网计算机。
四、实验方法、步骤及结构测试
实验按下述步骤进行:
1)熟悉RAW模式的SOCKET编程;
2)熟悉PACKET32的工作机制;
3)熟悉WINDOWS 2000环境下NDIS驱动程序的编写方法;
4)编写基于上述某一机制的局域网截包的实现程序;
5)在模拟实现环境下调试并运行自己编写的协议实现程序;
6)如出现异常情况,在实验报告中记录并分析可能的原因。

五、实验报告要求
参照自动化学院实验报告要求。

六、
思考题

1.网络嗅探的基本原理是什么?有哪些方式?网络嗅探能够做哪些事
情?以及如何防网络嗅探?
2.如何用网络嗅探分析网络安全?
3.你对入侵检测有何理解?
课程设计题目四
实验项目名称:数据链路层协议的设计与实现
实验项目性质:综合性
所属课程名称:计算机网络
实验计划学时:四个题目总共2周

一、实验目的
计算机网络的数据链路层协议保证通信双方在有差错的通信线路上
进行无差错的数据传输,是计算机网络各层协议信控制功能最典型的一种
协议。
本实验实现一个数据链路层协议的数据传送部分,目的在于使学生更
好地理解数据链路层协议中的“滑动窗口”技术的基本工作原理,掌握计
算机网络协议的基本实现技术。
二、实验容和要求
在一个数据链路层的模拟实现环境中,用C 语言实现下面两个数据
链路层协议。
1)“退回到N 重发”的滑动窗口协议;
2)“选择重发”的滑动滑动窗口协议。
三、实验主要仪器设备和材料
联网计算机。
四、实验方法、步骤及结构测试
实验按下述步骤进行:
1)熟悉已给出的数据链路层协议模拟实现环境的功能;
2)编写两个数据链路层协议的实现程序;
3)在模拟实现环境下调试并运行自己编写的协议实现程序;
4)了解协议的工作轨迹,如出现异常情况,在实验报告中写出原因
分析;
5)保留你实现的数据链路层协议在你的用户目录下,以备辅导教师
检查。
五、实验报告要求
参照自动化学院实验报告要求。

六、
思考题

1.数据链路层有很多种协议,每一种协议都有它的应用围,思考在我们
实际生活中,采用了那种数据链路层协议?
2.如果在数据链路层采用了ARQ协议,具有差错重传和超时重传功能,
是否传输层的TCP不再需要差错重传和超时重传功能呢?仔细想想。
3.能够举一个生活中的实际例子,解释数据链路层和传输层需要重复功
能的问题。

附录一:参考文献
[1]《计算机网络》(第4版),希仁编著,理工大学,2004
[2]《计算机网络》(第4版),爱民译,清华大学,2005