1 / 11
文档名称:

计算机网络课程设计.doc

格式:doc   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

计算机网络课程设计.doc

上传人:drp539604 2015/6/5 文件大小:0 KB

下载得到文件列表

计算机网络课程设计.doc

相关文档

文档介绍

文档介绍:课程设计

课程名称计算机网络课程设计
题目名称 PING程序设计
学生学院计算机学院
专业班级计算机科学与技术
学号
学生姓名
指导教师丁国芳
2008 年 12 月 28 日
目录
1摘要……………………………………………………………… 3
2正文………………………………………………………………. 3
具体设计任务…………………………………………… 3
………………………….. 4
………………………………………………… 4
……………………………… 8
个人体会与建议…………………………………………..10
3 参考文献……………………………………………………… 10
1 摘要
,,要在充分了解套接字的实现以及IP,ICMP的格式,功能等的基础上才能实现此设计.
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通的情况)。
熟悉IP以及ICMP协议的工作机制
熟悉RAW模式的SOCKET编程
编写PING的实现程序
编译环境中需要包括SOCKET库
在模拟实现环境下调试并运行自己编写的PING程序
保留你实现的程序在你的用户目录下,以备辅导教师检查
最后提交源程序,撰写实验报告
基本思路及所涉及的相关理论:
Ping程序的实现方法是:主机向远程计算机发出ICMP回应请求以后,远程计算机会处理这个请求,然后生成一条回应应答消息,再通过网络传回给发送主机;假如由于某些原因不能抵达目标主机,,只是远程主机已经关机,便需要由自己的程序来执行超时检查.
方案设计;
用AppWizard从VC++中生成一个基于对话框的工程MyPing,将Ping服务封装成一个类Cping, Ping的头文件中包括了ICMP包数据结构常量定义,ICMP及IP的头结构定义, 完成了CPing类后还要把这个类用到对话框架中,所以在程序最后还要对界面的ping按钮功能关联到Cping类的函数中,用了一个Onping的函数,:,
class CPing
{
public:
void SetConfigure(char * host,BOOL recordrout=FALSE,int size=DEF_PACKET_SIZE); //设置ping参数
void DecodeIPOptions(char *buf, int bytes); //解析IP可选参数
void Cleanup(); //清除Socket,ICMP包数据及接收数据缓冲区
void Ping(int timeout =1000); //发送ICMP数据报
SOCKET m_hSocket; //发送ICMP包的socket
IpOptionHeader m_ipopt; //IP头可选项