预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共15页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第页() 网络协议编程 课程设计 指导教师:张有为 学生班级:网络10802 学生姓名:孙寒 学号:200805792 班内序号:21 课设日期:2011/7/5~2011/7/12 目录 TOC\o"1-3"\h\z\uHYPERLINK\l"_Toc298007978"一、课程设计目的与任务 PAGEREF_Toc298007978\h3 HYPERLINK\l"_Toc298007979"二、设计任务及要求 PAGEREF_Toc298007979\h3 HYPERLINK\l"_Toc298007980"1、RAW模式的SOCKET编程 PAGEREF_Toc298007980\h3 HYPERLINK\l"_Toc298007981"2、具体内容 PAGEREF_Toc298007981\h3 HYPERLINK\l"_Toc298007982"三、需求分析 PAGEREF_Toc298007982\h4 HYPERLINK\l"_Toc298007983"四、总体设计(流程图) PAGEREF_Toc298007983\h5 HYPERLINK\l"_Toc298007984"五、详细设计与实现 PAGEREF_Toc298007984\h6 HYPERLINK\l"_Toc298007985"六、实现结果及结果分析 PAGEREF_Toc298007985\h11 HYPERLINK\l"_Toc298007986"七、使用说明 PAGEREF_Toc298007986\h14 HYPERLINK\l"_Toc298007987"八、课设小结 PAGEREF_Toc298007987\h14  一、课程设计目的与任务 网络协议编程课程设计是学习《TCP/IP协议分析》课程后的一个重要实践环节,是对学生进行的一次较为全面的网络协议分析应用程序设计训练。其基本目的是: (1)培养学生理论联系实际的设计思想,训练综合运用所学的基础理论知识,结合生产实际分析和解决网络应用中基本问题的能力,从而使基础理论知识得到巩固和加深。 (2)训练学生运用软件工程的原理、方法和工具完整地设计并开发一个网络应用系统,历练软件工程常规设计过程和基本方法。为将来的实际应用开发打好基础。 (3)深层次掌握TCP/IP协议的基本原理与数据格式。 (4)熟悉并掌握网络通信协议Socket编程的方法。 二、设计任务及要求 1、RAW模式的SOCKET编程 PING程序是面向用户的应用程序,该程序使用ICMP的封装机制,通过IP协议来工作为了实现直接对IP和ICMP包进行操作,实验中使用RAW模式的SOCKET编程。 熟悉SOCKET的编程,包括基本的系统调用如SOCKET、BIND等。 2、具体内容 1)定义数据结构 需要定义好IP数据报、ICMP包等相关的数据结构 2)程序实现 在WINDOWS环境下实现PING程序 3)程序要求 在窗体文本框中输入: PINGΧΧΧ.ΧΧΧ.ΧΧΧ.ΧΧΧ 其中ΧΧΧ为目的主机的IP地址,不要求支持域名,对是否带有开关变量也不做要求。不带开关变量时,要求返回4次响应。 返回信息显示在窗体上: REPLYFROMΧΧΧ.ΧΧΧ.ΧΧΧ.ΧΧΧ 或 REQUESTTimeOut(无法PING通的情况) (3)实验步骤和注意事项 1、熟悉IP以及ICMP协议的工作机制 2、熟悉RAW模式的SOCKET编程 3、编写PING的实现程序 4、编译环境中需要包括SOCKET库WS2_32.lib 5、在模拟实现环境下调试并运行自己编写的PING程序 三、需求分析 在带界面的PING程序中最基本的需要是用以输入IP的文本框,显示reply的文本框和几个基本按钮。这个要事先知道在PINGΧΧΧ.ΧΧΧ.ΧΧΧ.ΧΧΧ后的reply要返回哪些内容,上面已经要求返回4次响应,每次相应的reply就以我们平时在doc下ping的结果为模板REPLYFROMΧΧΧ.ΧΧΧ.ΧΧΧ.ΧΧΧ:Bytes=XXTTL=XXXTime=XXms.虽然要求ΧΧΧ为目的主机的IP地址,不要求支持域名但域名的转换还是蛮简单的固定代码就加上去了。也添加了两个清空的按钮以便于用户使用。 四、总体设计(流程图) ApingB 结束 将ICMP封装到IP数据报中并发送给B 计算校验和、获取ip封装ICMP 接受B的回复判断接受字节数是否为0 解析收到的报文 核实收到的ID号和发送的是否一致 丢弃 返回目地IP、字节数、TTL值、时间戳 是 否