- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课程设计(综合实验)报告
( 2012 -- 2013 年度第 2 学期)
名 称: 网络综合实验
题 目:(1)Ping命令的设计与实现
(2)列车时刻表查询程序
院 系: 计算机
班 级: 网络工程1002
学 号: 201009030212
学生姓名: 马聪敏
指导教师: 李丽芬
设计周数: 2周
成 绩:
日期: 2013 年 6月4 日
课程设计的目的与要求
1.1.目的:
1.1.1任务:设计并实现一个Ping程序,以掌握UDP套接字的使用以及ICMP协议中ECHO报文的发送和接受方法
1.1.2目的:加深对课堂讲授知识的理解,熟练掌握基本的网络编程技术和方法,建立网络编程整体概念,使得学生初步具有研究、设计、编制和调试网络程序的能力。
1.1.3要求:熟悉有关定义、概念和实现算法,设计出程序流程框图和数据结构,编写出完整的源程序,基本功能完善,方便易用,操作无误。
1.1.4学生要求人数:1人。
1.2.要求:
用标准的UDP套接字和ECHO报文实现一个简单的基于UDP的Ping程序,要求:
1.2.1发送方发送ECHO报文,远程主机对发送方返回响应;
1.2.2发送方能够确定他和被探测机器之间的往返时延。
二、设计正文
2.1总体设计
2.1.1
本系统共有 4 个模块,分别是初始化模块、功能控制模块、数据控制模块、数据报解读模块和ping测试模块,如图2.1所示。各模块功能描述如下。
Ping程序设计初始化模块
Ping程序设计
初始化模块
数据报解读模块
功能控制模块
Ping
测试模块
图 2.1
(1) 初始化模块。改模块用于初始化各个全局变量,为全局变量赋初始值;初始化,加载库。
(2)功能控制模块。改模块是被其它模块调用,其功能包括获取参数、计算校验和填充数据报文、释放占用资源和显示用户帮助。
(3)数据报解读模块。改模块用于解读接收到的报文和选项。
(4)测试模块。改模块是本程序的核心模块,调用其他模块实现其功能,主要是实现的功能。
2.1.2系统流程图
系统执行的流程图2.1.2所示。程序首先用AppWizard从VC++中生成一个基于对话框的工程MyPing,界面如下图:
将Ping服务封装成一个类CPing。在Ping.h中,先定义ICMP报数据结构常量:
#define IP_RECORD_ROUTE 0x7
#define DEF_PACKET_SIZE 32
#define MAX_PACKET 1024
#define MAX_IP_HDR_SIZE 60
#define ICMP_ECHO 8
#define ICMP_ECHOREPLY 0
#define ICMP_MIN 8
程序流程图2.1
typedef struct _iphdr定义IP报文格式
typedef struct _icmphdr定义ICMP报文格式
typedef struct _ipoptionhdrIP头选项结构,当socket可选项设置成IP OPTIONS使用这个结构。用classCPing解析。
h-len:4 : 表示IP报头长度,首部长度指的是首部占32bit字的数目,包括任何选项。由于它是一个4bit 字段,因此首部最长为60个字节,不包括任何选项的IP报头是20个字节。
Version:4: 表示IP的版本号,这里表示Ipv4.。
Top: 表示服务的类型,可以表示最小时延,最大吞吐量,最高可靠性和最小费用。
Total –len: 整个IP数据报的总长度。
Ident: 唯一的标识符,标识主机发送的每一份数据报。
Frag-flags: 分段标志,表示过长的数据报是否要分段。
Ttl: 生存期,表示数据报可以经过的最多路由器数。
Proto: 协议类型(TCP、UDP等)。
Checksum: 校验和。
sourceIP: 源IP地址。
destIP: 目的IP地址。
I_tye : ICMP 报文类型。
I_code : 该类型中的代码号,一种ICMP 报文的类型号和该类型中的代码号共同决定。、
I_cksum: 校验和。
I_se
您可能关注的文档
最近下载
- 2024年中级注册安全工程师-矿山-考前资料.pdf VIP
- 2025年高级工具钳工《理论知识》考试真题(新版解析).pdf VIP
- 红色资源讲解员服务规范 DB32 T 5069-2025.pdf VIP
- 第9课+水墨井冈+++课件+2025-2026学年赣美版(2024)初中美术八年级上册.pptx VIP
- 《习作:“漫画”老师》优质教案(第一课时).docx VIP
- 第7课+中国传统色++课件+2025-2026学年赣美版(2024)初中美术八年级上册.pptx VIP
- 查理和巧克力工厂.ppt VIP
- 第7课 中国传统色 课件 2025赣美版美术八年级上册.pptx
- 医美整形面部美学设计及微整产品知识课件.ppt
- 第一财经商业数据中心&自然堂:2024中国女性肌肤衰老趋势变化报告.pdf VIP
文档评论(0)