CN109412828A - 用于软件定义网络中的网络拓扑发现的方法、设备和系统 - Google Patents
用于软件定义网络中的网络拓扑发现的方法、设备和系统 Download PDFInfo
- Publication number
- CN109412828A CN109412828A CN201710713859.0A CN201710713859A CN109412828A CN 109412828 A CN109412828 A CN 109412828A CN 201710713859 A CN201710713859 A CN 201710713859A CN 109412828 A CN109412828 A CN 109412828A
- Authority
- CN
- China
- Prior art keywords
- domain
- data
- control equipment
- cross
- topological
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
用于软件定义网络(SDN)网络中的网络拓扑发现的方法、设备和系统。在SDN网络中的底层控制设备和超级控制设备处,拓扑数据与拓扑发现逻辑分离,并且被存储在跨域数据库中。底层控制设备在获取与SDN网络中所包括的多个域中的一个域内的多个交换机相关联的拓扑数据后,使用拓扑发现逻辑并且基于所获取的拓扑数据确定与这些交换机相关联的域内拓扑,继而向跨域数据库发送指示该域内拓扑的拓扑数据。还公开了在超级控制设备处实施的方法,在包括底层控制设备和超级控制设备的SDN网络中实施的相应方法,以及能够实现上述方法的底层控制设备、超级控制设备以及包括底层控制设备和超级控制设备的系统。
Description
技术领域
本公开的实施例总体上涉及通信技术,更具体地,涉及用于软件定义网络(SDN)网络中的网络拓扑发现的方法、设备和系统。
背景技术
网络功能虚拟化(Network Function Virtualization,NFV)技术和软件定义网络(Software-Defined Networking,SDN)技术已经在电信网络中得到应用。基于SDN技术的电信网络也被称为SDN网络。在此种网络中,网络控制平面与转发平面在物理上分离,并且控制平面可以对多个设备进行控制。
随着NFV技术和SDN技术在电信网络中的发展,电信网络越来越以软件为导向。目前,SDN网络中的拓扑发现架构是以应用为中心的。例如,一个SDN网络可以包括由交换机组成的多个域。数据在一个域中经由多个交换机的路由和处理可以由SDN控制器(为讨论方便,称为“底层控制设备”)进行控制。底层控制设备中包含拓扑发现应用,该应用可以例如使用链路层发现协议(Link Layer Discovery Protocol,LLDP)来计算域内的拓扑。在多个底层控制设备之上还可以另外设置一个SDN控制器(为便于讨论,称为“超级控制设备”),用于执行跨多个域的路由控制功能。超级控制设备中也包含拓扑发现应用,其可以根据各个域内的拓扑信息计算跨多个域的拓扑。
在各控制设备包含的拓扑发现应用中,有关链路分析和拓扑计算的逻辑以及有关链路和交换机的拓扑数据紧密地耦合在一起,共同完成拓扑发现功能。在这种情况下,为了实现域内拓扑数据从底层控制设备到超级控制设备的传输,需要在超级控制设备与底层控制设备之间建立通信链路。数据可以在各控制设备中的拓扑发现应用之间经由相应的通信链路基于点到点消息来传输。然而,这种点到点消息由于接收方和发送方固定而很难增加新的接收方和发送方,因而难以进行功能扩展。
数据和逻辑的紧密耦合以及数据发送器和接收器的紧密耦合导致系统实现复杂,系统的可扩展性和灵活性较低,并且数据相对封闭。而且,随着新的网络功能和服务在网络中的持续开发和添加,这种传统网络架构变得越来越复杂。
发明内容
总体上,本公开的实施例提出了用于SDN网络中的网络拓扑发现的方法、设备和系统。
在第一方面,本公开的实施例提供了一种在SDN网络中的底层控制设备处实施的方法。该方法包括:获取与SDN网络中所包括的多个域中的一个域内的多个交换机相关联的第一拓扑数据;使用第一拓扑发现逻辑,基于所获取的第一拓扑数据确定与该多个交换机相关联的域内拓扑;以及向SDN网络中的跨域数据库发送指示该域内拓扑的第二拓扑数据。
在第二方面,本公开的实施例提供了一种SDN网络中的超级控制设备处实施的方法。该方法包括:从SDN网络中的跨域数据库获取跨域数据库中存储的与SDN网络中所包括的多个域中的每个域内的多个交换机相关联的第二拓扑数据;使用第二拓扑发现逻辑,基于所获取的第二拓扑数据确定与多个域内的交换机相关联的跨域拓扑;以及向跨域数据库发送指示跨域拓扑的第三拓扑数据。
在第三方面,本公开的实施例提供了一种SDN网络中的网络拓扑发现的方法。该SDN网络包括超级控制设备、跨域数据库和多个底层控制设备。多个底层控制设备中的一个底层控制设备用于控制SDN网络中所包括的多个域中的一个域内的多个交换机。在该方法中,在多个底层控制设备中的一个底层控制设备处,获取与相应域内的多个交换机相关联的第一拓扑数据;使用第一拓扑发现逻辑,基于所获取的第一拓扑数据确定与该多个交换机相关联的域内拓扑;以及向跨域数据库发送指示域内拓扑的第二拓扑数据。在超级控制设备处,从跨域数据库获取第二拓扑数据;使用第二拓扑发现逻辑,基于所获取的第二拓扑数据确定与多个域内的交换机相关联的跨域拓扑;以及向跨域数据库发送指示跨域拓扑的第三拓扑数据。
在第四方面,本公开的实施例提供了一种SDN网络中的底层控制设备。该底层控制设备包括至少一个处理器以及至少一个存储器。该至少一个存储器耦合到该至少一个处理器,并且包括存储于其上的指令。该指令在被该至少一个处理器执行时,使底层控制设备执行根据第一方面的方法。
在第五方面,本公开的实施例提供了一种SDN网络中的超级控制设备。该超级控制设备包括至少一个处理器以及至少一个存储器。该至少一个存储器耦合到该至少一个处理器,并且包括存储于其上的指令。该指令在被该至少一个处理器执行时,使超级控制设备执行根据第二方面的方法。
在第六方面,本公开的实施例提供了一种用于实现SDN网络中的拓扑发现的系统。该系统包括根据第四方面的底层控制设备以及根据第五方面的超级控制设备。
在第七方面,本公开的实施例提供了一种有形地存储指令的计算机可读存储介质。该指令在被至少一个处理器执行时,使该至少一个处理器执行根据第一方面、第二方面或者第三方面的方法。
通过下文描述将会理解,根据本公开的实施例,在底层控制设备和超级控制设备处,拓扑数据与拓扑发现逻辑分离,并且存储在跨域数据库中。相应地,超级控制设备在确定SDN网络的跨域拓扑时,可以直接从跨域数据库获取相关数据。以此方式,大大简化了网络架构和拓扑发现过程,并且增强了网络功能的灵活性和可扩展性。
应当理解,发明内容部分中所描述的内容并非旨在限定本公开实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1示出了SDN网络中的传统网络拓扑发现过程;
图2示出了根据本公开的某些实施例的SDN网络中的示例网络拓扑发现过程;
图3示出了根据本公开的某些实施例的方法的流程图;
图4示出了根据本公开的某些其他实施例的方法的流程图;
图5示出了根据本公开的某些实施例的装置的框图;
图6示出了根据本公开的某些其他实施例的装置的框图;
图7示出了适合实现本公开的实施例的设备的框图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
在此使用的术语“底层控制设备”是指能够在SDN网络中的一个域内实现关于数据路由和处理等的网络控制功能的任意适当设备。在此使用的术语“超级控制设备”是指能够在SDN网络中跨多个域实现网络控制功能的任意适当设备。底层控制设备和/或超级控制设备的示例包括但不限于以下一个或多个:主机、刀片服务器、个人计算机(PC)、路由器、交换机、膝上型计算机、平板式计算机,等等。
在此使用的术语“域内拓扑”是指在网络的一个域内,交换机的布局以及相互之间的连接关系等。作为示例,域内拓扑可以包括有关以下内容的信息:在一个域内哪些交换机之间存在链路,这些链路是通过相应交换机的哪些端口形成的,等等。在此使用的术语“跨域拓扑”是指在网络的多个域之间,交换机的布局以及相互之间的连接关系等。
在此使用的术语“拓扑数据”是指指示网络内、网络中的各个域之间、或者某个域内的交换机的布局以及相互之间的连接关系的数据。在此使用的术语“拓扑发现逻辑”是指应用特定规则、算法或模型计算网络内、网络中的各个域之间、或者某个域内的拓扑的物理或虚拟的部件。
在此使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”。其他术语的相关定义将在下文描述中给出。
如上所述,SDN网络中的传统网络发现架构是以拓扑发现应用(或,拓扑发现功能)为中心的。图1示出了SDN网络100中的传统拓扑发现过程。SDN网络100包括三个域105-1、105-2和105-3(统称为“域105”)。每个域105内,由相应底层控制设备110-1、110-2和110-3(统称为“底层控制设备110”)执行与交换机115-1至115-6(统称为“交换机115”)相关联的拓扑发现过程。具体而言,底层控制设备110通过与交换机115通信,可以收集相应域105内的链路相关信息、交换机端口的连接信息、各端口的负载等等。
如图所示,在SDN网络100中,在多个底层控制设备110之上,还设置有超级控制设备120,用于执行跨域的拓扑发现过程。超级控制设备120与底层控制设备110之间可以经由预先建立的通信链路通过点到点消息来通信,从而超级控制设备120可以从各底层控制设备110获得相应域105的拓扑数据。
每个控制设备110和120中都包含拓扑发现应用125-1、125-2、125-3和125-4(统称为“拓扑发现应用125”)。在各拓扑发现应用125中,相应的本地拓扑数据和拓扑发现逻辑紧密地耦合在一起。例如,与拓扑发现相关的数据建模、数据结构、以及数据存储等等都包含在拓扑发现应用125中。然而,这种数据和逻辑的紧密耦合使软件实现的复杂度较高。而且,系统的可扩展性和灵活性较低,并且数据相对封闭。
特别地,在控制设备110或120中的拓扑发现应用125需要更新或迁移时,通常需要对拓扑发现应用125所包括的所有数据和逻辑进行备份,并且将这些数据和逻辑在新的拓扑发现应用125进行恢复。这使得整个更新或迁移过程相当繁琐和耗时。
另外,超级控制设备120为了获得多个域105的拓扑数据(例如,整个网络的全局拓扑数据),需要与相应的底层控制设备110都建立通信链路,以实现点到点通信。为了实现拓扑数据的传输,还需要在通信双方构建标准的消息格式,并且预先获得对方的互联网协议(Internet Protocol,IP)地址、端口号等等。这需要大量的通信开销,因而难以进行功能扩展。
为了至少部分地解决上述问题以及其它潜在问题,本公开的实施例提出了一种SDN网络中的新的网络拓扑发现架构。与以应用为中心的传统架构不同,该架构以数据为中心。总体上,将拓扑数据从底层控制设备和超级控制设备处的拓扑发现应用中剥离出来,保存在物理上独立的跨域数据库中。底层控制设备在确定SDN网络所包括的多个域中的相应域的域内拓扑时,首先获取与该域内的多个交换机相关联的拓扑数据(称为“第一拓扑数据”),继而使用本地的拓扑发现逻辑(称为“第一拓扑发现逻辑”),基于所获取的第一拓扑数据确定与该域内的多个交换机相关联的域内拓扑。然后,底层控制设备向跨域数据库发送指示所确定的域内拓扑的拓扑数据(称为“第二拓扑数据”)。
相应地,在超级控制设备确定SDN网络的跨域拓扑时,超级控制设备从跨域数据库获取其中存储的与每个域内的多个交换机相关联的第二拓扑数据。继而,超级控制设备使用第二拓扑发现逻辑,基于所获取的第二拓扑数据确定与多个域内的交换机相关联的跨域拓扑。超级控制设备也将指示跨域拓扑的拓扑数据(称为“第三拓扑数据”)发送给跨域数据库。
数据从拓扑发现应用中剥离之后,拓扑发现应用被大大简化,从而有利于开发相对简单高效的拓扑发现逻辑(或算法)。而且,在进行拓扑发现应用迁移和更新时,可以直接从跨域数据库获取相关数据,而无需进行额外的数据和逻辑的备份,使得迁移和更新的过程得到显著简化。此外,此种架构无需在超级控制设备与底层控制设备之间建立通信链路,大大简化了网络结构,而且显著减少了网络中的通信开销。
下面参考图2来说明本公开的实施例的基本原理和若干示例实现,其中示出了根据本公开的某些实施例的示例SDN网络200。如图所示,SDN网络200中包括三个域205-1、205-2和205-3(统称为“域205”),每个域205内有两个交换机210-1到210-6(统称为“交换机201”),而每个交换机210具有三个端口215-1至215-18(统称为“端口215”)。在SDN网络200中,在执行域内拓扑管理的底层控制设备220-1、220-2和220-3(统称为“底层控制设备220”)和执行跨域拓扑管理的超级控制设备225之间设置跨域数据库230。
应理解,图2所示的域、交换机、交换机中的端口、底层控制设备、超级控制设备以及跨域数据库的数目仅仅是出于说明之目的而无意于限制。SDN网络200可以包括任意适当数目的域、底层控制设备、超级控制设备以及跨域数据库,并且每个域中可以包括任意适当数目的交换机,每个交换机可以具有任意适当数目的端口。例如,在某些实施例中,SDN网络200中可以包括物理上分离布置的多个跨域数据库,用于以分布方式存储整个SDN网络200中的拓扑数据。
在SDN网络200中,底层控制设备220处可以只包含第一拓扑发现逻辑235-1到235-3(统称为“第一拓扑发现逻辑235”)而不存储相关的拓扑数据。超级控制设备225处也可以只包含第二拓扑发现逻辑240而不存储相关的拓扑数据。SDN网络200相关的拓扑数据可以都存储在跨域数据库230中。这样,跨域数据库230可以独立地存储与控制设备220和225中的拓扑发现逻辑235和240相分离的拓扑数据,从而为控制设备220和225提供数据共享服务。
以此方式,可以使控制设备220和225处的拓扑发现应用成为无状态的。与拓扑发现逻辑和相关数据都存储在控制设备处的传统方式相比,数据独立可以简化软件复杂度,增强系统的鲁棒性,并且易于在云优化的大规模部署中支持控制设备的热插拔安装以及集成。数据独立还有助于数据对第三方开放,并且促进第三方的网络大数据分析。特别地,在对控制设备进行故障恢复时,此种对数据进行独立存储的方式无需对数据进行额外备份,从而可以高效方式来实现数据的恢复。
跨域数据库230可以实现为目前已知以及将来开发的任意适当数据库。作为示例,跨域数据库230可以实现为分布式实时数据库。跨域数据库230还可以采用目前已知以及将来开发的任意适当数据库管理技术和手段来对所存储的拓扑数据进行管理。例如,跨域数据库230可以使用索引、数据查询、分布式数据存储和访问等技术来进行数据存储管理。跨域数据库230还可以使用诸如授权、一致性、事务处理、安全等数据库管理系统(DatabaseManagement System,DBMS)功能,以便简化控制设备处的拓扑发现过程。由此,跨域数据库230的使用可以使网络侧的数据管理得以大大简化。
底层控制设备220在进行拓扑发现时,底层控制设备220可以将新的拓扑数据更新到跨域数据库230中,以供超级控制设备225执行拓扑发现时使用。与底层控制设备220和超级控制设备225之间执行诸如点到点消息传输的传统数据传输方式相比,此种方式可以将数据在异构系统和应用之间传递,减少了对于数据发送方和接收方之间的耦合关系的需求,从而简化了数据传输和减少了信令。而且,在向网络中添加新的功能或应用时无需对系统进行重构,从而使系统更加灵活且可扩展性高。这更适用于复杂的端到端分布式SDN网络。
为了描述方便并且使本领域普通技术人员更好地理解本公开实施例的原理和思想,下面将以底层控制设备220-1为例描述根据本发明的某些实施例的底层控制设备的处理和操作。应当理解,这仅仅示例而非限制。以下所述的底层控制设备220-1的处理和操作同样适用于SDN网络200中的其他底层控制设备,例如底层控制设备220-2和220-3。
如图所示,底层控制设备220-1在域205-1内可以经由与交换机210-1之间的通信链路获取(245)与交换机210-1相关联的拓扑数据(称为“第一拓扑数据”)。第一拓扑数据可以是与域205-1内的交换机210-1和210-2的拓扑相关联的任意适当数据。作为示例,第一拓扑数据可以包括但不限于,域205-1内的哪些交换机之间存在链路、链路的带宽(例如,该链路上每秒传输多少数据比特)、各交换机的负载(例如,交换机各端口的流量)、以及某个链路是经由交换机的哪个端口连接而形成的。
基于所获取的第一拓扑数据,底层控制设备220-1使用第一拓扑发现逻辑235-1确定域内拓扑。底层控制设备220-1可以使用目前已有以及将来开发的任意适当方式(例如,拓扑发现技术)来确定诸如域205-1内的交换机的布局以及相互之间的连接关系等的拓扑。作为示例,底层控制设备220-1可以通过LLDP来建立域205-1内的链路和交换机的相关拓扑。
应理解,底层控制设备220-1直接从交换机210-1获取第一拓扑数据仅仅是示例而非限制。在某些实施例中,第一拓扑数据可以事先例如经由底层控制设备220-1存储在跨域数据库230中。在需要执行拓扑更新时,底层控制设备220-1可以访问跨域数据库230以获取第一拓扑数据。
在确定了域205-1的域内拓扑之后,底层控制设备220-1向跨域数据库225发送(250)指示所确定的域内拓扑的拓扑数据(称为“第二拓扑数据”)255,以便将第二拓扑数据存储在跨域数据库230中。与第一拓扑数据类似,第二拓扑数据255可以例如包括与如下内容有关的数据:域205-1内的哪些交换机之间存在链路、链路的带宽、各交换机的负载、以及某个链路是经由交换机的哪个端口连接而形成的、等等。
第二拓扑数据255可以任意适当方式由底层控制设备220-1发送到跨域数据库230。作为示例,底层控制设备220-1与跨域数据库230之间的通信可以利用数据分发服务(Data Distribution Service,DDS)来实现。借助于DDS,数据可以经由数据更新和访问在底层控制设备220-1与跨域数据库230之间传递。
在某些实施例中,底层控制设备220-1可以通过向跨域数据库230发布拓扑数据更新来将第二拓扑数据255发送到跨域数据库230。例如,底层控制设备220-1可以事先向跨域数据库230宣告自己为拓扑数据发布方。在确定了有关域205-1的域内拓扑之后,底层控制设备220-1可以向跨域数据库230发布拓扑数据更新,以便将指示该域内拓扑的第二拓扑数据255发送给跨域数据库230。
除了发布拓扑数据更新,在某些实施例中,底层控制设备220-1还可以向跨域数据库230发送拓扑数据更新通知。由此,跨域数据库230可以将该通知发送给超级控制设备225,以向超级控制设备225通知拓扑数据已更新。这方面的具体示例将在后文详述。
在各底层控制设备220将相应的第二拓扑数据发送给跨域数据库230中之后,SDN网络200的各个域205的拓扑数据都可以存储在跨域数据库230中。这样,在超级控制设备225确定跨SDN网络200的多个域205的跨域拓扑时,可以从跨域数据库230获取相关的拓扑数据,而无需与各个底层控制设备220建立专门的通信链路。
具体而言,超级控制设备225从跨域数据库230获取(260)其中存储的与每个域205内的交换机210相关联的第二拓扑数据255。超级控制设备225可以任意适当方式实现该数据获取。在某些实施例中,与底层控制设备220类似,超级控制设备225也可以利用DDS来与跨域数据库230进行通信。例如,基于DDS,超级控制设备225可以向跨域数据库230订阅第二拓扑数据255。在底层控制设备220向跨域数据库230更新了拓扑数据后,跨域数据库230可以向超级控制设备225发送拓扑数据更新通知。该通知可以是跨域数据库230响应于接收到来自底层控制设备220的拓扑数据更新而自动生成的,也可以是跨域数据库230从底层控制设备220接收的。超级控制设备225响应于接收到拓扑数据更新通知,可以访问跨域数据库230以获取第二拓扑数据255。
基于所获取的第二拓扑数据255,超级控制设备225使用本地的第二拓扑发现逻辑,确定与SDN网络200中的多个域205内的交换机210相关联的跨域拓扑。例如,在收集了所有域205的拓扑数据后,超级控制设备225可以计算端到端的跨域拓扑。例如,超级控制设备225可以使用拓扑算法确定多个域205之间的交换机布局以及连接关系等的拓扑。超级控制设备225也可以使用目前已有以及将来开发的任意其他适当方式来确定该跨域拓扑。
在确定了跨域拓扑之后,超级控制设备225向跨域数据库230发送(265)指示该跨域拓扑的拓扑数据(称为“第三拓扑数据”)270。与第一拓扑数据以及第二拓扑数据类似,第三拓扑数据270可以包括与多个域205内的交换机210相关联的任意适当拓扑数据。作为示例,第三拓扑数据270可以包括与以下至少一项有关的数据:每个域205内的交换机210之间的链路、各链路的带宽、每个域205内的各交换机210的负载、以及每个域205内的交换机210用于支持各链路的端口。
超级控制设备225也可以使用DDS来执行第三拓扑数据270到跨域数据库230的发送。例如,超级控制设备225可以通过向跨域数据库230发布拓扑数据更新来发送第三拓扑数据270。这样,借助于DDS的发布和订阅服务,跨域数据库230中可以支持数据发布方的数据更新以及到订阅方的更新通知。应理解,超级控制设备225与跨域数据库230之间的其他数据传输方式也是可行的。
控制设备220和225与跨域数据库230为了实现彼此之间的数据传输,可以采用目前已知和将来开发的任意适当数据建模技术。作为示例,可以采用YANG数据模型来在底层控制设备220-1的拓扑发现逻辑与跨域数据库230之间进行数据交换,从而支持标准的数据开放生态系统。
根据本公开的实施例的利用软件技术来构建网络架构可以为网络演进带来益处和改进。本公开的实施例将数据存储在SDN网络网络设备外部的跨域数据库中,从而将网络架构从传统的以应用为中心转变为以数据为中心。数据和逻辑的分离使系统开发和部署得以简化。而且,此种架构可以利用成熟的数据库技术,从而可以较低的成本而实现高效的数据管理。可以借助于DDS使数据发布方和订阅方分离,从而提高了SDN网络的可扩展性和灵活性。另外,网络设备与数据库之间可以使用标准的数据建模,这促进了数据的开放性以及潜在的大数据分析。因此,这种以数据为中心的拓扑发现架构在结构上更简单,并且降低了开发成本,提高了系统的可扩展性和灵活性。
图3示出了示出了根据本公开的某些实施例的示例方法300的流程图。方法300可以在如图2所示的底层控制设备220处实施。为了讨论方便,以下参考图2对方法300进行具体描述。
如图所示,在框305,底层控制设备220获取与SDN网络200中所包括的多个域205中的一个域内的多个交换机210相关联的第一拓扑数据。在框310,底层控制设备220使用第一拓扑发现逻辑235,基于所获取的第一拓扑数据确定与该域内的多个交换机210相关联的域内拓扑。在框315,底层控制设备220向跨域数据库230发送指示该域内拓扑的第二拓扑数据255。
在某些实施例中,底层控制设备220可以使用数据分发服务(DDS)来向跨域数据库230发送第二拓扑数据255。例如,底层控制设备220可以通过向跨域数据库230发布拓扑数据更新来发送第二拓扑数据255。在某些实施例中,底层控制设备220还可以向跨域数据库230发送拓扑数据更新通知。
在某些实施例中,第二拓扑数据255包括与以下至少一项有关的数据:该域内的多个交换机之间的链路、链路的带宽、交换机的负载、以及用于支持相应链路的交换机端口。
底层控制设备220可以任意适当方式获得第一拓扑数据。在某些实施例中,底层控制设备220可以访问跨域数据库230以获取第一拓扑数据。
图4示出了示出了根据本公开的某些实施例的示例方法400的流程图。方法400可以在如图2所示的超级控制设备225处实施。为了讨论方便,以下参考图2对方法400进行具体描述。
如图所示,在框405,超级控制设备225从SDN网络200中的跨域数据库230获取跨域数据库230中存储的与SDN网络200中所包括的多个域205中的每个域内的多个交换机210相关联的第二拓扑数据255。在框410,超级控制设备225使用第二拓扑发现逻辑240,基于所获取的第二拓扑数据255确定与多个域205内的交换机210相关联的跨域拓扑。在框415,超级控制设备225向跨域数据库230发送指示跨域拓扑的第三拓扑数据270。
在某些实施例中,超级控制设备225可以使用数据分发服务(DDS)来从跨域数据库230获取第二拓扑数据255。例如,超级控制设备225可以向跨域数据库230订阅第二拓扑数据255,继而响应于从跨域数据库230接收到拓扑数据更新通知,访问跨域数据库230以获取第二拓扑数据255。
在某些实施例中,超级控制设备225可以DDS来向跨域数据库230发送第三拓扑数据270。例如,超级控制设备225通过向跨域数据库230发布拓扑数据更新来发送第三拓扑数据270。
应理解,上文结合图2示意图描述的底层控制设备220和超级控制设备225所执行的操作和特征同样适用于方法300和400,并且具有同样的效果,具体细节不再赘述。
图5示出了根据本公开的某些实施例的装置500的框图。可以理解,装置500可以实施在图2所示的底层控制设备220侧。如图5所示,装置500(例如,底层控制设备220)包括:第一获取单元505,被配置为获取与SDN网络中所包括的多个域中的一个域内的多个交换机相关联的第一拓扑数据;第一确定单元510,被配置为使用第一拓扑发现逻辑,基于所获取的第一拓扑数据确定与多个交换机相关联的域内拓扑;以及第一发送单元515,被配置为向跨域数据库发送指示域内拓扑的第二拓扑数据。
图6示出了根据本公开的某些实施例的装置600的框图。可以理解,装置600可以实施在图2所示的超级控制设备225侧。如图所示,装置600(例如,超级控制设备225)包括:第二获取单元605,被配置为从跨域数据库获取跨域数据库中存储的与SDN网络中所包括的多个域中的每个域内的多个交换机相关联的第二拓扑数据;第二确定单元610,被配置为使用第二拓扑发现逻辑,基于所获取的第二拓扑数据确定与多个域内的交换机相关联的跨域拓扑;以及第二发送单元615,被配置为向跨域数据库发送指示跨域拓扑的第三拓扑数据。
应当理解,装置500和600中还可以包括用于执行参考图3和图4描述的方法300和400中的每个步骤的单元(未示出)。上文结合图2至图4描述的操作和特征同样适用于装置500和600及其中包含的单元,并且具有同样的效果,具体细节不再赘述。
装置500和600中所包括的单元可以利用各种方式来实现,包括软件、硬件、固件或其任意组合。在一个实施例中,一个或多个单元可以使用软件和/或固件来实现,例如存储在存储介质上的机器可执行指令。除了机器可执行指令之外或者作为替代,装置500和600中的部分或者全部单元可以至少部分地由一个或多个硬件逻辑组件来实现。作为示例而非限制,可以使用的示范类型的硬件逻辑组件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD),等等。
图5和图6中所示的这些单元可以部分或者全部地实现为硬件模块、软件模块、固件模块或者其任意组合。特别地,在某些实施例中,上文描述的流程、方法或过程可以由通信设备或者通信设备中的硬件来实现。例如,中继终端设备和远端终端设备可以利用其发射器、接收器、收发器和/或处理器或控制器来实现方法300和400。
图7示出了适合实现本公开的实施例的设备700的方框图。设备700可以用来实现例如图2中所示的底层控制设备220或超级控制设备225。
如图所示,设备700包括控制器710。控制器710控制设备700的操作和功能。例如,在某些实施例中,控制器710可以借助于与其耦合的存储器720中所存储的指令730来执行各种操作。存储器720可以是适用于本地技术环境的任何合适的类型,并且可以利用任何合适的数据存储技术来实现,包括但不限于基于半导体的存储器件、磁存储器件和系统、光存储器件和系统。尽管图7中仅仅示出了一个存储器单元,但是在设备700中可以有多个物理不同的存储器单元。
控制器710可以是适用于本地技术环境的任何合适的类型,并且可以包括但不限于通用计算机、专用计算机、微控制器、数字信号控制器(DSP)以及基于控制器的多核控制器架构中的一个或多个多个。设备700也可以包括多个控制器710。控制器710与收发器740耦合,收发器740可以有线或者无线方式来实现信息的接收和发送。
当设备700充当底层控制设备220时,控制器710和收发器740可以配合操作,以实现上文参考图3描述的方法300。当设备700充当超级控制设备225时,控制器710和收发器740可以配合操作,以实现上文参考图4描述的方法400。上文参考图2至图4所描述的所有特征均适用于设备700,在此不再赘述。
一般而言,本公开的各种示例实施例可以在硬件或专用电路、软件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本公开的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。
作为示例,本公开的实施例可以在机器可执行指令的上下文中被描述,机器可执行指令诸如包括在目标的真实或者虚拟处理器上的器件中执行的程序模块中。一般而言,程序模块包括例程、程序、库、对象、类、组件、数据结构等,其执行特定的任务或者实现特定的抽象数据结构。在各实施例中,程序模块的功能可以在所描述的程序模块之间合并或者分割。用于程序模块的机器可执行指令可以在本地或者分布式设备内执行。在分布式设备中,程序模块可以位于本地和远端存储介质二者中。
用于实现本公开的方法的计算机程序代码可以用一种或多种编程语言编写。这些计算机程序代码可以提供给通用计算机、专用计算机或其他可编程的数据处理装置的处理器,使得程序代码在被计算机或其他可编程的数据处理装置执行的时候,引起在流程图和/或框图中规定的功能/操作被实施。程序代码可以完全在计算机上、部分在计算机上、作为独立的软件包、部分在计算机上且部分在远端计算机上或完全在远端计算机或服务器上执行。
在本公开的上下文中,机器可读介质可以是包含或存储用于或有关于指令执行系统、装置或设备的程序的任何有形介质。机器可读介质可以是机器可读信号介质或机器可读存储介质。机器可读介质可以包括但不限于电子的、磁的、光学的、电磁的、红外的或半导体系统、装置或设备,或其任意合适的组合。机器可读存储介质的更详细示例包括带有一根或多根导线的电气连接、便携式计算机磁盘、硬盘、随机存储存取器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光存储设备、磁存储设备,或其任意合适的组合。
另外,尽管操作以特定顺序被描绘,但这并不应该理解为要求此类操作以示出的特定顺序或以相继顺序完成,或者执行所有图示的操作以获取期望结果。在某些情况下,多任务或并行处理会是有益的。同样地,尽管上述讨论包含了某些特定的实施细节,但这并不应解释为限制任何发明或权利要求的范围,而应解释为对可以针对特定发明的特定实施例的描述。本说明书中在分开的实施例的上下文中描述的某些特征也可以整合实施在单个实施例中。反之,在单个实施例的上下文中描述的各种特征也可以分离地在多个实施例或在任意合适的子组合中实施。
尽管已经以特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,所附权利要求中限定的主题并不限于上文描述的特定特征或动作。相反,上文描述的特定特征和动作是作为实现权利要求的示例形式而被公开的。
Claims (19)
1.一种软件定义网络(SDN)网络中的底层控制设备处执行的方法,所述底层控制设备用于控制所述SDN网络中所包括的多个域中的一个域内的多个交换机,所述方法包括:
获取与所述域内的所述多个交换机相关联的第一拓扑数据;
使用第一拓扑发现逻辑,基于所获取的所述第一拓扑数据确定与所述多个交换机相关联的域内拓扑;以及
向所述SDN网络中的跨域数据库发送指示所述域内拓扑的第二拓扑数据。
2.根据权利要求1所述的方法,其中向所述跨域数据库发送所述第二拓扑数据包括:
使用数据分发服务DDS来向所述跨域数据库发送所述第二拓扑数据。
3.根据权利要求2所述的方法,其中使用所述DDS来发送所述第二拓扑数据包括:
通过向所述跨域数据库发布拓扑数据更新来发送所述第二拓扑数据。
4.根据权利要求2所述的方法,还包括:
向所述跨域数据库发送拓扑数据更新通知。
5.根据权利要求1所述的方法,其中所述第二拓扑数据包括与以下至少一项有关的数据:所述多个交换机之间的链路、所述链路的带宽、所述交换机的负载、以及所述交换机的用于支持相应链路的端口。
6.根据权利要求1所述的方法,其中获取所述第一拓扑数据包括:
访问所述跨域数据库以获取所述第一拓扑数据。
7.根据权利要求1所述的方法,其中所述底层控制设备与所述跨域数据库之间采用YANG数据模型进行数据交换。
8.一种在软件定义网络(SDN)网络中的超级控制设备处执行的方法,所述SDN网络包括多个域,每个所述域包括多个交换机,所述方法包括:
从所述SDN网络中的跨域数据库获取所述跨域数据库中存储的与每个所述域内的所述多个交换机相关联的第二拓扑数据;
使用第二拓扑发现逻辑,基于所获取的所述第二拓扑数据确定与所述多个域内的所述交换机相关联的跨域拓扑;以及
向所述跨域数据库发送指示所述跨域拓扑的第三拓扑数据。
9.根据权利要求8所述的方法,其中从所述跨域数据库获取所述第二拓扑数据包括:
使用数据分发服务DDS来从所述跨域数据库获取所述第二拓扑数据。
10.根据权利要求9所述的方法,其中使用所述DDS来获取所述第二拓扑数据包括:
向所述跨域数据库订阅所述第二拓扑数据;以及
响应于从所述跨域数据库接收到拓扑数据更新通知,访问所述跨域数据库以获取所述第二拓扑数据。
11.根据权利要求8所述的方法,其中所述第二拓扑数据包括与以下至少一项有关的数据:每个所述域内的所述多个交换机之间的链路、所述链路的带宽、所述多个交换机的负载、以及所述多个交换机的用于支持所述链路的端口。
12.根据权利要求8中所述的方法,其中向所述跨域数据库发送所述第三拓扑数据包括:
使用数据分发服务DDS来向所述跨域数据库发送所述第三拓扑数据。
13.根据权利要求12中所述的方法,其中使用所述DDS来发送所述第三拓扑数据包括:
通过向所述跨域数据库发布拓扑数据更新来发送所述第三拓扑数据。
14.根据权利要求8所述的方法,其中所述超级控制设备与所述跨域数据库之间采用YANG数据模型进行数据交换。
15.一种软件定义网络(SDN)网络中的网络拓扑发现的方法,所述SDN网络包括超级控制设备、跨域数据库和多个底层控制设备,所述多个底层控制设备中的一个底层控制设备用于控制所述SDN网络中所包括的多个域中的一个域内的多个交换机,所述方法包括:
在所述多个底层控制设备中的所述一个底层控制设备处,
获取与所述域内的所述多个交换机相关联的第一拓扑数据,
使用第一拓扑发现逻辑,基于所获取的所述第一拓扑数据确定与所述多个交换机相关联的域内拓扑,以及
向所述跨域数据库发送指示所述域内拓扑的第二拓扑数据;
在所述超级控制设备处,
从所述跨域数据库获取所述第二拓扑数据,
使用第二拓扑发现逻辑,基于所获取的所述第二拓扑数据确定与所述多个域内的交换机相关联的跨域拓扑,以及
向所述跨域数据库发送指示所述跨域拓扑的第三拓扑数据。
16.一种软件定义网络(SDN)网络中的底层控制设备,包括:
至少一个处理器;以及
至少一个存储器,所述至少一个存储器耦合到所述至少一个处理器并且包括存储于其上的指令,所述指令在被所述至少一个处理器执行时,使所述底层控制设备执行根据权利要求1-7中的任一项所述的方法。
17.一种软件定义网络(SDN)网络中的超级控制设备,包括:
至少一个处理器;以及
至少一个存储器,所述至少一个存储器耦合到所述至少一个处理器并且包括存储于其上的指令,所述指令在被所述至少一个处理器执行时,使所述超级控制设备执行根据权利要求8-14中的任一项所述的方法。
18.一种用于实现软件定义网络(SDN)网络中的网络拓扑发现的系统,所述SDN网络中包括多个域,并且设置有跨域数据库,所述系统包括根据权利要求16所述的底层控制设备以及根据权利要求17所述的超级控制设备。
19.一种有形地存储指令的计算机可读存储介质,所述指令在被至少一个处理器执行时,使所述至少一个处理器执行根据权利要求1-15中的任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710713859.0A CN109412828B (zh) | 2017-08-18 | 2017-08-18 | 用于软件定义网络中的网络拓扑发现的方法、设备和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710713859.0A CN109412828B (zh) | 2017-08-18 | 2017-08-18 | 用于软件定义网络中的网络拓扑发现的方法、设备和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109412828A true CN109412828A (zh) | 2019-03-01 |
CN109412828B CN109412828B (zh) | 2022-06-14 |
Family
ID=65463228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710713859.0A Active CN109412828B (zh) | 2017-08-18 | 2017-08-18 | 用于软件定义网络中的网络拓扑发现的方法、设备和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109412828B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109936480A (zh) * | 2019-03-19 | 2019-06-25 | 鹏城实验室 | 网络拓扑发现方法及装置、存储介质及电子设备 |
CN113812118A (zh) * | 2019-06-07 | 2021-12-17 | 思科技术公司 | 网络中的可扩展分层数据自动化 |
CN114567665A (zh) * | 2022-01-26 | 2022-05-31 | 阿波罗智能技术(北京)有限公司 | 节点间通信的方法、装置、设备、介质及自动驾驶车辆 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130108263A1 (en) * | 2011-11-01 | 2013-05-02 | Plexxi Inc. | Data center network architecture |
CN104025513A (zh) * | 2011-11-01 | 2014-09-03 | 普莱克希公司 | 数据中心网络中的控制层级 |
CN104243496A (zh) * | 2014-10-11 | 2014-12-24 | 北京邮电大学 | 一种软件定义网跨域安全代理方法和系统 |
CN105049231A (zh) * | 2015-06-19 | 2015-11-11 | 中国人民解放军信息工程大学 | 一种分层跨域的网络管理控制系统 |
CN105357024A (zh) * | 2015-09-23 | 2016-02-24 | 清华大学 | 用于sdn网络的区域控制设备、域控制设备和控制系统 |
US20160156522A1 (en) * | 2014-12-01 | 2016-06-02 | Microsoft Technology Licensing, Llc. | Datacenter topology definition schema |
CN105745878A (zh) * | 2013-11-20 | 2016-07-06 | 日本电气株式会社 | 网络控制设备、网络控制方法以及程序 |
CN105794156A (zh) * | 2013-11-27 | 2016-07-20 | 日本电气株式会社 | 通信系统、通信方法、网络信息组合装置以及网络信息组合程序 |
US9461877B1 (en) * | 2013-09-26 | 2016-10-04 | Juniper Networks, Inc. | Aggregating network resource allocation information and network resource configuration information |
US20170237605A1 (en) * | 2013-07-08 | 2017-08-17 | Nicira, Inc. | Storing network state at a network controller |
-
2017
- 2017-08-18 CN CN201710713859.0A patent/CN109412828B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130108263A1 (en) * | 2011-11-01 | 2013-05-02 | Plexxi Inc. | Data center network architecture |
CN104025513A (zh) * | 2011-11-01 | 2014-09-03 | 普莱克希公司 | 数据中心网络中的控制层级 |
US20170237605A1 (en) * | 2013-07-08 | 2017-08-17 | Nicira, Inc. | Storing network state at a network controller |
US9461877B1 (en) * | 2013-09-26 | 2016-10-04 | Juniper Networks, Inc. | Aggregating network resource allocation information and network resource configuration information |
CN105745878A (zh) * | 2013-11-20 | 2016-07-06 | 日本电气株式会社 | 网络控制设备、网络控制方法以及程序 |
CN105794156A (zh) * | 2013-11-27 | 2016-07-20 | 日本电气株式会社 | 通信系统、通信方法、网络信息组合装置以及网络信息组合程序 |
CN104243496A (zh) * | 2014-10-11 | 2014-12-24 | 北京邮电大学 | 一种软件定义网跨域安全代理方法和系统 |
US20160156522A1 (en) * | 2014-12-01 | 2016-06-02 | Microsoft Technology Licensing, Llc. | Datacenter topology definition schema |
CN105049231A (zh) * | 2015-06-19 | 2015-11-11 | 中国人民解放军信息工程大学 | 一种分层跨域的网络管理控制系统 |
CN105357024A (zh) * | 2015-09-23 | 2016-02-24 | 清华大学 | 用于sdn网络的区域控制设备、域控制设备和控制系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109936480A (zh) * | 2019-03-19 | 2019-06-25 | 鹏城实验室 | 网络拓扑发现方法及装置、存储介质及电子设备 |
CN113812118A (zh) * | 2019-06-07 | 2021-12-17 | 思科技术公司 | 网络中的可扩展分层数据自动化 |
CN114567665A (zh) * | 2022-01-26 | 2022-05-31 | 阿波罗智能技术(北京)有限公司 | 节点间通信的方法、装置、设备、介质及自动驾驶车辆 |
Also Published As
Publication number | Publication date |
---|---|
CN109412828B (zh) | 2022-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10469312B1 (en) | Methods and apparatus for scalable resilient networks | |
CN105594166B (zh) | 用于配置数据流的方法、计算机可读存储介质和装置 | |
CN103608796B (zh) | 大规模存储系统 | |
CN103748558B (zh) | 用于在物理网络上覆盖虚拟网络的系统和方法 | |
CN102334111B (zh) | 为受管计算机网络提供逻辑联网功能 | |
CN102457439B (zh) | 一种云计算系统的虚拟交换系统及其虚拟交换方法 | |
CN109905251B (zh) | 网络管理方法、装置、电子设备和存储介质 | |
CN103581062B (zh) | 用于处理未知单播数据包的方法和系统 | |
CN114363021B (zh) | 网络靶场系统、网络靶场系统的虚拟网络实现方法及装置 | |
CN103514245B (zh) | 创建用户可见处理跟踪的可搜索和全局数据库 | |
CN107733795B (zh) | 以太网虚拟私有网络evpn与公网互通方法及其装置 | |
CN104518963A (zh) | 用于经由交换结构在边缘设备之间实施连接的方法和装置 | |
CN106502335B (zh) | 用于配置一或多个伺服器的机架系统与其配置方法 | |
CN102780601A (zh) | 管理虚拟网络的方法与系统 | |
CN104767676A (zh) | Sdn网络中的数据报文转发方法和系统 | |
CN107925633A (zh) | 数据中心资源跟踪 | |
CN104769886B (zh) | 添加全装置能力和参数到分离架构装置 | |
CN104301251A (zh) | 一种QoS处理方法、系统及设备 | |
CN103139037A (zh) | 用于实现灵活的虚拟局域网的方法和装置 | |
CN106155264B (zh) | 管理存储子系统的电力消耗的计算机方法与计算机系统 | |
CN103441936A (zh) | 转发邻接链路的发布方法 | |
CN104811392A (zh) | 用于处理网络中的资源访问请求的方法和系统 | |
CN109462511B (zh) | 网络的建立方法及装置 | |
CN104184663A (zh) | 基于软件定义网络和一体化标识网络的通信方法和装置 | |
CN107979614A (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210708 Address after: 7 / F, 388 ningqiao Road, Pudong New Area pilot Free Trade Zone, Shanghai, 201206 Applicant after: Shanghai NOKIA Baer Software Co.,Ltd. Address before: No.388, ningqiao Road, Jinqiao, Pudong New Area, Shanghai, 201206 Applicant before: Shanghai Nokia Bell Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |