网络游戏的原型叙事

2024-05-13

网络游戏的原型叙事(共3篇)

网络游戏的原型叙事 篇1

传统的网络安全技术,诸如访问控制机制、防火墙等都有一定的应用范围和应用环境,是静态的安全防御技术,已不能满足对网络安全要求较高场合的需要。为了提高网络的安全性,还需要一种对系统进行实时的、主动的监控,及时发现并报告系统中未授权或异常现象的技术,这就是入侵检测。

传统的入侵检测技术存在着统计模型难以建立、有较高的误报率和漏报率等诸多问题,制约了入侵检测技术的应用。神经网络其内在的对不确定性的学习与适应能力,恰好能满足入侵检测分类识别的需求。另外神经网络的非线性映射能力也保证了其成功实现各种简单或复杂的分类,它将信息分布式存储于连接权系数中,使网络具有更高的容错性和鲁棒性。本文介绍了一个基于BP神经网络的网络入侵检测模型的设计和实现。

1 系统结构模型

引入神经网络的网络入侵检测系统模型如图1所示。

模型的工作原理如下:首先,将训练数据输入系统,预处理模块把接收到的数据转化为神经网络能够识别的格式(包含期望输出)后,送入神经网络分析模块中,用于对神经网络的训练,同时把训练数据加入到规则库中。训练成功后,该系统模型就可以对新的样本进行检测了。

进行入侵检测时,数据采集模块捕获所有流经系统监测网段的网络数据,经过预处理模块转换为神经网络可以处理的数据,送入神经网络分析模块检测。如果神经网络经过分析处理以后,认为是攻击行为则发出警告通知网络管理人员。网络管理员需要经常维护规则库,发现新的安全漏洞及时补充,以备神经网络分析模块的再学习。

各模块说明如下:

1)数据采集模块

它负责抓取网络中的数据包,并做初步的过滤工作。对IP包进行格式检查,若有分片则进行重组。然后判断它是IP包、UDP包或是ICMP包事件,将符合要求的信息送入数据预处理模块。

2)数据预处理模块

它将数据采集模块送来的数据转换成神经网络能够识别的数据,送往神经网络分析模块进行学习或判定。训练过程,将加上期望输出值的数据转换格式送往神经网络。检测阶段将不确定行为转换格式后送往神经网络。

3)神经网络分析模块

接收由预处理模块导入的数据,训练网络或检测入侵行为。训练阶段样本送入神经网络,根据算法计算每一层的正向输出,再计算输出结果和期望输出的误差,用它来调整输出各层的权值及偏置值。这样不断的调整其学习过程,直到神经网络能够较准确的识别出入侵行为为止。检测阶段把确定的入侵行为发送给报警模块。

4)报警模块

把确定的入侵行为和报警信息通知管理员或采取相应的措施,切断连接或追踪攻击。

5)规则库

存放网络运算的中间结果和入侵行为特征向量,由网络管理员维护。当神经网络发现新型入侵,管理员可以提取其入侵行为特征加入规则库,以备神经网络的学习。

2 系统原型主要模块的实现

整个系统原型运行在RedHat Linux9.0平台,用C语言开发。设计的总体思路是用尽可能充分准确的网络入侵行为来对神经网络训练,从而使其建立起成熟的攻击行为的识别模型,一旦有网络入侵,神经网络就有能力把它识别出来。另外,由于神经网络具有的自适应和联想能力,通过对恶意网络行为和正常网络行为的分析和学习,神经网络将有能力将它们区分,从而具备对未知网络入侵行为进行识别的能力。

2.1 数据采集模块

网络数据的获取是进行入侵检测的基础,它的准确性、可靠性和效率直接影响到整个系统的性能。目前,局域网普遍采用的是基于广播机制的IEEE802.3协议,即以太网协议。该协议保证传输的数据包能被同一冲突域内的所有主机接受。利用这一特性,当网卡的工作模式设为混杂模式(Promiscuous Mode)时,该网卡就可以接受到本网络段内的所有数据包,将入侵检测主机的网卡设置成该模式就可以实现获取本网络段的所有数据包。

