CN112333027B - 基于软件定义网络的分布式虚拟网络监视器的实现方法 - Google Patents

基于软件定义网络的分布式虚拟网络监视器的实现方法 Download PDF

Info

Publication number
CN112333027B
CN112333027B CN202011310418.4A CN202011310418A CN112333027B CN 112333027 B CN112333027 B CN 112333027B CN 202011310418 A CN202011310418 A CN 202011310418A CN 112333027 B CN112333027 B CN 112333027B
Authority
CN
China
Prior art keywords
network
virtual network
monitor
event coordination
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011310418.4A
Other languages
English (en)
Other versions
CN112333027A (zh
Inventor
廖灵霞
王健
赵长青
潘衿衿
秦斌
马晓航
冯彦明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guilin University of Aerospace Technology
Original Assignee
Guilin University of Aerospace Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guilin University of Aerospace Technology filed Critical Guilin University of Aerospace Technology
Priority to CN202011310418.4A priority Critical patent/CN112333027B/zh
Publication of CN112333027A publication Critical patent/CN112333027A/zh
Application granted granted Critical
Publication of CN112333027B publication Critical patent/CN112333027B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了基于软件定义网络的分布式虚拟网络监视器的实现方法,包括如下步骤:1)组成;2)更新;3)同步、转换;4)交互;5)构建全局网络拓扑视图;6)构建转换表;7)缓存。这种方法实现了虚拟网络的全局映射和地址的全隔离,降低了由于网络地址和控制逻辑转换带来的附加延时,在提升整个虚拟化网络地扩展性和可靠性地同时,保证了网络的整体性能,确保虚拟化后的SDN网络可以为不同类型应用提供相应的服务质量和用户体验。

Description

