基于网络功能虚拟化的流量监控系统设计
来源:用户上传
作者:刘红梅
摘 要:为了提高网络管理的效率,提出了基于网络功能虚拟化技术的网络流量监控系统。系统通过提供路由功能来替代传统的网络层硬件设备,在网络命名空间中设计了过滤器来实现实时网络流量统计。实现了一个虚拟交换机,并使用OpenFlow建立了流量监控系统来管理网络。实验结果表明,所提出的系统以较低的成本实现了与传统硬件网络相似的性能。
关键词:网络功能虚拟化;软件定义网络;流量监控系统
中图分类号:TP391 文献标识码:A文章编号:2096-4706(2022)08-0019-03
Design of Flow Monitoring System Based on Network Function Virtualization
LIU Hongmei
(Chengdu College of University of Electronic Science and Technology of China, Chengdu 611731, China)
Abstract: In order to improve the efficiency of network management, this paper proposes a network flow monitoring system based on network function virtualization technology. The system replaces traditional network layer hardware devices by providing the routing function, and designs filters in the network namespace to achieve real-time network flow statistics. This paper implements a virtual switch and builds a flow monitoring system by using OpenFlow to manage the network. Experimental results show that the proposed system achieves similar performance to traditional hardware networks at a lower cost.
Keywords: network function virtualization; Software Defined Network; flow monitoring system
0 引 言
网络功能虚拟化是一种虚拟化技术[1,2],常用于使用软件解决方案替代传统网络硬件提供的功能[3,4]。功能虚拟化和软件定义网络都可以使用OpenFlow技术来实现。软件定义网络将传统网络硬件分为数据平面和控制平面两部分,实现高效的网络配置和管理。 网络功能虚拟化技术则将诸如防火墙和负载平衡等传统服务进行虚拟化,从而使服务提供商能够动态地向他们的客户提供这些服务。基于网络功能虚拟化技术,本文提出了以一个网络流量监控系统,该系统的实现无须额外的硬件成本。
1 系统结构
在传统的网络环境中,流量监控系统通常使用物理交Q机。在这种环境下,为了检索NetFlow数据进行分析,物理交换机应该能够支持NetFlow协议[5]。我们的目标是通过使用虚拟化技术重新建模这个系统架构,提高网络管理的灵活性。本文提出了一个包含虚拟交换机、OpenFlow控制器和流量测量服务的网络流量监控系统。
该系统由三个节点组成:一个数据节点、一个网络节点和一个网络节点备份。网络流量通过虚拟交换机输入到系统,测量服务计算流量,将收集到的数据通过消息服务发送到数据节点。数据输入服务将数据发送到数据库,当数据输入服务在数据中检测到恶意软件活动、违反政策、协议异常、病毒检测、带宽异常等问题时,它使用OpenFlow控制器中的应用程序接口(API)来控制虚拟交换机。系统的架构如图1所示。网络节点使用消息服务进行检查:如果主节点离线或发生故障,则由从节点将替换它。这确保了通过网络节点的Internet接入不会被中断。网络管理员可以使用Web界面来评估网络的状态,如图2所示。
2 模块功能设计
为了实现网络功能的虚拟化,设计了一个网络节点,用于控制虚拟交换机和计算网络流量。网络节点包括四个服务模块。Open vSwitch服务模块负责处理进入虚拟路由器的网络流量,随后OpenFlow控制器检测网络流量。当没有检测到问题时,允许流量通过Open vSwitch并转移到物理网络环境中的网关。测量服务的iptables过滤器用于计算网络流量的字节数以及数据包是用于输入还是输出,然后将所有数据发送到第四个服务,即消息服务。每个统计数据项由消息服务根据高级消息队列协议(AMQP)存储在一个数据节点中。
数据节点用于处理从网络节点收集的数据提供四种服务:Web服务、数据处理服务、消息服务和数据库服务。数据处理服务用于格式化数据,消息服务负责处理AMQP中的数据。数据处理服务还用于检测数据中的问题。当检测到有问题的数据时,数据处理服务会通知管理Open vSwitch的OpenFlow控制器。OpenFlow控制器可以限制源数据流量以防止恶意入侵,并将处理后的数据发送到数据库。这些数据将会显示在Web界面中,数据处理服务是使用Python实现的。在这个过程中,必须频繁地写入和读取数据。因此,使用NoSQL数据库架构MongoDB。
nlc202208231559
转载注明来源:https://www.xzbu.com/1/view-15438107.htm