获取网络数据包有很多方法,比较流行的数据采集方式是libpcap和tcpdump,它们具有强大而高效的截获数据包的能力,有多种参数可以选择,通过参数的组合可灵活的获取所需要的数据包属性。在我们的系统中就采用该方式。

数据采集模块使用libpcap/tcpdump。Libpcap是从Unix和Linux内核捕获数据包的必备工具,通过pf_packet模块直接访问数据链路层,从而为应用层程序提供底层数据包,给上层提供统一的API函数接口,同时,也为底层网络监控提供了一个可移植树的框架。它可用于网络统计收集、安全监控和网络调试等应用,在我们这里作为基本的数据接受机制。Libpcap软件包可从网上下载,解压缩后执行配置脚本,创建适合自己系统环境的Makefile,再用make命令创建libpcap库。Libpcap安装完毕后生成一个libpcap库、三个include文件和一个man页面。

Tcpdump是Unix上最著名的嗅探器,实现基于libpacp接口,通过应用布尔表达式打印数据包首部,具体执行过滤转换、包获取和包显示等功能。我们这里用它对数据包进行筛选和分类,得到所需要的包头信息,并保存起来。

2.2 特征值选择和提取

要建立一个完整的神经网络入侵监测系统,数据采集、特征值的选择和提取、数据预处理是整个系统的基础。由于网络数据量庞大,检测系统要有高的监测率、低的误报率和好的实时性,就得要求从网络数据报文中提取出的对入侵行为描述的特征值应该尽可能的完备、准确和简洁。

TCP/IP协议组是目前使用最广泛的网络互联协议,也正是它在设计之初所存在的漏洞,导致了今天愈演愈烈的网络安全问题。我们所要检测是网络数据,实际上就是基于TCP/IP协议组的网络数据报文。由美国麻省理工学院林肯实验室主持的DARPA(美国国防部高级计划署)的1998年入侵监测评估数据中含有38种攻击。7个星期训练数据包含5百万个连接数据,2个星期的测试数据包含了2百万个连接数据。Wenke Lee从DARP1998数据中抽象出有利于进行判断和比较的特征集--KDDCUP’99[1]。该数据集中含有41维特征,分为基本特征、内容特征、两秒钟内的流量特征和主机流量特征。下面给出两条训练样本数据:

训练数据中包含有24种攻击,测试数据中增加了14种新的攻击。这些攻击分为四类:拒绝服务攻击(DOS)、远程计算机的非授权访问(R2L)、非授权访问本地根特权(U2R)、数据/资源窃取(Probing)。其中大部分是拒绝攻击。

有研究表明,神经网络进行入侵检测,使用基本的TCP特征就可以达到良好的性能[2]。另外过多的特征值势必增加系统的格外开销。我们这里就只选用基本的TCP特征作为检测特征值。共有9个,它们是:

Duration:连接持续时间,单位为秒。

Protocol_type:使用的协议类型,TCP、ICMP、UDP。

Service:目的端的服务类型,如http、ftp、telnet等。

Flag:连接终止状态。

Src_bytes:源端发送到目的端的数据比特数。

Dst_bytes:目的端发送到源端的数据比特数。

Land:源端地址和目的方地址是否一样。

Wrong_fragment:错误分片个数。

Urgent:紧急数据包个数。

将这些特征值进行组合,就可以用向量的形式来实现对网络数据包以及典型入侵行为的描述。

2.3 预处理模块

预处理模块的作用就是将需要检测的记录转换成神经网络能够识别的数值,这里分两种情况:

1)训练阶段:将接收的训练样本不仅转化为神经网络可识别的格式,还要加入期望输出。

2)检测阶段:检测记录只转换,不需要加入期望值。

首先从训练数据集中抽取所需要的9个TCP特征,组成特征向量,并为每个特征产生一个特征值序列。然后数值化非数值特征:协议类型以IP协议中的类型进行编码,TCP=6、ICMP=1、UDP=17;服务类型按其常用的端口号编码,ftp=21、telnet=23等。连接终止状态flag的11种状态也相应地用数值编码。

为了提高训练的成功率和训练速度,需要对训练样本做归一化处理[3]。处理过程为:把将要输入的样本看成一个矩阵,每一行对应一个特征向量,列对应构成向量特征集的各个元素,统计特征向量矩阵各列的最大直和最小值,最后按照下面的公式[4]得出最终的训练数据。