基于软件定义网络的分布式虚拟网络监视器的实现方法
技术领域
本发明涉及网络虚拟化技术,具体是一种基于软件定义网络的分布式虚拟网络监视器的实现方法。
背景技术
网络虚拟化是指在物理网络上建立、管理、运行虚拟网络的技术。虚拟网络是逻辑层面的网络,它与物理网络一样具有网络地址空间,在数据平面具有端口和链路资源,在控制平面具有控制资源。根据所采用的虚拟化技术的不同,虚拟网络可以对这些资源进行不同层次的抽象和隔离。现有的虚拟化协议主要完成在端口和链路层面的资源虚拟化和隔离,不能实现控制平面的资源虚拟化和隔离。虚拟网络监视器是一种监视管理软件,可以完成对网络地址空间、数据平面、和控制平面的全方位资源虚拟化和隔离。实现这种全方位资源的虚拟化和隔离的核心是实时监控物理网络资源,并对传输的数据实现在虚拟网络和物理网络上的网络地址和控制逻辑的转换。由于这种全方位的资源虚拟化需要对所有网络设备进行统一的管理和协调,而传统的计算机通信网络缺乏这种统一的管理和协调机制,虚拟网络监视器很难在传统的计算机通信上实现和部署。
软件定义网络定义了一种新型网络架构。这种架构将传统的,把控制和数据紧紧耦合在各网络设备的扁平计算机通信网络解耦为在逻辑和物理上都分离的控制平面和数据平面。数据平面包含各类软件定义网络(Software Defined Networking, 简称SDN)交换机,控制平面包含SDN控制器。SDN交换机根据转发规则完成对数据包的转发,但其本身并不具备创建转发规则的能力,转发规则的创建需要SDN控制器来完成。当SDN交换机接收到一个数据包,它首先在自己的流表中查询是否有对应的转发规则。如果有,该数据包直接按照规则转发;如果没有,该数据包将被转发到SDN控制器,由控制器创建对应的转发规则并写入SDN交换机的流表中。SDN交换机再根据该转发规则转发该数据包。OpenFlow协议作为当前SDN控制平面和数据平面交互的标准接口,可以完成对网络中所有SDN交换机的配置、管理、和监控。所以,SDN控制平面的控制器是部署虚拟网络监视器,实现SDN网络全方位虚拟化的完美场所。
基于SDN网络的虚拟网络监视器可以采用集中式或者分布式架构。集中式虚拟网络监视器通常部署在小型SDN网络。小型SDN网络的控制平面通常只包含一个SDN控制器,虚拟网络监视器可以直接部署在该控制器上。但这个唯一控制器(虚拟网络监视器)是网络潜在的单点故障,其性能限制了网络的规模。中大型SDN网络通常会在控制平面部署多个物理上分离但逻辑上集中的分布式控制器,所以,对中大型SDN网络虚拟化的虚拟网络监视器通常也会设计为分布式,以便提高监视器的总体性能,扩展性和可靠性。但是现有的分布式虚拟网络监视器设计方案通常缺乏节点间有效的交互机制,导致多个虚拟网络监视器节点各自为战,网络资源无法在全局层面上得到监视、管理、和优化,降低了整个网络的扩展性和可靠性。为了降低虚拟网络监视器产生的附加延时,某些现有的分布式虚拟网络监视器采用了紧凑型架构,对控制资源提供模块级的虚拟化和隔离,同时通过缓存来降低网络地址和控制逻辑在物理和虚拟网络之间的转换带来的附加延时。但是,由于没有考虑到SDN网络流转发的特点,该缓存的命中率通常非常低,附加延时并没有得到很好的控制,导致通过虚拟网络监视器虚拟化后的SDN网络有可能不能满足具有大用户量并对延时敏感的应用,如线上医疗、线上银行、线上教学等的需求。
发明内容
本发明的目的是针对现有技术的不足,而提供一种基于软件定义网络的分布式虚拟网络监视器的实现方法。这种方法实现了虚拟网络的全局映射和地址的全隔离,降低了由于网络地址和控制逻辑转换带来的附加延时,在提升整个虚拟化网络地扩展性和可靠性地同时,保证了网络的整体性能,确保虚拟化后的SDN网络可以为不同类型应用提供相应的服务质量和用户体验。
实现本发明目的的技术方案是:
基于软件定义网络的分布式虚拟网络监视器的实现方法,包括如下步骤:
1)组成:分布式虚拟监视器由多个监视器节点组成,每个监视器节点部署在一个控制器节点上,每个监视器节点软件基于控制器节点软件开发,监视器与交换机之间的通信通过控制器完成,控制器与交换机之间的交互通过标准的OpenFlow协议完成,对OpenFlow协议无需进行客户化,对标准的OpenFlow交换机也无需进行客户化;
2)更新:分布式虚拟网络监视器节点软件基于开源的NOX控制器软件开发,通过事件协调服务组成一个物理上分离,逻辑上集中的分布式系统,事件协调服务本生是一个分布式系统,包含多个节点,负责对分布式虚拟网络监视器各节点间事件的同步和事件的注册和通知,每个事件协调节点包含一个事件协调服务器和一个或多个事件协调客户端,事件协调服务器包括一个事件协调服务进程,一个消息同步引擎,其中同步引擎采用开源的corosync clustering engine,和一个文件数据仓库,事件协调服务器需要独立运行在每个虚拟网络监视器节点,事件协调客户端需要嵌入到NOX网络拓扑发现模块和虚拟网络监视模块;事件协调服务进程负责处理客户端发送的读或写请求,对数据仓库进行相应的读写操作,并反馈给客户端相应的信息,事件协调服务器进程在处理客户端的写请求时,将该写请求通过消息同步引擎组播到其它节点的事件协调服务器进程,其它节点的事件协调服务器进程通过执行该远程写请求,同步数据仓库信息从而实现系统内各节点事件的同步;事件协调服务的客户端可以对数据仓库内的信息进行注册,被注册的信息被事件协调服务进程更新后,事件协调服务进程会发通知给客户端,通知该信息已被更新;
3)同步、转换:分布式虚拟网络监视器节点软件除了包含NOX控制器核心模块、NOX网络拓扑发现模块、和NOX的交换和路由模块外,还包含一个事件协调服务器和一个虚拟网络监视模块,NOX控制器核心模块负责OpenFlow消息的封装和解析,发送和接收;NOX网络拓扑发现模块负责构建给控制器管理的网络域的网络拓扑;NOX的交换和路由模块负责完成对数据包的转发和路由规则的创建;事件协调服务器负责实现给监视器节点间信息的同步;虚拟网络监视模块负责对其管理的虚拟网络进行创建、地址和逻辑转换;
4)交互:分布式虚拟网络监视器的各监视器节点软件采用紧凑型架构,对于每一个虚拟网络,管理该虚拟网络的监视器节点会为其生成一个NOX交换或者路由模块;由于每个监视器节点管理多个虚拟网络,每个监视器节点需要生成多个这样的交换或者路由模块,这些交换或路由模块相互之间逻辑上分离,但共享本节点的NOX核心模块,NOX网络拓扑发现模块,事件协调服务器,虚拟网络监视模块;与这些模块的交互属于进程内模块级的交互;
5)构建全局网络拓扑视图:分布式虚拟网络监视器的各监视器节点维护了一个全局网络拓扑视图,支持每个监视器节点对虚拟网络的全局映射;全局网络拓扑视图的构建基于事件协调服务实现;
6)构建转换表:分布式虚拟网络监视器的各监视器节点维护了一张全局网络地址和逻辑转换表,支持每个监视器节点对虚拟网络的全局映射;全局网络地址和逻辑转换表的构建基于事件协调服务实现;
7)缓存:分布式网络监视器的各监视器节点实现了一个轻量级的网络地址和逻辑转换表缓存,并通过特有的记录预读取机制将每个节点需要的网络地址和逻辑转换记录预先载入缓存,将缓存的命中率提高到100%,降低了监视器地址和逻辑转换带来地额外时间消耗。
步骤5)中所述的全局网络拓扑视图的构建,过程为:
(1)构建本地拓扑:各监视器节点利用NOX拓扑发现模块周期性发送LLDP包给其管理的网络域的交换机,通过解析返回的LLDP包构建本地网络域的拓扑;
(2)拓扑信息同步:各监视器节点的NOX拓扑发现模块收到交换机返回的LLDP响应包后,通过事件协调客户端将该包封装成写请求,发送到本地事件协调服务器进程;本地事件协调服务器进程对本地数据仓库更新的同时,将写请求组播到其它远程事件协调服务器进程;远程事件协调服务器对本地数据仓库进行更新;
(3)构建全局拓扑:各监视器节点的事件协调客户端对所有可能的远程LLDP响应事件进行注册,当数据仓库对应的远程LLDP响应事件被更新时,本地的事件协调服务器进程发送通知给本地的事件协调客户端;本地的事件协调客户端收到通知后处理远程LLDP响应包,构建全局网络视图。
步骤6)中所述的分布式虚拟网络监视器的各监视器节点维护了一张全局网络地址和逻辑转换表,转换表的构建过程为:
(1)构建本地转换表:分布式虚拟网络监视器的各节点的虚拟网络监视模块为其直接管理的虚拟网络创建网络地址和控制逻辑转换记录,并通过事件协调客户端将转换记录封装成写请求,由事件协调服务进程写入本地数据仓库保存;
(2)转换记录同步:本地事件协调服务器进程在写入本地数据仓库的同时,将该写请求组播到其它远程事件协调服务器进程;
(3)构建全局转换表:其它远程事件协调服务器进程执行该写请求,其它节点的数据仓库的转换记录也得到更新,所以每个节点的数据仓库都保存了一份完全同步的全局转换记录。
步骤7)中所述的缓存过程为:
(1)缓存结构:分布式网络监视器的各节点维护了一个轻量级的网络地址和逻辑转换表缓存,该缓存由哈希表构成,缓存的转换记录与数据仓库的转换记录完全对应;
(2)转换记录分类:缓存和数据仓库的转换记录可分为两类:虚拟网络转换为物理网络的记录和物理网络转换为虚拟网络的记录,这两类网络对应的记录的键和值可以相互替换;
(3)缓存记录预载入机制:每个节点的虚拟网络监视模块首先通过事件协调客户端对所有的其管理的虚拟网络的第一类转换记录,即虚拟网络转换为物理网络的记录预先注册;当数据仓库中被注册的记录被写入或更新时,事件协调客户端会收到通知,虚拟网络监视模块可以根据通知预先将该记录载入缓存;虚拟网络监视模块呼唤载入记录的键和值,载入相对应的第二类转换记录,即物理网络转换为虚拟网络的记录。
本技术方案适用于SDN物理网络的虚拟化,虚拟化后的网络的数据平面可以包括任何支持OpenFlow协议的软件或者物理SDN交换机,控制平面实际是一个包含虚拟网络监视器的分布式控制器,每个节点采用一种紧凑型架构,在控制平面提供模块级的资源虚拟化和隔离,降低了虚拟网络监视器的额外延时,具体解决的技术问题如下:
1.本技术方案采用分布式架构提供整个虚拟化系统的扩展性,分布式虚拟网络监视器包含多个监视器节点,每个节点以开源的NOX控制器为基础,加入一个全新设计的事件协调服务(Event Coordination Service,简称ECS)和网络监视器(Network Hypervisor,简称 NH)模块,并对NOX现有的网络拓扑发现模块、交换模块、和路由模块进行适当升级。
2.本技术方案全新设计的事件协调服务实际上是一个分布式的事件同步和通知系统,包含多个节点,每个节点包含一个服务器和一个客户机进程,每个监视器节点需要部署一个ECS节点,ECS服务器进程用于接收客户机进程的读写请求,并根据请求更新存储记录,当虚拟网络监视器包含多个节点,每个节点运行在一个物理主机上时,该物理主机需要同时运行ECS服务器进程,而ECS的客户机进程需要嵌入到虚拟网络监视器进程中,以便多个监视器节点进行数据的同步。
本技术方案中分布式虚拟网络监视器通过ECS在每个节点实现全局拓扑信息和网络地址和控制逻辑转换信息的同步,从而使得每个节点可以维护一个全局的网络视图和网络地址及控制逻辑转换表,使得虚拟网络的全局映射成为可能,增大了物理网络能支持的虚拟网络的总数,提高了虚拟网络监视器的可扩展性和可靠性。这个全局的网络地址和控制逻辑转换表以文件的方式存储在硬盘。为了降低网络地址和控制逻辑转换所带来的附加延时,在每一个监视器节点实现了一个轻量级的缓存来存放本节点使用的网络地址和控制逻辑转换记录。每个节点上的缓存转换记录与原始转换记录的同步也通过ECS来实现。
本技术方案的缓存是一个读缓存,读缓存通过缓存失误操作加载新的缓存记录,在本技术方案中,每一个转发到控制平面的数据包需要访问该缓存找到相应的转换记录实现网络地址和控制逻辑的转换。当在缓存中找不到相应的转换记录时,触发一个缓存失误,引发一个对原始网络地址和控制逻辑表的直接读操作,导致一个新转换缓存记录的加载。由于SDN网络中的每一个新数据流通常将其第一个数据包转发到控制器请求新的转发规则,这第一个数据包会触发一个缓存失误并加载一条新缓存记录,使得该数据流后面的数据包可以使用该缓存记录对网络地址和控制逻辑进行转换,提高了缓存的命中率。但是,由于SDN网络大部分数据流是老鼠流,老鼠持续时间短包含的数据量小,老鼠流通常只把它的第一个数据包转发到控制平面,使得其加载到缓存的新转换记录不会再被访问,导致了100%的缓存失误率。这种高缓存失误率是由SDN网络数据流的转发特点引发的,不能通过扩大缓存空间来提高。本发明通过ECS服务实现了一种缓存记录的预写入机制,使得每个虚拟网络监视节点可以预先将所有可能用到的转换记录提前加载到缓存中,使得所有转发到该节点的数据包,包括新流的第一个数据包在进行网络地址和控制逻辑的转换时获得100%的缓存命中率,极大地降低了转换过程带来的额外延时,提高了系统的性能。
这种方法实现了虚拟网络的全局映射和地址的全隔离,降低了由于网络地址和控制逻辑转换带来的附加延时,在提升整个虚拟化网络地扩展性和可靠性地同时,保证了网络的整体性能,确保虚拟化后的SDN网络可以为不同类型应用提供相应的服务质量和用户体验。
附图说明
图1为实施例用于各节点间信息同步的分布式事件协作服务描述的原理示意图;
图2为实施例中分布式虚拟监视器的结构图;
图3为实施例中网络地址和控制逻辑在虚拟网络和物理网络之间的映射和转换原理图;
图4为实施例中维护全局网络视图的原理图;
图5为实施例中维护全局网络地址和控制逻辑转换表的原理图。
图中各节点代表了ECS服务的一个节点。
具体实施方式
下面结合附图和实施例对本发明的内容作进一步的阐述,但不是对本发明的限定。
实施例:
基于软件定义网络的分布式虚拟网络监视器的实现方法,包括如下步骤:
1)组成:分布式虚拟监视器由多个监视器节点组成,如图2所示,每个监视器节点部署在一个控制器节点上,每个监视器节点软件基于控制器节点软件开发,监视器与交换机之间的通信通过控制器完成,控制器与交换机之间的交互通过标准的OpenFlow协议完成,对OpenFlow协议无需进行客户化,对标准的OpenFlow交换机也无需进行客户化;
2)更新:分布式虚拟网络监视器节点软件基于开源的NOX控制器软件开发,通过事件协调服务组成一个物理上分离,逻辑上集中的分布式系统,事件协调服务本生是一个分布式系统,如图1所示,包含多个节点,负责对分布式虚拟网络监视器各节点间事件的同步和事件的注册和通知,每个事件协调节点包含一个事件协调服务器和一个或多个事件协调客户端,事件协调服务器包括一个事件协调服务进程,一个消息同步引擎,其中同步引擎采用开源的corosync clustering engine,和一个文件数据仓库,事件协调服务器需要独立运行在每个虚拟网络监视器节点,事件协调客户端需要嵌入到NOX网络拓扑发现模块和虚拟网络监视模块;事件协调服务进程负责处理客户端发送的读或写请求,对数据仓库进行相应的读写操作,并反馈给客户端相应的信息,事件协调服务器进程在处理客户端的写请求时,将该写请求通过消息同步引擎组播到其它节点的事件协调服务器进程,其它节点的事件协调服务器进程通过执行该远程写请求,同步数据仓库信息从而实现系统内各节点事件的同步;事件协调服务的客户端可以对数据仓库内的信息进行注册,被注册的信息被事件协调服务进程更新后,事件协调服务进程会发通知给客户端,通知该信息已被更新;
3)同步、转换:分布式虚拟网络监视器节点软件除了包含NOX控制器核心模块、NOX网络拓扑发现模块、和NOX的交换和路由模块外,还包含一个事件协调服务器和一个虚拟网络监视模块,NOX控制器核心模块负责OpenFlow消息的封装和解析,发送和接收;NOX网络拓扑发现模块负责构建给控制器管理的网络域的网络拓扑;NOX的交换和路由模块负责完成对数据包的转发和路由规则的创建;事件协调服务器负责实现给监视器节点间信息的同步;虚拟网络监视模块负责对其管理的虚拟网络进行创建、地址和逻辑转换,如图3所示;
4)交互:分布式虚拟网络监视器的各监视器节点软件采用紧凑型架构,对于每一个虚拟网络,管理该虚拟网络的监视器节点会为其生成一个NOX交换或者路由模块;由于每个监视器节点管理多个虚拟网络,每个监视器节点需要生成多个这样的交换或者路由模块,这些交换或路由模块相互之间逻辑上分离,但共享本节点的NOX核心模块,NOX网络拓扑发现模块,事件协调服务器,虚拟网络监视模块;与这些模块的交互属于进程内模块级的交互;
5)构建全局网络拓扑视图:分布式虚拟网络监视器的各监视器节点维护了一个全局网络拓扑视图,支持每个监视器节点对虚拟网络的全局映射;全局网络拓扑视图的构建基于事件协调服务实现;
6)构建转换表:分布式虚拟网络监视器的各监视器节点维护了一张全局网络地址和逻辑转换表,支持每个监视器节点对虚拟网络的全局映射;全局网络地址和逻辑转换表的构建基于事件协调服务实现;
7)缓存:分布式网络监视器的各监视器节点实现了一个轻量级的网络地址和逻辑转换表缓存,并通过特有的记录预读取机制将每个节点需要的网络地址和逻辑转换记录预先载入缓存,将缓存的命中率提高到100%,降低了监视器地址和逻辑转换带来地额外时间消耗。
步骤5)中所述的全局网络拓扑视图的构建,过程为:
(1)构建本地拓扑:各监视器节点利用NOX拓扑发现模块周期性发送LLDP包给其管理的网络域的交换机,通过解析返回的LLDP包构建本地网络域的拓扑;
(2)拓扑信息同步:各监视器节点的NOX拓扑发现模块收到交换机返回的LLDP响应包后,通过事件协调客户端将该包封装成写请求,发送到本地事件协调服务器进程;本地事件协调服务器进程对本地数据仓库更新的同时,将写请求组播到其它远程事件协调服务器进程;远程事件协调服务器对本地数据仓库进行更新;
(3)构建全局拓扑:各监视器节点的事件协调客户端对所有可能的远程LLDP响应事件进行注册,当数据仓库对应的远程LLDP响应事件被更新时,本地的事件协调服务器进程发送通知给本地的事件协调客户端;本地的事件协调客户端收到通知后处理远程LLDP响应包,构建全局网络视图,如图4所示。
如图5所示,步骤6)中所述的分布式虚拟网络监视器的各监视器节点维护了一张全局网络地址和逻辑转换表,转换表的构建过程为:
(1)构建本地转换表:分布式虚拟网络监视器的各节点的虚拟网络监视模块为其直接管理的虚拟网络创建网络地址和控制逻辑转换记录,并通过事件协调客户端将转换记录封装成写请求,由事件协调服务进程写入本地数据仓库保存;
(2)转换记录同步:本地事件协调服务器进程在写入本地数据仓库的同时,将该写请求组播到其它远程事件协调服务器进程;
(3)构建全局转换表:其它远程事件协调服务器进程执行该写请求,其它节点的数据仓库的转换记录也得到更新,所以每个节点的数据仓库都保存了一份完全同步的全局转换记录。
步骤7)中所述的缓存过程为:
(1)缓存结构:分布式网络监视器的各节点维护了一个轻量级的网络地址和逻辑转换表缓存,该缓存由哈希表构成,缓存的转换记录与数据仓库的转换记录完全对应;
(2)转换记录分类:缓存和数据仓库的转换记录可分为两类:虚拟网络转换为物理网络的记录和物理网络转换为虚拟网络的记录,这两类网络对应的记录的键和值可以相互替换;
(3)缓存记录预载入机制:每个节点的虚拟网络监视模块首先通过事件协调客户端对所有的其管理的虚拟网络的第一类转换记录,即虚拟网络转换为物理网络的记录预先注册;当数据仓库中被注册的记录被写入或更新时,事件协调客户端会收到通知,虚拟网络监视模块可以根据通知预先将该记录载入缓存;虚拟网络监视模块呼唤载入记录的键和值,载入相对应的第二类转换记录,即物理网络转换为虚拟网络的记录。
本例使用了一种记录的预导入机制,该机制首先将转换记录分为两类,如表1所示:类型1负责虚拟网络到物理网络的转换,类型2负责物理网络到虚拟网络的转换,由于各节点的虚拟网络监视模块总是维护了一张该模块管理的虚拟网络的网络号的列表,所以,所有类型1的转换记录的键可以通过注册这些虚拟网络号,使得该转换记录更新时会发送通知到虚拟网络监视模块,虚拟网络监视模块根据通知更新缓存记录;通过类型1的键,可以得到类型1的值,由于类型1的值对应类型2的键,类型1的键对应类型2的值,每一条类型1记录对应一条类型2的记录,在缓存中类型1记录进行更新时,可以同时完成对应的类型2记录的更新;本例中,记录的更新包括一条新记录的生成或者一条旧记录的更新,通过这种方式,本例每个节点可以将本节点管理的虚拟网络对应的转换记录预先写入缓存,使得缓存的命中率提高到100%,有效地降低了转换的延时,提高了整个系统的性能。
表 1转换表记录结构
类型 作用
类型1 tenant ID, tenant datapathid, tenant port # Datapathid, port# 虚拟网络转换到物理网络
类型2 类型1的值 类型1的键 物理网络转换到虚拟网络

