网络编程-ping程序设计实验指导书

网络编程-ping程序设计实验指导书

ID:14433212

大小:123.50 KB

页数:9页

时间:2018-07-28

网络编程-ping程序设计实验指导书_第1页
网络编程-ping程序设计实验指导书_第2页
网络编程-ping程序设计实验指导书_第3页
网络编程-ping程序设计实验指导书_第4页
网络编程-ping程序设计实验指导书_第5页
资源描述:

《网络编程-ping程序设计实验指导书》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、网络编程-PING程序设计实验指导书一.实验目的(1)熟悉原始套接字编程。(2)了解网络的结构。(3)了解网络传输底层协议。二.实验要求PING程序是用于测试网络连通性的程序。要求在WINDOWS环境下实现基本的PING程序功能.在命令提示符下输入:     PING***.***.***.***其中***为目的主机的IP地址,不要求支持域名,对是否带有开关变量也不做要求。不带开关变量时,要求返回4次响应。返回信息的格式:     REPLYFROM***.***.***.***或     REQUESTTimeOut (无法PING通的情况)三.实

2、验原理1、PING的工作原理ping程序是用来探测主机到主机之间是否可通信,如果不能ping到某台主机,表明不能和这台主机建立连接。ping使用的是ICMP协议,它发送ICMP回送请求消息给目的主机。ICMP协议规定:目的主机必须返回ICMP回送应答消息给源主机。如果源主机在一定时间内收到应答,则认为主机可达。ICMP协议通过IP协议发送的,IP协议是一种无连接的,不可靠的数据包协议。因此,保证数据送达的工作应该由其他的模块来完成。其中一个重要的模块就是ICMP(网络控制报文)协议。当传送IP数据包发生错误--比如主机不可达,路由不可达等等,ICMP

3、协议将会把错误信息封包,然后传送回给主机。给主机一个处理错误的机会,这也就是为什么说建立在IP层以上的协议是可能做到安全的原因。ICMP数据包由8bit的错误类型和8bit的代码和16bit的校验和组成。而前16bit就组成了ICMP所要传递的信息。PING利用ICMP协议包来侦测另一个主机是否可达。原理是用类型码为0的ICMP发请求,受到请求的主机则用类型码为8的ICMP回应。ping程序来计算间隔时间,并计算有多少个包被送达。用户就可以判断网络大致的情况。2、RAW模式的SOCKET编程 PING程序是面向用户的应用程序,该程序使用ICMP的封装

4、机制,通过IP协议来工作。为了实现直接对IP和ICMP包进行操作,实验中使用RAW模式的SOCKET编程。熟悉SOCKET的编程,包括基本的系统调用如SOCKET、BIND等.3、具体内容(1) 定义数据结构    需要定义好IP数据报、ICMP包等相关的数据结构(2) 程序实现    在WINDOWS环境下实现PING程序四.实验步骤和注意事项1、 熟悉IP以及ICMP协议的工作机制2、熟悉RAW模式的SOCKET编程3、编写PING的实现程序4、编译环境中需要包括SOCKET库WS2_32.lib5、 在模拟实现环境下调试并运行自己编写的PING

5、程序6、最后提交源程序,撰写实验报告参考资料:【1】WinsockProgrammer'sFAQExamples:Ping:RawSocketsMethod,http://tangentsoft.net/wskfaq/examples/rawping.html【2】透析ICMP协议: 协议原理,http://tieba.baidu.com/f?kz=70599632【3】ping原理与ICMP协议,http://hi.baidu.com/_ioini/blog/item/a64de1a75d34eb91d1435811.html附录:SOCKET编程

6、1、SOCKET规范概述WindowsSockets规范以U.C.Berkeley大学BSDUNIX中流行的Socket接口为范例定义了一套MicorosoftWindows下网络编程接口。它不仅包含了人们所熟悉的BerkeleySocket风格的库函数;也包含了一组针对Windows的扩展库函数,以使程序员能充分地利用Windows消息驱动机制进行编程。 WindowsSockets规范本意在于提供给应用程序开发者一套简单的API,并让各家网络软件供应商共同遵守。此外,在一个特定版本Windows的基础上,WindowsSockets也定义了一个二

7、进制接口(ABI),以此来保证应用WindowsSocketsAPI的应用程序能够在任何网络软件供应商的符合WindowsSockets协议的实现上工作。因此这份规范定义了应用程序开发者能够使用,并且网络软件供应商能够实现的一套库函数调用和相关语义。 遵守这套WindowsSockets规范的网络软件,我们称之为WindowsSockets兼容的,而WindowsSockets兼容实现的提供者,我们称之为WindowsSockets提供者。一个网络软件供应商必须百分之百地实现WindowsSockets规范才能做到现WindowsSockets兼容。

8、 任何能够与WindowsSockets兼容实现协同工作的应用程序就被认为是具有WindowsSockets

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。