式中,M(i,j)为输入特征值向量矩阵元素,i、j分别表示矩阵的行、列号,MMax(j)和MMin(j)分别表示输入特征值向量矩阵第j列的最大值和最小值,X(i,j)表示归一化处理后的特征值向量矩阵元素。

2.4 神经网络分析模块

本系统原型的分析模块采用神经网络中使用最为广泛的BP(Back-Propagation)网络。神经网络分析模块是整个系统的核心,实现过程中需要考虑以下几方面问题:

1)神经网络层数和传递函数的确定

具有一个隐层的BP网络足以完成任意n维到m维的映射[5]。增加隐层,虽然可以进一步降低误差,提高精度,但同时也使得网络复杂化,网络权值训练时间急剧增加。建立神经网络模型应优先考虑单隐层,若进行认真调整后仍无法满足要求时再考虑增加隐层。

对数-S形函数是最常见的传递函数,可以将输入值映射到一个较小的0和1这样的区间内,方便神经网络的处理。另外该函数是一个连续可微的函数,可以很好地反应输入、输出之间的非线性映射关系。

综上所述,在系统实现中采用各节点是对数-S形函数的单隐层神经网络结构。

2)输入、输出层神经元个数的确定

网络输入层的神经元节点数就是系统输入的特征值向量的维度。因特征值向量是9维的,所以网络输入层设计为9个神经元。

网络输出层神经元节点的个数根据所要得到的结果确定。入侵检测的结果有两种状态:正常或攻击,所以只需一个节点就可以表示,即神经网络输出层设计为1个节点。

期望值输出,人为设定或已事先测定,代表特定的含义。这里设定1表示攻击,0表示正常。实际输出是网络的计算输出值,不可能是绝对的1或0,一般是0-1之间的数。越接近1(或与1之差满足一定的要求)就认为是攻击,越接近0(或与0之差满足一定的误差要求)就认为正常。

3)隐含层神经元个数的确定

隐含层神经元个数的确定是一个比较复杂的过程,缺少相应的理论支撑。其数目与具体问题的要求以及输入、输出层神经元节点的数目都有直接联系。在训练样本数一定的情况下,隐含层神经元数目太少时,网络难以训练出好的结果,容错性也不好;但隐含层神经元数目过多时,会使得学习的时间增长。甚至会出现过度适合[6],影响网络的推广。因此存在一个最佳的隐含层神经元数。目前还没有一个良好的解析式来表示,实际操作中是通过实验的方法来确定隐含层神经元数目的。先设置较少的隐含层神经元,输入样本训练,难以得到好的效果则增加隐含层神经元数,直到得到满意的效果为止。

4)初始权值的选取

由于系统是非线性的,初始权值对于学习是否达到局部最小、是否能够收敛以及训练时间的长短关系很大。取值过大会使得权值的调节过程极其缓慢,甚至停顿。也不能取0,以避免误差曲面上可能的鞍点。通常的做法是选择一些小的随机数作为网络的初始权值。在实现的过程中,初始化权值是通过随机的方法将各层神经单元的权值和偏置值设置为-0.5~+0.5之间的小随机数。

在训练阶段,分析器输入样本,设置网络运行所需的参数,如各层的神经元数目、学习速率等,训练结束后把所得的各参数输出为文本文件。检测时先从训练后的输出文件中读入网络运行的参数值初始化分析器,然后进行检测。

3 训练实验

实验数据采用KDDCUP'99评估数据集,因为它的数量大,攻击类型典型且全面。共选用2570条记录,其中1325条用于训练,正常的连接631条,入侵连接694条;1245条用于测试,523条正常连接,722条入侵连接。

设定误差精度0.001,初始学习速率0.1,限定循环次数1500次。神经网络输入层神经元节点数为9,输出层1个神经元。经过反复调试训练,最终含有17个隐含层的神经网络得到较好的效果。测试最低误报率和漏报率为:7.3233%和11.3469%。

4 结束语

该网络入侵检测原型的检测效果还是能够让人接受的,说明神经网络应用于入侵检测是网络安全的重要研究方向。前向神经网络应用于入侵检测,有些地方还有待基础理论的突破,如在确定隐层神经元个数方面,在实际的应用中就缺少有效的方法。随着样本量的增加,隐层神经元个数难以确定。将神经网络和其它的检测方法相结合也许不失为一个提高检测正确率的有效方法。