Claims (4)

1.基于软件定义网络的分布式虚拟网络监视器的实现方法,其特征在于,包括如下步骤:
1)组成:分布式虚拟监视器由多个监视器节点组成,每个监视器节点部署在一个控制器节点上,每个监视器节点软件基于控制器节点软件开发,监视器与交换机之间的通信通过控制器完成,控制器与交换机之间的交互通过标准的OpenFlow协议完成,对OpenFlow协议无需进行客户化,对标准的OpenFlow交换机也无需进行客户化;
2)更新:分布式虚拟网络监视器节点软件基于开源的NOX控制器软件开发,通过事件协调服务组成一个物理上分离,逻辑上集中的分布式系统,事件协调服务本生是一个分布式系统,包含多个节点,负责对分布式虚拟网络监视器各节点间事件的同步和事件的注册和通知,每个事件协调节点包含一个事件协调服务器和一个或多个事件协调客户端,事件协调服务器包括一个事件协调服务进程,一个消息同步引擎,其中同步引擎采用开源的corosync clustering engine,和一个文件数据仓库,事件协调服务器需要独立运行在每个虚拟网络监视器节点,事件协调客户端需要嵌入到NOX网络拓扑发现模块和虚拟网络监视模块;事件协调服务进程负责处理客户端发送的读或写请求,对数据仓库进行相应的读写操作,并反馈给客户端相应的信息,事件协调服务器进程在处理客户端的写请求时,将该写请求通过消息同步引擎组播到其它节点的事件协调服务器进程,其它节点的事件协调服务器进程通过执行该写请求,同步数据仓库信息从而实现系统内各节点事件的同步;事件协调服务的客户端可以对数据仓库内的信息进行注册,被注册的信息被事件协调服务进程更新后,事件协调服务进程会发通知给客户端,通知该信息已被更新;
3)同步、转换:分布式虚拟网络监视器节点软件除了包含NOX控制器核心模块、NOX网络拓扑发现模块、和NOX的交换和路由模块外,还包含一个事件协调服务器和一个虚拟网络监视模块,NOX控制器核心模块负责OpenFlow消息的封装和解析,发送和接收;NOX网络拓扑发现模块负责构建给控制器管理的网络域的网络拓扑;NOX的交换和路由模块负责完成对数据包的转发和路由规则的创建;事件协调服务器负责实现给监视器节点间信息的同步;虚拟网络监视模块负责对其管理的虚拟网络进行创建、地址和逻辑转换;
4)交互:分布式虚拟网络监视器的各监视器节点软件采用紧凑型架构,对于每一个虚拟网络,管理该虚拟网络的监视器节点会为其生成一个NOX交换或者路由模块;由于每个监视器节点管理多个虚拟网络,每个监视器节点需要生成多个这样的交换或者路由模块,这些交换或路由模块相互之间逻辑上分离,但共享本节点的NOX核心模块,NOX网络拓扑发现模块,事件协调服务器,虚拟网络监视模块;与这些模块的交互属于进程内模块级的交互;
5)构建全局网络拓扑视图:分布式虚拟网络监视器的各监视器节点维护了一个全局网络拓扑视图,支持每个监视器节点对虚拟网络的全局映射;全局网络拓扑视图的构建基于事件协调服务实现;
6)构建转换表:分布式虚拟网络监视器的各监视器节点维护了一张全局网络地址和逻辑转换表,支持每个监视器节点对虚拟网络的全局映射;全局网络地址和逻辑转换表的构建基于事件协调服务实现;
7)缓存:分布式网络监视器的各监视器节点实现了一个轻量级的网络地址和逻辑转换表缓存,并通过特有的记录预读取机制将每个节点需要的网络地址和逻辑转换记录预先载入缓存,将缓存的命中率提高到100%,降低了监视器地址和逻辑转换带来地额外时间消耗。
2.根据权利要求1所述的基于软件定义网络的分布式虚拟网络监视器的实现方法,其特征在于,步骤5)中所述的全局网络拓扑视图的构建,过程为:
(1)构建本地拓扑:各监视器节点利用NOX拓扑发现模块周期性发送LLDP包给其管理的网络域的交换机,通过解析返回的LLDP包构建本地网络域的拓扑;
(2)拓扑信息同步:各监视器节点的NOX拓扑发现模块收到交换机返回的LLDP响应包后,通过事件协调客户端将该包封装成写请求,发送到本地事件协调服务器进程;本地事件协调服务器进程对本地数据仓库更新的同时,将写请求组播到其它远程事件协调服务器进程;远程事件协调服务器对本地数据仓库进行更新;
(3)构建全局拓扑:各监视器节点的事件协调客户端对所有可能的远程LLDP响应事件进行注册,当数据仓库对应的远程LLDP响应事件被更新时,本地的事件协调服务器进程发送通知给本地的事件协调客户端;本地的事件协调客户端收到通知后处理远程LLDP响应包,构建全局网络视图。
3.根据权利要求1所述的基于软件定义网络的分布式虚拟网络监视器的实现方法,其特征在于,步骤6)中所述的分布式虚拟网络监视器的各监视器节点维护了一张全局网络地址和逻辑转换表,转换表的构建过程为:
(1)构建本地转换表:分布式虚拟网络监视器的各节点的虚拟网络监视模块为其直接管理的虚拟网络创建网络地址和控制逻辑转换记录,并通过事件协调客户端将转换记录封装成写请求,由事件协调服务进程写入本地数据仓库保存;
(2)转换记录同步:本地事件协调服务器进程在写入本地数据仓库的同时,将该写请求组播到其它远程事件协调服务器进程;
(3)构建全局转换表:其它远程事件协调服务器进程执行该写请求,其它节点的数据仓库的转换记录也得到更新,所以每个节点的数据仓库都保存了一份完全同步的全局转换记录。
4.根据权利要求1所述的基于软件定义网络的分布式虚拟网络监视器的实现方法,其特征在于,步骤7)中所述的缓存过程为:
(1)缓存结构:分布式网络监视器的各节点维护了一个轻量级的网络地址和逻辑转换表缓存,该缓存由哈希表构成,缓存的转换记录与数据仓库的转换记录完全对应;
(2)转换记录分类:缓存和数据仓库的转换记录可分为两类:虚拟网络转换为物理网络的记录和物理网络转换为虚拟网络的记录,这两类网络对应的记录的键和值可以相互替换;
(3)缓存记录预载入机制:每个节点的虚拟网络监视模块首先通过事件协调客户端对所有的其管理的虚拟网络的第一类转换记录,即虚拟网络转换为物理网络的记录预先注册;当数据仓库中被注册的记录被写入或更新时,事件协调客户端会收到通知,虚拟网络监视模块可以根据通知预先将该记录载入缓存;虚拟网络监视模块呼唤载入记录的键和值,载入相对应的第二类转换记录,即物理网络转换为虚拟网络的记录。
CN202011310418.4A 2020-11-20 2020-11-20 基于软件定义网络的分布式虚拟网络监视器的实现方法 Active CN112333027B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011310418.4A CN112333027B (zh) 2020-11-20 2020-11-20 基于软件定义网络的分布式虚拟网络监视器的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011310418.4A CN112333027B (zh) 2020-11-20 2020-11-20 基于软件定义网络的分布式虚拟网络监视器的实现方法

