一种网络仿真分析设备及方法

文档序号:7982787阅读:931来源:国知局
一种网络仿真分析设备及方法
【专利摘要】本发明提供一种网络仿真分析设备,其特征在于包括:输入单元,用于输入可视化网络参数、非可视化参数以及网络流量参数;控制单元,用于根据用户输入进行统一调度,包括进行仿真时间和事件控制;仿真核心单元,用于通过虚拟化机制产生基于硬件的仿真的节点,并将所述节点用作仿真过程中的网络节点,网络数据包在所述网络节点进行转发以及与协议相关的处理;测量分析处理单元,用于采集实验过程中所需的参数,并按照预设的处理方式处理所述采集的参数;输出单元,用于输出处理后的各参数。本发明提供了一种快速便捷的硬件仿真仪器,在实验室里就能迅速建立所需真实网络环境,对新型网络结构进行实时的硬件仿真分析评估。
【专利说明】一种网络仿真分析设备及方法
【技术领域】
[0001]本发明涉及互联网【技术领域】,尤其涉及一种基于虚拟化可编程硬件结构的网络仿真分析设备。
【背景技术】
[0002]互联网网络体系结构的研究涵盖了广泛的领域,包括命名与地址问题,路由问题,协议和接口的研究等。然而体系架构从理论走向实际应用部署必须经过描述、分析、评价和预测这样一个评估过程。为了保证这一评估过程的准确性和正确性,需要利用仿真实验等评估手段和工具,这些工具需要尽可能地模拟真实网络场景,输出贴近实际部署的结果。研究人员根据仿真结果进行体系结构的分析评估。
[0003]软件仿真工具通过数学方法或蒙特卡罗方法来模拟现实网络中的行为。仿真节点采用了真实场景的离散抽象,行为特征与真实节点并非完全一致,导致仿真与真实的网络运行结果有出入。在大规模网络仿真时,由于计算量的急剧增加,仿真软件的速度会大大降低,难以快速评估大规模场景下的网络体系结构的特性。
[0004]NS2、OPNET等仿真软件采用数值仿真模型,并没有真实的流量在仿真实体中流动,传递的每个数据包只有包头信息,网络行为的改变通过数值变化来体现,比如流量信息的变化是通过单位时间内数值增加的量级来模拟的,这种方式与真实网络环境相差甚远。具体到网络仿真的时间和事件控制机制上,仿真工具的事件是参照仿真时间产生的,如TCP/IP协议具有超时时间特性,超时事件依赖于计时器。仿真过程的时间由仿真软件计时器功能单元统一控制,每一个计时器产生的都是仿真时间,它显然是无法与现实世界同步的。
[0005]另一种评估方法是通过网络实验,在现有网络或专门的实验网络中引入真实用户流量和部署真实设备及协议来评估网络性能。它通常有两种手段:
[0006]I)在当前互联网上进行部署,采用Overlay的层叠网方式来创建逻辑上相互隔离的实验网络,如Planetlab在世界范围内得到了部署,但是有两个因素限制了这种模式的实验能力和精度:一方面由于互联网采用统一的TCP/IP协议,Overlay节点都是建立在互联网的端节点上,采用软件的方式在端系统上实现新的网络体系结构,链路是基于隧道建立,性能难以控制和保障;另一方面,在互联网上运行实验会不可避免地与互联网中的其他应用和业务数据相互影响,造成实验数据不精确。
[0007]2)搭建实验平台被认为是最为精确地评估网络体系结构的方案,实验平台一般是在国家层面(如美国的GENI)或国家组织(如欧盟的FIRE)通过联盟的手段重新部署一个新的网络,它的特点是需要统一的组织进行管理,涉及的范围广,参与人员多,工程浩大。从网络研究的角度看,体系结构的创新基本在网络层以上的层次,而建立实验平台必须把大量的财力投入在物理层和链路层上,耗费不必要的资源。同时,用户在网络实验平台中运行的实验规模以及时间都是受限于实验平台的规划和管理调度的。用户难以对自己的实验进行全面的掌控和管理,实验不能便捷和有效地进行。
【发明内容】