参考文献

[1]URL:http://kdd.ics.uci.edu/databases/kddcup99/.

[2]H.G.Kayacik.SOM Results on KDD99DATASET.Dalhousie University,Faculty of Computer Science,2002,9:114-121.

[3]丛爽.面向MATLAB工具箱的神经网络理论与应用[M].中国科学技术大学出版社,1998.8.

[4]胡铁松.神经网络预测与优化[M].大连海书大学出版,1997.7.

[5]王景新,戴葵,宋辉,等.基于神经网络的入侵检测系统[M].计算机工程与科学,1007-130X(2003)06-0028-04.

[6]Martin T Hagan,Howard B Demuth,Mark H Beale.神经网络设计[M].机械工业出版社,2003.

网络游戏的原型叙事 篇2

关键词:精细化,原型,设计

在进行交互式作品设计时, 会考虑很多因素, 但是本文暂时抛开最基本的栅格化等设计要素不谈, 只是从原型本身的精细化来做个粗浅的分析。

下面说说个人觉得影响原型精细化的几个维度:

1 浅色的主体

首先, 交互设计师输出的是流程图, 给开发以及产品经理沟通之用, 所以有时候为了突出界面的层次和区域, 有必要通过深浅灰色来进行区分, 在我制图的过程中, 基本上界面上70%都是白色为主, 一个是为了看起来更加干净, 再一个是如果有必要打印沟通, 当然白色是比较好的, 如图1。

2 性感的线条

在设计图中有很多线条, 线条的粗细、虚实程度以及构成都有不同的意义, 灵活的运用这些线条可以帮助自己的文档提高一个档次。

下面说一说我的一点小经验供大家借鉴:

首先说线条怎么画出来, 很多设计师通常使用矩形工具来为自己的界面提供线条, 这样用起来最方便, 但是如果在界面内的区域划分、条目列举等等情况下, 众多矩形看起来会非常的没有重点, 同时在两个矩形重叠处也非常不好处理, 所以在界面内的区域划分这种情况使用适当的连接线工具还是非常好的, 既避免的重叠的问题, 又更好调节哪些是重点, 哪些不是重点, 如图2。

然后是线条的虚实, 线条的虚实是配合上一条来使用, 在页面内划分时候虚线配连接线会让界面更有层次。上面说的只是线条的几个维度, 运用好可以做出非常性感的线条, 同时也不会增加工作量, 如图3。

3 敏感的颜色。

适当的颜色可以帮助交互更好的发挥功效。

首先, 适当的颜色可以更好的达到黑白灰无法达到的效果, 但是这个颜色不要太艳, 所以在使用颜色时应该尽量使用纯度不高的颜色, 同时可以适当调节一下透明度, 目的就是不抢视觉, 同时还能表达清楚我们的意思。

与此同时, 对于和自己公司的产品经理和开发者有着长期合作的设计师来说, 给颜色赋予性格也是非常重要的一件事儿, 红色代表删除, 黄色代表选中, 绿线代表前进, 红线代表后退, 等等诸如此类的颜色定义, 在长期的使用和沟通中可以培养其他人员对你颜色的敏感, 同时, 除了线型, 色块等等, 你又多了一种表达含义的一种方式—-颜色, 如图4。

网络游戏的原型叙事 篇3

在这种情况下,使用基于XML技术的Web Service来实现松散耦合的和具有高度互联性的网络性能管理系统成为可能。Web Service技术的出现和流行为创建一个平台独立的通用网络性能管理系统提供了一条新的解决途径,基于Web Service的网络性能管理的一个先天技术优势是可以很容易的实现广域网上的分布式网络监视和控制,屏蔽了不同的网络、操作系统、应用软件和计算机设备之间的差别,从而可以实现真正意义上的网络性能管理。

1 Web Service简介

