一种面向服务的通信网络仿真系统
2016-04-22杨国瑞陈立水陈星
杨国瑞,陈立水,陈星
(中国电子科技集团公司第54研究所,河北石家庄,050081)
一种面向服务的通信网络仿真系统
杨国瑞,陈立水,陈星
(中国电子科技集团公司第54研究所,河北石家庄,050081)
摘要:网络仿真是研究通信网络技术的有效工具。针对系统级仿真手段不足的问题,本文设计了一种面向服务的通信网络仿真系统。该系统集成了网络行为模拟、网络服务建模和网络应用仿真等功能,通过服务抽象的方式完成网络中不同要素和特征的封装,以支撑新一代网络算法和功能的系统级仿真。在此基础上,完成了网络虚拟化功能仿真平台的搭建,可实现在同一物理网络上构建多个相互隔离的虚拟网络,并在虚拟网络上部署应用业务以验证网络运行情况。
关键词:面向服务;网络仿真;集成;网络虚拟化
引言
随着信息技术不断更迭,承载数据沟通的通信网络也在不断发展,从最初的电话电报网,到自组织网络、无线传感器网络、互联网、无线通信网、数据中心网络和物联网等,它们各自具有相应特征与适应领域。考虑到网络规模和设备成本等限制因素,新设计网络往往难以通过实际部署网络环境进行试验以验证其有效性。网络仿真成为了网络设计者解决网络性能分析和验证的主要工具。作为网络评估和验证的有效技术手段,网络仿真在通信网络设计研发中得到越来越广泛的应用。
目前主流通信网络仿真软件包括NS-2[1]、NS-3[2]、QualNet[3]、GloMoSim[4]、NetSim[5-6]、OMNeT++[7]、OPNET[8]、TOSSIM[9]等。
NS-2/3是面向对象且针对离散事件的网络仿真器,它能模拟各种不同类型的通信网络,并且功能强大,模块丰富,支持多种传输层协议,可以模拟复杂的网络结构,但是每次修改场景都需要编译整个系统,不利于多用户协作,在大的真实网络场景下难以仿真并缺乏可信性,使用复杂。
QualNet是GloMoSim的商用版本,主要对无线通信网络进行优化处理,无线信道和射频技术建模有很高的仿真精度。但是它对无线网络使用随机位点移动模型进行建模,方法固定,使用具有局限性。
NetSim是一款思科路由器和交换机模拟程序,支持灵活定制网络拓扑,并能够对设备输入配置指令,可以对不同深度、能量和灵活度的计算机网络进行分析,并具有较好的可视化效果,但是其仿真速度较慢,对CPU要求较高。
OMNeT++是一种基于组件的离散事件、免费开源的网络仿真器,采用分层次模块结构模型,可以用于无线以及有线网络的仿真,它具有很好的跟踪与测试功能,并对大量硬件与物理现象提供精确的模型,但是它仅支持很少的协议,难以使用,不易进行分析与控制;同时其移动插件是不完整的,需要用户自己完成。
OPNET采用离散事件驱动的模拟机理和三层建模机制,数据收集和分析能力突出,模型库种类丰富,可以对通信网络设备、协议等进行仿真。但该仿真器价格昂贵、不易上手,并且其对网络规模限制较大,同时采样方式限定了其结果的精确性。
随着更加灵活的可编程交换机以及软件定义无线电等新技术的出现,使得整个网络各个层次的灵活性和复杂度都大大提升。传统的网络仿真方式在很大程度上面向底层网络硬件,针对传统网络协议开发的范畴,难以适应快速与大规模通信网络的新功能仿真,对于全网仿真的局限性变得越来越明显。
SDN(软件定义网络)的出现为解决当前缺乏系统级网络仿真工具的问题提供了解决思路。SDN网络采用了更加灵活的集中控制方式,网络应用程序与基础设施实现了解耦,逐渐摆脱传统网络按层次划分以及与商用网络设备接口对接的束缚。
在架构上SDN网络从下至上可分为转发层、控制层和业务层,转发层与控制层之间通过标准的控制器南向接口进行交互;控制层与应用层间也通过标准的控制器北向API进行交互;由控制器实现通信网络设备的所有高级处理功能;应用层利用控制器提供的北向API定义网络处理逻辑,达到精准定义网络的目的。
利用SDN网络思想,本文设计了一种面向服务的通信网络仿真系统(SOSSCN),该系统实现了网络模拟、服务建模和应用仿真的集成,为新一代通信网络仿真提供了系统级仿真环境。
1 SOSSCN系统
1.1系统总体设计
如图1所示,在水平方向上,整个仿真系统可分为仿真区、配置与调试区两大部分。其中,配置与调试区为仿真系统的用户操作区,主要提供服务加载功能,以及网络运行实时监测与调试功能。而仿真区为仿真系统的核心,基于软件定义网络的思想,垂直方向上分成了通信网络资源层、网络资源控制层和网络应用程序层三个层面,各层之间通过标准的接口进行互通;配置与调试区通过用户网络接口与仿真区进行信息交互。
图1 仿真系统框架
1.2通信网络资源层功能设计
通信网络资源层用于模拟基础网络中各个要素,实现带宽资源、交换资源、计算资源和存储资源等服务。当收到服务加载层的资源请求后,通信网络资源层为其分配相应的带宽资源、交换资源、计算资源和存储资源。
其中,带宽资源用于模拟网络拓扑中连接任意两个网络节点之间的链路带宽,并按照指定的延时、丢包率和带宽,转发或丢弃数据包;交换资源用于模拟通信网络物理交换节点,根据仿真用户所选择的网络特征、信道模型和信道特征生成网络交换节点,并设置相关参数,包括交换容量、流表资源数量和队列数量;计算资源用于运行用户节点和网络交换节点;存储资源用于存储网络交换流表、策略数据、配置参数。
1.3网络资源控制层功能设计
网络资源控制层用于仿真网络控制部分的各个功能,包含网络控制器、资源综合视图、资源管理与虚拟化和北向接口四种服务。
其中,网络控制器作为网络控制的核心,利用统一标准南向接口对通信网络中各种资源进行控制,并对底层网络抽象封装,向上层各种应用提供统一的访问控制服务接口,实现上层应用层与控制的解耦,使得应用程序易于修改、维护和移植。
资源综合视图服务通过网络控制器监视整个网络流量,绘制全网络的物理连接带宽,显示网络中交换节点(路由器、交换机)的流表、队列、端口的资源使用情况,以及CPU的使用情况,形成网络资源池,并在运行期间监测资源的变化,当网络应用程序层的应用请求网络资源态势时,资源综合视图服务向其返回相应信息。
资源管理与虚拟化服务根据资源综合视图给出的网络资源池,管理所有网络资源,具备资源访问控制功能,可为不同用户分配访问权限与可操作资源,支持网络资源虚拟化,对网络资源进行分片,使不同用户仅能感知并操作各自分片,每一个分片就是一个虚拟网络,各种虚拟网络操作接口可通过北向接口服务开放出去。
北向接口服务以REST API的方式为本地或远程应用程序提供网络服务能力。
1.4网络应用程序层功能设计
网络应用程序层,用于仿真各个上层应用程序,如流量工程、内容分分发、访问控制、安全策略等网络应用。这些应用以服务形式出现,不同应用程序可以独立工作,通过调用北向接口对网络进行识别与控制,实现对应功能。
1.5服务加载功能设计
服务加载功能用于根据网络描述配置文件启动并初始化网络仿真功能部分中的各个服务,包含描述识别、参数配置、拓扑生成和用户配置四种服务服务。
其中描述识别模块用于读取配置文件,根据配置文件中的描述,按照顺序启动带宽资源仿真服务,交换资源仿真服务,网络用户资源仿真服务。
参数配置模块按照每一个服务指定的参数对其进行初始化配置。
拓扑生成模块根据配置文件中的网络连接关系,按照顺序将各个网络用户服务通过带宽资源服务与交换资源服务连接在一起,并按照描述连接交换资源服务与带宽资源服务。
用户模拟模块配置网络用户服务的行为,使其按照预先定义的步骤执行相应的行为。
在仿真过程中,描述识别模块按照配置文件指定顺序,依次启动网络控制器,资源综合视图服务,资源管理与虚拟化服务,北向接口服务,检查完成后,按照顺序启动各种应用程序服务。
1.6网络运行实时监测与调试功能设计
在网络仿真运行阶段,网络运行实时监测与调试功能对仿真网络状态进行实时跟踪,并可在仿真过程中操作网络中的资源,对特定的网络事件进行模拟,包括全局视图、资源控制、流量捕获、流量注入和自动网络分析五种服务。
网络运行实时监测与调试部分独立于网络资源控制部分,通过直接读取通信网络资源部分中各个服务状态,获取并调整网络状态,为仿真平台提供调试接口,方便测试者进行网络功能调试。
2 基于SOSSCN的网络虚拟化(NV)功能仿真
2.1平台构建
在开源软件Mininet[10]、Open Virtex和Floodlight[11]的基础上,构建基于SOSSCN的NV验证平台,主要用于验证网络虚拟化及资源态势呈现功能,其组成如图2所示。
其中,Mininet是一款开源的轻量级SDN仿真平台,可用于仿真网络基础设施,模拟仿真系统中的通信网络资源层,为网络资源控制层提供各种网络通信资源,仿真用户所创建的多个相互隔离的虚拟网络最终映射至此网络。
OpenVirteX是一款开源虚拟化管理软件,目的是从底层物理网络中抽象出一系列满足特定业务需求的虚拟子网,通过拓扑虚拟化、地址虚拟化、控制功能虚拟化,使OpenvirteX创建的虚拟网具有良好隔离机制。同时OpenvirteX够提供功能丰富的RPC API,利用这些开放接口,用户可以进行有意义的虚拟网络映射算法研究,也可通过OpenVirteX扩展接口,创建和管理虚拟网。
Floodlight是目前主流的开源SDN控制器之一,可用于仿真系统中的网络资源控制层。在为用户完成虚拟网络构建后,OpenVirteX将该虚拟网络连接到用户指定的Floodlight控制器上,由控制器实现流表下发以控制虚拟网络数据包转发行为,实现状态信息收集以实现网络资源呈现功能。控制器可利用Mysql数据库存储用户信息以及拓扑信息。
在仿真系统的网络应用程序层,主要实现了网络虚拟化服务和资源态势呈现服务。网络虚拟化服务连接到OpenVirteX扩展接口,为用户提供虚拟网络创建与管理界面。资源态势呈现服务连接FloodLight控制器和Mysql数据库,为用户提供控制器管理界面和资源态势呈现界面。
2.2网络虚拟化功能仿真
利用基于SOSSCN的NV验证平台,通过下列步骤可验证网络虚拟化功能。
首先,利用Mininet按照图2所示网络拓扑生成底层物理资源网络,并为相应节点和链路配置各种资源参数,并通过OpenVirteX管理该物理网络,OpenVirteX将这些信息存储到Mysql数据库,资源态势呈现服务读取数据库中底层物理网络拓扑信息,并将该信息呈现在Web界面上。可见,物理网络拓扑共有9个交换节点和12条链路,每个交换节点下连接4个主机。
其次,如图3所示,选取主机h_A_1和h_I_1作为虚拟网中的虚拟终端主机,选取交换机A和I作为虚拟网中虚拟终端的接入交换机,并连接交换机A与交换机I,并将该虚拟网络连接到指定的Floodlight控制器,创建虚拟网络,该虚拟网络拓扑如图4所示。
图2 基于SOSSCN的NV验证平台组成
图3 物理网络拓扑及虚拟网节点选取过程
图4 虚拟网拓扑及其网络元素信息
然后,将主机h_A_1作为视频服务器,加载视频流文件。将主机h_I_1作为视频客户端,并连接到视频服务器,可获得从h_A_1传输过来的视频画面,如图5所示。
图5 视频传输过程
最后,启动资源态势呈现服务可获取上述虚拟网络资源态势信息,如图6所示。从图中可发现视频流实际传输路径,即与该虚拟网络映射到物理网络拓扑为h_A_1 A B E H I h_I_1。当然,对于用户来说,他们不关心视频流的实际传输路径,只关心的是视频从h_A_1到h_I_1的端到端传输服务质量。
图6 与虚拟网对应的物理网络拓扑及态势情况
3 结束语
网络仿真作为一种低成本、可控制、可重复和高度真实的网络实验测试方法,广泛应用于各种通信网络架构、协议或算法研究。本文在软件定义网络的基础上,设计了一种面向服务的通信网络仿真验证系统,并基于该系统构建了网络虚拟化仿真验证平台,仿真验证了虚拟网络的创建、管理和删除功能,并在虚拟网络上部署实际业务流以验证流量传送过程和业务监控功能。
参考文献
[1]周德荣,夏龄,田关伟,等.NS2中网络协议开发与仿真研究[J].哈尔滨师范大学自然科学学报,2015,31(2):81-85.
[2]D Saladino,A Paganelli,M Casoni.A tool for multimedia quality assessment in NS3:QoE Monitor[J],Simulation Modelling Practice &Theory,2013,32(3):30-41.
[3]刘敏,乔会东,郎杰,等.基于QualNet的通信网络仿真研究[J].电子设计工程,2014,22(10):127-130.
[4]余本功,刘桂兰,许绍斌.基于GloMoSim的Ad Hoc网络路由协议仿真研究[J].计算机技术与发展,2013(12):105-108.
[5]C Stadtfeld.NetSim:A Social Networks Simulation Tool in R[J].2013.http://bibs.snu.ac.kr/R/web/packages/NetSim/index.html.
[6]P Nayak,P Shree.Comparison of Routing Protocols in WSN using NetSim Simulator:LEACH Vs LEACH-C[J].International Journal of Computer Applications,2014,106(11):975-8887.
[7]C Ley-Bosch,R Medina-Sosa,Alonso-González,et al.Implementing an IEEE802.15.7 Physical Layer Simulation Model with OMNET++[M].Springer International Publishing,2015,373:251-258.
[8]刘明芹,付东翔,王亚刚.基于OPNET的CAN总线实时性的仿真与分析[J].通信技术,2014(3):281-285.
[9]R Dutta,S Gupta,D Paul.Improvement on Gossip Routing Protocol using TOSSIM in Wireless Sensor Networks[J].International Journal of Computer Applications,2014,97(21):41-47.
[10]Mininet.[OL].[2015-06-10].http://mininet.org/.
[11]Floodlight is an Open SDN controller[EB/OL].[2012-10-19].http://www.projectfloodlight.org/flood-light/.
杨国瑞(1972-),通讯作者,高工。研究方向:通信系统与网络总体设计。
E-mail:ctiygr@139.com
陈立水(1981-),博士。研究方向:通信与信息系统、统一通信、软件定义网络。
陈星(1988-),硕士。研究方向:软件定义网络、网络虚拟化。
A Service Oriented Simulation System for Communication Networks
Guorui Yang,Lishui Chen,Xing Chen
(The 54th Research Institute of CETC,Hebei,Shijiazhuang,050081,China)
Abstract:Network simulation is one of the efficient analysis tools to study the technology of communication networks.A Service Oriented Simulation System for Communication Networks(SOSSCN)is designed for system level network simulation in this paper.The system intergrates the network action imitation,the network service model and the network application simulation function.Based on this system,a simulator for networking virtualization has been designed and tested by real-world traffic.
Key words:Service oriented,Network simulation,Integrated,Networking virtualization
作者简介:
DOI:工业技术创新 URL:http//www.china-iti.com10.14103/j.issn.2095-8412.2016.01.014
中图分类号:TP393
文献标识码:A
文章编号:2095-8412(2016)01-644-05