CN105337853A - 一种软件定义网络中的实例建立方法和装置 - Google Patents
一种软件定义网络中的实例建立方法和装置 Download PDFInfo
- Publication number
- CN105337853A CN105337853A CN201410257839.3A CN201410257839A CN105337853A CN 105337853 A CN105337853 A CN 105337853A CN 201410257839 A CN201410257839 A CN 201410257839A CN 105337853 A CN105337853 A CN 105337853A
- Authority
- CN
- China
- Prior art keywords
- sdn
- switching equipment
- control appliance
- message
- instance number
- 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.)
- Pending
Links
Classifications
-
- 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/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
-
- 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
- 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
- H04L41/122—Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
-
- 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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种软件定义网络中实例建立方法。该方法包括:控制设备只管理与其在同一SDN实例内的交换设备,管理自身所属的SDN实例对应的SDN的拓扑结构,并基于该拓扑结构进行流路径计算。基于同样的发明构思,本发明还提出一种软件定义网络中的实例建立装置,能够使SDN的拓扑结构简单,减少拓扑结构收敛时间以及计算流路径的运算量。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种软件定义网络中的实例建立方法和装置。
背景技术
软件定义网络(SoftwareDefinedNetwork,SDN)是一种新型网络创新架构,其核心思想是将网络设备的控制层面与转发层面分离,以实现对网络流量的灵活控制,为核心网络及应用提供良好的平台。
SDN的控制设备维护网络的整体拓扑和链路,通过链路发现协议发现交换设备之间的链路和邻居关系,防止设备在逻辑上形成环路,同时建立任意两个设备之间的最短流路径,支持监控链路状态,当某个链路发生异常时及时更新所有经过此链路的流的最短流路径,使得流沿着新的流路径传输。
现有实现中,当网络中的交换设备数量比较大时,交换设备之间的链路连接就比较多,整个网络的拓扑就会复杂,当网络出现故障或配置变更时,需要收敛的时间较长。由于流路径是基于拓扑运算的,复杂的网络拓扑所需的流路径运算量会很大。
发明内容
有鉴于此,本发明提供一种软件定义网络中的实例建立方法和装置,能够使SDN的拓扑结构简单,实现各个SDN拓扑之间的业务隔离,并降低局部设备变化对整体组网的影响,减少拓扑结构收敛时间以及计算流路径的运算量。
为解决上述技术问题,本发明的技术方案是这样实现的:
一种软件定义网络SDN中的实例建立方法,将该SDN划分为预设值个SDN实例对应的SDN,所述方法包括:
控制设备接收到其管理的SDN实例内的任一交换设备发送的通告自身属性信息的消息时,与该交换设备建立连接通道;
当连接通道建立完成时,向该交换设备发送链路发现报文;
当接收到与向该交换设备发送的链路发现报文对应的链路发现报文时,获得该SDN实例对应的SDN的拓扑结构,并基于该拓扑结构进行流路径计算。
一种软件定义网络SDN中的实例建立装置,应用于将SDN划分为预设值个SDN实例对应的SDN中,该装置包括:接收单元、建立单元、发送单元和处理单元;
所述接收单元,用于接收交换设备发送的通告自身属性信息的消息;接收链路发现报文;
所述建立单元,用于当所述接收单元接收到其管理的SDN实例内的任一交换设备发送的通告自身属性信息的消息时,与该交换设备建立连接通道;
所述发送单元,用于当所述建立单元建立完成连接通道时,向该交换设备发送链路发现报文;
所述处理单元,用于当所述接收单元接收到与向该交换设备发送的链路发现报文对应的链路发现报文时,获得该SDN实例对应的SDN的拓扑结构,并基于该拓扑结构进行流路径计算。
综上所述,本发明根据不同组网的要求对整体SDN进行实例划分,控制设备只管理与其在同一SDN实例内的交换设备,管理自身所属的SDN实例对应的SDN的拓扑结构,并基于该拓扑结构进行流路径计算。能够使SDN的拓扑结构简单,实现各个SDN拓扑之间的业务隔离,并降低局部设备变化对整体组网的影响,减少拓扑结构收敛时间以及计算流路径的运算量。
附图说明
图1为本发明实施例中控制设备进行的实例建立流程示意图;
图2为本发明实施例中交换设备进行的实例建立流程示意图;
图3为本发明实施例中一个控制器管理两个SDN实例的SDN示意图;
图4为本发明实施例中一个控制器管理一个SDN实例的SDN示意图;
图5为本发明具体实施例中LLDP报文结构示意图;
图6为本发明具体实施例中包含实例建立装置的控制设备的硬件结构示意图;
图7为本发明具体实施例中包含实例建立装置的交换设备的硬件结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
本发明实施例中提出一种SDN中的实例建立方法,根据组网需求对整体SDN进行实例划分,控制设备管理与其在同一SDN实例内的交换设备,管理自身所属的SDN实例对应的SDN的拓扑结构,并基于该拓扑结构进行流路径计算。通过该技术方案,能够简化SDN拓扑,实现各个SDN拓扑之间的业务隔离,并降低局部设备变化对整体组网的影响,减少拓扑结构收敛时间以及计算流路径的运算量。
本发明具体实现时,对整体SDN进行实例化,根据组网需求对整体SDN进行实例划分,即将该SDN划分为预设值个SDN实例对应的SDN。其中,预设值根据实际的组网要求进行确定。
其中,组网需求可以是对业务类型的划分需求,如哪些交换设备需要进行数据业务,划分到一个SDN实例;如哪些交换设备需要进行语音业务,划分到一个SDN实例。
本发明具体实施例中进行SDN实例化后,每个SDN实例是独立的,各个SDN实例之间是隔离的,各个SDN实例独享***资源,即各SDN实例之间不共享***资源。
对整体SDN进行实例化时,控制设备和交换设备需要进行如下配置:
控制设备配置自身管理的SDN实例的实例号。一个控制设备可以管理一个SDN实例,也可以管理多个SDN实例,在管理一个SDN实例时,配置该SDN实例对应的SDN实例号;在管理多个SDN实例时,配置其管理的多个SDN实例的SDN实例号。
该控制设备在配置结束后,记录并维护配置信息:SDN实例号。
交换设备配置自身所属的SDN实例的SDN实例号。一个交换设备可以属于一个SDN实例,也可以属于多个SDN实例内,属于不同的SDN实例时,该交换设备被看作不同交换设备。
交换设备在自身所属的每个SDN实例中配置对应SDN实例内的控制设备的地址,当该交换设备属于的多个SDN实例,由一个控制设备管理时,配置的控制设备的IP地址相同;当该交换设备属于的多个SDN实例由不同控制设备管理时,配置不同控制设备的IP地址。
交换设备还需指定本交换设备的设备ID,当本交换设备属于不同的SDN实例时,在不同SDN实例中指定本交换设备的设备ID时可以相同也可以不同。
一个交换设备在属于多个SDN实例时,需要对自身的物理端口进行划分,即哪几个端口属于一个SDN实例,哪几个端口属于另外一个SDN实例。一般情况下一个物理端口只属于一个SDN实例,若需要实现一个物理端口被多个SDN实例共用时,对该物理端口上的业务进行区分,如某些VLAN范围的报文属于一个SDN实例,某些VLAN范围的报文属于另外一个SDN实例,使得交换设备和控制设备能够唯一区分报文所属的实例。
交换设备在配置结束后,记录并维护配置信息:SDN实例号、端口号(属于对应SDN实例的端口的端口号)、控制设备的IP地址(属于对应SDN实例的控制设备的IP地址)、交换设备的设备ID(本交换设备属于对应SDN实例时的设备ID)。
至此,控制设备和交换设备的配置完成。
上文提供的配置方式为在交换设备和控制设备上分别进行SDN实例号配置,将控制设备和交换设备进行SDN实例划分。在具体实现时,也可以仅由控制设备进行配置,并将配置的相关SDN实例信息通告给交换设备以实现SDN实例划分。具体过程如下:
控制设备配置自身所管理的SDN实例的SDN实例号,并在管理的一个SDN实例中配置各交换设备的IP地址、设备ID和端口号(该交换设备的这些端口对应的端口属于该SDN实例)。
控制设备将SDN实例号、设备ID和端口号根据对应的IP地址通过网络管理***,或者网络配置协议发送给对应的交换设备,使各交换设备存储并维护这些信息,并与对应的控制设备建立连接。
本发明具体实施例中为了兼容现有实现,将整体SDN作为默认SDN实例对应的SDN。当交换设备或控制设备接收到未携带实例号的协议报文时,确定该协议报文属于默认SDN,并根据该协议报文的内容在默认SDN实例内进行处理。
参见图1,图1为本发明实施例中控制设备进行的实例建立流程示意图。具体步骤包括:
步骤101,控制设备接收到其管理的SDN实例内的任一交换设备发送的通告自身属性信息的消息时,与该交换设备建立连接通道。
本实施例以交换设备和控制设备分别进行配置实现SDN实例划分为例,在控制设备和交换设备配置完成后,交换设备向自身所属的SDN实例内配置的控制设备地址对应的控制设备发送通告自身属性信息的消息。
通告的属性信息包括配置信息、特征信息、端口状态信息等。在发送这些消息时可以使用携带实例号,标识本交换设备所属的SDN实例。其中,发送端口状态信息时,只发送属于该SDN实例内的端口的端口状态信息。
控制设备接收到该消息时,根据该消息携带的实例号确定发送该消息的交换设备与本控制设备是否属于同一SDN实例,即确定该消息携带的实例号是否在本控制设备上配置,如果是,确定发送该消息的交换设备与本控制设备属于同一SDN实例;否则,确定发送该消息的交换设备与本控制设备不属于同一SDN实例。
当控制设备接收到与其不属于同一SDN实例的交换设备发送的通告自身属性信息的消息时,不进行处理,直接丢弃。
这样处理,一个SDN实例内的报文只会在一个SDN实例内处理,即使由于某种原因发送到其他SDN实例中,其他SDN实例中的交换设备或控制设备也不会处理,通过报文携带的SDN实例号,隔离了不同的SDN实例。
当控制设备接收与其属于同一SDN实例的交换设备发送的通告自身属性信息的消息时,记录该交换设备通告的属性信息,并与该交换设备建立连接通道。
当控制设备与交换设备之间通过OPENFLOW协议通信时,步骤101中控制设备和交换设备建立的连接通道为OPENFLOW连接通道,在建立OPENFLOW连接通道之前会先建立TCP通道进行信息交互,具体过程如下:
各交换设备通过配置的控制设备的IP地址向控制设备发送TCP报文,控制设备与交换设备建立TCP连接通道;并在建立的TCP连接通道上交互hello消息,控制设备发现与其为邻居的交换设备。
控制设备向其管理的SDN实例内的各交换设备(即发现的与该控制设备为邻居的交换设备)发送请求消息,请求各交换设备通告自身的属性信息;
各交换设备接收到控制设备发送的请求时,向该控制设备发送通告自身属性信息的消息;其中,属性信息中的配置信息为支持OPENFLOW协议的相关配置信息;端口状态信息为自身所属SDN实例内的端口的端口状态信息。
当控制设备接收到其管理的SDN实例内的任一交换设备发送的通告属性信息的消息时,与该交换设备建立连接通道,即OPENFLOW连接通道。
在具体实现时,发送的TCP报文、hello消息、请求消息以及通告属性信息的消息都可以通过携带SDN实例的实例号,来标识所属的SDN实例。若未携带实例号则按照默认的实例进行处理,以兼容现有的版本。
步骤102,当连接通道建立完成时,该控制设备向该交换设备发送链路发现报文。
该控制设备向该交换设备发送链路发现报文时,携带本控制设备与该交换设备所属的同一SDN实例的实例号,使接收该链路发现报文的交换设备确定该控制设备所属的SDN实例。
任一交换设备接收该链路发现报文时,确定该链路发现报文携带的实例号与本地配置的SDN实例号是否相同,如果是,对该链路发现报文根据报文内容进行处理;否则,丢弃接收到链路发现报文。
如果控制设备与交换设备之间通过OPENFLOW协议进行通信,在控制设备发送链路发现报文时,进行OPENFLOW封装,在交换设备向控制设备上送链路发现报文时,也需进行OPENFLOW封装;并且在封装的OPENFLOW头中和链路发现报文中均携带交换设备和控制设备同属的SDN实例的实例号,以便对端设备进行处理。
交换设备接收到属于同一SDN实例的控制设备发送的OPENFLOW封装的链路发现报文时,进行解封装,并通过OPENFLOW头中的端口将解封装后的链路发现报文转发。
对端交换设备接收到该交换设备转发的链路发现报文时,根据报文中携带的SDN实例号,获知同一SDN实例内的其他交换设备转发的链路发现报文时,对该链路发现报文进行OPENFLOW封装,并上送给同一SDN实例的控制设备。其中,在进行OPENFLOW封装时,除了现有实现时,封装该接收其他交换设备转发链路发现报文的交换设备的设备ID和接收到链路发现报文的端口号之外,还需携带本发明实施例中配置的SDN实例的实例号,该实例号与未进行OPENFLOW封装的链路发现报文中携带的实例号相同。
步骤103,当接收到链路发现报文时,该控制设备获得该SDN实例对应的SDN的拓扑结构,并基于该拓扑结构进行流路径计算。
该控制设备接收到的链路发现报文中携带发送该链路发现报文的交换设备所属的SDN实例的实例号,根据该实例号确定发送该链路发现报文的交换设备与本控制设备是否属于同一SDN实例。
本步骤中与向该交换设备发送的链路发现报文对应的链路发现报文,即控制设备向一个交换设备发送链路发现报文,接收到另外一个交换设备上送的对应链路发现报文。
该控制设备向该SDN实例内的所有交换设备发送链路发现报文,在接收到发送的链路发现报文对应的链路发现报文时,获知该SDN实例对应的SDN的拓扑结构,基于该拓扑结构进行流路径运算。由于实例化后的各SDN的拓扑结构一定比整体SDN的拓扑结构简单,进行流路径运算时,运算量也小。
本发明具体实施例中,交换设备将本地端口的端口号以及报文的属性,与自身所属的SDN实例的实例号绑定存储。
当交换设备接收到用户侧报文时,根据该报文的属性以及接收该报文的端口的端口号查找实例号,在该实例号对应的SDN实例内处理该报文。如对该报文进行源MAC地址学习,根据该实例内下发的流表规则转发该报文。
当某个SDN实例对应的SDN中拓扑结构变化,更新该SDN实例对应的SDN的拓扑结构,并基于更新后的拓扑结构进行该SDN实例内的流路径计算。
该控制器接收到携带本控制设备所属的SDN实例的实例号的端口故障消息;在预设时间内未接收到本控制设备发出的携带自身所属的SDN实例的实例号的链路发现报文对应的链路发现报文时;接收到与本控制设备属于同一SDN实例的新的交换设备发送的通告自身属性信息的消息时,确定本SDN实例对应的SDN的拓扑结构发生变化,进行拓扑结构的更新,并根据更新后的拓扑结构进行该SDN实例内的流路径计算。
本发明具体实施中在进行SDN实例划分后,SDN的拓扑会按照划分的SDN实例进行维护,不属于某个SDN实例的交换设备,以及不管理该SDN实例的控制设备,在接收到携带该SDN实例号的端口故障消息和链路发现报文都不会处理。因此,一个SDN实例内的拓扑变化不会影响到其他的SDN实例的拓扑,一个复杂且庞大的网络拓扑基于SDN实例实现了分解,一个SDN实例内的流路径也得到了简化。
当SDN实例内的拓扑发生变化时,该SDN实例内受到影响的流路径会及时更新,而其他SDN实例的拓扑不会感知到变化,其他实例的拓扑和流路径也不需要更新。
在后续控制设备和交换设备,交换设备和交换设备之间交互的协议报文,均应该携带自身所属的SDN实例的实例号,在交换设备与交换设备之间的数据报文交互时,按现有实现即可,交换设备之间转发数据报文的流路径是由控制设备控制的,交换设备按控制设备下发的流表规则处理即可。
当该控制设备管理两个以上SDN实例时,在不同SDN实例内发现邻居,建立拓扑,并进行拓扑计算以及报文处理。由于每个SDN实例是独立的,各SDN实例之间是隔离的,因此,每个SDN实例有自身的存储单元,有自身的处理单元;各SDN实例的存储单元是隔离不共享的,各SDN实例的处理单元也是隔离不共享的。
该控制设备在接收到交换设备上送的报文(协议报文或数据报文),先判断该报文是否携带SDN实例号:
当该报文携带SDN实例号时,确定该SDN实例号对应的SDN实例是否由本控制设备管理,如果是,确定该SDN实例号对应的SDN实例,并将该报文送给该SDN实例对应的处理单元进行处理;否则,丢弃该报文。
当该报文未携带SDN实例号时,将该报文送给默认的SDN实例对应的处理单元进行处理。
参见图2,图2为本发明实施例中交换设备进行的实例建立流程示意图。具体步骤包括:
步骤201,交换设备向与其属于同一SDN实例的控制设备发送通告自身属性信息的消息。
在控制设备和交换设备配置完成后,交换设备向自身所属的SDN实例内配置的控制设备地址对应的控制设备发送通告自身属性信息的消息。
通告的属性信息包括配置信息、特征信息、端口状态信息等。在发送这些消息时可以使用携带实例号,标识本交换设备所属的SDN实例。
控制设备接收到该消息时,根据该消息携带的实例号确定发送该消息的交换设备与本控制设备是否属于同一SDN实例,即确定该消息携带的实例号是否在本控制设备上配置,如果是,确定发送该消息的交换设备与本控制设备属于同一SDN实例;否则,确定发送该消息的交换设备与本控制设备不属于同一SDN实例。
当控制设备接收到与其不属于同一SDN实例的交换设备发送的通告自身属性信息的消息时,不进行处理,直接丢弃。
该交换设备属于多个SDN实例时,分别向属于不同SDN实例的控制设备发送通告自身属于对应SDN实例的属性信息的消息。
当控制设备接收与其属于同一SDN实例的交换设备发送的通告自身属性信息的消息时,记录该交换设备通告的属性信息,并与该交换设备建立连接通道。
控制设备在连接通道建立完成时,向该交换设备发送链路发现报文。
步骤202,该交换设备接收到与其所属同一SDN实例的控制设备发送的链路发现报文时,根据该链路发现报文的内容通过对应端口转发,结束本流程。
该控制设备向该交换设备发送链路发现报文时,携带本控制设备与该交换设备所属的同一SDN实例的实例号,使接收该链路发现报文的交换设备确定该控制设备所属的SDN实例。
任一交换设备接收该链路发现报文时,确定该链路发现报文携带的实例号与本地配置的SDN实例号是否相同,如果是,对该链路发现报文根据报文内容进行处理;否则,丢弃接收到链路发现报文。
如果控制设备与交换设备之间通过OPENFLOW协议进行通信,在控制设备发送链路发现报文时,进行OPENFLOW封装,在交换设备向控制设备上送链路发现报文时,也需进行OPENFLOW封装;并且在封装的OPENFLOW头中和链路发现报文中均携带交换设备和控制设备同属的SDN实例的实例号,以便对端设备进行处理。
交换设备接收到属于同一SDN实例的控制设备发送的OPENFLOW封装的链路发现报文时,进行解封装,并通过OPENFLOW头中的端口将解封装后的链路发现报文转发。
步骤203,该交换设备接收到与本交换设备属于同一SDN实例的交换设备发送的链路发现报文时,将该链路发现报文上送给与本交换设备属于同一SDN实例的控制设备,使该控制设备获知该SDN实例对应的SDN的拓扑结构并进行流路径计算。
该交换设备在接收到链路发现报文时,根据该链路发现报文中携带的实例号确定发送该链路发现报文的设备与本交换设备是否属于同一SDN实例。
该交换设备接收到其他交换设备发送的链路发现报文时,若确定报文中携带的实例号与本设备所属的SDN实例的实例号相同,即确定接收到与本交换设备属于同一SDN实例的交换设备发送的链路发现报文时,对该链路发现报文进行OPENFLOW封装,并上送给同一SDN实例的控制设备。其中,在进行OPENFLOW封装时,除了现有实现时,封装该接收其他交换设备转发链路发现报文的交换设备的设备ID和接收到链路发现报文的端口号之外,还需携带本发明实施例中配置的SDN实例的实例号,该实例号与未进行OPENFLOW封装的链路发现报文中携带的实例号相同。
本实施例中结合附图,详细说明本发明是如何进行实例建立的。
参见图3,图3为本发明实施例中一个控制器管理两个SDN实例的SDN示意图。
参见图4,图4为本发明实施例中一个控制器管理一个SDN实例的SDN示意图。
在一个整体SDN中可以有一个控制设备,也可以有多个控制设备。其中,每个控制设备可以管理一个SDN实例也可以管理多个SDN实例。如图3中,控制设备管理SDN实例1,也管理SDN实例2,因此,该控制设备管理两个SDN实例,在具体实现时,还可以管理更多的SDN实例。
如图4中,控制设备1管理SDN实例1,控制设备2管理SDN实例2,因此,图4中的控制设备管理一个SDN实例。图3和图4的网络架构仅是一种举例,在具体应用中可以由使用者根据实际需要灵活配置。
下面以图3为例,详细说明对SDN的整体拓扑进行实例化的过程:
图3中的SDN划分为两个SDN实例为例,SDN实例1和SDN实例2,其中,交换设备1、交换设备2、交换设备3属于SDN实例1;交换设备3和交换设备4属于SDN实例2。交换设备1上的端口1和端口2加入SDN实例1,端口10为SDN实例1的控制口,即同控制设备交互的端口;交换设备2上的端口2和端口1加入SDN实例1,端口10为控制口;交换设备3上的端口2和端口1加入SDN实例1,端口10为SDN实例1和SDN实例2的控制口;端口3加入SDN实例2;交换设备4上的端口1加入SDN实例2,端口10为SDN实例2的控制口。控制设备配置SDN实例1,用于管理SDN实例1,配置SDN实例2,用于管理SDN实例2。
可见一个交换设备可以在一个SDN实例中,如交换设备1、交换设备2和交换设备4;也可以在不同SDN实例中,如交换设备3既属于实例1也属于实例2,交换设备3对于控制设备1来说,被看作为两个不同的设备。
交换设备1和交换设备2指定自身的控制设备的地址为控制设备1的地址;交换设备3在SDN实例1中指定自身的控制设备的地址为控制设备1,在SDN实例2中指定自身的控制设备的地址也为控制设备1的地址。交换设备4指定自身的控制设备的地址为控制设备1的地址。
交换设备1指定自身的设备ID为1;交换设备2指定自身的设备ID为2;交换设备3由于属于不同的SDN实例,因此,在两个SDN实例中均指定自身的设备ID为3,也可以在两个SDN实例中指定不同的设备ID;交换设备4指定自身的设备ID为4。
不同SDN实例内的交换设备之间如果存在物理连接,如交换设备1和交换设备4之间存在物理连接,不作为LINK连接,即不作为逻辑连接。
以SDN实施例2中的交换设备为例,交换设备3和交换设备4还需配置控制设备1的IP地址,使用配置的IP地址向控制设备1发送TCP报文,在发送TCP报文时携带交换设备配置的SDN实例号,控制设备1接收到交换设备3和交换设备4发送的TCP报文时,控制设备1在实施例2中建立与交换设备2和交换设备4的TCP连接。
TCP连接后交互hello消息,控制设备在SDN实例2中发现自身的邻居设备为交换设备3和交换设备4,并向交换设备3和交换设备4分别发送请求信息,在交互hello报文,以及发送的请求信息中均携带SDN实施例号2。
交换设备3和交换设备4接收到控制设备发送的携带SDN实例号2的请求消息时,通过OPENFLOW协议向控制设备1发送OPENFLOW消息通告自身属于SDN实例2的属性信息,并在该消息的消息头中携带自身所属的SDN实例的实例号。
交换设备的属性信息包括配置信息、特征信息、端口状态信息等。
该实施例中控制设备和交换设备之间的连通以OPENFLOW协议为例,这时交换设备为OPENFLOW交换机,控制设备为SDN控制器,但是并不限于OPENFLOW协议。
控制设备1接收到该OPENFLOW消息时,确定该消息携带的实例号2为本地配置的SDN实例的实例号,则在SDN实例2内与交换设备3和交换设备4建立OPENFLOW连接通道。
无论交换设备,还是控制设备在接收到OPENFLOW消息、hello消息或echo消息时,进行合法性检查,即确定携带的实例号与本设备加入的SDN实例的实例号是否相同,如果是,进行处理;否则,直接丢弃。
控制设备1与交换设备3和交换设备4之间的OPENFLOW连接建立完成之后,进行Link发现。在发现过程中可以使用LLDP报文或BDDP报文。如果各交换设备直连时,可以使用LLDP报文;交换设备之间有通过Hub等非SDN交换设备进行连接时,可以使用BDDP报文进行Link发现。本实施例中交换设备均是直连实现,以LLDP报文为例进行Link发现。具体发现过程如下:
由于交换设备3和交换设备4都只有一个端口与SDN实例2中的其他交换设备相连,因此,需要向交换设备3和4发送一条OPENFLOW封装的LLDP报文即可。
对于交换设备3来说,指示交换设备3通过端口3发送LLDP报文。
为通过端口3发送LLDP报文封装的OPENFLOW消息头中携带交换设备3的设备ID3、端口3和实例号2,在LLDP报文中也携带交换设备3的设备ID3、端口3和实例号2,与现有实现不同的是在OPENFLOW头中和LLDP报文中均携带实例号,设备ID和端口号的携带,以及报文的内容均同现有实现。
交换设备3接收到控制设备1发送的OPENFLOW封装的LLDP报文时,确定该OPENFLOW消息携带的实例号2为本设备所属的SDN实例的实例号,携带的设备ID为本设备的设备ID3,则解封装该报文的OPENFLOW头,并将解封装后的LLDP报文通过端口3转发。
交换设备4接收到交换设备3发送的LLDP报文时,确定该LLDP报文中携带的实例号为实例号2,则为该LLDP报文进行OPENFLOW封装,并通过管理口10上送控制设备1,在进行OPENFLOW封装时,封装实例号2,交换设备4的设备ID4,以及接收该LLDP报文的端口的端口号1。
由于未对接收到的LLDP报文进行其他处理,因此,上送给控制设备1封装OPENFLOW头的LLDP报文仍然携带实例号2,以及交换设备3的设备ID3和端口号3。
控制设备1接收到交换设备4上送的OPENFLOW消息时,进行合法性检查,确定该消息中携带的实例号为实例号2,则在本设备配置的SDN实例2中处理该OPENFLOW消息,则获得该消息中携带的交换设备4的设备ID4和端口号1;之后对该消息进行OPENFLOW解封装,获得解封装后的LLDP报文携带的交换设备3的设备ID3和端口号3。
由此,控制设备1获知交换设备4的端口1与交换设备3的端口3之间的Link是连通的。
上文描述了控制设备1和交换设备3之间的交互,控制设备1同交换设备4之间的交互与交换设备3类似,这里不再一一描述。
当SDN中的拓扑收敛后,控制设备1获知SDN实例2对应的SDN的拓扑结构,根据获知的拓扑结构进行流路径计算。计算流路径的方法同现有实现,本发明不做具体限制。
下面以图4为例,详细说明对SDN的整体拓扑进行实例化的过程:
图4中的SDN划分为两个SDN实例为例,SDN实例1和SDN实例2,其中,交换设备1、交换设备2、交换设备3属于SDN实例1;交换设备3和交换设备4属于SDN实例2。交换设备1上的端口1和端口2加入SDN实例1,端口10为SDN实例1的控制口,即同控制设备交互的端口;交换设备2上的端口2和端口1加入SDN实例1,端口10为控制口;交换设备3上的端口2和端口1加入SDN实例1,端口10为SDN实例1和SDN实例2的控制口;端口3加入SDN实例2;交换设备4上的端口1加入SDN实例2,端口10为SDN实例2的控制口。控制设备1配置SDN实例1,用于管理SDN实例1;控制设备2配置SDN实例2,用于管理SDN实例2。
可见一个交换设备可以在一个SDN实例中,如交换设备1、交换设备2和交换设备4;也可以在不同SDN实例中,如交换设备3既属于实例1也属于实例2,交换设备3对于控制设备1和控制设备2来说,被看作为两个不同的设备。在具体实现,也可以使用一个控制设备管理多个SDN实例,如使用控制设备1管理SDN实例1和SDN实例2,在控制设备上配置SDN实例1和SDN实例2即可。
交换设备1和交换设备2指定自身的控制设备的地址为控制设备1的地址;交换设备3在SDN实例1中指定自身的控制设备的地址为控制设备1,在SDN实例2中指定自身的控制设备的地址为控制设备2的地址。交换设备4指定自身的控制设备的地址为控制设备2的地址。
交换设备1指定自身的设备ID为1;交换设备2指定自身的设备ID为2;交换设备3由于属于不同的SDN实例,因此,在两个SDN实例中均指定自身的设备ID为3,也可以在两个SDN实例中指定不同的设备ID;交换设备4指定自身的设备ID为4。
不同SDN实例内的交换设备之间如果存在物理连接,如交换设备1和交换设备4之间存在物理连接,不作为LINK连接,即不作为逻辑连接。
SDN中的任一交换设备还需配置与其属于同一SDN实例的控制设备的IP地址,用于建立TCP连接,在TCP连接建立完成后进行邻居发现。
在控制设备进行邻居发现结束后,向邻居设备(属于同一SDN实例的交换设备)发送请求,使各邻居设备上报自身所属该SDN实例的属性信息。
交换设备通过OPENFLOW协议向控制设备发送OPENFLOW消息通告自身的属性信息,并在该消息的消息头中携带自身所属的SDN实例的实例号。
交换设备的属性信息包括配置信息、特征信息、端口状态信息等。
该实施例中控制设备和交换设备之间的连通以OPENFLOW协议为例,这时交换设备为OPENFLOW交换机,控制设备为SDN控制器,但是并不限于OPENFLOW协议。以SDN实例1为例。假设交换设备1首先配置完成,通过端口10向控制设备1发送携带自身属性信息的OPENFLOW消息,并携带实例号1。
控制设备1接收到该OPENFLOW消息时,确定该消息携带的实例号1为本地配置的SDN实例的实例号,则与该交换设备建立OPENFLOW连接。
具体实现时,同现有实现使用hello消息建立OPENFLOW连接,使用echo消息维护建立的OPENFLOW连接,并且在hello消息和echo消息中携带实例号1。
无论交换设备,还是控制设备在接收到OPENFLOW消息、hello消息或echo消息时,进行合法性检查,即确定携带的实例号与本设备加入的SDN实例的实例号是否相同,如果是,进行处理;否则,直接丢弃。
控制设备1与交换设备1之间的OPENFLOW连接建立完成之后,进行Link发现。在发现过程中可以使用LLDP报文或BDDP报文。如果各交换设备直连时,可以使用LLDP报文;交换设备之间有通过Hub等非SDN交换设备进行连接时,可以使用BDDP报文进行Link发现。本实施例中交换设备均是直连实现,以LLDP报文为例进行Link发现。具体发现过程如下:
由于交换设备1有两个端口与SDN实例1中的其他交换设备相连,因此,需要向交换设备1发送两条OPENFLOW封装的LLDP报文。
其中一条指示交换设备1通过端口1发送LLDP报文;另外一条指示交换设备1通过端口2发送LLDP报文。
为通过端口1发送LLDP报文封装的OPENFLOW消息头中携带交换设备1的设备ID1、端口1和实例号1,在LLDP报文中也携带交换设备1的设备ID1、端口1和实例号1,与现有实现不同的是在OPENFLOW头中和LLDP报文中均携带实例号,设备ID和端口号的携带,以及报文的内容均同现有实现。
为通过端口2发送LLDP报文封装的OPENFLOW消息头中携带交换设备1的设备ID1、端口2和实例号1,在LLDP报文中也携带交换设备1的设备ID1、端口2和实例号1。
交换设备1接收到控制设备1发送的第一条OPENFLOW封装的LLDP报文时,确定该OPENFLOW消息携带的实例号1为本设备所属的SDN实例的实例号,携带的设备ID为本设备的设备ID1,则解封装该报文的OPENFLOW头,并将解封装后的LLDP报文通过端口1转发。
交换设备2接收到交换设备1发送的LLDP报文时,确定该LLDP报文中携带的实例号为实例号1,则为该LLDP报文进行OPENFLOW封装,并通过管理口10上送控制设备1,在进行OPENFLOW封装时,封装实例号1,交换设备2的设备ID2,以及接收该LLDP报文的端口的端口号2。
由于未对接收到的LLDP报文进行其他处理,因此,上送给控制设备1封装OPENFLOW头的LLDP报文仍然携带实例号1,以及交换设备1的设备ID1和端口号1。
交换设备1接收到第二条OPENFLOW消息时,进行与第一条OPENFLOW消息类似的处理,这里不再详细描述。
本实施例中的LLDP报文除了携带实例号之外,其他内容均同现有实现,如通知交换设备1通过端口1转发报文,并携带源信息(交换设备1的设备ID、端口号)等。
参见图5,图5为本发明具体实施例中LLDP报文结构示意图。同现有实现中不同之处是,增加了一个Sdn识别(Indentity)类型长度值(TLV),用于携带SDN实例的实例号。
在OPENFLOW头中携带SDN实例的实例号与此类似。
控制设备接收到交换设备2上送的OPENFLOW消息时,进行合法性检查,确定该消息中携带的实例号为实例号1,则获得该消息中携带的交换设备2的设备ID和端口号1;之后对该消息进行OPENFLOW解封装,获得解封装后的LLDP报文携带的交换设备1的设备ID1和端口号1。对于交换设备3上送的OPENFLOW消息进行类似的处理。
由此,控制设备1获知交换设备1的端口1与交换设备2的端口2之间的Link是连通的;交换设备1的端口2和交换设备3的端口1之间的link是连通的。
上文描述了控制设备1和交换设备1之间的交互,控制设备1同交换设备2和交换设备3之间的交互与交换设备1类似,这里不再一一描述。
当SDN中的拓扑收敛后,控制设备获知SDN实例1对应的SDN的拓扑结构,根据获知的拓扑结构进行流路径计算。计算流路径的方法同现有实现,本发明不做具体限制。
当SDN实例1内交换设备的某个端口down时,如交换设备1的端口1,交换设备1会通过管理口10向控制设备1发送端口故障消息,并携带实例号1。
控制设备1接收到该故障消息时,会在本地更改已获知的拓扑结构,即交换设备1和交换设备2之间的Link故障。控制设备1根据SDN实例1中变更后的拓扑结构重新进行流路径计算。
控制设备会周期性地向其所管理的SDN实例中的交换设备的端口触发LLDP报文,当接收不到交换设备响应的对应LLDP报文时,确定对应交换设备之间的链路故障。
如控制设备1发送给交换设备1的OPENFLOW消息,且该OPENFLOW消息携带的LLDP报文为触发交换设备1的端口1转发LLDP报文时,该OPENFLOW消息中携带的LLDP报文会由交换设备2进行OPENFLOW封装并上送控制设备1的。
当在预设时间内,控制设备未接收到交换设备2上送的对应LLDP进行OPENFLOW封装的消息时,确定交换设备1和交换设备2之间的Link故障,更新SDN实例1中交换设备的拓扑结构,基于更新后的拓扑结构进行流路径计算。
本发明具体实施例中的控制设备是可以软硬件结合的可编程设备,从硬件层面而言,具体参见图6,图6为本发明具体实施例中包含实例建立装置的控制设备的硬件结构示意图。控制设备包括:非易失性存储器、CPU、转发芯片和内存;
其中,
非易失性存储器,用于存储指令代码和各种列表,例如,SDN实例号等,当所述指令代码被执行时完成的操作主要为内存中实例建立装置完成的功能。
从软件层面而言,应用于控制设备中的实例建立装置包括:接收单元601、建立单元602、发送单元603和处理单元604。
接收单元601,用于接收交换设备发送的通告自身属性信息的消息;接收链路发现报文;
建立单元602,用于当接收单元601接收到与其属于同一SDN实例的任一交换设备发送的通告自身属性信息的消息时,与该交换设备建立连接通道;
发送单元603,用于当建立单元602建立完成连接通道时,向该交换设备发送链路发现报文;
处理单元604,用于当接收单元601接收到与向该交换设备发送的链路发现报文对应的链路发现报文时,获得该SDN实例对应的SDN的拓扑结构,并基于该拓扑结构进行流路径计算。
另外,接收单元601,进一步用于接收到的消息中携带所述交换设备所属的SDN实例的实例号,根据该实例号确定该交换设备与本控制设备是否属于同一SDN实例;接收到的链路发现报文中携带发送该报文的交换设备所属的SDN实例的实例号,根据该实例号确定该交换设备与本控制设备是否属于同一SDN实例;
发送单元603,进一步用于向该交换设备发送链路发现报文时,携带本控制设备与该交换设备所属的同一SDN实例的实例号,使接收该链路发现报文的交换设备确定该控制设备所属的SDN实例。
另外,处理单元604,进一步用于当接收单元601接收到携带本控制设备所属的SDN实例的实例号的协议报文时,根据接收到的协议报文的内容进行处理;当接收到携带本控制设备所属的SDN实例的实例号之外的实例号的协议报文时,将接收到的协议报文丢弃;当接收到未携带实例号的协议报文时,按默认实例对该接收到的协议报文进行处理,所述默认实例对应的SDN为进行SDN实例划分前的SDN。
另外,处理单元604,进一步用于确定该SDN实例对应的SDN中拓扑结构变化时,更新该SDN实例对应的SDN的拓扑结构,并基于更新后的拓扑结构进行流路径计算。
另外,该装置进一步包括:存储单元605;
所述存储单元,用于配置该装置管理的SDN实例的SDN实例号并存储;其中,所述交换设备所属的SDN实例的实例号为该交换设备在本地配置的SDN实例的实例号。
另外,该装置进一步包括:存储单元605
存储单元605,用于配置该装置管理的SDN实例的SDN实例号,以及其在该SDN实例下管理的交换设备的IP地址和端口号并存储;
发送单元603,进一步用于将所述存储单元存储的SDN实例的实例号,以及该SDN实例下管理的交换设备的端口号,根据该交换设备的IP地址通告给该交换设备。
进一步讲,当该控制设备管理两个以上SDN实例时,其管理的各SDN实例对应自身的存储单元、处理单元和建立单元,各SDN实例中的存储单元、处理单元和建立单元是隔离的,资源不共享,不能互相通信。
上述的实例建立装置作为一个逻辑意义上的装置,其是通过CPU将非易失性非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。当对应的计算机程序指令被执行时,形成的实例建立装置用于按照上述方法执行相应操作。
CPU,用于与转发芯片通信,进行协议报文,以及数据报文的收发;用于与非易失性存储器通信,读取和执行非易失性存储器中存储的所述指令代码,完成上述实例建立装置中的接收单元、建立单元、发送单元、处理单元和存储单元完成的功能,以及对从转发芯片上送的报文的处理。
转发芯片,用于通过该芯片上的端口连接到SDN中的交换设备,负责数据报文和协议报文的收发处理,将CPU发来的数据报文和协议报文发送给交换设备,将交换设备发来的数据报文和协议报文上送给CPU。
本发明具体实施例中的交换设备是可以软硬件结合的可编程设备,从硬件层面而言,具体参见图7,图7为本发明具体实施例中包含实例建立装置的交换设备的硬件结构示意图。控制设备包括:非易失性存储器、CPU、转发芯片和内存;
其中,
非易失性存储器,用于存储指令代码和各种列表,例如,SDN实例号、属性信息等,当所述指令代码被执行时完成的操作主要为内存中实例建立装置完成的功能。
从软件层面而言,应用于控制设备中的实例建立装置包括:发送单元701、接收单元702;
发送单元701,用于向与本设备属于同一SDN实例的控制设备发送通告自身属性信息的消息;当接收单元702接收到与本设备所属同一SDN实例的控制设备发送的链路发现报文时,根据该链路发现报文的内容通过对应端口转发;当接收单元702接收到与本设备属于同一SDN实例的交换设备发送的链路发现报文时,将该链路发现报文上送给与本设备属于同一SDN实例的控制设备,使该控制设备获知该SDN实例对应的SDN的拓扑结构并进行流路径计算;
接收单元702,用于接收链路发现报文。
另外,
发送单元701,进一步用于发送通告本设备属性信息的消息时,携带自身所属的SDN实例的实例号,使接收该消息的控制设备确定本交换设备所属的SDN实例;向控制设备上送链路发现报文时,携带本设备所属SDN实例的实例号,使接收该报文的控制设备确定本设备所属的SDN实例;
接收单元702,进一步用于在接收到链路发现报文时,根据该链路发现报文中携带的实例号确定发送该链路发现报文的设备与本设备是否属于同一SDN实例。
其中,该设备进一步包括存储单元703和处理单元707;
存储单元703,用于将本地端口的端口号以及报文的属性,与本设备所属的SDN实例的实例号绑定存储;
接收单元702,进一步用于接收用户侧报文;
处理单元704,用于当接收单元702接收到用户侧报文时,根据该报文的属性以及接收该报文的端口的端口号在存储单元703中查找实例号,并在查找到的实例号对应的SDN实例内处理该报文。
上述的实例建立装置作为一个逻辑意义上的装置,其是通过CPU将非易失性非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。当对应的计算机程序指令被执行时,形成的实例建立装置用于按照上述方法执行相应操作。
CPU,用于与转发芯片通信,进行协议报文,以及数据报文的收发;用于与非易失性存储器通信,读取和执行非易失性存储器中存储的所述指令代码,完成上述实例建立装置中的接收单元、发送单元和处理单元完成的功能,以及对从转发芯片上送的报文的处理。
转发芯片,用于通过该芯片上的端口连接到控制设备和用户设备,负责数据报文和协议报文的收发处理,将CPU发来的数据报文和协议报文发送给控制设备或用户设备,将交换设备或用户设备发来的数据报文和协议报文上送给CPU。
上述实施例中实例建立装置中的各单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单元。
综上所述,本发明根据不同组网的要求对整体SDN进行实例划分,控制设备只管理与其在同一SDN实例内的交换设备,管理自身所属的SDN实例对应的SDN的拓扑结构,并基于该拓扑结构进行流路径计算。通过该技术方案,能够使SDN的拓扑结构简单,实现各个SDN拓扑之间的业务隔离,并降低局部设备变化对整体组网的影响,减少拓扑结构收敛时间以及计算流路径的运算量。
在SDN实例划分之后,SDN的拓扑将会按照实例进行维护,一个实例内的拓扑变化不会影响到其他实例的拓扑,一个复杂且庞大的网络拓扑基于实例进行分解之后,实例内的流路径也得到了简化。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种软件定义网络SDN中的实例建立方法,其特征在于,将该SDN划分为预设值个SDN实例对应的SDN,所述方法包括:
控制设备接收到其管理的SDN实例内的任一交换设备发送的通告自身属性信息的消息时,与该交换设备建立连接通道;
当连接通道建立完成时,向该交换设备发送链路发现报文;
当接收到链路发现报文时,获得该SDN实例对应的SDN的拓扑结构,并基于该拓扑结构进行流路径计算。
2.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
该控制设备接收到的消息中携带所述交换设备所属的SDN实例的实例号,根据该实例号确定该交换设备与本控制设备是否属于同一SDN实例;
该控制设备向该交换设备发送链路发现报文时,携带本控制设备与该交换设备所属的同一SDN实例的实例号,使接收该链路发现报文的交换设备确定该控制设备所属的SDN实例;
该控制设备接收到的链路发现报文中携带发送该报文的交换设备所属的SDN实例的实例号,根据该实例号确定该交换设备与本控制设备是否属于同一SDN实例。
3.根据权利要求2所述的方法,其特征在于,所述方法进一步包括:
该控制设备当接收到携带本控制设备所属的SDN实例的实例号的协议报文时,根据接收到的协议报文的内容进行处理;
当接收到携带本控制设备所属的SDN实例的实例号之外的实例号的协议报文时,将接收到的协议报文丢弃;
当接收到未携带实例号的协议报文时,按默认实例对该接收到的协议报文进行处理,所述默认实例对应的SDN为进行SDN实例划分前的SDN。
4.根据权利要求1-3任意一项所述的方法,其特征在于,所述方法进一步包括:
该控制设备确定该SDN实例对应的SDN中拓扑结构变化时,更新该SDN实例对应的SDN的拓扑结构,并基于更新后的拓扑结构进行流路径计算。
5.根据权利要求2或3所述的方法,其特征在于,所述方法进一步包括:
该控制设备配置其管理的SDN实例的SDN实例号并存储;其中,所述交换设备所属的SDN实例的实例号为该交换设备在本地配置的SDN实例的实例号。
6.根据权利要求1-3任意一项所述的方法,其特征在于,所述方法进一步包括:
该控制设备配置其管理的SDN实例的SDN实例号,以及其在该SDN实例下管理的交换设备的IP地址和端口号并存储;并将该SDN实例的实例号,以及该SDN实例下管理的交换设备的端口号,根据该交换设备的IP地址通告给该交换设备。
7.一种软件定义网络SDN中的实例建立装置,其特征在于,应用于将软件定义网络SDN划分为预设值个SDN实例对应的SDN中,该装置包括:接收单元、建立单元、发送单元和处理单元;
所述接收单元,用于接收交换设备发送的通告自身属性信息的消息;接收链路发现报文;
所述建立单元,用于当所述接收单元接收到其管理的SDN实例内的任一交换设备发送的通告自身属性信息的消息时,与该交换设备建立连接通道;
所述发送单元,用于当所述建立单元建立完成连接通道时,向该交换设备发送链路发现报文;
所述处理单元,用于当所述接收单元接收到与向该交换设备发送的链路发现报文对应的链路发现报文时,获得该SDN实例对应的SDN的拓扑结构,并基于该拓扑结构进行流路径计算。
8.根据权利要求7所述的装置,其特征在于,
所述接收单元,进一步用于接收到的消息中携带所述交换设备所属的SDN实例的实例号,根据该实例号确定该交换设备与本控制设备是否属于同一SDN实例;接收到的链路发现报文中携带发送该报文的交换设备所属的SDN实例的实例号,根据该实例号确定该交换设备与本控制设备是否属于同一SDN实例;
所述发送单元,进一步用于向该交换设备发送链路发现报文时,携带本控制设备与该交换设备所属的同一SDN实例的实例号,使接收该链路发现报文的交换设备确定该控制设备所属的SDN实例。
9.根据权利要求8所述的装置,其特征在于,
所述处理单元,进一步用于当所述接收单元接收到携带本控制设备所属的SDN实例的实例号的协议报文时,根据接收到的协议报文的内容进行处理;当接收到携带本控制设备所属的SDN实例的实例号之外的实例号的协议报文时,将接收到的协议报文丢弃;当接收到未携带实例号的协议报文时,按默认实例对该接收到的协议报文进行处理,所述默认实例对应的SDN为进行SDN实例划分前的SDN。
10.根据权利要求7-9任意一项所述的装置,其特征在于,
所述处理单元,进一步用于确定该SDN实例对应的SDN中拓扑结构变化时,更新该SDN实例对应的SDN的拓扑结构,并基于更新后的拓扑结构进行流路径计算。
11.根据权利要求8或9所述的装置,其特征在于,该装置进一步包括:存储单元;
所述存储单元,用于配置该装置管理的SDN实例的SDN实例号并存储;其中,所述交换设备所属的SDN实例的实例号为该交换设备在本地配置的SDN实例的实例号。
12.根据权利要求7-9任意一项所述的装置,其特征在于,该装置进一步包括:存储单元
存储单元,用于配置该装置管理的SDN实例的SDN实例号,以及其在该SDN实例下管理的交换设备的IP地址和端口号并存储;
所述发送单元,进一步用于将所述存储单元存储的SDN实例的实例号,以及该SDN实例下管理的交换设备的端口号,根据该交换设备的IP地址通告给该交换设备。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410257839.3A CN105337853A (zh) | 2014-06-11 | 2014-06-11 | 一种软件定义网络中的实例建立方法和装置 |
PCT/CN2015/080166 WO2015188700A1 (en) | 2014-06-11 | 2015-05-29 | Establishing instance in software defined network |
US15/317,565 US10397098B2 (en) | 2014-06-11 | 2015-05-29 | Establishing instance in software defined network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410257839.3A CN105337853A (zh) | 2014-06-11 | 2014-06-11 | 一种软件定义网络中的实例建立方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105337853A true CN105337853A (zh) | 2016-02-17 |
Family
ID=54832889
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410257839.3A Pending CN105337853A (zh) | 2014-06-11 | 2014-06-11 | 一种软件定义网络中的实例建立方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10397098B2 (zh) |
CN (1) | CN105337853A (zh) |
WO (1) | WO2015188700A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107493188A (zh) * | 2017-07-31 | 2017-12-19 | 江西山水光电科技股份有限公司 | 一种数据通信网的dcn管理方法 |
CN112655185A (zh) * | 2018-09-17 | 2021-04-13 | 上海诺基亚贝尔股份有限公司 | 软件定义网络中的服务分配的设备、方法和存储介质 |
CN112953739A (zh) * | 2019-12-10 | 2021-06-11 | 中国电信股份有限公司 | 基于k8s平台纳管sdn的方法、***以及存储介质 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10567230B1 (en) * | 2015-09-25 | 2020-02-18 | Juniper Networks, Inc. | Topology information for networks |
CN107204924B (zh) * | 2016-03-18 | 2020-09-25 | 华为技术有限公司 | 链路发现方法及装置 |
CN107070681B (zh) * | 2016-12-07 | 2020-10-09 | 全球能源互联网研究院有限公司 | 基于软件定义网络sdn的网络拓扑获取方法及装置 |
US10103968B2 (en) * | 2016-12-13 | 2018-10-16 | Industrial Technology Research Institute | Tree recovery method, controller and recording medium for software-defined network |
US10333793B2 (en) * | 2017-04-14 | 2019-06-25 | Cisco Technology, Inc. | Network fabric topology expansion and self-healing devices |
US10855805B2 (en) * | 2017-05-26 | 2020-12-01 | Dell Products L.P. | Centralized storage-connected switch port auto-configuration system |
TWI646803B (zh) * | 2017-12-26 | 2019-01-01 | 中華電信股份有限公司 | 異質軟體定義網路控制器及其管理裝置和方法 |
CN108337111B (zh) * | 2018-01-05 | 2021-07-30 | 新华三技术有限公司 | 获取网络节点拓扑的方法及装置 |
CN108880899B (zh) * | 2018-06-30 | 2021-10-15 | 华为技术有限公司 | 一种网络拓扑图生成方法及服务器 |
US10944646B2 (en) * | 2018-10-27 | 2021-03-09 | Cisco Technology, Inc. | Enabling multiple provider software defined network programming using blockchain distributed ledgers |
CN109818865B (zh) * | 2019-03-11 | 2020-09-18 | 江苏君英天达人工智能研究院有限公司 | 一种sdn增强路径装箱装置及方法 |
CN114339929A (zh) * | 2021-11-26 | 2022-04-12 | 中国航空无线电电子研究所 | 一种航空集群网络路由方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103001887A (zh) * | 2012-11-22 | 2013-03-27 | 中兴通讯股份有限公司 | 一种链路保活方法、控制器及交换机 |
CN103401786A (zh) * | 2013-07-12 | 2013-11-20 | 华为技术有限公司 | 网络拓扑建立、路径控制、报文传输方法及装置、*** |
CN103428031A (zh) * | 2013-08-05 | 2013-12-04 | 浙江大学 | 一种基于软件定义网络的域间链路快速故障恢复方法 |
CN103634177A (zh) * | 2013-12-05 | 2014-03-12 | 北京东土科技股份有限公司 | 基于网络业务的组态实现方法和*** |
CN103746911A (zh) * | 2014-01-20 | 2014-04-23 | 中国联合网络通信集团有限公司 | 一种sdn网络结构及其通信方法 |
CN103782553A (zh) * | 2013-09-03 | 2014-05-07 | 华为技术有限公司 | 一种链路发现方法、sdn控制器及设备 |
CN103825825A (zh) * | 2014-01-18 | 2014-05-28 | 浙江大学 | 一种灵活可扩展且安全的域间拓扑发现方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8982727B2 (en) | 2012-10-22 | 2015-03-17 | Futurewei Technologies, Inc. | System and apparatus of generalized network controller for a software defined network (SDN) |
WO2014108178A1 (en) * | 2013-01-09 | 2014-07-17 | Telefonaktiebolaget L M Ericsson (Publ) | Connecting a booting switch to a network |
US9225641B2 (en) * | 2013-10-30 | 2015-12-29 | Globalfoundries Inc. | Communication between hetrogenous networks |
CN103763146B (zh) * | 2014-01-29 | 2017-05-17 | 新华三技术有限公司 | 一种软件定义网络控制器及其生成转发信息的方法 |
US9749214B2 (en) * | 2014-02-26 | 2017-08-29 | Futurewei Technologies, Inc. | Software defined networking (SDN) specific topology information discovery |
-
2014
- 2014-06-11 CN CN201410257839.3A patent/CN105337853A/zh active Pending
-
2015
- 2015-05-29 WO PCT/CN2015/080166 patent/WO2015188700A1/en active Application Filing
- 2015-05-29 US US15/317,565 patent/US10397098B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103001887A (zh) * | 2012-11-22 | 2013-03-27 | 中兴通讯股份有限公司 | 一种链路保活方法、控制器及交换机 |
CN103401786A (zh) * | 2013-07-12 | 2013-11-20 | 华为技术有限公司 | 网络拓扑建立、路径控制、报文传输方法及装置、*** |
CN103428031A (zh) * | 2013-08-05 | 2013-12-04 | 浙江大学 | 一种基于软件定义网络的域间链路快速故障恢复方法 |
CN103782553A (zh) * | 2013-09-03 | 2014-05-07 | 华为技术有限公司 | 一种链路发现方法、sdn控制器及设备 |
CN103634177A (zh) * | 2013-12-05 | 2014-03-12 | 北京东土科技股份有限公司 | 基于网络业务的组态实现方法和*** |
CN103825825A (zh) * | 2014-01-18 | 2014-05-28 | 浙江大学 | 一种灵活可扩展且安全的域间拓扑发现方法 |
CN103746911A (zh) * | 2014-01-20 | 2014-04-23 | 中国联合网络通信集团有限公司 | 一种sdn网络结构及其通信方法 |
Non-Patent Citations (1)
Title |
---|
TAGS: ""Discovery in Software-Defined Networks"", 《HTTP://VLKAN.COM/BLOG/POST/2013/08/06SDN-DISCOVERY/》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107493188A (zh) * | 2017-07-31 | 2017-12-19 | 江西山水光电科技股份有限公司 | 一种数据通信网的dcn管理方法 |
CN112655185A (zh) * | 2018-09-17 | 2021-04-13 | 上海诺基亚贝尔股份有限公司 | 软件定义网络中的服务分配的设备、方法和存储介质 |
CN112655185B (zh) * | 2018-09-17 | 2024-03-19 | 上海诺基亚贝尔股份有限公司 | 软件定义网络中的服务分配的设备、方法和存储介质 |
CN112953739A (zh) * | 2019-12-10 | 2021-06-11 | 中国电信股份有限公司 | 基于k8s平台纳管sdn的方法、***以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2015188700A1 (en) | 2015-12-17 |
US20170104670A1 (en) | 2017-04-13 |
US10397098B2 (en) | 2019-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105337853A (zh) | 一种软件定义网络中的实例建立方法和装置 | |
KR101706007B1 (ko) | 분산된 리질리언트 네트워크 상호 접속 〔drni〕 링크 애그리게이션 그룹에 있어서 이웃과 동기화하기 위한 방법 및 시스템 | |
JP5813072B2 (ja) | Mplsネットワークにおいて完全な論理接続を提供するための方法および装置 | |
CN102857416B (zh) | 一种实现虚拟网络的方法、控制器和虚拟网络 | |
CN102577277B (zh) | 提供合并多点链路的逻辑聚合点对点数据链路 | |
EP2974133B1 (en) | Method and system for controlling an underlying physical network by a software defined network | |
CN109768908B (zh) | 一种vxlan的配置方法、设备及*** | |
EP2911355B1 (en) | Method and device for flow path negotiation in link aggregation group | |
CN104702479A (zh) | Sdn网络中建立隧道的方法和装置 | |
CN110324225B (zh) | 一种处理报文的方法及装置 | |
CN104092595A (zh) | 基于802.1br的虚拟化***中的报文处理方法及装置 | |
CN107820262B (zh) | 参数配置方法、装置及*** | |
CN105791074A (zh) | 一种建立pw链路的方法及装置 | |
CN104429022B (zh) | 通信网络中的连通性故障管理 | |
CN104301252A (zh) | 一种数据发送***及数据发送方法 | |
CN104283802A (zh) | 邻居发现方法和设备 | |
CN107566277B (zh) | 拓扑确定方法、消息响应方法、控制器以及交换机 | |
JP5974911B2 (ja) | 通信システムおよびネットワーク中継装置 | |
CN106330511B (zh) | 网元设备及数据通信网络开通的方法 | |
CN104320322A (zh) | 一种报文控制方法和设备 | |
CN107070791A (zh) | 一种sdn网络***及其数据传输方法 | |
CN102780607B (zh) | 动态配置以太网业务通道的方法及装置 | |
CN109347734A (zh) | 一种报文发送方法、装置、网络设备和计算机可读介质 | |
CN112840623B (zh) | 数据报文传输方法及节点 | |
KR101969304B1 (ko) | 패킷-아웃 메시지를 이용한 소프트웨어 정의 네트워킹 환경에서의 장애 처리 방법 및 컴퓨터 프로그램 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant after: Xinhua three Technology Co., Ltd. Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant before: Huasan Communication Technology Co., Ltd. |
|
CB02 | Change of applicant information | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160217 |
|
RJ01 | Rejection of invention patent application after publication |