[0008](一)技术问题
[0009]本发明要解决的问题是如何提供出一种快速便捷的硬件仿真仪器,在实验室里就能迅速建立所需真实网络环境,对新型网络结构进行实时的硬件仿真分析评估。
[0010](二)技术方案
[0011]本发明提供一种网络仿真分析设备,其特征在于包括:
[0012]输入单元,用于输入可视化网络参数、非可视化参数以及网络流量参数;
[0013]控制单元,用于根据用户输入进行统一调度,包括进行仿真时间和事件控制;
[0014]仿真核心单元,用于通过虚拟化机制产生基于硬件的仿真的节点,并将所述节点用作仿真过程中的网络节点,网络数据包在所述网络节点进行转发以及与协议相关的处理;
[0015]测量分析处理单元,用于采集实验过程中所需的参数,并按照预设的处理方式处理所述采集的参数;
[0016]输出单元,用于输出处理后的各参数。
[0017]可选的,所述控制单元进一步包括:全局时钟控制单元和事件控制单元,分别用于通过时间或基于事件的触发来控制节点协议、流量产生、转发控制和/或测量分析。
[0018]可选的,所述控制单元根据所述可视化网络参数通过映射算法将定制的拓扑映射到物理资源上,所述控制单元根据所述非可视化的网络参数按照定制的协议和功能对所述节点进行功能配置。
[0019]可选的,所述节点按照所述定制的拓扑相互连接。
[0020]可选的,所述仿真核心单元包括:,硬件仿真板卡、计算板卡以及连接背板,其中,硬件仿真板卡和计算板卡通过高速的总线连接,背板由交换链路组成,用于所述硬件仿真板卡和计算板卡之间的高速通信。
[0021 ] 可选的,所述硬件仿真板卡包括FPGA板卡。
[0022]可选的,所述计算板卡为CPU板卡
[0023]可选的,所述实验过程中所需的参数包括各数据包参数、节点参数、链路参数、网络运行参数和/或硬件参数,对所述实验过程中所需的参数的处理包括统计、比较、绘制图表中的至少一种。
[0024]可选的,所述测量分析处理单元,用于集成网络数据流量分析、网络数据定性分析、网络数据多维分析、网络数据挖掘分析工具于一体。
[0025]可选的,所述硬件仿真板卡通过网络虚拟化在FPGA内部实现并行的虚拟节点,每个虚拟节点有一个虚拟端口连接到测量平面以供测量使用,其他端口通过动态虚拟端口绑定算法与总线相连,用于数据包的高速传输;计算板卡通过操作系统虚拟化产生多个虚拟机,所述虚拟机作为仿真节点的控制平面,所述控制平面通过配置仿真节点的端口信息来映射用户输入的拓扑,然后在所述控制单元的统一调度下执行仿真。
[0026]本发明还提供一种网络仿真分析方法,其特征在于包括:
[0027]输入可视化网络参数、非可视化参数以及网络流量参数;
[0028]根据用户输入进行统一调度,包括进行仿真时间和事件控制;
[0029]通过虚拟化机制产生基于硬件的仿真的节点,并将所述节点用作仿真过程中的网络节点,网络数据包在所述网络节点进行转发以及与协议相关的处理;
[0030]采集实验过程中所需的参数,并按照预设的处理方式处理所述采集的参数;
[0031]输出处理后的各参数。
[0032](三)技术效果
[0033]本发明基于真实流量进行仿真实验并集成当前仿真工具所应具有的一切仿真辅助手段,使得网络仿真实验过程更简单,结果更加接近真实的网络。
【专利附图】

