CN109905251B - 网络管理方法、装置、电子设备和存储介质 - Google Patents

网络管理方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN109905251B
CN109905251B CN201711283418.8A CN201711283418A CN109905251B CN 109905251 B CN109905251 B CN 109905251B CN 201711283418 A CN201711283418 A CN 201711283418A CN 109905251 B CN109905251 B CN 109905251B
Authority
CN
China
Prior art keywords
network
switch
topology information
switches
sdn controller
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
CN201711283418.8A
Other languages
English (en)
Other versions
CN109905251A (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.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology Co Ltd
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 Beijing Kingsoft Cloud Network Technology Co Ltd, Beijing Kingsoft Cloud Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN201711283418.8A priority Critical patent/CN109905251B/zh
Priority to PCT/CN2018/119512 priority patent/WO2019109970A1/zh
Publication of CN109905251A publication Critical patent/CN109905251A/zh
Application granted granted Critical
Publication of CN109905251B publication Critical patent/CN109905251B/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
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2823Reporting information sensed by appliance or service execution status of appliance services in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]

Abstract

本发明实施例提供了一种基于SDN的实现全局网络管理方法、装置、电子设备和存储介质。其中,该方法应用于SDN控制器,SDN控制器属于SDN控制器集群,SDN控制器集群中各SDN控制器分别与分布式数据库相连,并且还分别与多个交换机相连并形成一网络域;任一交换机至少连接两个SDN控制器;该网络控制方法包括获取网络域内交换机间的第一拓扑信息;从分布式数据库获取SDN控制器集群中其他SDN控制器所在网络域内交换机间的第二拓扑信息;根据第一拓扑信息和第二拓扑信息,确定全局网络拓扑信息;基于全局网络拓扑信息,控制所在网络域内各交换机进行数据转发。由此,本发明实施例扩大了网络拓扑的规模,实现了全局拓扑信息的同步更新,对分布式数据库的性能要求小。

Description

