论文部分内容阅读
网络通讯技术的快速发展刺激了新协议和算法的发展,以满足通信能力不断增长的需要。发展和评估这些协议和算法需要进行相当数量的仿真和测试。通过对比实物测试、模拟和网络仿真各自的特点,可以看出网络仿真技术具备较强的适用性且其成本和效率方面能够达到一个相对良好的平衡。利用云平台(如OpenStack)的管理VM(Virtual Machine,虚拟机)和虚拟网络,搭建适用性、可扩展性强的网络仿真测试系统成为一个优秀的解决方案。云平台(OpenStack)因其并非为网络仿真而设计,只能提供虚拟实例之间三层网络链路管理的功能。而真实网络场景中节点种类繁多,仿真大型可编程交换设备的需求难以实现(包括异构的硬件架构),解决这个问题成为了本论文的研究重点。通过研究OpenStack云平台网络虚拟化的实现原理,本论文提出了自主研发软件模块直接控制虚拟化层的思路,基于Linux Bridge虚拟交换机和VXLAN隧道技术实现了虚拟实例间的二层通信链路。概括起来,本论文设计并实现基于云平台的网络仿真测试系统(仿真测试云),能够为用户、科研团队提供网络仿真即服务(Network Emulation as a Service,NEaaS);基于KVM虚拟机设计并实现了仿真二层网络设备的方案;在OpenStack平台中结合Docker容器设计并实现容器仿真二层网络设备的方案;实现了异构设备的仿真并部署实现了仿真交换机的VLAN功能测试;对整个技术路线进行性能、容量等方案的测试后进行整体评估。通过对解决方案的功能测试和性能评估,可以看出仿真测试云中仿真节点的性能特性(操作系统,硬件配置,链路参数)能够有效对应于真实网络设备,也能够做到支持用户直接在仿真节点上部署测试网络协议及真实流量应用软件,同时又具备能够快速构建网络拓扑、灵活配置等特点,并且能高效利用物理计算机的硬件资源,降低网络仿真的成本。基于云平台的二层网络仿真功能的实现大幅提高仿真测试云的适用性,使得仿真测试云的应用场景更加广泛,可用于如天地一体换网络、自组织网络、无线传感器网络,电信骨干网等场景的仿真测试与软件评估中,因此本论文的研究对于基于云平台的网络仿真领域有一定的研究意义。