本发明涉及一种基于网络行为模型的网络拓扑构建方法与系统,属于网络安全技术领域。
背景技术:
网络模拟技术自20世纪70年代就被提出并且作为研究热点研究至今。随着现今大规模网络事件以及网络攻击协议的不断增加,对于网络事件以及网络攻击协议的破坏性以及破坏范围的评估显得尤为重要。现今的网络模拟技术主要有并行网络模拟技术以及分布式网络模拟技术,主要的代表系统为NS3网络模拟工具。
对于并行网络模拟技术而言单进程中的网络规模是一个非常重要的衡量标准,已有的网络模拟技术由于网络节点与网络链路的建模的局限性导致了在单点单进程中的网络规模无法满足现今的大规模网络模拟要求。对于分布式网络模拟而言,单位时间内的处理事件的数量也是一个提供参考的依据。由于事件所占的空间较大,并且在大规模网络中单位时间生成事件较多,从而使处理时间的能力大大降低。
技术实现要素:
针对现有技术中存在的技术问题,本发明的目的在于提供一种基于网络行为模型的网络拓扑构建方法与系统。
本方法利用网络行为模型,即以网络行为中所依赖的信息为模型基础,减少网络节点在模拟中所占用的空间,缩小网络模拟事件中数据包的容量,提高网络模拟过程中处理事件的效率,扩大单进程下网络模拟规模,为大规模网络模拟事件以及网络攻击事件的复现分析提供基础。
本发明的技术方案为:
一种网络拓扑构建方法,其步骤为:
1)从用户配置的网络拓扑信息中解析出关于网络行为的必要信息,包括抽象路由表、抽象协议栈以及设定的数据统计项,生成中间配置信息;
2)根据该中间配置信息中的抽象路由表、抽象协议栈以及数据统计项按照节点信息、链路信息、路由信息进行分类;
3)将步骤2)分类后的信息作为基础信息建立事件处理模型;
4)该事件处理模型将事先预计发生的网络行为动作抽象成网络事件存入事件队列中;
5)对于事件队列中的每一事件,通过查询该事件的节点信息、链路信息以及路由信息确定该事件的下一步网络行为动作的链路信息、节点信息、以及事件动作并生成新的网络事件插入到事件队列中,完成网络拓扑的构建。
进一步的,设定的所述数据统计项包括节点最大处理数据包数、节点时延以及链路时延。
进一步的,该事件处理模型将网络中数据包的变化以及传递均抽象为网络事件。
进一步的,该事件处理模型包括网络事件队列以及网络事件调度器;其中,网络事件调度器包含事件提取器、事件处理器以及事件分发器;事件提取器将网络事件队列中的网络事件提取出来并交给事件处理器,事件处理器将网络事件所涉及到的数据包以及协议安排给网络事件发生的节点进行处理并等待返回结果,并将结果组合成新的网络事件,通过事件分发器插入网络事件队列中。
进一步的,所述网络事件包括基础信息中的节点IP、事件发生的链路信息、数据包类型与内容、发送或接受动作的标志位。
一种网络拓扑构建系统,其特征在于,包括,网络行为模型抽象模块,网络配置解析模块,事件处理模型;其中,
网络行为模型抽象模块,用于从用户配置的网络拓扑信息中解析出关于网络行为的必要信息,包括抽象路由表、抽象协议栈以及设定的数据统计项,生成中间配置信息;
网络配置解析模块,用于根据该中间配置信息中的抽象路由表、抽象协议栈以及数据统计项按照节点信息、链路信息、路由信息进行分类,将分类后的信息作为基础信息建立事件处理模型;
事件处理模型,用于将该事件处理模型将事先预计发生的网络行为动作抽象成网络事件存入事件队列中;然后对于事件队列中的每一事件,通过查询该事件的节点信息、链路信息以及路由信息确定该事件的下一步网络行为动作的链路信息、节点信息、以及事件动作并生成新的网络事件插入到事件队列中,完成网络拓扑的构建。
本方法针对具体网络行为需求,以实现网络行为为根本目的,忽略在网络行为中没有作用或在抽象中可以进行弱化的网络设备及属性。本方案能够处理大规模的网络拓扑需求,现处理能力为单进程10万节点分钟级部署。系统通过用户配置的信息对网络节点以及网络链路进行网络行为模型抽象,并进行具体配置。配置完毕后将网络节点以及网络链路进行部署,搭建出一个高抽象粒度的网络拓扑环境。关键技术主要有:网络行为模型抽象技术,网络配置解析技术以及网络行为模型事件处理技术。
基于网络行为模型抽象技术:对于网络行为模型,实现分钟级大规模部署必须对网络中各个部分进行抽象。对于网络节点来说,网卡、Mac表、路由表以及协议栈均为必要的信息,但是对于一个大型的网络行为模型网络来说,系统并不关注网卡与Mac表,原因在于网络的链路以及网络的整体部署均可在单机单进程下完成,网络内部的节点(除关键节点)并不需要网卡与Mac表,节点的IP地址可以通过节点属性进行定义,同理,路由表与协议栈也进行了抽象模拟,是得抽象后的网络行为模型节点更适合快速部署,网络节点抽象架构图如图1所示。
网络配置解析技术:对于大规模网络来说,网络配置信息是非常庞大的,仅仅对配置进行遍历并进行分类处理已经不能够满足需求。网络行为模型将配置文件分为三个部分:路由器节点、交换机节点以及终端节点。通过这三个部分的信息进行快速的单次遍历,将信息提取出来并生成预处理信息,通过简化后的预处理信息即可将完整的大规模网络信息总结出来,网络配置处理流程图如图2所示。
网络行为模型事件处理技术:网络行为模型的核心技术为事件处理技术,网络行为模型中将数据包的变化以及传递均抽象为事件。网络行为模型事件处理技术架构分为网络事件队列以及网络事件调度器,网络事件队列存储着网络行为模型模块中的所有发生的网络事件,网络事件调度器包含事件提取器、事件处理器以及事件分发器。事件提取器将网络事件队列中的事件提取出来并交给事件处理器,事件处理器通过分析事件将事件所涉及到的数据包以及协议安排给事件发生的节点进行处理等待返回结果,并将得到的新的链路信息、节点信息、以及事件动作等结果组合成新的事件,通过事件分发器插入网络事件队列中,事件处理技术架构图如图3所示。此技术可以实现每分钟处理60万个网络事件的速度。
本方法的实现流程为:
首先利用基于网络行为模型抽象技术将用户配置的网络拓扑信息进行解析,过滤掉MAC信息、端口信息等信息,分析出关于网络行为的必要信息,生成中间配置信息,即抽象路由表,抽象协议栈以及必要的数据统计项如节点最大处理数据包数,节点时延,以及链路时延等。
然后利用网络配置解析技术将生成的中间配置信息进行进一步的部署,将抽象路由表、抽象协议栈以及数据统计项统一划分为节点信息,链路信息以及路由信息并集中管理完成了网络拓扑的存储。将划分好的信息分别开辟空间存储,部署后的信息将作为基础信息提供给网络行为模型事件处理技术,网络行为模型事件处理技术中的事件信息由基础信息中的节点IP、事件发生的链路信息,以及数据包类型与内容和体现发送或接受动作的标志位组成。
然后利用网络行为模型事件处理技术将事先设定好的预计发生的网络行为动作抽象成网络事件存入事件队列中,网络拓扑抽象系统接收事件并解析,通过查询节点信息,链路信息以及路由信息确定当前事件的下一步的网络行为动作的链路信息、节点信息、以及事件动作并生成新的事件插入事件队列中,进而完成网络拓扑的正常运行工作。
与现有技术相比,本发明的积极效果为:
1、本发明网络中的各个网络节点均按照网络行为模型进行抽象,降低存储空间;
2、网络中每个链路均进行基于网络行为模型的抽象,在不影响网络正常行为的基础上降低存储空间并提高传输效率;
3、网络中每个节点以及链路均可以相应任何的网络行为动作,并且规模实现单机单进程10万节点,每秒处理网络事件1万件。
本发明可以突破大估摸网络模拟的搭建瓶颈,保留必要的网络资源,降低网络搭建成本与搭建时间,提高了网络中信息的传递时间。使用范围为企事业单位以及各研究所的大规模网络模拟,如今随着大规模安全事件以及网络攻击协议的不断出现,使得网络模拟方面对规模,性能,能耗均有更高的要求。本发明可以结合并行网络模拟技术,构建出新型的大规模网络。
附图说明
图1为基于网络行为模型的网络拓扑构建方法的网络节点抽象架构图;
图2是基于网络行为模型的网络拓扑构建方法的网络配置处理流程图;
图3是基于网络行为模型的网络拓扑构建方法的事件处理技术架构图。
具体实施方式
以下结合实施例和附图对本发明进行详细说明,但不构成对本发明的限制。
实例1基于网络行为模型的网络模拟化引擎
本发明在此系统中的作用是为大规模的网络模拟提出解决方案。本发明不仅能够解决大规模网络快速部署的难点,还为大规模网络的运行提供了快速的事件处理。
示例:构建大规模虚拟网络。
解决方案:将用户输入的配置进行解析,具体配置如下所示:
其中mms_router表示网络中的路由器节点,mms_host代表主机节点,以这两类节点为例,在节点标签内部对ip地址、连接关系、子网掩码、网络时延均作出了设置。
并通过网络模型构建技术、网络配置解析技术根据配置文件部署出大规模网络。在大规模网络基础上利用网络行为模型事件处理技术使网络拓扑能够正常运转,实现实时处理网络行为事件能力,具体过程如下:
系统解析配置文件,得到含有抽象路由表,抽象协议栈以及必要的数据统计项等信息,再将这些抽象出来的信息按照节点信息、链路信息、路由信息进行分类。系统以分类后的信息作为基础信息搭建拓扑,并且建立事件处理模型。将事先设定好的网络事件添加到事件队列中,模型处理当前的网络行为事件并通过解析该事件得到新的链路信息、节点信息、以及事件动作等结果,进而生成新的网络行为事件添加在事件队列中,实现了对网络拓扑中出现的网络事件进行实时响应与模拟。