【附图说明】
[0034]图1是本发明网络仿真分析设备的逻辑结构图;
[0035]图2是本发明网络仿真分析设备的详细内部结构;
[0036]图3是本发明网络仿真分析设备的硬件仿真核心单元的详细结构图。
【具体实施方式】
[0037]本发明的基本思想是通过真实硬件上的节点和链路实验来替代数值仿真过程,以提供快速的仿真实验并使得仿真结果更加接近真实场景。其设计目标列举如下:
[0038]可以完成各种软件网络仿真工具的功能,包括定制网络拓扑,定义网络节点,基于时间调度或事件调度来设置仿真流程,分析获取仿真数据。
[0039]内部节点通过在硬件板卡中利用虚拟化机制生成,节点的定制通过板卡提供的可编程能力实现,各个虚拟节点支持比特粒度的包处理能力;网络节点在物理上是全连接的关系,网络连接可通过总线连接进行模拟,通过映射及链路隔离的机制可实现任意拓扑。
[0040]仪器集成当前仿真工具所应具有的一切仿真辅助手段,用户可以通过图形或文本的方式输入网络拓扑以及进行节点、协议的定制。仪器可以根据用户输入进行拓扑映射及基于事件驱动或时间驱动的机制运行实验仿真,网络仿真的结果可以实时输出到监测界面上,也可以按照用户的需求在设备内部分析处理,并输出分析报告。
[0041]实施例1:
[0042]本发明提供一种网络仿真分析仪,其总体结构如图1所示。它主要包括五大部分:输入,控制,硬件仿真核心,测量分析以及输出。
[0043]输入部分可以允许用户输入网络仿真的所有参数以及网络流量参数等,输入形式十分灵活,可选择图形输入以直观地定义各种参数,也可以用文本输入的形式来节省输入时间。实验流量可以通过PCAP格式生成用户定义的格式,也可以通过以太网接口将外部真实流量导入到仪器中,为仿真提供真实的网络数据流量。
[0044]控制部分包括全局时钟控制和事件控制,这部分可根据用户输入的仿真流程进行各部分的统一调度,如通过时间或基于事件的触发来控制节点协议,流量产生,转发控制,测量分析等功能。
[0045]硬件仿真核心采用基于硬件的可定制虚拟节点作为仿真过程中的网络节点,与仿真软件不同,这些节点并不只是行为仿真节点,它们都是真实可用的网络节点,它们可以在统一的控制下按照用户定制的拓扑相互连接,按照定制的协议和功能进行功能配置,网络数据包会在各个节点进行转发以及与协议相关的处理。
[0046]测量分析部分采集实验过程中所需的参数,包括单个数据包参数,节点参数,链路参数,网络运行参数,硬件参数等,分析部分可以按照用户需求处理上述参数,如统计、t匕较、绘制图表等。
[0047]输出包括了图形输出以及分析结果的文件形式输出,图形输出使得用户实时地观测仪器的运行状况,测量分析结果也能够以文件的形式输出并用来做进一步处理。实验流量还可以通过以太网口直接导出到其他设备中已进行扩展或进一步实验或分析。
[0048]通过新型网络结构硬件分析仪可以对网络体系架构的创新进行实验仿真分析,并评价各体系架构的总体指标,包括命名地址的易用性,路由协议的有效性,软硬件资源开销,上层服务支持能力等各方面的性能,以确定各种体系结构的可行性。为下一代网络研究提供有力的评价工具和数据支持。同时可以满足用户进行简单协议的测试和验证.通过我们的仪器,使得网络研究人员从物理层链路层的实现上解放出来,使得网络研究人员不必成为一个网络设备专家或者编程高手,可以使得网络研究人员将精力集中于网络本身的研究。
[0049]实施例2:
[0050]本发明还提供一种网络仿真分析仪,其包括输入单元、仿真控制及管理单元、硬件仿真核心单元、测量及分析处理以及输出单元,各单元的详细功能定义如下:
[0051](I)输入单元
[0052]输入单元包括可视化网络参数输入、非可视化参数输入以及网络流量输入。可视化网络参数输入可以定制网络拓扑,协议类型以及节点的功能定制;非可视化的网络参数可以基于脚本进行配置,如XML文件可以定制网络协议和节点功能,而网络编辑语言如TCL脚本可用于仿真流程控制。
[0053]流量输入单元可以利用物理端口直接引入外界流量或者定义输入的流量模式,这就要求流量模型需要具有抽象性和一定的可配置性,并且需要能够反映实际网络的工作方式。目前设备采用的模型分为两大类:综合模型和踪迹驱动模型。
[0054]综合模型是指用数学综合的方法来逼近网络节点的实际流量。常见的模型参数有三个:目的分布,注入速率和消息长度。通过对这三个参数的设置,产生模拟的数据流量。
[0055]踪迹驱动模型是指对实际的节点进行流量跟踪后所生成的流量模型。这种模型的优点在于能够更精确的反应实际的节点流量,据此产生的流量分布,其缺点是不具有普适性,并且流量数据的采集也是一个很复杂的过程。
[0056]为了增加流量模型仿真的灵活性,以适应IP和非IP网络流量的需求,用户还可以通过Iibnet等工具产生自定义包格式并通过设置时序间隔等参数来生成自定义的流量模型。
[0057](2)仿真控制及管理单元
[0058]仿真控制及管理部分是仪器的核心,它的主要功能是进行实验拓扑、节点功能定制以及仿真时间和事件控制。它通过映射算法将输入拓扑映射到物理资源上,每个网络节点的功能由用户输入定制,新型网络结构硬件分析仪允许利用时间驱动和事件驱动两种方式来进行网络仿真,在时间驱动的机制下,仿真整个过程基于全局时钟并受控于用户定义的时间事件,在这个过程中,用户定义每个时间段的网络行为,仿真系统利用全局时钟的采样时刻来启动各节点仿真过程。
[0059]有时用户需要长时间仿真以等待某些事件的发生,比如说几天或几周,但是时间驱动的机制使得用户不得不等待同样长的时间来完成仿真,这样仿真的效率会很低。因此,仪器中包含了事件驱动机制,即用户可以再较短的时间段内定义关键事件,事件会触发硬件中断,仿真过程会跟随当前时间点上出现的事件,调动资源执行相关任务,以提高仿真效率。
[0060](3)硬件仿真核心单元
[0061]硬件仿真核心结构如图3所示,它通过虚拟化机制产生仿真的节点并按照用户需求定制功能。它的硬件主要包括连接背板,硬件仿真板卡以及计算板卡三部分,硬件仿真板卡和计算板卡通过高速的总线连接,如PC1-E等接口安置在背板上。背板由具有极高交换性能的交换链路组成,可以保证板卡之间的高速通信;硬件仿真板卡包括高性能的FPGA,SRAM存储器以及相应的ARM等控制芯片,它是仿真分析仪的核心仿真部件,可以在FPGA上虚拟化生成几十或上百的高性能网络节点;计算板卡由高性能的多核处理器和大容量的内存组成,具有强大的工作站性能,可以支持软件虚拟化生成较低性能的仿真节点以及测量数据的处理功能。
[0062]仿真节点由数据平面和控制平面构成,数据平面用于数据包的转发处理,控制平面用于管理定制仿真节点,它可以配置仿真节点的端口及运行各种上层协议。硬件仿真板卡可以通过网络虚拟化的手段在FPGA内部实现并行的虚拟节点,每个虚拟节点有一个虚拟端口连接到测量平面以供测量使用,其他端口通过动态虚拟端口绑定算法与总线相连,用于高速数据包的传输。计算板卡通过操作系统虚拟化生成海量虚拟机,虚拟机作为仿真节点的控制平面出现,这些虚拟机与虚拟节点可以是一对多或多对一的关系,控制平面通过配置仿真节点的端口信息来映射用户输入的拓扑链路,之后会在仿真控制管理单元的统一管理下执行仿真过程,比如在特定时刻或基于事件触发改变端口信息、调整流量状态以及改变路由协议等。
[0063](4)测量及分析处理单元
[0064]网络仿真运行过程需要利用软件和硬件工具来测试或验证表征网络性能的指标.网络测量包含以下3个方面:(I)测量对象:被测量的节点或链路,测量节点、链路或网络的什么特征,如链路的时延、带宽、丢包率,路由器的路由效率、时延、丢包率,应答延迟、吞吐率、系统容量、最大稳定连接数等;(2)测量环境:包括测量点的选取、测量时间的确定、测量设备、通信链路的类型等;(3)测量方法:针对某一具体的网络行为指标,选取合适的测量方法,测量方法应满足稳健性,可重复性,准确性。
[0065]设备的测量方式包括有主动测量和被动测量,在仪器中网络流量较小的情况下,采用主动测量手段以增加测量的准确性,而在网络流量较大的情况下,仪器采用被动测量以避免影响仿真实验的运行。
[0066]测量数据的分析是网络研究人员的着眼点所在,为了方便研究人员基于一手数据分析,我们的设备包括了网络分析的诸多手段和工具。仪器将会集成网络数据流量分析、网络数据定性分析、网络数据多维分析、网络数据挖掘分析等工具,并且分析结构可以输出以供进一步处理,这样大大简化了网络分析的复杂度。
[0067](5)结果输出
[0068]新型网络结构硬件分析仪可以以通用方式输出各测量参数,如与NS2兼容的trace文件,流量统计的数据库文件等以用于进一步数据处理。为了方便用户监测仪器的运行状况及网络仿真的实时过程,网络拓扑及节点状态能够以图形方式输出,数据分析结果也可以以图形的方式直观地供用户观察。
[0069]网络仿真分析仪需要满足以下的性能指标:
[0070](I)从网络层到应用层的仿真测试环境,丰富的内在单元。网络层路由协议可选BGP, OSPF, RIP等并允许用户自定义协议,传输层可选TCP,UDP及其他新协议,应用层流量类型可选FTP,Telnet, VBR, CBR等流量模型及其他新模型。
[0071](2)提供几百到上千节点的网络系统仿真性能,节点功能可实时定制,包格式可修改,以允许用户部署新协议,背景流量及前景流量用户可输入,用户可交互控制仿真全过程。
[0072](3)实时测量系统,能够以包为单位测量其在每个节点的处理情况。
[0073](4)可选仿真引擎及模式,可选事件驱动或时间驱动等仿真方式。
[0074](5)动态扩展,允许多台设备扩展连接以支持更大规模的仿真场景。
[0075]实施例3:
[0076]除了和实施例2具有相同的内容外,在资源允许的情况下,CPU板卡可以在后台运行软件仿真用来做仿真结果比较。背板具有高速的数据交换能力,各类型板卡与背板通过总线连接代替网络连接实现高速数据传输。
[0077]互联网体系架构仿真设备,我们旨在构建一款原创的基于“硬件仿真”的新型网络结构硬件仿真分析仪,可以应用于网络体系架构验证及新协议验证,可以解决当前网络仿真速度慢,结果失真的问题。与传统的网络仿真工具不同,它使用虚拟化可编程硬件板卡结合真实链路实验代替数值仿真的过程。具体而言,仪器采用虚拟化可编程硬件结构来实现成百上千个内部仿真节点,仪器内部以全连接的方式进行互连,这些节点通过动态映射机制构建各种虚拟网络。仿真分析仪能够基于真实流量进行仿真实验并集成当前仿真工具所应具有的一切仿真辅助手段,使得网络仿真实验过程更简单,结果更加接近真实的网络。
[0078]以上实施方式仅用于说明本发明,而并非对本发明的限制,有关【技术领域】的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
【权利要求】
1.一种网络仿真分析设备,其特征在于包括: 输入单元,用于输入可视化网络参数、非可视化参数以及网络流量参数; 控制单元,用于根据用户输入进行统一调度,包括进行仿真时间和事件控制; 仿真核心单元,用于通过虚拟化机制产生基于硬件的仿真的节点,并将所述节点用作仿真过程中的网络节点,网络数据包在所述网络节点进行转发以及与协议相关的处理;测量分析处理单元,用于采集实验过程中所需的参数,并按照预设的处理方式处理所述采集的参数; 输出单元,用于输出处理后的各参数。
2.如权利要求1所述的网络仿真分析设备,其特征还在于:所述控制单元进一步包括:全局时钟控制单元和事件控制单元,分别用于通过时间或基于事件的触发来控制节点协议、流量产生、转发控制和/或测量分析。
3.如权利要求1所述的网络仿真分析设备,其特征还在于:所述控制单元根据所述可视化网络参数通过映射算法将定制的拓扑映射到物理资源上,所述控制单元根据所述非可视化的网络参数按照定制的协议和功能对所述节点进行功能配置。
4.如权利要求3所述的网络仿真分析设备,其特征还在于:所述节点按照所述定制的拓扑相互连接。
5.如权利要求1所述的网络仿真分析设备,其特征还在于:所述仿真核心单元包括:硬件仿真板卡、计算板卡以及连接背板,其中,硬件仿真板卡和计算板卡通过高速的总线连接,背板由交换链路组成,用于所述硬件仿真板卡和计算板卡之间的高速通信。
6.如权利要求5所述的网络仿真分析设备,其特征还在于:所述硬件仿真板卡包括FPGA板卡。
7.如权利要求5所述的网络仿真分析设备,其特征还在于:所述计算板卡为CPU板卡。
8.如权利要求1所述的网络仿真分析设备,其特征还在于:所述实验过程中所需的参数包括各数据包参数、节点参数、链路参数、网络运行参数和/或硬件参数,对所述实验过程中所需的参数的处理包括统计、比较、绘制图表中的至少一种。
9.如权利要求6所述的网络仿真分析设备,其特征还在于:所述硬件仿真板卡通过网络虚拟化在FPGA内部实现并行的虚拟节点,每个虚拟节点有一个虚拟端口连接到测量平面以供测量使用,其他端口通过动态虚拟端口绑定算法与总线相连,用于数据包的高速传输;计算板卡通过操作系统虚拟化产生多个虚拟机,所述虚拟机作为仿真节点的控制平面,所述控制平面通过配置仿真节点的端口信息来映射用户输入的拓扑,然后在所述控制单元的统一调度下执行仿真。
10.一种网络仿真分析方法,其特征在于包括: 输入可视化网络参数、非可视化参数以及网络流量参数; 根据用户输入进行统一调度,包括进行仿真时间和事件控制; 通过虚拟化机制产生基于硬件的仿真的节点,并将所述节点用作仿真过程中的网络节点,网络数据包在所述网络节点进行转发以及与协议相关的处理; 采集实验过程中所需的参数,并按照预设的处理方式处理所述采集的参数; 输出处理后的各参数。
【文档编号】H04L12/26GK103684893SQ201210323727
【公开日】2014年3月26日 申请日期:2012年9月4日 优先权日:2012年9月4日
【发明者】刘中金, 李勇, 苏厉, 金德鹏, 曾烈光 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1