网络管理方法、装置、电子设备和存储介质
技术领域
本发明涉及网络管理技术领域,特别是涉及一种网络管理方法、装置、电子设备和存储介质。
背景技术
近年来,传统网络架构由于其管理过于复杂,且缺乏灵活性,已不足以满足人们的需求。
为了满足人们对网络管理的灵活性和简单性的需求,SDN(Software DefinedNetwork,软件定义网络)的概念随之兴起。SDN概念的核心思想为软件可编程。基于SDN的概念,网络应用中常采用无分层网络控制方式的OpenFlow(一种网络协议)网络。
目前,在现有的OpenFlow网络中,通常只采用一个SDN控制器对网络内的所有交换机进行集中式网络管理。例如,假设OpenFlow网络中有1500台交换机和一台SDN控制器。该1500台交换机每秒钟会产生100000多条数据流,而一台SDN控制器只能处理30000条左右的数据流,导致在对该OpenFlow网络进行部署时无法承受设置足够数量的交换机,由此,全局网络拓扑规模受到了影响。因此,现有的OpenFlow网络由于采用一台SDN控制器来发现全局网络拓扑以对交换机进行管理而存在全局网络拓扑规模小的缺陷。
发明内容
本发明实施例的目的在于提供一种网络管理方法、装置、电子设备和存储介质,以解决如何扩大全局网络拓扑规模的技术问题。
为了实现上述目的,第一方面,提供了以下技术方案:
一种基于软件定义网络SDN的全局网络管理方法,所述方法应用于SDN控制器,所述SDN控制器属于SDN控制器集群,所述SDN控制器集群中各SDN控制器分别与分布式数据库相连,且所述各SDN控制器分别与多个互连的交换机相连并形成一网络域;
所述方法包括:
获取自身所在网络域内交换机间的第一拓扑信息;
从所述分布式数据库获取所述SDN控制器集群中其他SDN控制器所在网络域内交换机间的第二拓扑信息;
根据所述第一拓扑信息和所述第二拓扑信息,确定全局网络拓扑。
可选的,所述获取自身所在网络域内交换机间的第一拓扑信息的步骤,包括:
向自身所在网络域内的交换机分别发送拓扑信息请求;
分别接收各交换机针对所述拓扑信息请求发送的端口信息及与之相连的交换机的端口信息;
根据接收到的端口信息,得到所述自身所在网络域内交换机间的所述第一拓扑信息。
可选的,在所述获取自身所在网络域内交换机间的第一拓扑信息的步骤之后,所述方法包括:
将所述第一拓扑信息发送至所述分布式数据库。
可选的,所述从所述分布式数据库获取所述SDN控制器集群中其他SDN控制器所在网络域内交换机间的第二拓扑信息的步骤,包括:
接收所述分布式数据库发送的拓扑信息更新通知;其中,所述拓扑信息更新通知为所述分布式数据库在接收到由所述其他SDN控制器发送的所述第二拓扑信息时发送的;
根据所述拓扑信息更新通知从所述分布式数据库获取所述SDN控制器集群中所述其他SDN控制器所在网络域内交换机间的第二拓扑信息。
可选的,所述方法还包括:
根据所述全局网络拓扑,控制所述自身所在网络域内各交换机进行数据转发。
可选的,所述根据所述全局网络拓扑,控制所述自身所在网络域内各交换机进行数据转发的步骤,包括:
根据所述全局网络拓扑生成流表,并向所述自身所在网络域内各交换机分别发送所述流表,控制所述自身所在网络域内各交换机进行数据转发。
可选的,所述自身所在网络域内各交换机包括多个提供商边缘交换机;
所述根据所述全局网络拓扑生成流表的步骤,包括:
根据所述全局网络拓扑,按照预定算法计算所述多个提供商边缘交换机之间的路径;
生成包含所述路径的流表。
可选的,所述根据所述全局网络拓扑,按照预定算法计算所述多个提供商边缘交换机之间的路径的步骤,包括:
接收所述自身所在网络域内交换机发送的数据包;
解析所述数据包,得到目的MAC地址;
根据所述全局网络拓扑和所述目的MAC地址,按照预定算法计算所述多个提供商边缘交换机之间的路径。
可选的,所述方法还包括:
接收自身所在网络域之外的其他网络域内交换机发送的网络连接请求;其中,所述网络连接请求是由所述其他网络域内的交换机在所述其他网络域的SDN控制器出现故障时发送的;
根据所述网络连接请求,与所述其他网络域内的交换机建立网络连接。
为了实现上述目的,第二方面,还提供了以下技术方案:
一种基于软件定义网络SDN的全局网络管理装置,所述装置应用于SDN控制器,所述SDN控制器属于SDN控制器集群,所述SDN控制器集群中各SDN控制器分别与分布式数据库相连,且所述各SDN控制器分别与多个互连的交换机相连并形成一网络域;
所述装置包括:
第一获取模块,用于获取自身所在网络域内交换机间的第一拓扑信息;
第二获取模块,用于从所述分布式数据库获取所述SDN控制器集群中其他SDN控制器所在网络域内交换机间的第二拓扑信息;
确定模块,用于根据所述第一拓扑信息和所述第二拓扑信息,确定全局网络拓扑。
可选的,所述第一获取模块包括:
第一发送单元,用于向自身所在网络域内的交换机分别发送拓扑信息请求;
第一接收单元,用于分别接收各交换机针对所述拓扑信息请求发送的端口信息及与之相连的交换机的端口信息;
第一获取单元,用于根据接收到的端口信息,得到所述自身所在网络域内交换机间的所述第一拓扑信息。
可选的,所述装置还包括:
发送模块,用于将所述第一拓扑信息发送至所述分布式数据库。
可选的,所述第二获取模块包括:
第二接收单元,用于接收所述分布式数据库发送的拓扑信息更新通知;其中,所述拓扑信息更新通知为所述分布式数据库在接收到由所述其他SDN控制器发送的所述第二拓扑信息时发送的;
第二获取单元,用于根据所述拓扑信息更新通知从所述分布式数据库获取所述SDN控制器集群中所述其他SDN控制器所在网络域内交换机间的第二拓扑信息。
可选的,所述装置还包括:
控制模块,用于根据所述全局网络拓扑,控制所述自身所在网络域内各交换机进行数据转发。
可选的,所述控制模块具体用于根据所述全局网络拓扑生成流表,并向所述自身所在网络域内各交换机分别发送所述流表,控制所述自身所在网络域内各交换机进行数据转发。
可选的,所述自身所在网络域内各交换机包括多个提供商边缘交换机;
所述控制模块包括:
计算单元,用于根据所述全局网络拓扑,按照预定算法计算所述多个提供商边缘交换机之间的路径;
生成单元,用于生成包含所述路径的流表。
可选的,所述计算单元包括:
接收子单元,用于接收所述自身所在网络域内交换机发送的数据包;
解析子单元,用于解析所述数据包,得到目的MAC地址;
计算子单元,用于根据所述全局网络拓扑和所述目的MAC地址,按照预定算法计算所述多个提供商边缘交换机之间的路径。
可选的,所述装置还包括:
接收模块,用于接收自身所在网络域之外的其他网络域内交换机发送的网络连接请求;其中,所述网络连接请求是由所述其他网络域内的交换机在所述其他网络域的SDN控制器出现故障时发送的;
建立模块,用于根据所述网络连接请求,与所述其他网络域内的交换机建立网络连接。
为了实现上述目的,第三方面,还提供了以下技术方案:
一种电子设备,其包括处理器和存储器;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现第一方面所述的方法步骤。
为了实现上述目的,第四方面,还提供了以下技术方案:
一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的方法步骤。
本发明实施例提供一种基于SDN的实现全局网络管理方法、装置、电子设备和存储介质。其中,该网络控制方法应用于SDN控制器,SDN控制器属于SDN控制器集群,SDN控制器集群中各SDN控制器分别与分布式数据库相连,并且还分别与多个交换机相连并形成一网络域;该网络控制方法包括:获取自身所在网络域内交换机间的第一拓扑信息;从分布式数据库获取SDN控制器集群中其他SDN控制器所在网络域内交换机间的第二拓扑信息;根据第一拓扑信息和第二拓扑信息,确定全局网络拓扑。
本发明实施例通过采取上述技术方案,通过SDN控制器集群来控制交换机,并使得每一个SDN控制器在一个网络域内与多个互连的交换机相连,SDN控制器集群中的每一个SDN控制器不仅获取自身所在网络域内的第一拓扑信息,而且还通过分布式数据库获取其他SDN控制器所在网络域的第二拓扑信息,从而使得每一个SDN控制器可以获得整个网络的全局网络拓扑,由此扩大了网络拓扑的规模,并且可以实现网络拓扑规模的无限扩展。而且通过分布式数据库获取其他SDN控制器所在网络域内的第二拓扑信息的步骤,还实现了全局拓扑信息的同步更新。另外,在本发明实施例中,SDN控制器从分布式数据库获取的是拓扑信息,而没有涉及到诸如与路径计算、流表下发等相关信息;因此,本发明实施例对分布式数据库的性能要求小,提高了网络性能,从而克服了现有技术存在的SDN控制性能瓶颈的缺陷。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而得以体现。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明实施例的SDN控制器的逻辑分层架构示意图;
图2为根据本发明实施例的基于SDN的全局网络管理方法的流程示意图;
图3为根据本发明实施例的一种网络拓扑结构示意图;
图4为根据本发明实施例的获取自身所在网络域内交换机间的第一拓扑信息的流程示意图;
图5为根据本发明实施例的从分布式数据库获取SDN控制器集群中其他SDN控制器所在网络域内交换机间的第二拓扑信息的流程示意图;
图6为根据本发明实施例的在图2所示实施例的基础上增加根据全局网络拓扑,控制自身所在网络域内各交换机进行数据转发步骤的流程示意图;
图7为根据本发明实施例的根据全局网络拓扑生成流表的流程示意图;
图8为根据本发明实施例的根据全局网络拓扑,按照预定算法计算多个提供商边缘交换机之间的路径的流程示意图;
图9为根据本发明实施例的根据交换机角色维护全局网络拓扑的过程的示意图;
图10为根据本发明另一实施例的根据交换机角色维护全局网络拓扑的过程的示意图;
图11为根据本发明实施例的基于SDN的全局网络管理装置的结构示意图;
图12为根据本发明实施例的第一获取模块的结构示意图;
图13为根据本发明另一实施例的基于SDN的全局网络管理装置的结构示意图;
图14为根据本发明实施例的第二获取模块的结构示意图;
图15为根据本发明实施例的控制模块的结构示意图;
图16为根据本发明实施例的计算单元的结构示意图;
图17为根据本发明实施例的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面对本文涉及到的术语进行详细说明:
链路是指网络中任意相连节点之间的连通路径;例如,两个交换机之间的连通路径。
路径是指网络中从源节点到目的节点之间的通路;一条路径可以包含一条或多条链路;本文中可以指提供商边缘交换机之间的通路。
SDN:是一种网络架构,其主要通过OpenFlow协议将网络设备的控制面与数据面分离开来,从而实现网络流量的控制。
OpenFlow网络:其包括交换机和Controller(控制器);其中,交换机优选为OpenFlowSwitch(开放流交换机)。OpenFlowSwitch是整个OpenFlow网络的核心部件,包括流表、安全通道和OpenFlow协议,并且主要管理数据层的转发。其中,安全通道为连接交换机与控制器的接口;OpenFlow协议用于描述控制器与交换机之间交互所用信息的标准,以及控制器和交换机的接口标准。OpenFlowSwitch拥有一个或多个FlowTable(流表),并只按照流表进行数据包的转发。FlowTable的生成、维护和下发由Controller来实现。这里,FlowTable并非是指IP五元组(IP源地址、IP目的地址、协议号、源端口、目的端口),而是涵括了二到七层网络的几乎所有网络字段。FlowTable中的每个关键字都可以通配。网络的运营商可以决定使用何种粒度的流。比如,如果运营商只需要根据目的IP进行数据包路由,那么,FlowTable中就可以只有IP目的地址字段是有效的,其它全为通配。传统网络中数据包的流向是人为指定的,虽然交换机、路由器拥有控制权,却没有数据流的概念,只进行数据包级别的交换;而在OpenFlow网络中,Controller取代路由,管理所有数据包在网络中的传输路径,实现控制层的功能。
图1示例性地示出了SDN控制器(也称OpenFlow控制器)的逻辑分层架构示意图。图1所示结构总体分为三层,即应用层、控制平面层和数据平面层。其中,控制平面层和数据平面层都基于同一个物理网络。数据平面层作为底层,主要包括交换机等设备;该交换机优选为支持OpenFlow协议的物理机或者软件实现的虚拟交换机(例如,OpenFlowSwitch,开放流交换机),用于负责从控制器接收流表规则,转发网络流量。控制平面层包括开放流控制器;该开放流控制器用于发现下层交换机的全局拓扑,然后,根据具体业务和上层应用逻辑下发对应的流表规则,控制交换机进行数据流量转发。应用层为基于开放流控制器的一些具体业务应用,例如,其可以包括虚拟网络、流量工程和多个泛光灯应用程序,用于抽象出一个逻辑的虚拟网络,功能用户配置和使用,从而使得用户不必关心下层具体物理网络的结构,易于进行组网和连通业务。
现有的OpenFlow网络由于通常采用一台SDN控制器来发现全局网络拓扑以对交换机进行管理而存在全局网络拓扑规模小的缺陷。例如,在现有的采用一主多备的方案中,多个控制器读写同一个数据库,用于保存基于OpenFlow协议的相关网络拓扑信息。该方案中,同一时间只有一个主控制器进行写入数据库的操作;备控制器只能从数据库中读取网络拓扑信息。由此,网络额规模化支持受限于SDN控制器的性能。因此,该方案由于同一时间只有一台控制器而存在不支持大规模网络拓扑的缺陷。
鉴于此,为了解决如何扩大全局网络拓扑规模的技术问题,本发明实施例提供一种基于软件定义网络SDN的全局网络管理方法,其应用于SDN控制器,SDN控制器属于SDN控制器集群,SDN控制器集群中各SDN控制器分别与分布式数据库相连,且各SDN控制器分别与多个互连的交换机相连并形成一网络域;如图2所示,基于SDN的全局网络管理方法包括如下步骤S200至步骤S220。其中:
S200:获取自身所在网络域内交换机间的第一拓扑信息。
本步骤可以通过SDN控制器获取自身所在网络域内多个交换机之间的第一拓扑信息。其中,SDN控制器集群中的每一个SDN控制器可以只管控整个网络中的部分交换机。SDN控制器例如可以为FloodLight控制器(泛光控制器)、OpenDayLight控制器(一种开源控制器)等任意商用或开源的控制器。其中,FloodLight控制器的结构精简且采用模块化设计模式,易于增加和开发上层虚拟网络应用。该SDN控制器运行在服务器(例如,X86架构服务器)上,并在该服务器上进行诸如拓扑发现、流表下发、数据包上报处理等数据流的处理。每个SDN控制器通过交换机的IP地址和端口号可以管理一定数量的交换机。
交换机优选为支持OpenFlow协议的OpenFlow交换机。交换机的端口既可以用于收发控制包,也可以用于收发数据包。交换机可以在本地维护一个流表。
第一拓扑信息可以包括但不限于各交换机的IP地址和端口号。
表1示例性地示出了第一拓扑信息。表1中的信息表示第一交换机通过1号端口与第二交换机相连;第二交换机通过5号端口与第三交换机相连。
表1
开始转发包的交换机 端口号 相连的下一个的交换机
第一交换机 1号 第二交换机
第二交换机 5号 第三交换机
图3示例性地示出了一种网络拓扑结构示意图。图3所示网络拓扑为数据中心三层网络拓扑结构。其中包括分布式数据库30、网络域31和网络域32。其中,网络域31包括SDN控制器311与交换机3111、交换机3121、交换机3122、交换机3131和交换机3132。网络域32包括SDN控制器321与交换机3211、交换机3221、交换机3222和交换机3231。交换机3111、交换机3211、交换机3121、交换机3122、交换机3221和交换机3222构成full mesh(全网状)连接的网络,以从接入层网络设备双上行至中间汇聚层网络提供无阻塞数据转发。其中,接入层用于向本地网段提供工作站接入服务。汇聚层是指位于网络接入层和核心层之间的中介层。核心层是指网络主干网络层。SDN控制器311和SDN控制器321可以构成SDN控制器集群。分布式数据库30可以由开源的数据库予以实现,并且该分布式数据库30可以提供分布式锁功能,以保证SDN控制器集群中的所有SDN控制器节点数据的有序和有效的读写。如图3所示,SDN控制器311获取网络域31内交换机3111、交换机3131、交换机3132、交换机3131和交换机3132间的拓扑信息;SDN控制器321获取网络域32内SDN控制器321与交换机3211、交换机3221、交换机3222和交换机3231之间的拓扑信息。
具体地,在一些可选的实施例中,如图4所示,本步骤可以包括如下步骤S201至步骤S203。其中:
S201:向自身所在网络域内的交换机分别发送拓扑信息请求。
在实际应用中,交换机中配置有该SDN控制器的IP(网际间协议)地址。交换机主动与SDN控制器建立连接。连接建立之后,SDN控制器向自身所在网络域内的交换机发送拓扑信息请求。
沿用图3所示示例,SDN控制器311可以向网络域31内的各个交换机发送拓扑信息请求。
S202:分别接收各交换机针对拓扑信息请求发送的端口信息及与之相连的交换机的端口信息。
其中,端口信息可以是交换机的端口号,例如,2号、5号等。
在实际应用中,交换机接收到拓扑信息请求之后,向SDN控制器发送自身的端口信息以及与之相连的交换机的端口信息。
沿用图3所示示例,以网络域31内的交换机3131为例,SDN控制器311接收交换机3131发送的其自身的端口号以及交换机3121、交换机3122所用的端口号。
S203:根据接收到的端口信息,得到自身所在网络域内交换机间的第一拓扑信息。
本步骤在接收到端口信息后,可以根据各个交换机的端口之间的连接关系,绘制出拓扑图,形成第一拓扑信息。
以表一为例,表一中的信息表示第一交换机通过1号端口与第二交换机相连;第二交换机通过5号端口与第三交换机相连。通过该拓扑信息,可以得到第一交换机与第二交换机之间的拓扑信息。
在一些可选的实施例中,在步骤S200之后,基于SDN的全局网络管理方法还可以包括:
将第一拓扑信息发送至分布式数据库。
本步骤中,各个SDN控制器可以将各自所获取到的拓扑信息发送至分布式数据库,实现了对该分布式数据库中所存储的拓扑信息的更新。
S210:从分布式数据库获取SDN控制器集群中其他SDN控制器所在网络域内交换机间的第二拓扑信息。
其中,有关第二拓扑信息的说明可以参见本文对第一拓扑信息的说明,在此不再赘述。
本发明实施例既获取自身所在网络域内交换机间的第一拓扑信息,也通过本步骤获取SDN控制器集群中其他SDN控制器所在网络域内交换机间的第二拓扑信息,以用于获得全局网络拓扑。
在一些可选的实施例中,如图5所示,步骤S210具体可以包括步骤S211和步骤S212。其中:
S211:接收分布式数据库发送的拓扑信息更新通知;其中,拓扑信息更新通知为分布式数据库在接收到由其他SDN控制器发送的第二拓扑信息时发送的。
在具体实施过程中,各个SDN控制器实时监测分布式数据库的拓扑信息更新。当分布式数据库中的拓扑信息发生更新时,分布式数据库通知各个SDN控制器,然后,各个SDN控制器接收该分布式数据库发送的拓扑信息更新通知。
沿用图3所示示例,如果SDN控制器311将拓扑信息发送至分布式数据库30;则该分布式数据库30向SDN控制器321发送拓扑信息更新通知。
S212:根据拓扑信息更新通知从分布式数据库获取SDN控制器集群中其他SDN控制器所在网络域内交换机间的第二拓扑信息。
作为示例,各个SDN控制器接收到更新通知后,从该分布式数据库中获取其他SDN控制器发送至分布式数据库的拓扑信息,由此实现了全局拓扑信息的同步。
S220:根据第一拓扑信息和第二拓扑信息,确定全局网络拓扑。
本步骤根据所获取到的自身网络域内的交换机间的拓扑信息,以及从分布式数据库同步得到的其他SDN控制器所在网络域内交换机间的拓扑信息,可以获得整个网络中各个网络域内各个交换机端口之间的连接关系,据此可以拼出一张拓扑图,从而确定出全局拓扑。
以图3所示为例,交换机3111、交换机3211、交换机3121、交换机3122、交换机3221和交换机3222可以采用32╳40G接口的DC Core(Data Center Core,核心交换机);交换机3131、交换机3132和交换机3231可以采用48╳10G+4╳40G的TOR(柜顶式交换机);在这种拓扑结构下,采用48台DC Core和128台TOR可以提供3:1收敛的6144个10G的接入口。将该接入口连接X86服务器,该X86服务器上运行Vswitch(虚拟交换机)和SDN控制器,作为转发使用。如果按照24核、128G内存的服务器配置,本实施例可以提供10万规模的网络拓扑。与采用一台SDN控制器的现有技术相比,扩大了全局网络拓扑的规模。
本发明实施例由于利用SDN控制器集群中各个SDN控制器分别获取各自所在网络域内的拓扑信息,并再通过分布式数据库获取其他各个SDN控制器所获得的拓扑信息,由此实现了全局网络拓扑的发现。
在现有使用分布式数据库发现网络拓扑的方案中,使用分布式数据库统一存放网络拓扑和流表以及OpenDayLight等SDN控制器状态等信息,也就是把所有状态信息都剥离出去,统一存储在一个分布式数据库中。该方案虽然通过分布式数据库解决了规模化的瓶颈,但是,该方案将网络拓扑以及所有状态信息都存放在统一的数据库中。因此,该方案不仅增加了控制器的逻辑复杂度,而且对于分布式数据库的性能要求也很高,比如,实时变化的流表信息,如不能及时存储和更新,将会造成网络通路的混乱,导致网络故障。
另外,在现有采用部分控制器使用二段提交方式的方案中,将控制器分为两层。其中,下面一层的控制器各自管理部分OpenFlow交换机,上层为中央控制器,管理下层中的各个控制器,从下层控制器收取网络拓扑信息,从而发现全局拓扑。在该方案中,下层控制器能够处理部分流表下发等请求,只有不能处理的请求才转发到上层中央控制器进行处理。所以,当下层中的控制器增多之后,中央控制器会成为性能瓶颈,从而造成网络性能不佳。
然而,在本发明实施例中,提出了一个完善的分布式控制器方案,同样是使用统一的分布式数据库存取状态信息,但是,由于SDN控制器与分布式数据库之间只同步拓扑信息,该拓扑信息的信息量小且稳定、不会发生变化,而没有向该分布式数据库引入路径计算和流表下发等逻辑;所以,本发明实施例对分布式数据库的性能要求小,并由此还可以确保良好的全局拓扑同步实时性,还改善了网络性能。
在一些可选的实施例中,基于上述任一实施例,如图6所示,基于SDN的全局网络管理方法还可以包括:
S230:根据全局网络拓扑,控制自身所在网络域内各交换机进行数据转发。
本实施例依据全局网络拓扑控制,控制自身网络域内各个交换机对数据包进行转发,并最终将该数据包转发至目的服务器。
在具体实施过程中,可以将多个OpenFlow交换机和SDN控制器构成数据面;然后,通过数据面来转发数据包。
在一些可选的实施例中,在上述实施例的基础上,根据全局网络拓扑,控制自身所在网络域内各交换机进行数据转发的步骤具体包括:
根据全局网络拓扑生成流表,并向自身所在网络域内各交换机分别发送流表,控制自身所在网络域内各交换机进行数据转发。
在本实施例中,流表包括多个流表项;每个流表项可以包括一个或多个匹配域,具体地,可以包括诸如头域、目的MAC(Media Access Control,媒体接入控制层)地址、源MAC地址、目的IP地址、源IP地址、TCP端口号/UDP端口号、指令等。其中,指令用于指示通过哪个端口转发数据包。当然,流表项中还可以包括计数器等。其中,计数器用于统计该流表项被命中的次数。
作为示例,本步骤在向自身所在网络域内各交换机分别发送流表时,可以依据路径上交换机与自身跳数的多少,按照从小到大的顺序向各个交换机发送流表项。
另外,本领域技术人员应该能够理解,为了使得交换机可以转发数据包,可以向该交换机发送初始流表。具体地,可以采取控制平面和数据平面相分离的方式来获取流表。例如,OpenFlow交换机基于LLDP协议(Link LayerDiscovery Protocol,链路层发现协议)和STP协议(Spanning Tree Protocol,生成树协议)等连通控制平面,也就是通过上述协议生成的转发表实现各种OpenFlow控制消息的转发。OpenFlow交换机向SDN控制器发送流表请求;SDN控制器接收到该流表请求后,通过控制平面向该OpenFlow交换机发送流表项;OpenFlow交换机接收到该流表项后将其添加到自身本地维护的流表中,从而获得初始流表。
在一些可选的实施例中,在上述实施例的基础上,自身所在网络域内各交换机包括多个提供商边缘交换机;如图7所示,根据全局网络拓扑生成流表的步骤包括如下步骤S231和步骤S232。其中:
S231:根据全局网络拓扑,按照预定算法计算多个提供商边缘交换机之间的路径。
其中,预定算法例如可以为最小路径算法、最优路径算法、关键路径算法等,但绝不限于此。
其中,提供商边缘交换机(即provideer edge交换机,简称PE设备)可以为所带负载小的交换机,例如可以为单个端口为10Gb吞吐量的交换机。PE设备例如可以为普通的交换机。该PE设备连接服务器。
与上述提供商边缘交换机相对应地,本文还定义了提供商交换机(即provider交换机,简称P设备),其可以为带负载大的交换机,例如,可以为单个端口为40Gb吞吐量的交换机。该P设备可以作为中间节点,未连接服务器。
S232:生成包含路径的流表。
本实施例中,路径计算和流表均由各SDN控制器独自计算和存储,对分布式数据库的要求小,改善了网络性能。
在一些可选的实施例中,在上述实施例的基础上,如图8所示,根据全局网络拓扑,按照预定算法计算多个提供商边缘交换机之间的路径的步骤具体可以包括步骤S2311至步骤S2313。其中:
S2311:接收自身所在网络域内交换机发送的数据包。
当至少发生以下情况时,交换机将数据包发送至SDN控制器:
情况一:交换机接收到没有与任何流表项相匹配的数据包;
上述情况发生时,交换机将数据包发送至自身所在网络域内的SDN控制器,以获得可以匹配的流表。
情况二:交换机接收到数据包,但没有接收到SDN控制器下发的流表。
上述情况包括交换机在预定时间(例如,3分钟、5分钟)内没有匹配到流表,而将不匹配的流表删除的情况。在情况二发生时,交换机将数据包发送至SDN控制器,以获取与数据包相匹配的流表。
S2312:解析数据包,得到目的MAC地址。
S2313:根据全局网络拓扑和目的MAC地址,按照预定算法计算多个提供商边缘交换机之间的路径。
其中,预定算法例如可以为最小路径算法、最优路径算法、关键路径算法等,但绝不限于此。
为了便于网络管理和路径计算,本发明实施例将交换机区分为提供商边缘交换机和提供商交换机,也就是将交换机分为PE(provider edge,提供商边缘)角色和P(provider,提供商)角色,分别简称PE设备和P设备。交换机的角色适用于SDN控制器,对物理交换机透明。SDN控制器根据角色来维护网络域内的拓扑。具体地,P设备在网络拓扑中仅作为中间节点,不作为路径计算的源或者目的节点;在发现网络拓扑时,PE设备之间的link(链路)判定为非法链接,其被忽略。所以,本步骤按照诸如最小路径算法、最优路径算法、关键路径算法等计算PE设备间的路径。
在实际应用中,上述P角色和PE角色可以通过SwitchRoleManager(交换机角色管理器)来维护交换机与角色的对应关系。用户可以通过Restful API(RepresentationalState Transfer API,资源表现层状态转化应用程序编程接口)查看所有交换机的角色信息,或者设定/删除某个交换机的角色配置。
下面结合图9以具体的实施例对本发明实施例根据交换机角色维护全局网络拓扑的过程进行详细说明。本实施例以网络域内接入交换机为例。
当网络域内有新的交换机接入并与SDN控制器相连时,该SDN控制器识别该交换机;根据预定的交换机与角色的对应关系,确定所述交换机的角色;将确定了角色的交换机的Link线(也称为Link,即链路)、拓扑信息发送至分布式数据库。
具体地,如图9所示,SDN控制器可以包括拓扑管理器、交换机角色管理器、域拓扑管理器和全局拓扑管理器。
当存在交换机接入网络时,执行以下步骤:
步骤a1:拓扑管理器向交换机角色管理器发送交换机连接控制器通知;
步骤a2:交换机角色管理器在角色信息存在的情况下,对交换机的角色进行设置,并将设置后的角色信息发送至域拓扑管理器;
步骤a3:域拓扑管理器将交换机加入本地控制器拓扑;域拓扑管理器获取与该交换机相关的链路,并将其发送至拓扑管理器;将合法的Link线加入拓扑,并初始化链路权重,删除非法的Link线;将更新的拓扑信息发送至全局拓扑管理器,更新之后,计算路径、流表预下发、更新链路权重;
步骤a4:全局拓扑管理器将分布式数据库的更新信息发送至域拓扑管理器,以供其他SDN控制根据更新后的全局网络拓扑信息,按照预定算法计算多个提供商边缘交换机之间的路径。
同理,当交换机与所在网络域内的SDN控制器断开连接时,处理过程与交换机接入的情况类似,在此不再赘述。
下面结合图10以具体的实施例对本发明实施例根据交换机角色维护全局网络拓扑的过程进行详细说明。本实施例以链路状态变化为例。
当网络拓扑中链路状态变化时,会触发域拓扑管理器进行相关处理。新增Link线时,会更新本地拓扑,然后将信息更新到分布式数据库,共其他SDN控制器进行全局拓扑同步。当Link线断开时,会检测本地拓扑中是否存在该Link线;若存在,则更新路径计算和流表下发等操作;然后,将该Link线删除,并更新至分布式数据库中。
如图10所示,拓扑管理器向域拓扑管理器发送Link增加/断开消息;域拓扑管理器在Link合法的情况下,将Link加入拓扑,初始化链路权重为1(),然后,向全局拓扑管理器发送更新分布式数据库的指令;在Link非法的情况下,域拓扑管理器将Link标志警告,不作处理。如果拓扑中存在该Link,则域拓扑管理器从拓扑中删除该Link,然后,向全局拓扑管理器发送更新分布式数据库信息;如果拓扑中不存在该Link,则域拓扑管理器从告警Link中删除该Link,进行相关路径计算、流表下发等操作。当有Link线断开时,会检测本地拓扑中是否存在该Link线,若存在,则会更新路径计算和流表下发等操作,然后,将Link线删除,并更新到分布式数据库,以供其他SDN控制器根据更新后的全局网络拓扑信息,按照预定算法计算多个提供商边缘交换机之间的路径。
现有技术中,由于只采取一台SDN控制器对网络进行集中式管理。如果这台SDN控制器发生故障宕机,由于没有备用的SDN控制器接替该发生故障宕机的SDN控制器,因此整个网络就无法正常工作了。因而,现有技术存在单点故障的缺陷。
鉴于上述现有技术存在的缺陷,在一些可选的实施例中,在图4所示实施例的基础上,基于SDN的全局网络管理方法还包括如下步骤b1和步骤b2。
步骤b1:接收自身所在网络域之外的其他网络域内交换机发送的网络连接请求;其中,网络连接请求是由其他网络域内的交换机在其他网络域的SDN控制器出现故障时发送的;
本步骤在具体实施过程中,可以在交换机中配置至少两台SDN控制器的IP地址,以使得该交换机可以收到至少两台SDN控制器的管理。
举例而言,如果将OpenFlow交换机与第一SDN控制器和第二SDN控制器相连,则在该OpenFlow交换机中配置第一SDN控制器和第二SDN控制器的IP地址,并使得该OpenFlow交换机与第一SDN控制器处于同一网络域内。这样,该OpenFlow交换机与第二SDN控制器处于不同的网络域。当第一SDN控制器发生故障时,该OpenFlow交换机由于配置有第二SDN控制器的IP地址,因而,此时,该OpenFlow交换机可以去连接第二SDN控制器,也就是向第二SDN控制器发送网络连接请求。第二SDN控制器接收其他网络域内的、该OpenFlow交换机发送的网络连接请求。
步骤b2:根据网络连接请求,与其他网络域内的交换机建立网络连接。
沿用上例,当第二SDN控制器接收到该网络连接请求后,与该OpenFlow交换机建立网络连接,以对该OpenFlow交换机进行管理。其中,该网络连接例如可以为TCP(传输控制协议)连接。
本实施例由于将交换机与至少两台SDN控制器相连;因此,当其中一台SDN控制器发生故障宕机而无法正常工作时,该交换机可以与其他未发生故障宕机的SDN控制器进行网络连接而维持正常的工作。故,与采用一主多备的方案相比,本实施例克服了单点故障的缺陷,而且通过本发明实施例提供的技术方案,可以使得网络不受限于一台SDN控制器的性能的影响,克服了性能瓶颈的缺陷,从而提高了网络的处理速度和网络拓扑规模。
综上所述,本发明实施例通过采取上述任一技术方案,通过SDN控制器集群来控制交换机,并使得每一个SDN控制器在一个网络域内与多个交换机相连,SDN控制器集群中的每一个SDN控制器不仅获取自身所在网络域内的第一拓扑信息,而且还通过分布式数据库获取其他SDN控制器所在网络域的第二拓扑信息,从而使得每一个SDN控制器可以获得整个网络的全局网络拓扑,由此扩大了网络拓扑的规模,并且可以实现网络拓扑规模的无限扩展。而且通过分布式数据库获取其他SDN控制器所在网络域内的第二拓扑信息的步骤,还实现了全局拓扑信息的同步更新。另外,在本发明实施例中,SDN控制器从分布式数据库获取的是拓扑信息,而没有涉及到诸如与路径计算、流表下发等相关信息;因此,本发明实施例对分布式数据库的性能要求小,提高了网络性能,从而克服了现有技术存在的SDN控制性能瓶颈的缺陷。
现有的OpenFlow网络由于通常采用一台SDN控制器来发现全局网络拓扑以对交换机进行管理而存在全局网络拓扑规模小的缺陷。由此,网络额规模化支持受限于SDN控制器的性能。因此,为了解决如何扩大全局网络拓扑规模的技术问题,本发明实施例提供一种基于软件定义网络SDN的全局网络管理装置,该装置可以执行上述方法实施例。装置应用于SDN控制器,SDN控制器属于SDN控制器集群,SDN控制器集群中各SDN控制器分别与分布式数据库相连,且各SDN控制器分别与多个互连的交换机相连并形成一网络域;如图11所示,基于SDN的全局网络管理装置包括:
第一获取模块111,用于获取自身所在网络域内交换机间的第一拓扑信息;
第二获取模块112,用于从分布式数据库获取SDN控制器集群中其他SDN控制器所在网络域内交换机间的第二拓扑信息;
确定模块113,用于根据第一拓扑信息和第二拓扑信息,确定全局网络拓扑。
本实施例通过SDN控制器集群来控制交换机,并使得每一个SDN控制器在一个网络域内与多个交换机相连,SDN控制器集群中的每一个SDN控制器不仅通过第一获取模块111获取自身所在网络域内的第一拓扑信息,而且还通过第二获取模块112从分布式数据库获取其他SDN控制器所在网络域的第二拓扑信息,从而通过确定模块113可以获得整个网络的全局网络拓扑,由此扩大了网络拓扑的规模,并且可以实现网络拓扑规模的无限扩展。而且,通过第二获取模块112从分布式数据库获取其他SDN控制器所在网络域内的第二拓扑信息的步骤,还实现了全局拓扑信息的同步更新。另外,在本发明实施例中,SDN控制器从分布式数据库获取的是拓扑信息,而没有涉及到诸如与路径计算、流表下发等相关信息;因此,本发明实施例对分布式数据库的性能要求小,提高了网络性能,从而克服了现有技术存在的SDN控制性能瓶颈的缺陷。
在一些可选的实施例中,如图12所示,第一获取模块包括:
第一发送单元121,用于向自身所在网络域内的交换机分别发送拓扑信息请求;
第一接收单元122,用于分别接收各交换机针对拓扑信息请求发送的端口信息及与之相连的交换机的端口信息;
第一获取单元123,用于根据接收到的端口信息,得到自身所在网络域内交换机间的第一拓扑信息。
在一些可选的实施例中,如图13所示,基于SDN的全局网络管理装置还可以包括:
发送模块114,用于将第一拓扑信息发送至分布式数据库。
在一些可选的实施例中,如图14所示,第二获取模块具体包括:
第二接收单元141,用于接收分布式数据库发送的拓扑信息更新通知;其中,拓扑信息更新通知为分布式数据库在接收到由其他SDN控制器发送的第二拓扑信息时发送的;
第二获取单元142,用于根据拓扑信息更新通知从分布式数据库获取SDN控制器集群中其他SDN控制器所在网络域内交换机间的第二拓扑信息。
在一些可选的实施例中,基于SDN的全局网络管理装置还可以包括:
控制模块,用于根据全局网络拓扑,控制自身所在网络域内各交换机进行数据转发。
在一些可选的实施例中,控制模块具体用于根据全局网络拓扑生成流表,并向自身所在网络域内各交换机分别发送流表,控制自身所在网络域内各交换机进行数据转发。
在一些可选的实施例中,自身所在网络域内各交换机包括多个提供商边缘交换机;
如图15所示,控制模块具体包括:
计算单元151,用于根据全局网络拓扑,按照预定算法计算多个提供商边缘交换机之间的路径;
生成单元152,用于生成包含路径的流表。
在一些可选的实施例中,如图16所示,计算单元具体包括:
接收子单元161,用于接收自身所在网络域内交换机发送的数据包;
解析子单元162,用于解析数据包,得到目的MAC地址;
计算子单元163,用于根据全局网络拓扑和目的MAC地址,按照预定算法计算多个提供商边缘交换机之间的路径。
在一些可选的实施例中,基于SDN的全局网络管理装置还可以包括:
接收模块,用于接收自身所在网络域之外的其他网络域内交换机发送的网络连接请求;其中,网络连接请求是由其他网络域内的交换机在其他网络域的SDN控制器出现故障时发送的;
建立模块,用于根据网络连接请求,与其他网络域内的交换机建立网络连接。
有关基于SDN的全局网络管理装置实施例的说明可以参考前述基于SDN的全局网络管理方法实施例的说明,在此不再赘述。
基于与方法实施例相同的技术构思,本发明实施例还提供了一种电子设备,如图17所示,包括处理器171和存储器172;
存储器172,用于存放计算机程序;
处理器171,用于执行存储器172上所存放的程序时,实现上述基于SDN的全局网络管理方法实施例中所述的方法步骤。
当然,本领域技术人员应能理解,上述实施例还可以包括通信接口和通信总线,这些明显变形或等同替换的实施例也应包含在本发明的保护范围之内。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图17中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
上述通信接口用于上述电子设备与其他设备之间的通信。
上述存储器172可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(non-volatile memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器171可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Ne twork Processor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Applica tion Specific IntegratedCircuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
上述电子设备包括但不限于智能手机、计算机、个人数字助理、可穿戴设备等。
本实施例中,通过处理器171执行存储器172上所存放的程序,实现了通过SDN控制器集群来控制交换机,并使得每一个SDN控制器在一个网络域内与多个交换机相连,SDN控制器集群中的每一个SDN控制器不仅获取自身所在网络域内的第一拓扑信息,而且还通过分布式数据库获取其他SDN控制器所在网络域的第二拓扑信息,从而使得每一个SDN控制器可以获得整个网络的全局网络拓扑,由此扩大了网络拓扑的规模,并且可以实现网络拓扑规模的无限扩展。而且通过分布式数据库获取其他SDN控制器所在网络域内的第二拓扑信息的步骤,还实现了全局拓扑信息的同步更新。另外,在本发明实施例中,SDN控制器从分布式数据库获取的是拓扑信息,而没有涉及到诸如与路径计算、流表下发等相关信息;因此,本发明实施例对分布式数据库的性能要求小,提高了网络性能,从而克服了现有技术存在的SDN控制性能瓶颈的缺陷。
基于与方法实施例相同的技术构思,本发明实施例还提供了一种计算机可读存储介质。该计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现上述基于SDN的全局网络管理方法实施例中所述的方法步骤。
上述计算机可读存储介质可以包括但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦写可编程只读存储器(EPROM)、电可擦写可编程只读存储器(EEPROM)、闪存(例如,NOR型闪存或NAND型闪存)、内容可寻址存储器(CAM)、聚合物存储器(例如,铁电聚合物存储器)、相变存储器、双向开关半导体存储器、硅-氧化物-氮化硅-氧化硅-硅(Silicon-Oxide-Nitride-Oxide-Silicon,SONOS)存储器、磁卡或者光卡,亦或是其他任意适当类型的计算机可读存储介质。
本实施例中,计算机程序被处理器执行时实现了通过SDN控制器集群来控制交换机,并使得每一个SDN控制器在一个网络域内与多个交换机相连,SDN控制器集群中的每一个SDN控制器不仅获取自身所在网络域内的第一拓扑信息,而且还通过分布式数据库获取其他SDN控制器所在网络域的第二拓扑信息,从而使得每一个SDN控制器可以获得整个网络的全局网络拓扑,由此扩大了网络拓扑的规模,并且可以实现网络拓扑规模的无限扩展。而且通过分布式数据库获取其他SDN控制器所在网络域内的第二拓扑信息的步骤,还实现了全局拓扑信息的同步更新。另外,在本发明实施例中,SDN控制器从分布式数据库获取的是拓扑信息,而没有涉及到诸如与路径计算、流表下发等相关信息;因此,本发明实施例对分布式数据库的性能要求小,提高了网络性能,从而克服了现有技术存在的SDN控制性能瓶颈的缺陷。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (14)

1.一种基于软件定义网络SDN的全局网络管理方法,其特征在于,所述方法应用于SDN控制器,所述SDN控制器属于SDN控制器集群,所述SDN控制器集群中各SDN控制器分别与分布式数据库相连,且所述各SDN控制器分别与多个互连的交换机相连并形成一网络域;
所述方法包括:
获取自身所在网络域内交换机间的第一拓扑信息;
从所述分布式数据库获取所述SDN控制器集群中其他SDN控制器所在网络域内交换机间的第二拓扑信息;
根据所述第一拓扑信息和所述第二拓扑信息,确定全局网络拓扑;
所述自身所在网络域内各交换机包括多个提供商边缘交换机;
所述方法还包括:
根据所述全局网络拓扑,按照预定算法计算所述多个提供商边缘交换机之间的路径;所述预定算法用于计算提供商边缘交换机之间的路径;
生成包含所述路径的流表,并向所述自身所在网络域内各交换机分别发送所述流表,控制所述自身所在网络域内各交换机进行数据转发。
2.根据权利要求1所述的方法,其特征在于,所述获取自身所在网络域内交换机间的第一拓扑信息的步骤,包括:
向自身所在网络域内的交换机分别发送拓扑信息请求;
分别接收各交换机针对所述拓扑信息请求发送的端口信息及与之相连的交换机的端口信息;
根据接收到的端口信息,得到所述自身所在网络域内交换机间的所述第一拓扑信息。
3.根据权利要求1所述的方法,其特征在于,在所述获取自身所在网络域内交换机间的第一拓扑信息的步骤之后,所述方法包括:
将所述第一拓扑信息发送至所述分布式数据库。
4.根据权利要求1所述的方法,其特征在于,所述从所述分布式数据库获取所述SDN控制器集群中其他SDN控制器所在网络域内交换机间的第二拓扑信息的步骤,包括:
接收所述分布式数据库发送的拓扑信息更新通知;其中,所述拓扑信息更新通知为所述分布式数据库在接收到由所述其他SDN控制器发送的所述第二拓扑信息时发送的;
根据所述拓扑信息更新通知从所述分布式数据库获取所述SDN控制器集群中所述其他SDN控制器所在网络域内交换机间的第二拓扑信息。
5.根据权利要求1所述的方法,其特征在于,所述根据所述全局网络拓扑,按照预定算法计算所述多个提供商边缘交换机之间的路径的步骤,包括:
接收所述自身所在网络域内交换机发送的数据包;
解析所述数据包,得到目的MAC地址;
根据所述全局网络拓扑和所述目的MAC地址,按照预定算法计算所述多个提供商边缘交换机之间的路径。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收自身所在网络域之外的其他网络域内交换机发送的网络连接请求;其中,所述网络连接请求是由所述其他网络域内的交换机在所述其他网络域的SDN控制器出现故障时发送的;
根据所述网络连接请求,与所述其他网络域内的交换机建立网络连接。
7.一种基于软件定义网络SDN的全局网络管理装置,其特征在于,所述装置应用于SDN控制器,所述SDN控制器属于SDN控制器集群,所述SDN控制器集群中各SDN控制器分别与分布式数据库相连,且所述各SDN控制器分别与多个互连的交换机相连并形成一网络域;
所述装置包括:
第一获取模块,用于获取自身所在网络域内交换机间的第一拓扑信息;
第二获取模块,用于从所述分布式数据库获取所述SDN控制器集群中其他SDN控制器所在网络域内交换机间的第二拓扑信息;
确定模块,用于根据所述第一拓扑信息和所述第二拓扑信息,确定全局网络拓扑;
所述自身所在网络域内各交换机包括多个提供商边缘交换机;
所述装置还包括:
计算单元,用于根据所述全局网络拓扑,按照预定算法计算所述多个提供商边缘交换机之间的路径;所述预定算法用于计算提供商边缘交换机之间的路径;
生成单元,用于生成包含所述路径的流表;
第二发送单元,用于向所述自身所在网络域内各交换机分别发送所述流表,控制所述自身所在网络域内各交换机进行数据转发。
8.根据权利要求7所述的装置,其特征在于,所述第一获取模块包括:
第一发送单元,用于向自身所在网络域内的交换机分别发送拓扑信息请求;
第一接收单元,用于分别接收各交换机针对所述拓扑信息请求发送的端口信息及与之相连的交换机的端口信息;
第一获取单元,用于根据接收到的端口信息,得到所述自身所在网络域内交换机间的所述第一拓扑信息。
9.根据权利要求7所述的装置,其特征在于,所述装置还包括:
发送模块,用于将所述第一拓扑信息发送至所述分布式数据库。
10.根据权利要求7所述的装置,其特征在于,所述第二获取模块包括:
第二接收单元,用于接收所述分布式数据库发送的拓扑信息更新通知;其中,所述拓扑信息更新通知为所述分布式数据库在接收到由所述其他SDN控制器发送的所述第二拓扑信息时发送的;
第二获取单元,用于根据所述拓扑信息更新通知从所述分布式数据库获取所述SDN控制器集群中所述其他SDN控制器所在网络域内交换机间的第二拓扑信息。
11.根据权利要求7所述的装置,其特征在于,所述计算单元包括:
接收子单元,用于接收所述自身所在网络域内交换机发送的数据包;
解析子单元,用于解析所述数据包,得到目的MAC地址;
计算子单元,用于根据所述全局网络拓扑和所述目的MAC地址,按照预定算法计算所述多个提供商边缘交换机之间的路径。
12.根据权利要求7所述的装置,其特征在于,所述装置还包括:
接收模块,用于接收自身所在网络域之外的其他网络域内交换机发送的网络连接请求;其中,所述网络连接请求是由所述其他网络域内的交换机在所述其他网络域的SDN控制器出现故障时发送的;
建立模块,用于根据所述网络连接请求,与所述其他网络域内的交换机建立网络连接。
13.一种电子设备,其特征在于,包括处理器和存储器;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现权利要求1-6任一所述的方法步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一所述的方法步骤。
CN201711283418.8A 2017-12-07 2017-12-07 网络管理方法、装置、电子设备和存储介质 Active CN109905251B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201711283418.8A CN109905251B (zh) 2017-12-07 2017-12-07 网络管理方法、装置、电子设备和存储介质
PCT/CN2018/119512 WO2019109970A1 (zh) 2017-12-07 2018-12-06 网络管理方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711283418.8A CN109905251B (zh) 2017-12-07 2017-12-07 网络管理方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN109905251A CN109905251A (zh) 2019-06-18
CN109905251B true CN109905251B (zh) 2020-12-18

Family

ID=66750816

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711283418.8A Active CN109905251B (zh) 2017-12-07 2017-12-07 网络管理方法、装置、电子设备和存储介质

Country Status (2)

Country Link
CN (1) CN109905251B (zh)
WO (1) WO2019109970A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3917086B1 (en) * 2020-05-30 2023-04-05 Huawei Technologies Co., Ltd. Network topology discovery method, device, and system
CN111585917B (zh) * 2020-06-10 2021-03-30 广州市品高软件股份有限公司 一种裸金属服务器网络***及其实现方法
CN112187523A (zh) * 2020-09-10 2021-01-05 华云数据控股集团有限公司 一种网络高可用实现方法及超融合***
CN112689163A (zh) * 2020-12-02 2021-04-20 中国民航机场建设集团有限公司 一种基于sdn和网内缓存的视频服务传输***和方法
CN114629791B (zh) * 2020-12-21 2024-03-26 亚信科技(中国)有限公司 数据处理方法、装置、电子设备及计算机可读存储介质
CN113055232B (zh) * 2021-03-11 2022-07-12 浪潮思科网络科技有限公司 一种网络配置部署方法、装置与设备
CN115086978A (zh) * 2021-03-11 2022-09-20 ***通信集团四川有限公司 网络功能虚拟化sdn网络***
CN113329055B (zh) * 2021-04-30 2023-04-07 网络通信与安全紫金山实验室 一种分布式sdn控制器***及其控制方法与装置
CN114422529B (zh) * 2022-01-21 2023-07-11 中国联合网络通信集团有限公司 数据处理方法、设备及介质
CN115297157A (zh) * 2022-08-01 2022-11-04 中国电信股份有限公司 业务处理方法、装置、***、介质及电子设备
TWI824827B (zh) * 2022-11-17 2023-12-01 中華電信股份有限公司 軟體定義網路的網路拓樸的管理系統和管理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104618475A (zh) * 2015-01-28 2015-05-13 清华大学 用于异构sdn网络的水平方向通信方法和sdn***
CN104811325A (zh) * 2014-01-24 2015-07-29 华为技术有限公司 一种集群节点控制器监控方法、相关装置以及控制器
CN105072037A (zh) * 2015-07-23 2015-11-18 北京航空航天大学 面向分布式sdn控制器的动态流表生成方法
CN106411736A (zh) * 2016-11-17 2017-02-15 中国电子科技集团公司第五十四研究所 一种面向软件定义卫星网络的节点资源发现策略优化方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103684922B (zh) * 2013-12-23 2017-02-15 蓝盾信息安全技术股份有限公司 基于sdn网络的出口信息保密检查检测平台***及检测方法
CN105357024A (zh) * 2015-09-23 2016-02-24 清华大学 用于sdn网络的区域控制设备、域控制设备和控制***
CN106936731A (zh) * 2015-12-31 2017-07-07 北京华为数字技术有限公司 软件定义网络sdn中的报文转发的方法和装置
CN107070681B (zh) * 2016-12-07 2020-10-09 全球能源互联网研究院有限公司 基于软件定义网络sdn的网络拓扑获取方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104811325A (zh) * 2014-01-24 2015-07-29 华为技术有限公司 一种集群节点控制器监控方法、相关装置以及控制器
CN104618475A (zh) * 2015-01-28 2015-05-13 清华大学 用于异构sdn网络的水平方向通信方法和sdn***
CN105072037A (zh) * 2015-07-23 2015-11-18 北京航空航天大学 面向分布式sdn控制器的动态流表生成方法
CN106411736A (zh) * 2016-11-17 2017-02-15 中国电子科技集团公司第五十四研究所 一种面向软件定义卫星网络的节点资源发现策略优化方法

Also Published As

Publication number Publication date
CN109905251A (zh) 2019-06-18
WO2019109970A1 (zh) 2019-06-13

Similar Documents

Publication Publication Date Title
CN109905251B (zh) 网络管理方法、装置、电子设备和存储介质
TWI813743B (zh) 在網路路由環境中的獨立資料儲存空間
US11563602B2 (en) Method and apparatus for providing a point-to-point connection over a network
CN105049359B (zh) 用于分布式路由表查找的分布式路由器的入口计算节点和机器可读介质
US20190222496A1 (en) Oam mechanisms for evpn active-active services
US9736263B2 (en) Temporal caching for ICN
US9461877B1 (en) Aggregating network resource allocation information and network resource configuration information
EP3057270A1 (en) Technologies for modular forwarding table scalability
US20200220774A1 (en) Method and device for detecting network failure
CN108234306A (zh) 网络装置、网络方法和计算机可读存储介质
CN108234302A (zh) 保持网络装置用的分布式操作***中的一致性
EP3682597B1 (en) Modeling access networks as trees in software-defined network controllers
JP7190569B2 (ja) データセンターのトラフィック共有方法、装置、デバイスおよび記憶媒体
CN109660441A (zh) Overlay网络中组播复制的方法及装置
IL280472B1 (en) System and method for using cloud network software
CN109286563B (zh) 一种数据传输的控制方法和装置
TW201830924A (zh) 虛擬區域網路配置系統與方法及其電腦程式產品
CN104994019A (zh) 一种用于sdn控制器的水平方向接口***
WO2016173196A1 (zh) 地址映射关系的学习方法及装置
WO2022002123A1 (zh) 网络配置的验证方法和装置
CN116016448A (zh) 一种服务网络访问方法、装置、设备及存储介质
US11411855B1 (en) Computation of ranked path options in networks
US11405284B1 (en) Generating network link utilization targets using a packet-loss-versus-link utilization model
JP5782393B2 (ja) ネットワークリソース分散管理方法およびプログラム
CN112637285A (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