基于ICMP模拟网络控制软件的开发——接收处理模块
来源:wenku163.com 资料编号:WK1638209 资料等级:★★★★★ %E8%B5%84%E6%96%99%E7%BC%96%E5%8F%B7%EF%BC%9AWK1638209
资料介绍
基于ICMP模拟网络控制软件的开发——接收处理模块
摘 要
随着计算机的发展,网络越来越重要。而网络最重要的作用就是为不同计算机之间的通信服务的。计算机之间(硬件、操作系统等)进行信息通信需要有一定的规则才能实施,即网络通信协议,到目前,一些起到平台作用的通信协议已趋于完善,如TCP、UDP和ICMP等,他们以IP数据包为载体(IP头+TCP/UDP/ICMP头+数据)。借鉴这种模式,结合一些计算机网络的理论,以网络游戏为假想对象,模拟设计开发了一种简单的内部使用的游戏控制协议,它能保证正常网络通信,并确保对方知道自己的意愿。具体通过以ICMP数据包为载体,在VC6.0下使用RAW SOCKET技术,实现了不同计算机之间的ICMP报文的网络通信,并能分析出每个报文的数据部分内容,依照自己的协议。结果显示做出的EXE执行程序能实现网络通信并解析出自行设计的协议
关键词:网络通信;ICMP;通信协议;套接字;网络游戏
The simulation exploitation of the network control software receiving and processing module based on ICMP
Abstract
Along with the development of the computer, the internet communication becomes more and more important. And its most important function is to serving for the communication between computers, which requires some special regulations to sustaining its common circulation, namely protocol. Up to the present, a lot of the basal protocols have been nearly perfect, such as TCP、UDP、ICMP , which are based on the IP packets (IP head + TCP/UDP/ICMP head + data).Using for reference, this thesis designs a rough control protocol for one network game under the guide of protocol engineering and computer network theory, which would confirm the current communication and the object can see the desire of the host. It uses ICMP data mode,VC6.0 and RAW socket concretely carries out the current communication among different computers, and confirms that the object get the will of the host according to our own protocol. Results showed the program and the protocol function well.
Key words: Internet communication; ICMP; Internet protocol; SOCKET;Network game
目 录
论文总页数:23页
1 引言 1
1.1 课题背景 1
1.2 国内外研究现状 1
1.3 本课题研究的意义 1
1.4 本课题的研究方法 1
2 协议工程理论 1
2.1 什么是协议 2
2.2 协议开发过程 2
2.3 协议工程 3
3 NGCP协议的分析与设计 4
3.1 NGCP协议分析 4
3.1.1 协议描述 4
3.1.2 协议环境分析 5
3.1.3 协议功能分析 5
3.2 协议设计 6
3.2.1会话层协议 6
3.2.2应用层协议 8
4 使用到的工具或知识的介绍 10
4.1 SOCKET基础、分类、运行方式 10
4.2 VC/MFC 15
4.2.1 ICMP简介 15
4.2.2 程序实现 18
4.3 实际成果说明 19
结 论 20
参考文献 21
致 谢 22
声 明 23
1 引言
1.1 课题背景
随着计算机的发展,网络越来越重要,而网络最重要的作用就是为进行不同计算机之间的通信服务的。网络游戏技术是一种新兴的网络技术,电脑游戏行业经过二十年的发展,已经成为与影视、音乐等并驾齐驱的全球最重要的娱乐产业之一,其年销售额超过好莱坞的全年收入。互联网的出现为电脑游戏行业发展注入了新的活力,凭借信息双向交流、速度快、不受空间限制等优势,让真人参与游戏,提高了游戏的互动性、仿真性和竞技性,使玩家在虚拟世界里可以发挥现实世界无法展现的潜能,改变了单机版游戏固定、呆板、与机器对话的状况。网络游戏的这些优势不仅使其在电脑游戏行业中异军突起并在某种程度上取代了单机版游戏,而且成为网络业三大(网上金融、网上教育和网络游戏)赢利且利润优厚的领域之一。
1.2 国内外研究现状
随着计算机技术和网络技术的发展,以多媒体通信为主体的信息网络己成为世界关注的热点。Internet的巨大成功,使得通信协议成为未来信息网络的支柱技术之一。现在TCP/IP协议体系已成为全球通用的基本协议,它作为整个网络通信协议的基础平台而存在。现在个人或团体,只要有需要就都可以在TCP/IP协议族之上进行自己协议的设计和使用。这方面的研究已很成熟,并已形成了相应的工程理论。
1.3 本课题研究的意义
网络游戏必须进行不同的计算机之间(硬件、操作系统等)的通信,而这种信息交流又需要有一定的规则才能实施,即网络通信协议,如今一些起到平台作用的通信协议已趋于完善,如TCP、UDP和ICMP等,他们都以IP数据包为载体(IP头+TCP/UDP/ICMP头+数据)。网络通信成了时代进步最不可或缺的条件,而协议又是实现网络通信所必需的。
1.4 本课题的研究方法
使用VC 6.0,建立一个工程来实现ICMP数据包的发送和接收,用ICMP的数据部分作为本协议实现的载体,即用IP头+ICMP头+数据(自己设计的协议)样的数据包实现2台机器之间的网络通信而达到个人协议的实现。具体的网络通信编程使用的是raw socket即原始套接字编程。
2 协议工程理论
在对协议的设计进行详细探讨之前,我们有必要先对协议工程方法有一定的了解。协议工程理论对于我们的工程的设计,提供了完善而丰富的方法理论指导。
2.1 什么是协议
我们要讨论的协议是用于计算机通信、电信等领域的通信协议(Communication Protocol),通信协议的定义如下:
在计算机网络中,为了使计算机或终端之间能够正确地传递信息,必须有一套关于信息传输顺序、信息格式和信息内容等的约定,这一整套约定称为通信协议。
计算机或终端之间的通信采用分层结构,比如,国际标准组织(ISO)定义的开放系统参考模型(OSI-RM)在功能上把计算机网络划分成七层,即物理层(最低层)、数据链路层、网络层、传输层、会话层、表示层和应用层。通信只能发生在对等层之间,而各层采用的通信协议是各不相同的,即使是在同一层,不同的功能要求也可能采用不同的通信协议。如目前应用很广的TCP/IP协议栈(协议族)共分四层,即数据链路层、网络层、传输层和应用层。每层包含通信协议各不相同,比如:网络层包括IP(网际协议)、IGMP(网际组管理协议)、ICMP(网际控制报文协议)等;传输层包括TCP(传输控制协议)、UDP(用户数据报协议)、等;应用层包括TELNET(远程通信网络协议)、FTP(文件传输协议)、SMTP(简单邮件传送协议)、DNS(域名系统)、SNMP(简单网络管理协议)、DHCP(动态主机配置协议)等。
2.2 协议开发过程
协议开发过程是开发协议的过程。开发协议有两种含义,一个是为了满足新的通信要求,研究开发新的协议,制定协议标准;另一个则是在一个特定应用环境下,实现某个已经成熟的协议。所谓成熟的协议是指已经成为标准文本的协议,如TCP/IP协议等。也可以是即将成为标准文本的协议,如3GPP制定的一系列关于第三代移动通信的协议文本等。
对于第一种含义(开发新的协议),开发协议的目标是形成新的协议文本,重点是说明本协议应该具有什么功能。其协议开发过程包括:
1) 协议环境分析,包括用户要求、通道性质、工作模式等。
2) 协议功能分析,根据环境分析结果明确本协议应具有的功能。
3) 协议元素设计,设计服务原语、PDU格式等。
4) 形成协议文本,用自然语言描述协议结构及协议元素之间的关系。
5) 协议验证,在开发环境下仿真运行协议软件,验证协议的正确性。
对于第二种含义(实现具体协议),开发协议的目标是生成一个软件系统,该软件系统可以实现具体协议的全部功能或一个功能子集,重点是说明如何实现协议功能。其协议开发过程包括:
1) 协议分析,包括协议环境分析和协议功能分析
2) 协议设计,包括协议机制设计、协议元素设计及协议组织设计。
3) 协议描述,用一种形式化语言来描述设计结果,包括软件系统结构、模块划分、系统行为实现细节等。
4) 协议验证,在开发环境下仿真运行协议软件,验证协议的正确性。
5) 协议实现,用某种编程语言实现协议软件系统(自动生成代码或手工编码)。
6) 协议测试,在目标环境下测试协议软件系统。
7) 协议维护,在协议软件的使用过程中不断完善系统。
实现具体协议的过程基本上涵盖了开发新的协议的过程,只有两个过程的出发点和侧重点不同的。从应用角度来看,实现具体协议的需求大于开发新的协议的需求,所以本文将重点介绍实现具体协议的过程。
在本文中由于讨论所限制,整个协议的开发过程仅设计到第一种含义,即新协议的开发和设计的讨论,并不会涉及协议实现部分的内容。 |