Web Service可以定义如下[1]:Web Services是基于网络的、自包含的、松散耦合的、分布式模块化组件,它执行特定的任务,遵守具体的技术规范,可以在网络(通常为Web)中被描述、发布、查找以及调用。从表面上看,Web service就是一个应用程序,它基于HTTP GET请求,向外界暴露出一个能够通过Web进行调用的API。这就是说,能够用编程的方法通过Web来调用这个应用程序。更进一步说,Web services是建立可互操作的分布式应用程序的新平台。

Web Service利用XML描述其数据以及其接口,使用HTTP发送请求和接收响应。XML的自描述性和可扩展性以及HTTP使用的广泛性和对防火墙透明性,使得Web Service可以在IN-TERNET这一完全异构的环境下得到应用。只要Web Service的调用接口不变,其他的任何改变对于服务的调用者来说都是透明的。通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。

2 体系结构

在复杂的网络环境下,建立适用且稳定的测量体系结构,既要能为各种网络测量工具和方法提供支持,又不能影响网络的正常运行。结合Web Service的技术优势,本文设计的网络性能管理系统整体结构如图1所示。该系统包含以下服务:测量点服务、测量结果存档服务、服务的注册与查找、认证服务。用于显示测量结果的用户程序虽然不是服务,但作为服务请求者也是系统中重要的部分。在本系统中,任何使用服务者,不论是用户应用程序还是其它服务,统称为“客户”;任何提供服务者,统称为“服务器”。

测量点服务(Measurement Point Service,MPS):MPS的主要功能是发起测量并把测量结果返回给相应的用户。本系统主要执行两种类型的测量(见图2)。一种是需求的测量,它一般是由用户或网络管理员请求的。另一种是定期的测量,它是由测量结果存档服务请求的。在MPS中有一系列基于命令行的主动测量工具,为了能轻易的使用这些工具,MPS还负责把用于描述用户测量需求的XML文件转换成指定测量工具程序所需的命令行参数。另一方面它还要把测量结果转换成XML文件返回给相应的服务请求者。目前,MPS内包含ping[2]、traceroute、iperf、Pathload[3]、Spruce[4],Abmt等工具程序。

测量结果存档服务(Measurement Archive Service,MAS):MAS的主要功能是存储测量数据和发布存储的测量数据。MAS一方面作为服务请求者定期向MPS发出服务请求,接着把MPS返回的测量结果进行相关优化后存入数据库中;另一方面,它作为服务提供者接受用户的请求,根据用户的请求查询数据库,然后把结果转换成XML文件返回给用户(图2)。

注册与查找服务(Lookup Service,LS):LS的主要功能是服务的注册与查找,这是基于SOA的服务平台的关键能力之一。系统中的所有服务在LS中注册它们的名字与功能,让其它的服务知道它们的存在,这样客户就在LS中查询所需的服务(图2)。

认证服务(Authentication Service,AS):AS的主要功能是提供认证。用户发起一个测量前需要先与AS认证,才能与MPS进行交互。

客户端:它是一种用户应用程序。一方面,它是用户发起需求测量时,与AS,MPS等交互的接口;另一方面也是显示测量结果的终端。

3 主要服务的设计

3.1 注册与查找服务

该服务是系统运行的关键,系统中其他的服务需要这个服务来注册它们的位置和功能。客户也需要这个服务来查询所需服务的位置。如果客户所需的服务在该服务中有记录,则直接返回查询结果;如果用户查询的服务没有在该服务中存有记录,该服务代替客户去其它自治域中查询所需服务的具体信息。得到查询结果后再把信息返回给客户。比如,一个客户需要执行一个即时测量任务,这个测量任务是测量位于两个不同自治域的测量点间的可用带宽。其中一个测量点位于同一自治域,另一个测量点位于另一个自治域。首先客户向本地LS1发出查询,查询到位于本地自治域的测量点MP1,向该测量点发出服务请求。该测量点处理测量任务,发现需要另一个测量点的配合,又向LS1发出查询。LS1在本地数据库没有发现该服务的记录,就向另一个自治域中的LS2发出查询请求。LS2查询本地记录,找到测量点MP2的信息,把结果返回给LS1,LS1又把结果返回给MP1。MP1接着向MP2发出服务请求,执行测量。测量结束后,MP1把测量结果返回给客户。具体过程如图3所示。

3.2 认证服务