Publications (2)

Publication Number Publication Date
CN112333027A CN112333027A (zh) 2021-02-05
CN112333027B true CN112333027B (zh) 2022-06-07

Family

ID=74321017

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011310418.4A Active CN112333027B (zh) 2020-11-20 2020-11-20 基于软件定义网络的分布式虚拟网络监视器的实现方法

Country Status (1)

Country Link
CN (1) CN112333027B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115277349B (zh) * 2022-07-18 2024-01-02 天翼云科技有限公司 一种配置分布式网关的方法、开放虚拟网络及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105337957A (zh) * 2015-09-24 2016-02-17 中山大学 一种SDN网络DDoS和DLDoS分布式时空检测系统
CN106100999A (zh) * 2016-08-28 2016-11-09 北京瑞和云图科技有限公司 一种虚拟化网络环境中镜像网络流量控制协议
CN107104819A (zh) * 2017-03-23 2017-08-29 武汉邮电科学研究院 基于sdn的自适应自协调统一通信系统及通信方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110178342B (zh) * 2017-01-14 2022-07-12 瑞典爱立信有限公司 Sdn网络的可扩缩应用级别监视
CN106612289A (zh) * 2017-01-18 2017-05-03 中山大学 一种基于sdn的网络协同异常检测方法
KR102011021B1 (ko) * 2017-05-02 2019-08-16 고려대학교 산학협력단 Sdn 기반 네트워크 가상화 플랫폼의 네트워크 하이퍼바이저에서 트래픽 엔지니어링 방법 및 프레임워크
CN110768823A (zh) * 2019-10-11 2020-02-07 南京理工大学 基于lldp的软件定义网络拓扑发现方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105337957A (zh) * 2015-09-24 2016-02-17 中山大学 一种SDN网络DDoS和DLDoS分布式时空检测系统
CN106100999A (zh) * 2016-08-28 2016-11-09 北京瑞和云图科技有限公司 一种虚拟化网络环境中镜像网络流量控制协议
CN107104819A (zh) * 2017-03-23 2017-08-29 武汉邮电科学研究院 基于sdn的自适应自协调统一通信系统及通信方法

