VC基于ICMP模拟网络控制软件设计与实现
以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
资料介绍:
摘要随着网络技术的发展,网络通信已经越来越重要。而网络通信的实现,必然离不开网络协议。网络协议是一套传递信息、管理信息的规则。通过这套规则,计算机之间才能相互通信。目前,一些起到平台作用的通信协议已趋于完善,如TCP、UDP和ICMP等。它们是以IP数据包为载体(IP头+TCP/UDP/ICMP头+数据)的。控制管理模块的主要目标是管理和发送控制信息,在ICMP协议的基础上,模拟出一套自定义的规则,用于实现简单的网络控制。具体实现是通过VC 6.0创建一个对话框工程,并采用RAW SOCKET技术完成ICMP数据包的发送和接收,以ICMP的数据部分作为本协议实现的载体,即IP头+ICMP头+数据(自定义的简单协议)的数据包形式实现不同计算机之间的通信,从而达到网络控制的目的。通过测试,该模块实现了控制信息的管理和发送。关键词:ICMP;RAW SOCKET;网络协议;数据包1 引言1.1 课题背景随着科学技术的飞速发展,21世纪的地球人已经生活在信息时代。20世纪人类两大科学技术成果—计算机技术和网络技术,均已深入到人类社会的各个领域,Internet把“地球村”的居民紧密联系在一起,“天涯若比邻”已然成为现实。互联网之所以能迅速蔓延,被世人接受,是因为它具备特有的信息来源。近年来Internet的迅速发展,给人们的日常生活带来了全新的感受,“网络生存”已经成为时尚,同时人类社会诸如政治、科研、经济、军事等各种活动对信息网络的依赖程度已经越来越强,“网络经济”时代已初露端倪。1.2 国内外研究现状Ping命令早已是耳熟能详的检查网络畅通的得力方法之一,但是ping命令是来自于哪个网络层次的哪个协议,就不是每个人能说得上的了。其实,ping命令就是ICMP协议的一个重要应用,Traceroute命令也是。ICMP协议是一个非常重要的协议,它对于网络安全、网络的正常运作具有极其重要的意义。它被用于在IP主机、路由器之间传递控制消息,如网络通不通、主机是否可达、路由是否可用等。这些控制信息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。而且,ICMP协议本身的特点又决定了它非常容易被用于攻击网络上的路由器和主机,造成CPU疲与奔命,系统瘫痪,主机死机。1.3 本课题研究的意义网络经济的发展自然离不开网络,而网络的发展更离不开网络协议。协议本.质上是一套行为规则,这些规则也许是非书面形式的,但却是人们在使用中认为是正确而接受的。由于环境和文化的原因,行为规则有些细微差别。有些行为规则是写在纸上的,例如交通规则。但由于国家和地区的不同,交通规则的差异也很大。例如,在中国,黄色交通信号意味着“当心,准备停车”。但是在德国,同样的黄色交通信号却表示“准备,灯就要变成绿色了”。类似地,当两台或更多台计算机需要通信时,它们也要有行为规则和书写与传送信息的习惯。就像世界各地的人们在不同的地区讲不同的语言一样,计算机也需要“讲”特定的网络语言即“协议”。如果一个计算机不能使用某个协议,它就不能与使用那个协议的计算机通信。网络里面充斥着各种协议。一台计算机需要准确地知道信息在网络里以什么形式传递,从而确保信息到达正确的地方。它需要知道网络预计的信息格式(例如,信息的哪一部分是数据,哪一部分用于制定接收方的地址;只有这样,网络才能将数据顺利地传递至目的地。就像上面提到的交通规则,我们可以称之为十字路口的公路交通协议,这种协议可以确保车辆的安全通过。4.2.1 阻塞和非阻塞套接字可以处于阻塞或非阻塞模式。在阻塞模式下,在I/O操作完成前,执行操作的Winsock函数会一直等待下去,不会立即返回(将控制权交还给程序),直到操作完成。在非阻塞模式下,Winsock函数无论如何都会立即返回并交出程序的控制权,在默认情况下,套接字为阻塞模式。4.2.2 字节顺序不同的计算机有时使用不同的字节顺序存储数据。任何从Winsock函数对IP地址和端口号的引用和传送给Winsock函数的IP地址和端口号均是按照网络顺序组织的,这也包括了sockaddr_in这一数据结构中的IP地址和端口号(但不包括sin family)。4.2.3 客户机/服务器模型一个在建立分布式应用时最常用的范例便是客户机/服务器模型。在这种方案中客户应用程序向服务器程序请求服务。这种方式隐含了在建立客户机/服务器间通信的非对称性。该模型工作时要求有一套为客户机和服务器所共识的惯例,来保证服务能够被提供。这一套惯例包含了一套协议,它必须在通信的两头都被实现。根据不同的情况,协议可能是对称的或是非对称的。在对称的协议中,每一方都有可能扮演主从角色;在非对称协议中,一方被不可改变地认为是主机,而另一方则是从机。一个对称协议的例子是Internet中用于终端仿真的Telnet。而非对称协议的例子是Internet中的FTP。无论具体的协议是对称的还是非对称的,当服务被提供时必然存在“客户进程”和“服务进程”。一个服务程序通常在一个众所周知的地址监听对服务的请求,也就是说,服务进程一直处于休眠状态,直到一个客户对这个服务的地址提出了连接请求。在这个时刻,服务程序被“惊醒”并且为客户提供服务—对客户的请求做出适当的反应。2 控制协议的模拟实现2.1 课题的具体要求此次毕业设计的题目是:基于ICMP模拟网络控制软件的开发(控制管理模块),也就是在ICMP协议的基础上,开发出自己的一套规则,来模拟网络控制。通过在控制端输入控制信息,接收端收到后做出相应的行为。2.2 课题的实现重点1) 为了控制端操作方便,采用可视化的界面,利用Visual C++6.0制作一个包含几种控件的对话框界面。2) 利用套接字编程知识,正确地把控制信息发送到接收端2.3 可视化界面的具体实现5.3.1 思考过程首先应使用Visual C++的AppWizard创建一个MFC Appwizard(exe)类型的工程文件,并命名为MyICMP,应用程序的类型选择基于对话框,然后再进行界面设计。 为了操作方便灵活,需要一个组合框,用来存储控制信息,操作员也可以在组合框的编辑框中手工输入。为了慎重起见,先从组合框中选择一控制信息,传送到另外一个编辑框中,核实无误后,再发送到接收端。同时为了方便操作员记录发送控制的日期、时间,界面用一个分组框来显示当前的日期和时间。设计的界面如图5-1所示:
包含资料:
【买计算机毕业论文就到计算机毕业论文网】 内容来自think58
[资料来源:http://think58.com]
think58
[资料来源:http://think58.com]
[资料来源:THINK58.com]copyright think58 [资料来源:http://THINK58.com]
[资料来源:www.THINK58.com]源程序+论文(15000字以上)+可执行程序+答辩稿ppt+开题报告+外文翻译
copyright think58 [资料来源:http://THINK58.com]
[资料来源:THINK58.com]
获取资料请您联系本站客服
[来源:http://www.think58.com]