不正当的使用网络测量服务,有可能造成网络故障或者引发网络安全问题。因此,身份认证及权限验证是测量平台的设计中需要考虑的重要问题。本系统中的用户主要分为三类:

1)管理用户:负责各类用户的创建、修改、删除及权限分配,测量服务的注册及管理等功能。

2)具有即时测量权限用户:他们是各种测量服务的最终使用者。这类用户既可以通过测量系统提供的Web界面直接调用测量服务进行测量,也可以在自己开发的应用程序中调用所需的测量服务,完成特定的测量任务。

3)普通用户:这类用户可以访问测量数据存档服务提供的定时测量数据,但不能直接访问测量点。

用户在使用系统前,在LS的帮助下,获得认证服务AS的位置及服务描述,然后在AS处获得认证,然后访问系统其它的服务。当客户向其它服务发出请求后,服务要先到AS处验证用户是否有权限使用该服务。只有验证成功,才响应客户请求。用户访问测量点服务和测量结果存档服务的情景类似,不再赘述。

3.3 测量点服务

测量点服务执行测量,并把测量数据响应给用户或者发布给测量结果存档服务。测量点服务作为服务提供者需要向其他服务消费者提供足够的信息,才能使用这些服务。Web Service中使用WSDL来描述服务的接口[5]。它定义了服务支持的操作集合以及请求服务时客户必须使用的格式,充当客户和服务器之间进行有效通信的合约。客户必须以格式正确的SOAP请求以请求服务。其中测量点的接口定义如下,其中包含了测量往返时延,可用带宽的信息,操作定义。

测量点服务把测量结果统一成一致的格式,不论使用的是哪个测量程序。

3.4 测量结果存档服务

测量结果存档服务主要负责接收测量点执行定时测量的数据,并把结果保存到数据库中。该服务定时向测量点发出请求消息,测量点返回包含测量结果的响应消息。另一方面,用户可以向该服务发出请求,得到保存的定时测量的网络性能数据。测量结果存档服务也是一个接口,它后面可以是各种数据库,也可以是文件,对访问该服务的消费者来说是透明的。

3.5 原型系统测试

基于Web Service的端到端网络性能测量系统主要是由一系列服务组成。本文主要实现了测量点服务MP,测量结果存档服务MAS等用于测试。

在实现这些服务过程使用Axis2(Java版)作为SOAP引擎,提供服务提供者和服务请求者SOAP操作的基本框架。使用了3台机器用于测试,部署服务,一台部署测量结果存档服务,两台部署测量点服务。这三台的机器硬件配置相同,CPU是Pentium4主频2.66G,内存大小为1024M,操作系统为Linux Debian4。在测量点服务中即包含有双端测量工具Spruce,又包含有单端测量工具newping,Abmt等。根据用户的需求,测量点服务自动选择合适的测量工具。在测量结果存档服务MAS中,我们使用开源的MySQL数据库存储测量结果。本文主要测试能否执行即时测量任务和定时测量任务。即时测量任务由perl语言编写的脚本访问测量点服务,获得测量的性能数据,然后显示出来。

定时测量服务,定时向测量点服务发出请求,获得测量的性能数据保存到数据库中。我们向该服务发出请求,获得历史测量数据。为了使用RRDtool的绘图功能,我们把获得的数据临时保存到RRD文件中,然后绘制出如图5的图形。

4 结论

本文主要实现了基于Web Service的端到端网络性能测量原型系统。首先概述了Web Service的概念,接着提出了Web Service的端到端网络性能测量原型系统的体系结构,并给出了主要服务的设计。最后,实现了测量点服务和测量结果归档服务,测试结果表明该系统可以成功执行即时测量任务和定时测量任务。

参考文献

[1]Martin D.XML高级编程[M].北京:机械工业出版社,2001.

[2]Jon Postel.Internet Control Message Protocol[S].Sept.RFC 792,1981.

[3]Jain M,Dovrolis C.Pathload:A measurement tool for end-to-to available bandwidth[C].Proceedings of Passive and Active Measure-ments(PAM)Workshop,2002.

[4]Strauss J,Katabi D,Kaashoek F.A Measurement Study of Available Bandwidth Estimation Tools[C].The Internet Measurements Con-ference,2003.

上一篇:启发式引导下一篇:学习的主动权