Also Published As

Publication number Publication date
CN112333027A (zh) 2021-02-05

Similar Documents

Publication Publication Date Title
US11876679B2 (en) Method and apparatus for interacting with a network information base in a distributed network control system with multiple controller instances
US9509588B2 (en) Switch management system and method
US8108623B2 (en) Poll based cache event notifications in a distributed cache
CN107533438B (zh) 存储器系统中的数据复制
CN101706781B (zh) 一种数据库缓存集中管理方法和系统
CN101902473B (zh) 基于网格gis的数据同步更新实现方法
WO2019233061A1 (zh) 一种三层交换机的路由资源控制方法及系统
US11601360B2 (en) Automated link aggregation group configuration system
US10884829B1 (en) Shared buffer memory architecture
CN104092614A (zh) 更新地址解析信息的方法和装置
CN112333027B (zh) 基于软件定义网络的分布式虚拟网络监视器的实现方法
WO2016095329A1 (zh) 一种日志记录系统及日志记录操作方法
US10999223B1 (en) Instantaneous garbage collection of network data units
JP6338257B2 (ja) ネットワーク要素データアクセス方法および装置、およびネットワーク管理システム
US9043274B1 (en) Updating local database and central database
CN109733444A (zh) 数据库系统和列车监控管理设备
US20110282923A1 (en) File management system, method, and recording medium of program
CN112052104A (zh) 基于多机房实现的消息队列的管理方法及电子设备
CN111600958B (zh) 服务发现系统、服务数据管理方法、服务器及存储介质
US11442717B2 (en) System and method for updating state information
CN110138593B (zh) 基于smc网络的分布式系统仿真通信系统
US11558240B2 (en) Network element with dual independent sub network elements with seamless failover
CN110134662A (zh) Sdn分布式存储系统、数据处理方法及存储介质
CN116319786A (zh) 一种双分布式微服务架构、调度算法和边云数据共享系统
CN118055150A (zh) 网络通信方法、装置、计算机设备及计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Liao Lingxia

Inventor after: Wang Jian

Inventor after: Zhao Changqing

Inventor after: Pan Guanguan

Inventor after: Qin Bin

Inventor after: Ma Xiaohang

Inventor after: Feng Yanming

Inventor before: Liao Lingxia

Inventor before: Wang Jian

Inventor before: Zhao Changqing

Inventor before: Pan Jinjin

Inventor before: Qin Bin

Inventor before: Ma Xiaohang

Inventor before: Feng Yanming