- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
网络课设报告
《计算机网络与通信》
实验报告
实验名称 PING程序设计
专业班级
姓 名
学 号
同组人姓名
同组人学号
实验日期 2010.12.30
实验机器IP地址 172.29.137.39
教师审批签字
二 零 一 零 年 十二 月 三十 日
一、实验目的和要求
1、实验目的
PING程序是我们使用的比较多的用于测试网络连通性的程序。PING程序基于ICMP,使用ICMP的回送请求和回送应答来工作。由计算机网络课程知道,ICMP是基于IP的一个协议,ICMP包通过IP的封装之后传递。
课程设计中选取PING程序的设计,其目的是希望同学们通过PING程序的设计,能初步掌握TCP/IP网络协议的基本实现方法,对网络的实现机制有进一步的认识。
2、具体内容
定义数据结构
需要定义好IP数据报、ICMP包等相关的数据结构
程序实现
在WINDOWS环境下实现PING程序
程序要求
在命令提示符下输入:
PING ΧΧΧ.ΧΧΧ.ΧΧΧ.ΧΧΧ
其中ΧΧΧ为目的主机的IP地址,不要求支持域名,对是否带有开关变量也不做要求。不带开关变量时,要求返回4次响应。
返回信息的格式:
REPLY FROM ΧΧΧ.ΧΧΧ.ΧΧΧ.ΧΧΧ
或
REQUEST TimeOut (无法PING通的情况)
二、实验环境
一台可以连上公网的且安装有Micosoft Visual C++软件的计算机
三、程序的逻辑框图
V
四、基本思路及设计原理
基本思路:
在PING的工作原理下,PING程序基于ICMP,使用ICMP的回送请求和回送应答来工作。为了实现直接对IP和ICMP包进行操作,RAW模式的SOCKET编程探测主机到主机之间是否可通信,如果不能ping到某台主机,表明不能和这台主机建立连接。当传送IP数据包发生错误ICMP协议将会把错误信息封包,然后传送回给主机。PING程序是面向用户的应用程序,该程序使用ICMP的封装机制,通过IP协议来工作。 程序是用来探测主机到主机之间是否可通信,如果不能ping到某台主机,表明不能和这台主机建立连接。ping 使用的是ICMP协议,它发送回送请求消息给目的主机。ICMP协议规定:目的主机必须返回ICMP回送应答消息给源主机。如果源主机在一定时间内收到应答,则认为主机可达。ICMP协议通过IP协议发送的,IP协议是一种无连接的,不可靠的数据包协议。保证数据送达的工作应该由其他的模块来完成。其中一个重要的模块就是ICMP(网络控制报文)协议。当传送IP数据包发生错误--比如主机不可达,路由不可达等等,ICMP协议将会把错误信息封包,然后传送回给主机。给主机一个处理错误的机会,这也就是为什么说建立在IP层以上的协议是可能做到安全的原因。ICMP数据包由8bit的错误类型和8bit的代码和16bit的校验和组成。而前 16bit就组成了ICMP所要传递的信息。利用ICMP协议包来侦测另一个主机是否可达。原理是用类型码为0的ICMP发请求,受到请求的主机则用类型码为8的ICMP回应。ping程序来计算间隔时间,并计算有多少个包被送达。用户就可以判断网络大致的情况。#include winsock2.h
#include stdio.h
#include windows.h
#include stdlib.h
#include string.h
#include ws2tcpip.h
#pragma comment( lib,ws2_32.lib )
unsigned short CheckSum( unsigned short *buf,int size );
void DecodeIcmpHeader( char *buf,int ret,struct sockaddr_in *lpSin,int *timesave );
void DecodeIpHeader( char *buf,int bytes );
void WhoTimeHigh( int TimeBuff[4],i
文档评论(0)