全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PING程序的设计-课程设计 PING程序的设计1 ping设计任务目的及要求51.1 设计目的52 ping工作原理及设计方案52.1 设计思路52.3 设计流程图62.4 设计方案63 ping核心程序74 ping实验结果105 总结11一、实验目的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.lib5)在模拟实现环境下调试并运行自己编写的PING程序6)保留你实现的程序在你的用户目录下,以备辅导教师检查7)最后提交源程序,撰写实验报告五、课程设计进程安排序号设计各阶段内容地点起止日期1选择课程设计题目,分析题目要求及熟悉实验软件。实验2号楼2022008.12.222查阅资料,提出设计方案并讨论。图书馆2008.12.233进行编译并调试程序实验2号楼2022008.12.244调试程序、改进实验2号楼2022008.12.255检查实验2号楼2022008.12.26六、应收集的资料及主要参考文献1.程良伦主编,网络工程概论,机械工业出版社. 20072.苏峰,黄金双,汤蕾编著,Visual C+.NET编程实例,清华大学出版社.20043.黄嘉辉编著,Internet与TCP/IP程序设计之C+ Builder高手,清华大学出版社.2001发出任务书日期: 2008年 12月 22日 指导教师签名:计划完成日期: 2008年 12月 29日 基层教学单位责任人签章:主管院长签章:1 ping设计任务目的及要求1.1 设计目的PING程序是我们使用的比较多的用于测试网络连通性的程序。PING程序基于ICMP,使用ICMP的回送请求和回送应答来工作。由计算机网络课程知道,ICMP是基于IP的一个协议,ICMP包通过IP的封装之后传递。课程设计中选取PING程序的设计,其目的是希望同学们通过PING程序的设计,能初步掌握TCP/IP网络协议的基本实现方法,对网络的实现机制有进一步的认识。1.2 设计要求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通的情况)。2 ping工作原理及设计方案2.1 设计思路由于PING是基于ICMP协议,因此需要使用windows socket中的RAW模式进行编程。首先要定义好IP数据包头,接着再IP数据包头的基础上定义ICPM数据包头,由于需要计算回送时间,因此还需要ICMP回送数据的结构。PING的具体实现流程可以分为以下几点:首先创建SOCKET,然后根据主机名查询主机地址,输出主机地址;接着调用PING主程序对目标主机地址进行测试,测试过程包含相关信息的处理;最后输出信息,并关闭SOCKET。2.3 设计流程图2.4 设计方案IP头与ICMP头的设置分别参照RFC791及RFC792的标准,包含所有必要信息。ICMP回送数据结构增加了数据传输时间用于计算。主程序设置PING()函数,用于数据包发送及接收,其中,数据包发送(回送请求)调用另一函数SendEchoRequest(),数据包接收(回送接收)调用RecvEchoReply()。由于发送数据包时可能会遇到阻塞或者目标主机不通,造成超时,因此需要在发送数据包后调用一个函数来判断是否超时,此处设置一个函数,WaitForEchoReply()来实现超时判断功能,该函数调用SOCKET的select()来进行判断。其次,还需要一个函数来计算CRC校验和,此处设置为in_cksum(),校验和采用移位的方法进行计算。另外设置一ReportError()函数来返回SOCKET操作相关的错误代码。PING程序作为S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DLT 5470-2021 燃煤发电工程建设预算项目划分导则
- 江苏省苏州市星海实验高级中学2024-2025学年高二上学期期中考试化学试题(含答案)
- 生产跟单管理试卷及答案
- 互联网教育行业未来格局预测
- 公务员面试南昌面试题及答案
- 活动策划秋招面试题及答案
- 恒瑞医药校招题库及答案
- 公务员面试蜡烛面试题及答案
- 海南航空招聘真题及答案
- 公务员面试警句面试题及答案
- 大学核心机房建设项目技术方案
- 微波暗室应急预案
- 2025年商砼搅拌站混凝土试验室主任年终会发言年终总结报告发言稿
- 运输公司安全管理制度范本
- 高考物理人教版一轮动能定理其应用教案(2025-2026学年)
- 【课件】2025年消防月主题培训全民消防生命至上安全用火用电
- 浙江九上科学期中考试卷及答案
- 监理安全操作规程
- 隧道运营养护管理手册 维修养护
- 宝贝一家亲课件
- 2025秋形势与政策课件-聚焦建设更高水平平安中国
评论
0/150
提交评论