CN103782553B - 一种链路发现方法、sdn控制器及设备 - Google Patents
一种链路发现方法、sdn控制器及设备 Download PDFInfo
- Publication number
- CN103782553B CN103782553B CN201380002759.7A CN201380002759A CN103782553B CN 103782553 B CN103782553 B CN 103782553B CN 201380002759 A CN201380002759 A CN 201380002759A CN 103782553 B CN103782553 B CN 103782553B
- Authority
- CN
- China
- Prior art keywords
- message
- sdn controllers
- port
- sdn
- equipment
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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)
- Small-Scale Networks (AREA)
Abstract
本发明实施例提供了一种链路发现方法、SDN控制器及设备,第一软件定义网络SDN控制器接收管辖的第一设备发送的询问消息,其中,该询问消息用于询问转发第一设备接收到的标识报文的端口的端口信息,该询问消息中封装有携带了第二SDN控制器标识的标识报文;解析标识报文;当确定标识报文未携带第一SDN控制器的标识时,向与第一SDN控制器连通的链路,发送根据询问消息确定的、封装有标识报文的封装消息。解决了现有技术中无法实现发送跨SDN域链路的问题。本发明涉及通信技术领域。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种链路发现方法、SDN控制器及设备。
背景技术
软件定义网络(SDN,Software Defined Networking)是一种新型网络架构,它使网络的控制平面与实际的物理拓扑结构互相分离,为控制平面提供可编程接口,物理拓扑中的硬件设备不再由各自的软件控制数据包的路由,而是接收来自控制平面的转发规则,并根据这些规则对数据包进行转发。这样,在一定范围内的网络(或称SDN域),由集中统一的控制逻辑单元来对该范围内的网络实施管理,解决了网络中大量的转发设备各自分散独立运行管理的问题,使得网络的设计、部署、运维、管理在一个控制点完成,并消除了底层网络差异性。而集中统一的控制逻辑单元可以为SDN控制器(SDN Controller),也就是说由SDN控制器提供控制平面,对自身管辖的SDN域中的设备进行统一控制和管理。SDN控制器可以通过Openflow协议对自身管辖的SDN域中的设备进行控制和管理。
进一步地,SDN控制器对自身管辖的SDN域中的链路的自动发现的,是SDN控制器实现SDN网络链路管理、网络拓扑自动发现等的前提。SDN控制器对自身管辖的SDN域中的链路自动发现的过程主要为:基于SDN控制器发现的自身管辖的SDN域中的端口库(即SDN域中包含的设备的端口),自动发现各端口之间的连接关系的过程。现有技术中,提供的SDN控制器对自身管辖的SDN域中的链路自动发现的方法主要包括如下两种:
第一种,如图1所示,SDN控制器101管辖的SDN域中包括两个设备SW1和SW2。SDN控制器101通过Openflow协议中的Packet-out消息、Packet-in消息以及LLDP协议与自身管辖的SDN域中的设备进行通信,以完成链路自动发现。SDN控制器101对SDN域中的链路的自动发现方法主要包括如下步骤:
步骤1:SDN控制器101发现SDN域中的端口库,包括SW1端口P1以及SW2的端口P2;
步骤2:SDN控制器101分别向端口库中的各设备发送Packet-out消息,该Packet-out消息用于指示设备通过SDN控制器101指定的出端口将该Packet-out消息中携带的报文发送出去,该Packet-out消息中携带有链路层发现协议(LLDP,Link Layer DiscoveryProtocol)报文,该LLDP报文用于指示SDN控制器101的主要能力、管理地址、设备标识、接口标识等信息;
步骤3:假设SW1接收到的Packet-out消息指示SW1通过P1将Packet-out消息中携带的LLDP报文转发出去,SW1接收到的Packet-out消息之后,去掉该Packet-out消息的消息头,将LLDP报文从P1转发出去;
步骤4:假设P1和SW2的端口P2之间存在物理链路,那么,SW1将LLDP报文从P1通过端口P2转发给SW2,SW2接收到该LLDP报文之后,由于在控制器链路自动发现阶段,尚未生成流表,SW2不知道该往哪里转发该LLDP报文,因此SW2将该LLDP报文封装成Packet-in消息,发送给管辖自己的SDN控制器101,并在该Packet-in消息中携带接收到LLDP报文的入端口信息即P2;
步骤5、SDN控制器101接收到该Packet-in消息之后,解析出该Packet-in消息中携带的LLDP报文为自己所发,以及自己发送该LLDP报文时用于携带该LLDP报文的Packet-out消息,从而通过Packet-out消息中携带的出端口P1的信息以及对应的Packet-out消息中携带的入端口P2的信息,发现了P1和P2之间的链路。
第二种,如图1所示,SDN控制器101通过LLDP协议与自身管辖的SDN域中的设备进行通信,以完成链路自动发现。SDN控制器101对SDN域中的链路的自动发现方法主要包括如下步骤:
步骤1:SW1和SW2分别使用组播地址,向SDN控制器101管辖的SDN域中的其他设备以及SDN控制器101发送LLDP报文,该LLDP报文用于指示发送该LLDP报文的设备的主要能力、管理地址、设备标识、接口标识等信息;
步骤2、SW1和SW2在分别接收到其他设备发送的LLDP报文之后,又将该接收的LLDP报文转发给SDN控制器101管辖的SDN域中的其他设备以及SDN控制器101,SDN控制器101通过接收到的各个设备发送的LLDP报文发现SDN控制器101管辖的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控制器转发所述询问消息。
结合第一方面的第一种可能的实现方式,或者结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述询问消息中封装的所述标识报文为所述第一设备通过入端口接收到的,且所述询问消息中还携带有所述入端口的端口信息。
结合第一方面的第一种可能的实现方式,或者结合第一方面的第二种可能的实现方式,在第四种可能的实现方式中,所述询问消息中封装的所述标识报文,为所述第一设备通过入端口接收到的、携带有所述第二设备的出端口对应链路的链路信息的标识报文;所述第一设备向所述第一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控制器管辖的各设备的各端口中确定的、未与所述各端口中的任一端口构成链路的端口;将上报端口确定为指定出端口,并将所述上报端口所属的设备确定为指定设备。
结合第二方面的第一种可能的实现方式,或者结合第二方面的第二种可能的实现方式,在第四种可能的实现方式中,所述标识报文为LLDP报文,所述指示消息为packet-out消息,所述询问消息为packet-in消息。
第三方面,提供一种链路发现方法,包括:
第一软件定义网络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域链路。
结合第三方面、结合第三方面的第一种可能的实现方式、或者结合第三方面的第二种可能的实现方式,在第三种可能的实现方式中,所述标识报文为LLDP报文,所述指示消息为packet-out消息,所述询问消息为packet-in消息。
结合第三方面,在第四种可能的实现方式中,接收封装有所述标识报文的封装消息,具体包括:接收所述指定设备发送的封装有所述封装消息的第二询问消息,其中,所述第二询问消息用于询问转发所述封装消息的端口的端口信息,所述封装消息为所述第二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控制器,或者,为所述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控制器存在连通的物理链路的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控制器询问转发所述标识报文的端口的端口信息的询问消息;
解析器,用于解析所述接收器接收的所述询问消息中封装的标识报文;
处理器,用于当根据所述解析器的解析结果,确定所述标识报文携带有所述父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控制器的标识时,向与第二SDN控制器连通的链路,发送根据第一询问消息确定的、封装有标识报文的封装消息;第一SDN控制器接收到该封装消息之后,解析该封装消息中封装的标识报文,当确定标识报文中携带有第一SDN控制器的标识时,根据标识报文,确定指定设备与第二SDN控制器管辖的设备之间存在跨SDN域链路。通过SDN控制器发起对其他SDN控制器的探测,从而发现SDN控制器之间的跨SDN域链路,解决了现有技术中无法发现跨SDN域链路的问题。
本发明实施例提供的一种链路发现方法、SDN控制器及设备,第一设备向第二设备发送用于探测第一设备和所述第二设备之间是否存在链路的链路探测消息;接收第二设备发送的链路探测回应消息,其中,链路探测回应消息中携带有第二设备所属SDN域的域标识信息;当第一设备所属SDN域的域标识,与第二设备所属SDN域的域标识不同时,确定第一设备所属SDN域与第二设备所属SDN域之间存在跨SDN域的链路。通过SDN控制器管辖的设备,发起对归属于其他SDN域的设备进行探测,从而确定存在链路的设备分别归属的SDN域之间存在链路,解决了现有技术中无法发现跨SDN域链路的问题。
附图说明
图1为本发明背景技术提供的SDN控制器及其管辖的各设备连接关系示意图;
图2为本发明实施例提供的一种链路发现方法应用于SDN控制器侧的流程图;
图3为本发明实施例提供一种链路发现方法应用于父SDN控制器侧的流程图;
图4为本发明实施例提供的一种链路发现方法应用于第一SDN控制器侧的流程图;
图5为本发明实施例提供的一种链路发现方法应用于设备侧的流程图;
图6为本发明实施例提供的一种链路发现方法应用于父SDN控制器侧的流程图;
图7为本发明实施例提供的一种链路发现方法应用于第二子SDN控制器侧的流程图;
图8为本发明实施例提供的一种链路发现方法应用于父SDN控制器侧的流程图;
图9为本发明实施例提供的一种链路发现方法应用于第二子SDN控制器侧的流程图;
图10为本发明实施例提供的一种链路发现方法应用于父SDN控制器、第一子SDN控制器、以及第二子SDN控制器侧的流程图;
图11为本发明实施例提供的父SDN控制器与其管辖的各设备连接关系示意图;
图12为本发明实施例提供的本发明实施例提供的一种链路发现方法的例一的流程图;
图13为本发明实施例提供的父SDN控制器与其管辖的各设备连接关系示意图;
图14为本发明实施例提供的本发明实施例提供的一种链路发现方法的例二的流程图;
图15为本发明实施例提供的一种链路发现方法应用于第一SDN控制器侧的流程图;
图16为本发明实施例提供的一种链路发现方法应用于第二SDN控制器侧的流程图;
图17为本发明实施例提供的一种链路发现方法应用于第二SDN控制器侧的流程图;
图18为本发明实施例提供的一种链路发现方法应用于第一SDN控制器侧的流程图;
图19为本发明实施例提供的一种链路发现方法应用于第二SDN控制器侧的流程图;
图20为本发明实施例提供的一种链路发现方法应用于第一SDN控制器侧的流程图;
图21为本发明实施例提供的一种链路发现方法应用于第二SDN控制器侧的流程图;
图22为本发明实施例提供的SDN控制器与其管辖的各设备连接关系示意图;
图23为本发明实施例提供的一种链路发现方法的例三流程图;
图24为本发明实施例提供的一种链路发现方法的例四流程图;
图25为本发明实施例提供的一种链路发现方法应用于第一SDN控制器侧的流程图;
图26为本发明实施例提供的一种链路发现方法应用于第二SDN控制器侧的流程图;
图27为本发明实施例提供的一种链路发现方法应用于第一SDN控制器侧的流程图;
图28为本发明实施例提供的一种链路发现方法应用于第二SDN控制器侧的流程图;
图29为本发明实施例提供的一种链路发现方法应用于第一SDN控制器侧的流程图;
图30为本发明实施例提供的一种链路发现方法应用于第二SDN控制器侧的流程图;
图31为本发明实施例提供的SDN控制器与其管辖的各设备连接关系示意图;
图32为本发明实施例提供的一种链路发现方法的例五流程图;
图33为本发明实施例提供的一种链路发现方法的例六流程图;
图34为本发明实施例提供的一种链路发现方法应用于设备侧的流程图;
图35为本发明实施例提供的一种SDN控制器的结构示意图;
图36为本发明实施例提供的一种父SDN控制器的结构示意图;
图37为本发明实施例提供的一种SDN控制器的结构示意图;
图38为本发明实施例提供的一种设备的结构示意图;
图39为本发明实施例提供的一种SDN控制器的结构示意图;
图40为本发明实施例提供的一种父SDN控制器的结构示意图;
图41为本发明实施例提供的一种SDN控制器的结构示意图;
图42为本发明实施例提供的一种设备的结构示意图。
具体实施方式
本发明实施例提供了一种链路发现方法、SDN控制器及设备,以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明实施例提供的一种链路发现方法,应用于作为跨SDN域链路发现的非发起方的SDN控制器侧,如图2所示,具体包括以下步骤:
S201、第一SDN控制器接收管辖的第一设备发送的询问消息,其中,询问消息用于询问转发第一设备接收到的标识报文的端口的端口信息,询问消息中封装有携带了第二SDN控制器标识的标识报文。
S202、解析S201中的标识报文。
S203、当确定标识报文未携带第一SDN控制器的标识时,向与第一SDN控制器连通的链路,发送根据询问消息确定的、封装有标识报文的封装消息;
其中,封装消息用于第二SDN控制器接收到封装消息时,根据封装消息中封装的所述标识报文,确定向第一设备发送标识报文的第二设备与第一设备之间存在跨SDN域链路。
进一步地,本实施例可以应用于作为跨SDN域链路发现的非发起方的SDN控制器。SDN控制器可以发起跨SDN域链路发现,也可以在其他SDN控制器发起跨SDN域链路发现时,作为非发起方对接收到的数据包进行处理,同一个SDN控制器既可以发起跨SDN域链路发现,又可以作为非发起方对作为发起方的SDN控制器发送的数据包进行处理,本实施例为SDN控制器作为非发起方时,对接收到的数据包进行处理的流程。
本发明实施例提供的一种链路发现方法,应用于作为跨SDN域链路发现的发起方的父SDN控制器侧,如图3所示,具体包括以下步骤:
S301、父SDN控制器向第一子SDN控制器发送封装有携带了父SDN控制器标识的标识报文的指示消息,其中,该指示消息用于指示第一子SDN控制器通过管辖的指定设备转发该标识报文。
S302、接收第二子SDN控制器转发的询问消息,其中,该询问消息为第二子SDN控制器管辖的设备,接收到指定设备发送标识报文之后,将标识报文封装为用于向第二子SDN控制器询问转发标识报文的端口的端口信息的询问消息。
S303、解析该询问消息中封装的标识报文。
S304、当确定所述标识报文携带有父SDN控制器的标识时,根据标识报文,确定指定设备与第二子SDN控制器管辖的设备之间存在跨SDN域链路。
进一步地,作为第一子SDN控制器,当父SDN控制器发起跨SDN域链路发现时,具体包括以下步骤:
步骤1、第一子SDN控制器接收父SDN控制器发送的封装有标识报文的指示消息,该指示消息用于指示第一子SDN控制器通过管辖的指定设备转发所述标识报文。
步骤2、将指示消息转发给用于根据该指示消息,将标识报文转发的指定设备。
进一步地,本发明实施例提供的一种链路发现方法,可以通过父SDN控制器对该父SND控制器管辖的多个子SDN控制器分别对应的SDN域之间的跨SDN域链路进行自动发现。
进一步地,当父SDN控制器向第一子SDN控制器发送了指示消息,而从第二子SDN控制器接收到询问消息,并且该指示消息和询问消息中携带的标识报文中携带有父SDN控制器的标识,那么可以确定第一子SDN控制器管辖的SDN域和第二子SDN控制器管辖的SDN域之间存在链路。
本发明实施例提供的一种链路发现方法,应用于作为跨SDN域链路发现的发起方的第一SDN控制器侧,如图4所示,具体包括以下步骤:
S401、第一SDN控制器向管辖的指定设备发送封装有携带了第一SDN控制器标识的标识报文的指示消息,其中,该指示消息用于指示指定设备转发该标识报文。
S402、接收封装有标识报文的封装消息,其中,该封装消息为根据第二SDN控制器管辖的设备,接收到指定设备发送的标识报文之后,将标识报文封装为用于向第二SDN控制器询问转发标识报文的端口的端口信息的第一询问消息确定的。
S403、解析封装消息中封装的标识报文;
S404、当确定标识报文中携带有第一SDN控制器的标识时,根据标识报文,确定指定设备与第二SDN控制器管辖的设备之间存在跨SDN域链路。
进一步地,本发明实施例提供的一种链路发现方法,可以通过SDN控制器对自身管辖的SDN域,与其他SDN域之间的跨SDN域链路进行自动发现。
本发明实施例提供的一种链路发现方法,应用于作为跨SDN域链路发现的发起方的设备侧,如图5所示,具体包括以下步骤:
S501、第一设备向第二设备发送用于探测第一设备和第二设备之间是否存在链路的链路探测消息。
S502、接收第二设备发送的链路探测回应消息,其中,链路探测回应消息中携带有第二设备所属SDN域的域标识信息。
S503、当第一设备所属SDN域的域标识,与第二设备所属SDN域的域标识不同时,确定所述第一设备与所述第二设备之间存在跨SDN域的链路。
进一步地,本发明实施例提供的一种链路发现方法,由SDN控制器管辖的设备发起跨SDN域链路的发现。
进一步地,上述步骤S502中,SDN域的域标识可以为(OSPF,Open Shortest PathFirst)的域标识信息,或者可以为ISIS(ISIS,Intermediate System to IntermediateSystem)的域标识信息,也可以为(BGP,Border Gateway Protocol)的域标识信息。
进一步地,本发明上述实施例中询问消息可以为Openflow协议中的Packet-in消息,指示消息可以为Openflow协议中的Packet-out消息。
图6为本发明实施例提供的一种链路发现方法,应用于跨SDN域链路发现的的发起方的父SDN控制器侧,具体包括如下步骤:
S601、父SDN控制器向第一子SDN控制器发送封装有携带了父SDN控制器标识的标识报文的指示消息,其中,该指示消息具体用于指示指定设备,通过指定出端口发送标识报文,且标识报文有与该指示消息具有对应关系。
本步骤中,指定设备可以为第一子SDN控制器直接管辖的设备,也可以为第一子SDN控制器间接管辖的设备,也就是说,第一子SDN控制器和指定设备之间可能不存在其他SDN控制器,也可能存在多层SDN控制器。
进一步地,标识报文用于标识该标识报文的构建者为父SDN控制器,具体实施时,可以使标识报文携带父SDN控制器的标识,使得其他SDN控制器解析该标识报文时,能够确定该标识报文的构建者不是自己,从而将该标识报文进行转发。并且,指示消息封装的标识报文与该指示消息具有对应关系,也就是说,标识报文的构建者在识别出该标识报文为自己构建的同时,也要能够确定自身发送的封装该标识报文的指示消息是哪个,以便SDN控制器在接收到封装了该标识报文的询问消息时,能够根据标识报文确定出于该询问消息匹配的指示消息,从而确定出出端口与入端口之间存在链路。具体实施时,可以使标识报文中携带指示消息的包序列号,或者使标识报文携带其他标识指示消息的标识,使得标识报文与指示消息对应。
进一步地,每个子SDN控制器管辖的设备中,可以包括多个端口,父控制器可以向多个子SDN控制器分别发送指示消息,指示多个子SDN控制器中每个子SDN控制器管辖的多个设备的多个端口作为指定出端口,通过每个出端口对指示消息中封装的标识报文进行转发,并且接收针对该转发的标识报文的询问消息,由于指示消息中封装的标识报文与该指示消息具有对应关系,因此,当父SDN控制器接收到多个询问消息时,可以根据每个询问消息中封装的标识报文,确定与该标识报文对应的指示消息,也就能够确定该询问消息对应的指示消息,从而确定存在链路的出端口和入端口。
S602、接收第二子SDN控制器转发的询问消息,其中,该询问消息具体为第二子SDN控制器管辖的设备通过入端口接收到指定设备通过出端口发送的标识报文之后,将标识报文封装为携带有入端口的端口信息的、用于向第二子SDN控制器询问转发标识报文的端口的端口信息的询问消息。
本步骤中,第二子SDN控制器管辖的设备可以为第二子SDN控制器直接管辖的设备,也可以为第二子SDN控制器间接管辖的设备,也就是说,第二子SDN控制器和该设备之间可能不存在其他SDN控制器,也可能存在多层SDN控制器。
S603、解析该询问消息中封装的标识报文。
S604、当确定所述标识报文携带有父SDN控制器的标识时,根据标识报文,确定与标识报文具有对应关系的指示消息。
S605、确定指示消息中指定的出端口与询问消息中携带的入端口之间存在跨SDN域链路。
进一步地,当父SDN控制器确定的存在链路的出端口与入端口分别归属的子SDN控制器为同一个子SDN控制器,那么,该确定出端口与入端口之间存在的链路为该子SDN控制器域内的链路;当父SDN控制器确定的存在链路的出端口与入端口分别归属的子SDN控制器为不同的子SDN控制器,那么,该确定出端口与入端口之间存在的跨SDN域链路为上述两个子SDN控制器域之间的跨SDN域链路。
进一步地,父SDN控制器预先统计有自身管辖的SDN域中,各设备的端口对应链路的链路属性信息,端口对应链路的链路属性信息可以包括链路类型、链路带宽、链路传输的信号类型以及信号波长、链路通道数量等。父SDN控制器可以根据形成跨SDN域链路的出端口和入端口的信息,从上述各设备的端口对应链路的链路属性信息中,查找到该出端口和入端口分别对应的链路的链路属性信息,从而确定该出端口和入端口构成的链路是否具有一致性。当出端口对应链路的链路属性信息和入端口对应链路的链路属性信息中,存在某些链路属性不一致时,出端口和入端口无法进行通信,父SDN控制器也就无法得到确定的该出端口和入端口之间的链路,例如,链路传输的信号类型、信号波长等,而针对有些链路属性,即使出端口和入端口的该属性即使不一致,该出端口和入端口依然可以通信,只是效率较低,例如:带宽属性,出端口的链路带宽为10G,而入端口的链路带宽为10M,那么出端口和入端口能够通信,但如果在出端口和入端口之间建立链路,将造成出端口带宽的浪费,这种情况下,父SDN控制器可以发出警告信息,告知通信双方如果进行通信存在的坏处。进一步地,父SDN控制器确定构成链路的出端口对应链路的链路属性信息和入端口对应链路的链路属性信息,便于父SDN控制器对自身管辖的跨SDN域链路进行管理,例如,后续可以根据各链路的出端口和入端口的信息进行虚拟网络分配等。
与图6相应的,图7为本发明实施例提供的一种链路发现方法,应用于作为跨SDN域链路发现的非发起方的第二子SDN控制器侧,具体包括如下步骤:
S701、第二子SDN控制器接收管辖的设备发送的询问消息,其中,询问消息用于询问转发设备接收到的标识报文的端口的端口信息,该询问消息中封装有携带了父SDN控制器标识的标识报文,询问消息中封装的标识报文为设备通过入端口接收到的,且询问消息中还携带有入端口的端口信息。
S702、解析S701中的标识报文;
S703、当确定标识报文未携带第二子SDN控制器的标识时,向第二子SDN控制器的父SDN控制器转发该询问消息。
图8为本发明实施例提供的一种链路发现方法,应用于作为跨SDN域链路发现的发起方父SDN控制器侧,具体包括如下步骤:
S801、父SDN控制器向第一子SDN控制器发送封装有携带了父SDN控制器标识的标识报文的指示消息,其中,该指示消息具体用于指示指定设备通过指定出端口发送标识报文;且指定设备通过出端口发送的标识报文中,携带有出端口对应链路的链路属性信息。
进一步地,本步骤中,出端口对应链路的链路属性信息可以由父SDN控制器、第一子SDN控制器、或者第一子SDN关系的指定设备在标识报文中添加。
S802、接收第二子SDN控制器转发的询问消息,其中,该询问消息为第二子SDN控制器管辖的设备,接收到指定设备发送标识报文之后,将标识报文封装为用于向第二子SDN控制器询问转发标识报文的端口的端口信息的询问消息,且询问消息所封装的标识报文中,还携带有入端口对应链路的链路属性信息。
S803、解析该询问消息中封装的标识报文。
S804、当确定所述标识报文携带有父SDN控制器的标识时,根据标识报文中携带的出端口对应链路的链路属性信息,以及入端口对应链路的链路属性信息,确定出端口与入端口之间存在跨SDN域链路。
进一步地,本步骤中,父SDN控制器除了确定出端口与入端口之间存在跨SDN域链路之外,还获得了出端口对应链路的链路属性信息和入端口对应链路的链路属性信息,从而在确定了该出端口和入端口之间存在链路的基础上,进一步确定该出端口和入端口构成的链路是否具有一致性。
与图8相应的,图9为本发明实施例提供的一种链路发现方法,应用于作为跨SDN域链路发现的非发起方的第二子SDN控制器侧,如图9所示,具体包括以下步骤:
S901、第二子SDN控制器接收管辖的设备发送的询问消息,其中,该询问消息用于询问转发设备接收到的标识报文的端口的端口信息,该询问消息中封装有携带了父SDN控制器标识的标识报文,其中,该标识报文为设备通过入端口接收到的、携带有父SDN控制器的出端口对应链路的链路信息的标识报文,设备向第二子SDN控制器发送的询问消息所封装的标识报文中,还携带有入端口对应链路的链路属性信息。
进一步地,本步骤中,第二子SDN控制器接收管辖的设备通过入端口接收到的标识报文,携带有向入端口发送标识报文的设备的出端口对应链路的链路信息,在向第二子SDN控制器发送询问消息之前,可以将入端口对应链路的链路属性信息添加到标识报文中。
S902、解析S901中的标识报文;
S903、当确定标识报文未携带第二子SDN控制器的标识时,向父SDN控制器转发询问消息。
进一步地,本实施例中,与图6和图7相应的,或者与图8和图9相应的,本实施例应用于第一子SDN控制器侧,具体包括如下步骤:
步骤1、第一子SDN控制器接收父SDN控制器发送的封装有标识报文的指示消息,该指示消息用于指示第一子SDN控制器通过管辖的指定设备通过指定出端口发送该标识报文,且该标识报文有与指示消息具有对应关系。
步骤2、将指示消息转发给用于根据该指示消息,通过出端口将标识报文转发的指定设备。
图10为本发明实施例提供的一种链路发现方法,应用于父SDN控制器、第一子SDN控制器、第二子SDN控制器侧,本实施例中,由第一子SDN控制器发起,并父SDN控制器执行对跨SDN域链路发现,父SDN控制器可以不需要通过判断确定的存在链路的出端口与入端口是否归属同一子SDN控制器,来确定该入端口与该出端口之间的链路是否为跨域链路,而是通过各子SDN控制器自动发现与自身管辖的SDN域内的各端口均未构成链路的端口,并上报父SDN控制器,由父SDN控制器根据上报的端口,确定上报的端口是否能够构成跨SDN域的链路,如图10所示,具体包括如下步骤:
S1001、第一子SDN控制器从管辖的各设备的各端口中,确定未与各端口中的任一端口构成链路的端口。
本步骤中,第一子SDN控制器管辖的各设备的各端口中未与该各端口中的任一端口构成链路的端口的确定方法可以为:第一子SDN控制器向自身管辖的各设备分别发送指示消息,针对每个设备,该设备接收到的指示消息中封装有第一子SDN控制器构建的、与该指示消息具有对应关系的标识报文,且该指示消息用于指示该设备通过该指示消息中指定的出端口发送该标识报文,该设备通过该指定的出端口,将该标识报文发送给与该指定的出端口具有连通的链路的另一个设备的入端口,该另一个设备接收到该标识报文之后,由于在链路发现阶段,设备中不存在用于指示转发接收到的报文的路径,因此,该另一个设备将该标识报文封装成询问消息,向该另一个设备所归属的SDN控制器询问转发该标识报文的端口的端口信息,并且将接收到该标识报文的入端口信息携带于该询问消息中,当该设备和该另一个设备归属于同一个SDN控制器即上述第一子SDN控制器时,该第一子SDN控制器根据询问消息中封装的标识报文与自身发送的指示报文的对应关系,确定该询问消息中携带的入端口与该指示消息中指定的出端口之间具有连通的链路,但是当该设备和该另一个设备归属于不同的SDN控制器时,即该另一个设备不归属于第一子SDN控制器时,该第一子SDN控制器不会接收到询问消息,也就是说当第一子SDN控制器发送的指示消息没有接收到封装有与该指示消息对应的标识报文的询问消息时,则该第一子SDN控制器可以确定该指示消息中指定的出端口为空端口,或者为与该第一子SDN控制器管辖的SDN域之外的SDN域具有链路的端口,可以将该出端口上报给该第一子SDN控制器的父SDN控制器。
S1002、第一子SDN控制器向父SDN控制器上报确定的端口的端口信息。
S1003、父SDN控制器将上报端口确定为指定出端口,并将上报端口所属的设备确定为指定设备,向第一子SDN控制器发送封装有携带了父SDN控制器标识的标识报文的指示消息,其中,指示消息用于指示第一子SDN控制器通过管辖的指定设备转发标识报文。
S1004、第一子SDN控制器接收到父SDN控制器发送的封装有标识报文的指示消息,将指示消息转发给用于根据指示消息,将标识报文转发的指定设备。
S1005、第二子SDN控制器接收管辖的设备发送的、用于询问转发设备接收到的标识报文的端口的端口信息的询问消息,其中,询问消息中封装有携带了父SDN控制器标识的标识报文。
本步骤中,第二子SDN控制器接收管辖的设备接收到上述指定设备发送的标识报文之后,将标识报文封装为询问消息发送给第二子SDN控制器。
S1006、第二子SDN控制器解析上述标识报文。
S1007、当确定标识报文未携带第二子SDN控制器的标识时,将询问消息转发给父SDN控制器。
S1008、父SDN控制器接收到第二子SDN控制器转发的询问消息,解析询问消息中封装的标识报文。
S1009、当确定标识报文携带有父SDN控制器的标识时,根据标识报文,确定第一子SDN控制器管辖的指定设备与第二子SDN控制器管辖的设备之间存在跨SDN域链路。
本实施例应用于第一子SDN控制器侧,可以具体包括如下步骤:
步骤1、从管辖的各设备的各端口中,确定未与各端口中的任一端口构成链路的端口。
步骤2、向父SDN控制器上报确定的端口的端口信息,其中,上报的端口信息用于父SDN控制器将上报端口确定为指定出端口,并将上报端口所属的设备确定为指定设备。
步骤3、接收父SDN控制器发送的封装有标识报文的指示消息,该指示消息用于指示第一子SDN控制器通过管辖的指定设备通过指定出端口发送该标识报文,且该标识报文有与指示消息具有对应关系。
步骤4、将指示消息转发给用于根据该指示消息,通过出端口将标识报文转发的指定设备。
下面举例说明:
例1:如图11所示,父SDN控制器1101管辖第一子SDN控制器1102和第二子SDN控制器1103,第一子SDN控制器1102管辖SW1和SW2,第二子SDN控制器1103管辖SW3,SW1和SW2之间存在链路,SW2和SW3之间存在链路。各个子SDN控制器负责发现自身所管辖的SDN域中的链路,父SDN控制器负责发现自身管辖的子SDN域之间的链路。本例为父SDN控制器1101发现第一子SDN控制器1102和第二子SDN控制器1103之间的跨域链路的方法,如图12所示,具体步骤包括:
S1201、第一子SDN控制器1102确定自身管辖的SDN域中的各端口中,与各端口的任一端口均未构成链路的端口P1,并将P1的信息上报父SDN控制器1101。
S1202、父SDN控制器1101接收到第一子SDN控制器1102上报的端口P1的信息,向第一子SDN控制器1102发送指示消息,该指示消息中封装有与该指示消息具有对应关系的、且携带了父SDN控制器1101标识的标识报文,且该指示消息用于指示第一子SDN控制器1102所管辖的SW2通过出端口P1转发标识报文。
进一步地,本步骤中,指示消息可以为Openflow协议中的Packet-out消息,标识报文可以为LLDP报文,该LLDP报文中携带有父SDN控制器1101的配置信息,例如:父SDN控制器1101的主要能力、管理地址、设备标识、接口标识等信息。
进一步地,当只存在一个指定出端口时,标识报文与指示消息可以不具有对应关系,因为父SDN控制器1101只发送了一个指示消息,当接收到封装有指示消息中的标识报文的询问消息时,该询问消息可以与该指示消息匹配。
S1203、第一子SDN控制器1102接收到指示消息,将该指示消息转发给SW2。
S1204、SW2接收到指示消息,将指示消息中封装的标识报文通过出端口P1发送给与出端口P1具有连通的链路的SW3的入端口P2。
S1205、SW3通过入端口P2接收到标识报文,将标识报文封装成询问消息,该询问消息用于向管辖SW3的第二子SDN控制器1103询问转发该标识报文的端口的端口信息,且该询问消息中携带有入端口P2的信息。
本步骤中,询问消息可以为Openflow协议中的Packet-in消息。
S1206、第二子SDN控制器1103接收到SW3发送的询问消息,解析该询问消息,确定询问消息中封装的标识报文中未携带自身的标识,将该询问消息转发给父SDN控制器1101。
S1207、父SDN控制器1101接收到该询问消息,并解析其中的标识报文,确定该标识报文中携带自身的标识,根据该标识报文,确定与该标识报文具有对应关系的指示消息。
S1208、父SDN控制器1101确定接收到的询问消息中携带的入端口与指示消息中指定的出端口之间存在跨域链路。
例2:如图13所示,父SDN控制器1301管辖第一子SDN控制器1302和第二子SDN控制器1303,第一子SDN控制器1302和第二子SDN控制器1303又分别作为父SDN控制器,第一子SDN控制器1302管辖第三子SND控制器1304和第四子SDN控制器1305,第二子SDN控制器1303管辖第五子SND控制器1306和第六子SDN控制器1307,第四子SDN控制器1305管辖SW1和SW2,第五子SDN控制器1306管辖SW3,SW1和SW2之间存在链路,SW2和SW3之间存在链路。各个子SDN控制器负责发现自身所管辖的SDN域中的链路,父SDN控制器负责发现自身管辖的子SDN域之间的链路。本例为父SDN控制器1301发现第一子SDN控制器1302和第二子SDN控制器1303之间的跨域链路的方法,如图14所示,具体步骤包括:
S1401、父SDN控制器1301向第一子SDN控制器1302发送指示消息,该指示消息中封装有携带了父SDN控制器1301标识的标识报文,且该指示消息用于指示第一子SDN控制器1302所管辖的SW2通过出端口P1转发标识报文。
本步骤中,父SDN控制器管辖的SDN域为该父SDN控制器管辖的各子SDN控制器管辖的各SDN域的合集。也就是说,第一子SDN控制器1302管辖的SDN域为第三子SDN控制器1304和第四子SDN控制器1305分别管辖的SDN域的合集。
S1402、第一子SDN控制器1302接收到指示消息,将该指示消息转发给第四子SDN控制器1305。
本步骤中,第一子SDN控制器1302作为第四子SDN控制器1305的父SDN控制器,也可以管辖第四子SDN控制器1305管辖的SW2,当第一子SDN控制器1302接收到指示消息时,根据指示消息中指定的出端口,即SW2的P1端口,则确定出SW2的P1端口由第四子SDN控制器1305管辖,将该指示消息转发给第四子SDN控制器1305。
进一步地,第一子SDN控制器1302可以负责自身管辖的第三子SDN控制器1304和第四子SDN控制器1305分别管辖的SDN域之间的链路发现。
S1403、第四子SDN控制器1305接收到指示消息,将该指示消息转发给SW2。
S1404、SW2接收到指示消息,将出端口P1对应链路的链路属性信息添加到标识报文中,并将指示消息中封装的标识报文通过出端口P1发送给与出端口P1具有连通的链路的SW3的入端口P2。
S1405、SW3通过入端口P2接收到标识报文,将入端口P2对应链路的链路属性信息添加到该标识报文中,并将标识报文封装成询问消息,该询问消息用于向管辖SW3的第五子SDN控制器1306询问转发该标识报文的端口的端口信息。
S1406、第五子SDN控制器1306接收到SW3发送的询问消息,解析该询问消息,确定询问消息中封装的标识报文未携带自身的标识,将该询问消息转发给其父SDN控制器第二子SDN控制器1303。
S1407、第二子SDN控制器1303接收到第五子SDN控制器1306发送的询问消息,解析该询问消息,确定询问消息中封装的标识报文未携带自身的标识,将该询问消息转发给父SDN控制器1301。
S1408、父SDN控制器1301接收到该询问消息,并解析其中的标识报文,确定该标识报文携带有自身的标识,根据该标识报文中携带的出端口P1对应链路的链路属性信息,以及入端口P2对应链路的链路属性信息,确定出端口P1与入端口P2之间存在跨SDN域链路。
进一步地,父SDN控制器和直接管理设备的SDN控制器之间可以间隔多层SDN控制器。
图15为本发明实施例提供的一种链路发现方法,应用于作为跨SDN域链路发起方的第一SDN控制器侧,如图15所示,具体包括如下步骤:
S1501、第一SDN控制器向管辖的指定设备发送封装有携带了第一SDN控制器标识的标识报文的指示消息,其中,指示消息用于指示指定设备转发标识报文。
S1502、接收第二SDN控制器转发的封装消息,其中,第二SDN控制器为第一SDN控制器的邻接SDN控制器,封装消息为第二SDN控制器管辖的设备,接收到指定设备发送的标识报文之后,将标识报文封装为用于向第二SDN控制器询问转发标识报文的端口的端口信息的第一询问消息。
进一步地,本步骤中,与第一SDN控制器邻接的SDN控制器包括:与第一SDN控制器存在连通的物理链路的SDN控制器,或者,与第一SDN控制器存在通信机制的SDN控制器(例如,存在用于与第一SDN控制器自动构建邻接关系的机制HELLO通信机制),或者,为第一SDN控制器配置了邻接关系的SDN控制器(例如,为第一SDN控制器配置邻接关系表,将邻接关系表中的配置的SDN控制器作为第一SDN控制器的邻接SDN控制器)。
S1503、解析封装消息中封装的标识报文;
S1504、当确定标识报文中携带有第一SDN控制器的标识时,根据标识报文,确定指定设备与第二SDN控制器管辖的设备之间存在跨SDN域链路。
本实施例中,可以在第一SDN控制器与第二SDN控制器具有邻接关系时,实施该跨SDN域链路的发现方法。
与图15相应的,图16为本发明实施例提供的一种链路发现方法,应用于作为跨SDN域链路非发起方的第二SDN控制器侧,如图16所示,具体包括如下步骤:
S1601、第二SDN控制器接收管辖的设备发送的询问消息,其中,询问消息用于询问转发设备接收到用于询问转发设备接收到的标识报文的端口的端口信息,询问消息中封装有携带了第一SDN控制器标识的标识报文。
S1602、解析S1601中的标识报文。
S1603、当确定标识报文未携带第二子SDN控制器的标识时,向第二SDN控制器的所有邻接SDN控制器,转发该询问消息。
与图15相应的,图17为本发明实施例提供的一种链路发现方法,应用于作为跨SDN域链路发现非发起方的第二SDN控制器侧,如图17所示,具体包括如下步骤:
S1701、第二SDN控制器接收管辖的设备发送的询问消息,其中,该询问消息用于询问转发该设备接收到的标识报文的端口的端口信息,该询问消息中封装有携带了第一SDN控制器标识的标识报文,标识报文中携带有第一SDN控制器所管辖的SDN域的域标识。
S1702、解析S1701中的标识报文。
S1703、当确定标识报文未携带第二子SDN控制器的标识时,根据解析出的标识报文中携带的第一SDN控制器所管辖的SDN域的域标识,将询问消息转发给第一SDN控制器。
本步骤中,当标识报文中封装了第一SDN控制器管辖的SDN域的域标识时,由于第二SDN控制器可以预先对应存储自身的各邻接SDN控制器的域标识与该SDN控制器的地址,因此,可以直接将该询问报文转发给第二SDN控制器。
图18为本发明实施例提供的一种链路发现方法,应用于作为跨SDN域链路发现的发起方的第一SDN控制器侧,如图18所示,具体包括如下步骤:
S1801、第一SDN控制器向管辖的指定设备发送封装有携带了第一SDN控制器标识的标识报文的指示消息,其中,指示消息具体用于指示指定设备,通过指定出端口发送标识报文,且标识报文有与指示消息具有对应关系。
S1802、接收第二SDN控制器转发的封装消息,其中,第二SDN控制器为第一SDN控制器的邻接SDN控制器,封装消息具体为第二SDN控制器管辖的设备通过入端口接收到指定设备通过出端口发送的标识报文之后,将标识报文封装为携带有入端口信息的、用于向第二SDN控制器询问转发标识报文的端口的端口信息的第一询问消息。
S1803、解析封装消息中封装的标识报文。
S1804、当确定标识报文中携带有第一SDN控制器的标识时,根据标识报文,确定与标识报文具有对应关系的指示消息。
S1805、确定指示消息中指定的出端口与封装消息中携带的入端口之间存在跨SDN域链路。
本实施例中,可以在第一SDN控制器与第二SDN控制器具有邻接关系时,实施该跨SDN域链路的发现方法。
与图18相应的,图19为本发明实施例提供的一种链路发现方法,应用于作为跨SDN域链路发现的非发起方的第二SDN控制器侧,如图19所示,具体包括如下步骤:
S1901、第二SDN控制器接收管辖的设备发送的询问消息,其中,询问消息用于询问转发设备接收到的标识报文的端口的端口信息,询问消息中封装有携带了第一SDN控制器标识的标识报文,且询问消息中封装的标识报文为设备通过入端口接收到的,且询问消息中还携带有入端口信息。
S1902、解析S1901中的标识报文。
S1903、当确定标识报文未携带第二SDN控制器的标识时,向第二SDN控制器的所有邻接SDN控制器,转发该询问消息。
本步骤中,当标识报文中携带了第一SDN控制器的所管辖的域的域标识时,可以向第一SDN控制器转发该询问消息。
图20为本发明实施例提供的一种链路发现方法,应用于作为跨SDN域链路发现的发起方的第一SDN控制器侧,如图20所示,具体包括如下步骤:
S2001、第一SDN控制器向管辖的指定设备发送封装有携带了第一SDN控制器标识的标识报文的指示消息,其中,指示消息具体用于指示指定设备,通过指定出端口发送所述标识报文;且指定设备通过出端口发送的标识报文中,携带有出端口对应链路的链路属性信息。
S2002、接收第二SDN控制器转发的封装消息,其中,第二SDN控制器为第一SDN控制器的邻接SDN控制器,封装消息为第二SDN控制器管辖的设备,接收到指定设备发送的标识报文之后,将标识报文封装为用于向第二SDN控制器询问转发标识报文的端口的端口信息的第一询问消息,且该第一询问消息所封装的标识报文中,还携带有入端口对应链路的链路属性信息。
进一步地,本步骤中,第一询问消息所封装的标识报文中携带的入端口对应链路的链路属性信息,可以为第二SDN控制器管辖的设备接收到指定设备发送的标识报文之后,在该标识报文中添加的。
S2003、解析封装消息中封装的标识报文;
S2004、当确定标识报文中携带有第一SDN控制器的标识时,根据标识报文中携带的出端口对应链路的链路属性信息,以及入端口对应链路的链路属性信息,确定出端口与入端口之间存在跨SDN域链路。
本实施例中,可以在第一SDN控制器与第二SDN控制器具有邻接关系时,实施该跨SDN域链路的发现方法。
与图20相应的,图21为本发明实施例提供的一种链路发现方法,应用于作为跨SDN域链路发现的非发起方的第二SDN控制器侧,如图21所示,具体包括如下步骤:
S2101、第二SDN控制器接收管辖的设备发送的询问消息,其中,该询问消息用于询问转发设备接收到的标识报文的端口的端口信息,询问消息中封装有携带了第一SDN控制器标识的标识报文;该标识报文为第二SDN控制器管辖的设备通过入端口接收到的、携带有向入端口发送标识报文的设备的出端口对应链路的链路信息、以及第一SDN控制器所在SDN域的域标识的标识报文;且第二SDN控制器管辖的设备向第二SDN控制器发送的询问消息所封装的标识报文中,还携带有入端口对应链路的链路属性信息。
进一步地,本步骤中,标识报文中携带的出端口对应链路的链路信息,可以为第一SDN控制器或者第一SDN控制器管辖的指定设备在标识报文中添加的。
S2102、解析S2101中的标识报文。
S2103、当确定标识报文未携带第二SDN控制器的标识时,根据解析出的标识报文中携带的第一SDN控制器所管辖的SDN域的域标识,向第一SDN控制器转发询问消息。
进一步地,如果步骤S2103中没有携带第一SDN控制器所属SDN域的域标识,本步骤可以向第二SDN域的所有邻接SDN控制器转发该询问消息。那么当除第一SDN控制器之外的其他SDN控制器接收到该询问消息时,可以继续将该询问消息转发给自身的邻接SDN控制器。在这种情况下,由于水平分割技术的保障,不会引起信息风暴。
下面举例说明:
例3:如图22所示,第一SDN控制器2201管辖SW1和SW2,第二SDN控制器2202管辖SW3,SW1和SW2之间存在链路,SW2和SW3之间存在链路,第一SDN控制器2201和第二SDN控制器2202为邻接SDN控制器。如图23所示,具体步骤包括:
S2301、第一SDN控制器2201向自身管辖的SW2发送指示消息,该指示消息中封装有与该指示消息具有对应关系的、携带有第一SDN控制器2201标识的标识报文,该标识报文中还封装了第一SDN控制器管辖的SDN域的域标识,且该指示消息用于指示SW2通过指定的P1端口发送该标识报文。
进一步地,本步骤中,第一SDN控制器2201可以向自身管辖的所有设备均发送指示消息,本步骤为SW2接收到指示通过P1端口发送标识报文指示消息时执行的操作。
进一步地,本步骤中,指示消息可以为Openflow协议中的Packet-out消息。
S2302、SW2接收到指示消息,将指示消息中封装的标识报文通过出端口P1发送给与出端口P1具有连通的链路的SW3的入端口P2。
S2303、SW3通过入端口P2接收到标识报文,将标识报文封装成询问消息,该询问消息用于向管辖SW3的第二SDN控制器2202询问转发该标识报文的端口的端口信息,且该询问消息中携带有入端口P2的信息。
进一步地,本步骤中,询问消息可以为Openflow协议中的Packet-in消息。
S2304、第二SDN控制器2202接收到SW3发送的询问消息,解析该询问消息,确定询问消息中封装的标识报文中未携带的标识,将该询问消息转发给第一SDN控制器2201。
S2305、当第一SDN控制器2201接收到该询问消息时,解析出该询问消息中封装的标识报文中携带有自身的标识,则根据该标识报文,确定与该标识报文具有对应关系的指示消息,并确定该指示消息中指定的出端口与询问消息中携带的入端口之间存在跨SDN域链路。
例4:继续以图22为例,具体步骤如图24所示,包括:
S2401、第一SDN控制器2201向自身管辖的SW2发送指示消息,该指示消息中封装有携带第一SDN控制器2201的标识的标识报文,且该指示消息用于指示SW2通过指定的P1端口发送该标识报文。
进一步地,本步骤中,指示消息可以为Openflow协议中的Packet-out消息。
S2402、SW2接收到指示消息,将出端口P1对应链路的链路属性信息添加到标识报文中,将指示消息中封装的标识报文通过出端口P1发送给与出端口P1具有连通的链路的SW3的入端口P2。
S2403、SW3通过入端口P2接收到标识报文,将入端口P2对应链路的链路属性信息添加到该标识报文中,将标识报文封装成询问消息,该询问消息用于向管辖SW3的第二SDN控制器2202询问转发该标识报文的端口的端口信息。
本步骤中,询问消息可以为Openflow协议中的Packet-in消息。
S2404、第二SDN控制器2202接收到SW3发送的询问消息,解析该询问消息,确定询问消息中封装的标识报文中未携带自身的标识。
S2405、将该询问消息转发给第一SDN控制器2201的所有邻接SDN控制器。
S2406、当第一SDN控制器2201接收到该询问消息时,解析出该询问消息中封装的标识报文中携带有自身的标识,则根据该标识报文携带的出端口对应链路的链路属性信息,以及入端口对应链路的链路属性信息,确定出端口与入端口之间存在跨SDN域链路。
图25为本发明实施例提供的一种链路发现方法,应用于作为跨SDN域链路发现的发起方的第一SDN控制器侧,如图25所示,具体包括如下步骤:
S2501、第一SDN控制器向管辖的指定设备发送封装有携带了第一SDN控制器标识的标识报文的指示消息,其中,指示消息用于指示指定设备转发该标识报文。
S2502、接收指定设备发送的封装有封装消息的第二询问消息,其中,第二询问消息用于询问转发封装消息的端口的端口信息,封装消息为第二SDN控制器管辖的设备,接收到指定设备发送的标识报文之后,再将标识报文封装为用于向第二SDN控制器询问转发标识报文的端口的端口信息的第一询问消息之后,第二SDN控制器根据第一询问消息,封装的携带有标识报文的封装消息。
S2503、解析封装消息中封装的标识报文。
S2504、当确定标识报文中携带有第一SDN控制器的标识时,根据标识报文,确定指定设备与第二SDN控制器管辖的设备之间存在跨SDN域链路。
进一步地,本发明实施例提供的一种链路发现方法,可以通过SDN控制器对自身管辖的SDN域,与其他SDN域之间的跨SDN域链路进行自动发现。且第一SDN控制器第二SDN控制器可以为任何连接关系,例如:第一SDN控制器与第二SDN控制器之间无连接、或者第一SDN控制器与第二SDN控制器为邻接的SDN控制器、或者第一SDN控制器与第二SDN控制器与同一个父SDN控制器连接等。
与图25相应的,图26为本发明实施例提供的一种链路发现方法,应用于作为跨SDN域链路非发起方的第二SDN控制器侧,如图26所示,具体包括如下步骤:
S2601、第二SDN控制器接收管辖的设备发送的询问消息,其中,该询问消息用于询问转发设备接收到的标识报文的端口的端口信息,询问消息中封装有携带了第一SDN控制器标识的标识报文。
S2602、解析上述标识报文。
S2603、当确定标识报文未携带第二SDN控制器的标识时,向设备发送封装有封装消息的指示消息,其中,指示消息用于指示设备转发该封装消息。
进一步地,本步骤中,当第二SDN控制器确定标识报文中未携带自身的标识时,需要构建指示消息,用于指示设备通过入端口沿接收到标识报文的链路发送指示消息中封装的消息,即封装消息,封装消息中需要封装标识报文,以便于接收到封装消息的SDN控制器能够通过标识报文中携带的标识确定该标识报文是否是自己构建的。
图27为本发明实施例提供的一种链路发现方法,应用于作为跨SDN域链路发现发起方的第一SDN控制器侧,如图27所示,具体包括如下步骤:
S2701、第一SDN控制器向管辖的指定设备发送封装有携带了第一SDN控制器标识的标识报文的指示消息,其中,指示消息具体用于指示指定设备,通过指定出端口发送标识报文,且标识报文有与指示消息具有对应关系。
S2702、接收指定设备发送的封装有封装消息的第二询问消息,其中,第二询问消息用于询问转发封装消息的端口的端口信息,封装消息具体为第二SDN控制器管辖的设备通过入端口接收到指定设备通过所述出端口发送的标识报文之后,再将标识报文封装为携带有入端口信息的、用于向第二SDN控制器询问转发标识报文的端口的端口信息的第一询问消息之后,第二SDN控制器根据第一询问消息,封装的携带有标识报文和入端口的端口信息的封装消息。
S2703、解析封装消息中封装的标识报文。
S2704、当确定标识报文中携带有第一SDN控制器的标识时,根据标识报文,确定与标识报文具有对应关系的指示消息。
S2705、确定指示消息中指定的出端口与第二询问消息中封装的封装消息中携带的入端口之间存在跨SDN域链路。
与图27相应的,图28为本发明实施例提供的一种链路发现方法,应用于作为跨SDN域链路发现的非发起方的第二SDN控制器侧,如图28所示,具体包括如下步骤:
S2801、第二SDN控制器接收管辖的设备发送的询问消息,其中,该询问消息用于询问转发设备接收到的标识报文的端口的端口信息,询问消息中封装有携带了第一SDN控制器标识的标识报文,且询问消息中封装的标识报文,为设备通过入端口接收到的,且询问消息中还携带有入端口信息。
S2802、解析标识报文。
S2803、当确定标识报文未携带第二SDN控制器的标识时,将标识报文和入端口的端口信息封装为封装消息。
进一步地,本步骤中,当第二SDN控制器确定标识报文中未携带自身的标识时,需要构建指示消息,用于指示设备通过入端口沿接收到标识报文的链路发送指示消息中封装的报文,即封装消息,封装消息中需要封装标识报文,以便于接收到封装消息的SDN控制器能够通过标识报文中携带的标识确定该标识报文是否是自己构建的。
S2804、向设备发送封装有封装消息的指示消息,其中,指示消息具体用于指示设备通过入端口转发封装消息。
进一步地,封装消息中封装了标识报文和入端口信息,标识报文可以用于使第一SDN控制器确定出标识报文的构建者为自己,入端口信息可以用于使第一SDN控制器通过标识报文确定与该标识报文对应的指示消息后,能够确定与第一SDN控制器管辖的指定设备的出端口对应的入端口,从而确定出端口和入端口之间的跨SDN域链路。例如,第二SDN控制器可以将接收的设备发送的询问消息作为封装消息,封装在指示消息中,即上述封装消息可以为第二SDN控制器管辖的设备发送的询问消息,因为该询问消息满足既封装有标识报文,又封装有入端口信息。
进一步地,由于第二SDN控制器管辖的设备通过入端口接收到指定设备通过所述出端口发送的标识报文,因此,第二SDN控制器管辖的设备接收到封装有封装消息的指示消息,并将封装消息通过入端口转发出去之后,第一SDN控制器管辖的指定设备会从出端口接收到该封装消息。
图29为本发明实施例提供的一种链路发现方法,应用于作为跨SDN域链路发现的发起方的第一SDN控制器侧,如图29所示,具体包括如下步骤:
S2901、第一SDN控制器向管辖的指定设备发送封装有携带了第一SDN控制器标识的标识报文的指示消息,其中,指示消息具体用于指示指定设备,通过指定出端口发送标识报文;且指定设备通过出端口发送的标识报文中,携带有出端口对应链路的链路属性信息。
进一步地,本步骤中可以由第一SDN控制器,或者指定设备将出端口对应链路的链路属性信息添加到标识报文中。
S2902、接收指定设备发送的封装有封装消息的第二询问消息,其中,第二询问消息用于询问转发封装消息的端口的端口信息,封装消息为第二SDN控制器管辖的设备,接收到指定设备发送的标识报文之后,再将标识报文封装为用于向第二SDN控制器询问转发标识报文的端口的端口信息的第一询问消息之后,第二SDN控制器根据第一询问消息,封装的携带有标识报文的封装消息,第一询问消息所封装的标识报文中,还携带有入端口对应链路的链路属性信息。
进一步地,入端口对应链路的链路属性信息可以为第二SDN控制器管辖的设备,在将标识报文封装为第二询问消息之前,在该标识报文中添加的。
S2903、解析封装消息中封装的标识报文。
S2904、当确定标识报文中携带有第一SDN控制器的标识时,根据标识报文中携带的出端口对应链路的链路属性信息,以及入端口对应链路的链路属性信息,确定出端口与入端口之间存在跨SDN域链路。
与图29相应的,图30为本发明实施例提供的一种链路发现方法,应用于作为跨SDN域链路发现的非发起方的第二SDN控制器侧,如图30所示,具体包括如下步骤:
S3001、第二SDN控制器接收管辖的设备发送的询问消息,其中,该询问消息用于询问转发设备接收到的标识报文的端口的端口信息,询问消息中封装有携带了第一SDN控制器标识的标识报文,且询问消息中封装的标识报文为设备通过入端口接收到的、携带有向入端口发送标识报文的设备的出端口对应链路的链路信息的标识报文,第二SDN控制器管辖的设备向第二SDN控制器发送的询问消息所封装的标识报文中,还携带有入端口对应链路的链路属性信息。
进一步地,第二SDN控制器管辖的设备在将接收到的封装有出端口对应链路的链路属性信息之后,将标识报文封装为询问消息之前,可以在标识报文中添加入端口对应链路的链路属性信息。
S3002、解析标识报文。
S3003、当确定标识报文未携带第二SDN控制器的标识时,将标识报文封装为封装消息,或者,将标识报文作为封装消息。
进一步地,本步骤中,当第二SDN控制器确定标识报文中未携带自身的标识时,需要构建指示消息,用于指示设备通过入端口沿接收到标识报文的链路发送指示消息中封装的消息,即封装消息,封装消息中需要封装标识报文,以便于接收到封装消息的SDN控制器能够通过标识报文中携带的标识确定该标识报文是否是自己构建的,或者直接将标识报文封装于指示消息中。
S3004、向设备发送封装有封装消息的指示消息,其中,指示消息用于指示设备通过入端口转发封装消息。
下面举例说明:
例5:如图31所示,第一SDN控制器3101管辖SW1和SW2,第二SDN控制器3102管辖SW3,SW1和SW2之间存在链路,SW2和SW3之间存在链路,第一SDN控制器3101和第二SDN控制器3102可以为任何连接关系,例如:第一SDN控制器3101和第二SDN控制器3102之间无连接、或者第一SDN控制器3101和第二SDN控制器3102为邻接SDN控制器、或者第一SDN控制器3101和第二SDN控制器3102与同一个父SDN控制器连接。如图32所示,具体步骤包括:
S3201、第一SDN控制器3101向自身管辖的SW2发送第一指示消息,该第一指示消息中封装有与该第一指示消息具有对应关系的、携带有第一SDN控制器3101标识的标识报文,且该第一指示消息用于指示SW2通过指定的P1端口发送该标识报文。
进一步地,本步骤中,第一指示消息可以为Openflow协议中的Packet-out消息,标识报文可以为LLDP报文,该LLDP报文中携带有第一SDN控制器3101的配置信息,例如:第一SDN控制器3101的主要能力、管理地址、设备标识、接口标识等信息。
S3202、SW2接收到第一指示消息,将第一指示消息中封装的标识报文通过出端口P1发送给与出端口P1具有连通的链路的SW3的入端口P2。
S3203、SW3通过入端口P2接收到标识报文,将标识报文封装成第一询问消息,该第一询问消息用于向管辖SW3的第二SDN控制器3102询问转发该标识报文的端口的端口信息,且该第一询问消息中携带有入端口P2的信息。
本步骤中,第一询问消息可以为Openflow协议中的Packet-in消息。
S3204、第二SDN控制器3102接收到SW3发送的第一询问消息,解析该第一询问消息,确定第一询问消息中封装的标识报文未携带自身的标识。
S3205、将标识报文和入端口信息封装成封装消息,并将封装消息封装为第二指示消息,向SW3发送该第二指示消息,该第二指示消息用于指示SW3通过入端口P2发送该第二指示消息封装的封装消息。
本步骤中,第二指示消息可以为Openflow协议中的Packet-out消息。
S3206、SW3接收到第二指示消息,将第二指示消息中封装的封装消息通过入端口P2发送给与入端口P2具有连通的链路的SW2的出端口P1。
S3207、SW2通过出端口P1接收到封装消息,将封装消息封装成第二询问消息,该第二询问消息用于向管辖SW2的第一SDN控制器3101询问转发该封装消息的端口的端口信息。
本步骤中,该第二询问消息中还可以携带接收到封装消息的出端口P1的信息。
本步骤中,第二询问消息可以为Openflow协议中的Packet-in消息。
S3208、第一SDN控制器3101接收到第二询问消息,解析第二询问消息中封装的封装消息之后,并确定第二询问消息中封装的封装消息中携带的标识报文中携带有自身的标识,根据封装消息中封装的标识报文,确定与标识报文具有对应关系的第一指示消息,并确定第一指示消息中指定的出端口与封装消息中携带的入端口之间存在跨SDN域链路。
例6:继续以图31为例,具体步骤如图33所示,包括:
S3301、第一SDN控制器3101向自身管辖的SW2发送第一指示消息,该第一指示消息中封装了携带有第一SDN控制器3101标识的标识报文,且该第一指示消息用于指示SW2通过指定的P1端口发送该标识报文。
S3302、SW2接收到第一指示消息,将出端口P1对应链路的链路属性信息添加到标识报文中,并将第一指示消息中封装的标识报文通过出端口P1发送给与出端口P1具有连通的链路的SW3的入端口P2。
S3303、SW3通过入端口P2接收到标识报文,将入端口P2对应链路的链路属性信息添加到该标识报文中,并将标识报文封装成第一询问消息,该第一询问消息用于向管辖SW3的第二SDN控制器3102询问转发该标识报文的端口的端口信息。
S3304、第二SDN控制器3102接收到SW3发送的第一询问消息,解析该第一询问消息,确定第一询问消息中封装的标识报文未携带自身的标识。
S3305、将标识报文封装为第二指示消息,向SW3发送该第二指示消息,该第二指示消息用于指示SW3通过入端口P2发送该第二指示消息封装的标识报文。
S3306、SW3接收到第二指示消息,将第二指示消息中封装的标识报文通过入端口P2发送给与入端口P2具有连通的链路的SW2的出端口P1。
S3307、SW2通过出端口P1接收到标识报文,将标识报文封装成第二询问消息,该第二询问消息用于向管辖SW2的第一SDN控制器3101询问转发该标识报文的端口的端口信息。
本步骤中,该第二询问消息中还可以携带接收到标识报文的出端口P1的信息。
S3308、第一SDN控制器3101接收到第二询问消息,解析第二询问消息中封装的标识报文之后,并确定第二询问消息中封装的标识报文中携带有自身的标识,根据标识报文中携带的出端口对应链路的链路属性信息,以及入端口对应链路的链路属性信息,确定出端口与入端口之间存在跨SDN域链路。
图34为本发明实施例提供的一种链路发现方法,如图34所示,具体包括如下步骤:
S3401、第一设备向第二设备发送用于探测第一设备和第二设备之间是否存在链路的链路探测消息。
本步骤中,链路探测消息中也可以携带设备发送该链路探测消息的出端口信息,以及该第一设备所属SDN域的域标识,以便第二设备发现与自身存在链路的设备。
进一步地,本步骤中,链路探测消息可以为链路管理协议(LMP,Link ManagementProtocol)中的test消息。
S3402、接收第二设备发送的链路探测回应消息,其中,链路探测回应消息中携带有第二设备所属SDN域的域标识信息。
进一步地,本步骤中,当探测成功时,链路探测回应消息可以为LMP协议中的TestStatusSuccess消息。
S3403、当第一设备所属SDN域的域标识,与第二设备所属SDN域的域标识不同时,向第二设备发送用于探测入端口对应链路的链路属性的链路属性探测消息。
进一步地,本步骤中,由于第一设备和第二设备所属的SDN域不同,因此,出端口和入端口对应链路的链路属性可能不同,在探测到出端口和入端口之间能够连通之后,还要确定出端口和入端口之间存在能够进行正常通信的链路,因此需要出端口和入端口的进行一致性验证。
进一步地,本步骤中,链路属性探测消息可以为LMP协议中的LinkSummary报文。
S3404、接收第二设备发送的链路属性探测回应消息,其中,链路属性探测回应消息中携带有入端口对应链路的链路属性。
进一步地,如果一致性验证成功,则链路属性探测回应消息可以为LMP协议中的LinkSummaryAck报文,
S3405、向管辖第一设备的SDN控制器上报跨SDN域链路。
进一步地,如果SDN控制器存在父SDN控制器,并且由该父SDN控制器对其管辖的各子SDN域之间的跨SDN域的链路进行管理,则在本步骤之后,SDN控制器向父SDN控制器上报该跨SDN域链路。
基于同一发明构思,本发明实施例还提供了SDN控制器、设备,由于这些SDN控制器和设备所解决问题的原理与前述链路发现方法相似,因此该SDN控制器和设备的实施可以参见前述方法的实施,重复之处不再赘述。
本发明实施例提供的一种SDN控制器,如图35所示,包括如下模块:
接收模块3501,用于接收管辖的第一设备发送的询问消息,其中,所述询问消息用于询问转发所述第一设备接收到的标识报文的端口的端口信息,所述询问消息中封装有携带了其他SDN控制器标识的标识报文;
解析模块3502,用于解析所述接收模块3501接收的询问消息中封装的所述标识报文;
发送模块3503,用于当根据所述解析模块3502的解析结果,确定所述标识报文未携带所述SDN控制器的标识时,向与所述SDN控制器连通的链路,发送根据所述询问消息确定的、封装有所述标识报文的封装消息;其中,所述封装消息用于所述其他SDN控制器接收到所述封装消息时,根据所述封装消息中封装的所述标识报文,确定向所述第一设备发送所述标识报文的第二设备与所述第一设备之间存在跨SDN域链路。
进一步地,在所述其他SDN控制器为所述SDN控制器的父SDN控制器时,所述发送模块3503具体用于向所述SDN控制器的父SDN控制器转发所述询问消息。
进一步地,所述发送模块3503具体用于向所述SDN控制器的所有邻接SDN控制器,转发所述询问消息,其中,所述SDN控制器的邻接SDN控制器为与所述SDN控制器存在连通的物理链路的SDN控制器,或者,与所述SDN控制器存在通信机制的SDN控制器,或者,为所述SDN控制器配置的SDN控制器;或者
所述发送模块3503具体用于当所述标识报文中携带有所述其他SDN控制器所管辖的SDN域的域标识,根据解析出的所述标识报文中携带的所述其他SDN控制器所管辖的SDN域的域标识,向所述其他SDN控制器转发所述询问消息。
进一步地,所述发送模块3503具体用于向所述第一设备发送封装有封装消息的指示消息,其中,所述指示消息用于指示所述设备转发所述封装消息。
进一步地,所述接收模块3501接收的所述询问消息中封装的所述标识报文,为所述第一设备通过入端口接收到的,且所述询问消息中还携带有所述入端口的端口信息;所述发送模块3503发送的所述指示消息具体用于指示所述设备通过所述入端口转发所述封装消息;
所述发送模块3503,还用于在向所述第一设备发送封装有所述封装消息的指示消息之前,将所述标识报文和所述入端口的端口信息封装为所述封装消息。
进一步地,所述接收模块3501接收的所述询问消息中封装的所述标识报文为所述第一设备通过入端口接收到的、携带有所述第二设备的出端口对应链路的链路信息的标识报文;所述第一设备向所述第一SDN控制器发送的所述询问消息所封装的标识报文中,还携带有所述入端口对应链路的链路属性信息;所述发送模块3503发送的所述指示消息具体用于指示所述第一设备通过所述入端口转发所述封装消息;
所述发送模块3503,还用于在向所述第一设备发送封装有所述封装消息的指示消息之前,将携带有所述入端口对应链路的链路属性信息的标识报文封装为封装消息,或者,将携带有所述入端口对应链路的链路属性信息的标识报文作为封装消息。
本发明实施例提供的一种父SDN控制器,如图36所示,包括如下模块:
发送模块3601,用于向第一子软件定义网络SDN控制器发送封装有携带了所述父SDN控制器标识的标识报文的指示消息,其中,所述指示消息用于指示所述第一子SDN控制器通过管辖的指定设备转发所述标识报文;
接收模块3602,用于接收第二子SDN控制器转发的询问消息,其中,所述询问消息为所述第二子SDN控制器管辖的设备,接收到所述指定设备发送所述标识报文之后,将所述标识报文封装为用于向所述第二子SDN控制器询问转发所述标识报文的端口的端口信息的询问消息;
解析模块3603,用于解析所述接收模块3602接收的所述询问消息中封装的标识报文;
确定模块3604,用于当根据所述解析模块3603的解析结果,确定所述标识报文携带有所述父SDN控制器的标识时,根据所述标识报文,确定接收所述发送模块3601发送的所述指示消息的所述指定设备与所述第二子SDN控制器管辖的设备之间存在跨SDN域链路。
进一步地,所述发送模块3601发送的所述指示消息具体用于指示所述指定设备,通过指定出端口发送所述标识报文,且所述标识报文有与所述指示消息具有对应关系;
所述接收模块3602接收的所述询问消息具体为所述第二子SDN控制器管辖的设备通过入端口接收到所述指定设备通过所述出端口发送的所述标识报文之后,将所述标识报文封装为携带有所述入端口的端口信息的、用于向所述第二子SDN控制器询问转发所述标识报文的端口的端口信息的询问消息;
所述确定模块3604,具体用于根据所述标识报文,确定与所述标识报文具有对应关系的指示消息;确定所述指示消息中指定的所述出端口与所述询问消息中携带的所述入端口之间存在跨SDN域链路。
进一步地,所述发送模块3601发送的所述指示消息具体用于指示所述指定设备通过指定出端口发送所述标识报文;且所述指定设备通过所述出端口发送的标识报文中,携带有所述出端口对应链路的链路属性信息;
所述第二子SDN控制器管辖的设备向所述第二子SDN控制器发送的所述询问消息所封装的标识报文中,还携带有所述入端口对应链路的链路属性信息;
所述确定模块3604,具体用于根据所述标识报文中携带的所述出端口对应链路的链路属性信息,以及所述入端口对应链路的链路属性信息,确定所述出端口与所述入端口之间存在跨SDN域链路。
进一步地,所述接收模块3602,还用于在父SDN控制器向第一子SDN控制器发送指示消息之前,接收所述第一子SDN控制器上报的端口信息,其中,所述端口信息表征的端口为从所述第一子SDN控制器管辖的各设备的各端口中确定的、未与所述各端口中的任一端口构成链路的端口;
所述确定模块3604,还用于将所述接收模块3602接收的上报端口确定为指定出端口,并将所述上报端口所属的设备确定为指定设备。
本发明实施例提供的一种SDN控制器,如图37所示,包括如下模块:
发送模块3701,用于向管辖的指定设备发送封装有携带了所述SDN控制器标识的标识报文的指示消息,其中,所述指示消息用于指示所述指定设备转发所述标识报文;
接收模块3702,用于接收封装有所述标识报文的封装消息,其中,所述封装消息为根据其他SDN控制器管辖的设备,接收到所述指定设备发送的标识报文之后,将所述标识报文封装为用于向所述其他SDN控制器询问转发所述标识报文的端口的端口信息的第一询问消息确定的;
解析模块3703,用于解析所述接收模块3702接收的所述封装消息中封装的标识报文;
确定模块3704,用于当所述解析模块3703确定所述标识报文中携带有所述SDN控制器的标识时,根据所述标识报文,确定接收所述发送模块3701发送的所述指示消息的所述指定设备与所述其他SDN控制器管辖的设备之间存在跨SDN域链路。
进一步地,所述其他SDN控制器为所述SDN控制器的邻接SDN控制器,其中,所述SDN控制器的邻接SDN控制器为与所述SDN控制器存在连通的物理链路的SDN控制器,或者,与所述SDN控制器存在通信机制的SDN控制器,或者,为所述SDN控制器配置的SDN控制器;
所述接收模块3702,具体用于接收所述其他SDN控制器转发的封装消息,其中,所述封装消息为所述其他SDN控制器管辖的设备,接收到所述指定设备发送的标识报文之后,将所述标识报文封装为用于向所述其他SDN控制器询问转发所述标识报文的端口的端口信息的第一询问消息。
进一步地,所述发送模块3701发送的所述指示消息具体用于指示所述指定设备,通过指定出端口发送所述标识报文,且所述标识报文与所述指示消息具有对应关系;
所述接收模块3702接收的所述封装消息具体为所述其他SDN控制器管辖的设备通过入端口接收到所述指定设备通过所述出端口发送的所述标识报文之后,将所述标识报文封装为携带有所述入端口信息的、用于向所述其他SDN控制器询问转发所述标识报文的端口的端口信息的第一询问消息;
所述确定模块3704,具体用于根据所述标识报文,确定与所述标识报文具有对应关系的指示消息;确定所述指示消息中指定的所述出端口与所述封装消息中携带的所述入端口之间存在跨SDN域链路。
进一步地,所述接收模块3702,具体用于接收所述指定设备发送的封装有所述封装消息的第二询问消息,其中,所述第二询问消息用于询问转发所述封装消息的端口的端口信息,所述封装消息为所述其他SDN控制器管辖的设备,接收到所述指定设备发送的标识报文之后,再将所述标识报文封装为用于向所述其他SDN控制器询问转发所述标识报文的端口的端口信息的第一询问消息之后,所述其他SDN控制器根据所述第一询问消息,封装的携带有所述标识报文的封装消息。
进一步地,所述发送模块3701发送的所述指示消息具体用于指示所述指定设备,通过指定出端口发送所述标识报文,且所述标识报文有与所述指示消息具有对应关系;
所述接收模块3702接收的所述封装消息具体为所述其他SDN控制器管辖的设备通过入端口接收到所述指定设备通过所述出端口发送的所述标识报文之后,再将所述标识报文封装为携带有所述入端口信息的、用于向所述其他SDN控制器询问转发所述标识报文的端口的端口信息的第一询问消息之后,所述其他SDN控制器根据所述第一询问消息,封装的携带有所述标识报文和所述入端口的端口信息的封装消息;
所述确定模块3704,具体用于根据所述标识报文,确定与所述标识报文具有对应关系的指示消息;确定所述指示消息中指定的所述出端口与所述第二询问消息中封装的所述封装消息中携带的所述入端口之间存在跨SDN域链路。
进一步地,所述发送模块3701发送的所述指示消息具体用于指示所述指定设备,通过指定出端口发送所述标识报文;且所述指定设备通过所述出端口发送的标识报文中,携带有所述出端口对应链路的链路属性信息;
所述其他SDN控制器管辖的设备向所述其他SDN控制器发送的所述第一询问消息所封装的标识报文中,还携带有所述入端口对应链路的链路属性信息;
所述确定模块3704,具体用于根据所述标识报文中携带的所述出端口对应链路的链路属性信息,以及所述入端口对应链路的链路属性信息,确定所述出端口与所述入端口之间存在跨SDN域链路。
本发明实施例提供了一种设备,如图38所示,包括如下模块:
发送模块3801,用于向其他设备发送用于探测所述设备和所述其他设备之间是否存在链路的链路探测消息;
接收模块3802,用于接收所述其他设备在接收到所述发送模块3801发送的所述链路探测消息之后,发送的链路探测回应消息,其中,所述链路探测回应消息中携带有所述其他设备所属SDN域的域标识信息;
确定模块3803,用于当所述设备所属SDN域的域标识,与所述其他设备所属SDN域的域标识不同时,确定所述设备与所述其他设备之间存在跨SDN域的链路。
进一步地,所述接收模块3802接收的所述链路探测回应消息中还携带有所述其他设备接收所述链路探测消息的入端口信息;
所述确定模块3803,具体用于确定所述设备发送所述链路探测消息的出端口与所述入端口之间存在跨域链路。
进一步地,所述发送模块3801,还用于在所述确定模块3803确定所述设备发送所述链路探测消息的出端口与所述入端口之间存在跨域链路之后,向所述其他设备发送用于探测所述入端口对应链路的链路属性的链路属性探测消息;
所述接收模块3802,还用于在所述发送模块3801发送所述链路属性探测消息之后,接收所述其他设备发送的链路属性探测回应消息,其中,所述链路属性探测回应消息中携带有所述入端口对应链路的链路属性。
进一步地,所述发送模块3801,还用于当所述确定模块3803确定所述设备与所述其他设备之间存在跨SDN域的链路之后,向管辖所述设备的SDN控制器上报所述跨SDN域链路的信息。
进一步地,如图35所示的SDN控制器可以作为跨SDN域链路发现的非发起端,如图36所示的父SDN控制器可以作为跨SDN域链路发现的发起端,如图37所示的SDN控制器可以作为跨SDN域链路发现的发起端,如图38所示的设备可以作为跨SDN域链路发现的发起端,由于在跨SDN域链路的发现过程中,需要多个SDN控制器以及设备相互合作,因此,本发明实施例提供的SDN控制器还可以构成跨SDN域链路发现系统,该系统可以包括如图35所示的SDN控制器和如图36所示的父SDN控制器,或者该系统可以包括如图35所示的SDN控制器和如图37所示的SDN控制器,或者该系统可以包括多个如图38所示的设备。
上述各单元的功能可对应于图2至图10、图12、图14至图21、图23至图30、图32至图34所示流程中的相应处理步骤,在此不再赘述。
本发明实施例提供的一种SDN控制器,如图39所示,包括如下部分:
接收器3901,用于接收管辖的第一设备发送的询问消息,其中,所述询问消息用于询问转发所述第一设备接收到的标识报文的端口的端口信息,所述询问消息中封装有携带了其他SDN控制器标识的标识报文;
处理器3902,用于解析所述接收器3901接收的询问消息中封装的所述标识报文;
发送器3903,用于当根据所述处理器3902的解析结果,确定所述标识报文未携带所述SDN控制器的标识时,向与所述SDN控制器连通的链路,发送根据所述询问消息确定的、封装有所述标识报文的封装消息;其中,所述封装消息用于所述其他SDN控制器接收到所述封装消息时,根据所述封装消息中封装的所述标识报文,确定向所述第一设备发送所述标识报文的第二设备与所述第一设备之间存在跨SDN域链路。
进一步地,在所述其他SDN控制器为所述SDN控制器的父SDN控制器时,所述发送器3903具体用于向所述SDN控制器的父SDN控制器转发所述询问消息。
进一步地,所述发送器3903具体用于向所述SDN控制器的所有邻接SDN控制器,转发所述询问消息,其中,所述SDN控制器的邻接SDN控制器为与所述SDN控制器存在连通的物理链路的SDN控制器,或者,与所述SDN控制器存在通信机制的SDN控制器,或者,为所述SDN控制器配置的SDN控制器;或者
所述发送器3903具体用于当所述标识报文中携带有所述其他SDN控制器所管辖的SDN域的域标识,根据解析出的所述标识报文中携带的所述其他SDN控制器所管辖的SDN域的域标识,向所述其他SDN控制器转发所述询问消息。
进一步地,所述发送器3903具体用于向所述第一设备发送封装有封装消息的指示消息,其中,所述指示消息用于指示所述设备转发所述封装消息。
进一步地,所述接收器3901接收的所述询问消息中封装的所述标识报文,为所述第一设备通过入端口接收到的,且所述询问消息中还携带有所述入端口的端口信息;所述发送器3903发送的所述指示消息具体用于指示所述设备通过所述入端口转发所述封装消息;
所述发送器3903,还用于在向所述第一设备发送封装有所述封装消息的指示消息之前,将所述标识报文和所述入端口的端口信息封装为所述封装消息。
进一步地,所述接收器3901接收的所述询问消息中封装的所述标识报文为所述第一设备通过入端口接收到的、携带有所述第二设备的出端口对应链路的链路信息的标识报文;所述第一设备向所述第一SDN控制器发送的所述询问消息所封装的标识报文中,还携带有所述入端口对应链路的链路属性信息;所述发送器3903发送的所述指示消息具体用于指示所述第一设备通过所述入端口转发所述封装消息;
所述发送器3903,还用于在向所述第一设备发送封装有所述封装消息的指示消息之前,将携带有所述入端口对应链路的链路属性信息的标识报文封装为封装消息,或者,将携带有所述入端口对应链路的链路属性信息的标识报文作为封装消息。
本发明实施例提供的一种父SDN控制器,如图40所示,包括如下部分:
发送器4001,用于向第一子软件定义网络SDN控制器发送封装有携带了所述父SDN控制器标识的标识报文的指示消息,其中,所述指示消息用于指示所述第一子SDN控制器通过管辖的指定设备转发所述标识报文;
接收器4002,用于接收第二子SDN控制器转发的询问消息,其中,所述询问消息为所述第二子SDN控制器管辖的设备,接收到所述指定设备发送所述标识报文之后,将所述标识报文封装为用于向所述第二子SDN控制器询问转发所述标识报文的端口的端口信息的询问消息;
解析器4003,用于解析所述接收器4002接收的所述询问消息中封装的标识报文;
处理器4004,用于当根据所述解析器4003的解析结果,确定所述标识报文携带有所述父SDN控制器的标识时,根据所述标识报文,确定接收所述发送器4001发送的所述指示消息的所述指定设备与所述第二子SDN控制器管辖的设备之间存在跨SDN域链路。
进一步地,所述发送器4001发送的所述指示消息具体用于指示所述指定设备,通过指定出端口发送所述标识报文,且所述标识报文有与所述指示消息具有对应关系;
所述接收器4002接收的所述询问消息具体为所述第二子SDN控制器管辖的设备通过入端口接收到所述指定设备通过所述出端口发送的所述标识报文之后,将所述标识报文封装为携带有所述入端口的端口信息的、用于向所述第二子SDN控制器询问转发所述标识报文的端口的端口信息的询问消息;
所述处理器4004,具体用于根据所述标识报文,确定与所述标识报文具有对应关系的指示消息;确定所述指示消息中指定的所述出端口与所述询问消息中携带的所述入端口之间存在跨SDN域链路。
进一步地,所述发送器4001发送的所述指示消息具体用于指示所述指定设备通过指定出端口发送所述标识报文;且所述指定设备通过所述出端口发送的标识报文中,携带有所述出端口对应链路的链路属性信息;
所述第二子SDN控制器管辖的设备向所述第二子SDN控制器发送的所述询问消息所封装的标识报文中,还携带有所述入端口对应链路的链路属性信息;
所述处理器4004,具体用于根据所述标识报文中携带的所述出端口对应链路的链路属性信息,以及所述入端口对应链路的链路属性信息,确定所述出端口与所述入端口之间存在跨SDN域链路。
进一步地,所述接收器4002,还用于在父SDN控制器向第一子SDN控制器发送指示消息之前,接收所述第一子SDN控制器上报的端口信息,其中,所述端口信息表征的端口为从所述第一子SDN控制器管辖的各设备的各端口中确定的、未与所述各端口中的任一端口构成链路的端口;
所述处理器4004,还用于将所述接收器4002接收的上报端口确定为指定出端口,并将所述上报端口所属的设备确定为指定设备。
本发明实施例提供的一种SDN控制器,如图41所示,包括如下部分:
发送器4101,用于向管辖的指定设备发送封装有携带了所述SDN控制器标识的标识报文的指示消息,其中,所述指示消息用于指示所述指定设备转发所述标识报文;
接收器4102,用于接收封装有所述标识报文的封装消息,其中,所述封装消息为根据其他SDN控制器管辖的设备,接收到所述指定设备发送的标识报文之后,将所述标识报文封装为用于向所述其他SDN控制器询问转发所述标识报文的端口的端口信息的第一询问消息确定的;
解析器4103,用于解析所述接收器4102接收的所述封装消息中封装的标识报文;
处理器4104,用于当所述解析器4103确定所述标识报文中携带有所述SDN控制器的标识时,根据所述标识报文,确定接收所述发送器4101发送的所述指示消息的所述指定设备与所述其他SDN控制器管辖的设备之间存在跨SDN域链路。
进一步地,所述其他SDN控制器为所述SDN控制器的邻接SDN控制器,其中,所述SDN控制器的邻接SDN控制器为与所述SDN控制器存在连通的物理链路的SDN控制器,或者,与所述SDN控制器存在通信机制的SDN控制器,或者,为所述SDN控制器配置的SDN控制器;
所述接收器4102,具体用于接收所述其他SDN控制器转发的封装消息,其中,所述封装消息为所述其他SDN控制器管辖的设备,接收到所述指定设备发送的标识报文之后,将所述标识报文封装为用于向所述其他SDN控制器询问转发所述标识报文的端口的端口信息的第一询问消息。
进一步地,所述发送器4101发送的所述指示消息具体用于指示所述指定设备,通过指定出端口发送所述标识报文,且所述标识报文与所述指示消息具有对应关系;
所述接收器4102接收的所述封装消息具体为所述其他SDN控制器管辖的设备通过入端口接收到所述指定设备通过所述出端口发送的所述标识报文之后,将所述标识报文封装为携带有所述入端口信息的、用于向所述其他SDN控制器询问转发所述标识报文的端口的端口信息的第一询问消息;
所述处理器4104,具体用于根据所述标识报文,确定与所述标识报文具有对应关系的指示消息;确定所述指示消息中指定的所述出端口与所述封装消息中携带的所述入端口之间存在跨SDN域链路。
进一步地,所述接收器4102,具体用于接收所述指定设备发送的封装有所述封装消息的第二询问消息,其中,所述第二询问消息用于询问转发所述封装消息的端口的端口信息,所述封装消息为所述其他SDN控制器管辖的设备,接收到所述指定设备发送的标识报文之后,再将所述标识报文封装为用于向所述其他SDN控制器询问转发所述标识报文的端口的端口信息的第一询问消息之后,所述其他SDN控制器根据所述第一询问消息,封装的携带有所述标识报文的封装消息。
进一步地,所述发送器4101发送的所述指示消息具体用于指示所述指定设备,通过指定出端口发送所述标识报文,且所述标识报文有与所述指示消息具有对应关系;
所述接收器4102接收的所述封装消息具体为所述其他SDN控制器管辖的设备通过入端口接收到所述指定设备通过所述出端口发送的所述标识报文之后,再将所述标识报文封装为携带有所述入端口信息的、用于向所述其他SDN控制器询问转发所述标识报文的端口的端口信息的第一询问消息之后,所述其他SDN控制器根据所述第一询问消息,封装的携带有所述标识报文和所述入端口的端口信息的封装消息;
所述处理器4104,具体用于根据所述标识报文,确定与所述标识报文具有对应关系的指示消息;确定所述指示消息中指定的所述出端口与所述第二询问消息中封装的所述封装消息中携带的所述入端口之间存在跨SDN域链路。
进一步地,所述发送器4101发送的所述指示消息具体用于指示所述指定设备,通过指定出端口发送所述标识报文;且所述指定设备通过所述出端口发送的标识报文中,携带有所述出端口对应链路的链路属性信息;
所述其他SDN控制器管辖的设备向所述其他SDN控制器发送的所述第一询问消息所封装的标识报文中,还携带有所述入端口对应链路的链路属性信息;
所述处理器4104,具体用于根据所述标识报文中携带的所述出端口对应链路的链路属性信息,以及所述入端口对应链路的链路属性信息,确定所述出端口与所述入端口之间存在跨SDN域链路。
本发明实施例提供了一种设备,如图42所示,包括如下部分:
发送器4201,用于向其他设备发送用于探测所述设备和所述其他设备之间是否存在链路的链路探测消息;
接收器4202,用于接收所述其他设备在接收到所述发送器4201发送的所述链路探测消息之后,发送的链路探测回应消息,其中,所述链路探测回应消息中携带有所述其他设备所属SDN域的域标识信息;
处理器4203,用于当所述设备所属SDN域的域标识,与所述其他设备所属SDN域的域标识不同时,确定所述设备与所述其他设备之间存在跨SDN域的链路。
进一步地,所述接收器4202接收的所述链路探测回应消息中还携带有所述其他设备接收所述链路探测消息的入端口信息;
所述处理器4203,具体用于确定所述设备发送所述链路探测消息的出端口与所述入端口之间存在跨域链路。
进一步地,所述发送器4201,还用于在所述处理器4203确定所述设备发送所述链路探测消息的出端口与所述入端口之间存在跨域链路之后,向所述其他设备发送用于探测所述入端口对应链路的链路属性的链路属性探测消息;
所述接收器4202,还用于在所述发送器4201发送所述链路属性探测消息之后,接收所述其他设备发送的链路属性探测回应消息,其中,所述链路属性探测回应消息中携带有所述入端口对应链路的链路属性。
进一步地,所述发送器4201,还用于当所述处理器4203确定所述设备与所述其他设备之间存在跨SDN域的链路之后,向管辖所述设备的SDN控制器上报所述跨SDN域链路的信息。
进一步地,如图39所示的SDN控制器可以作为跨SDN域链路发现的非发起端,如图40所示的父SDN控制器可以作为跨SDN域链路发现的发起端,如图41所示的SDN控制器可以作为跨SDN域链路发现的发起端,如图42所示的设备可以作为跨SDN域链路发现的发起端,由于在跨SDN域链路的发现过程中,需要多个SDN控制器以及设备相互合作,因此,本发明实施例提供的SDN控制器还可以构成跨SDN域链路发现系统,该系统可以包括如图39所示的SDN控制器和如图40所示的父SDN控制器,或者该系统可以包括如图39所示的SDN控制器和如图41所示的SDN控制器,或者该系统可以包括多个如图42所示的设备。
上述各单元的功能可对应于图2至图10、图12、图14至图21、图23至图30、图32至图34所示流程中的相应处理步骤,在此不再赘述。
本发明实施例提供的一种链路发现方法、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域的域标识不同时,确定第一设备所属SDN域与第二设备所属SDN域之间存在跨SDN域的链路。通过SDN控制器管辖的设备,发起对归属于其他SDN域的设备进行探测,从而确定存在链路的设备分别归属的SDN域之间存在链路,解决了现有技术中无法发现跨SDN域链路的问题。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (36)
1.一种链路发现方法,其特征在于,包括:
第一软件定义网络SDN控制器接收管辖的第一设备发送的询问消息,其中,所述询问消息用于询问转发所述第一设备接收到的标识报文的端口的端口信息,所述询问消息中封装有携带了第二SDN控制器标识的标识报文;
解析所述询问消息中封装的标识报文;
当确定所述询问消息中封装的标识报文未携带所述第一SDN控制器的标识时,向与所述第一SDN控制器连通的链路,发送根据所述询问消息确定的、封装有所述询问消息中封装的标识报文的封装消息;
其中,所述封装消息用于所述第二SDN控制器接收到所述封装消息时,根据所述封装消息中封装的所述询问消息中封装的标识报文,确定向所述第一设备发送所述第一设备接收到的标识报文的第二设备与所述第一设备之间存在跨SDN域链路。
2.如权利要求1所述的方法,其特征在于,在所述第二SDN控制器为所述第一SDN控制器的父SDN控制器时,向与所述第一SDN控制器连通的链路,发送根据所述询问消息确定的、封装有所述标识报文的封装消息,具体包括:
向所述第一SDN控制器的父SDN控制器转发所述询问消息。
3.如权利要求1所述的方法,其特征在于,向与所述第一SDN控制器连通的链路,发送根据所述询问消息确定的、封装有所述标识报文的封装消息,具体包括:
向所述第一SDN控制器的所有邻接SDN控制器,转发所述询问消息,其中,所述第一SDN控制器的邻接SDN控制器为与所述第一SDN控制器存在连通的物理链路的SDN控制器,或者,与所述第一SDN控制器存在通信机制的SDN控制器,或者,为所述第一SDN控制器配置的SDN控制器;或者
所述标识报文中携带有所述第二SDN控制器所管辖的SDN域的域标识;
向与所述第一SDN控制器连通的链路,发送根据所述询问消息确定的、封装有所述标识报文的封装消息,具体包括:
根据解析出的所述标识报文中携带的所述第二SDN控制器所管辖的SDN域的域标识,向所述第二SDN控制器转发所述询问消息。
4.如权利要求2或3所述的方法,其特征在于,所述询问消息中封装的所述标识报文为所述第一设备通过入端口接收到的,且所述询问消息中还携带有所述入端口的端口信息。
5.如权利要求2或3所述的方法,其特征在于,所述询问消息中封装的所述标识报文,为所述第一设备通过入端口接收到的、携带有所述第二设备的出端口对应链路的链路信息的标识报文;
所述第一设备向所述第一SDN控制器发送的所述询问消息所封装的标识报文中,还携带有所述入端口对应链路的链路属性信息。
6.如权利要求1所述的方法,其特征在于,向与所述第一SDN控制器连通的链路,发送根据所述询问消息确定的、封装有所述标识报文的封装消息,具体包括:
向所述第一设备发送封装有封装消息的指示消息,其中,所述指示消息用于指示所述设备转发所述封装消息。
7.如权利要求6所述的方法,其特征在于,所述询问消息中封装的所述标识报文,为所述第一设备通过入端口接收到的,且所述询问消息中还携带有所述入端口的端口信息;所述指示消息具体用于指示所述设备通过所述入端口转发所述封装消息;
在向所述第一设备发送封装有所述封装消息的指示消息之前,还包括:
将所述标识报文和所述入端口的端口信息封装为所述封装消息。
8.如权利要求6所述的方法,其特征在于,所述询问消息中封装的所述标识报文为所述第一设备通过入端口接收到的、携带有所述第二设备的出端口对应链路的链路信息的标识报文;所述第一设备向所述第一SDN控制器发送的所述询问消息所封装的标识报文中,还携带有所述入端口对应链路的链路属性信息;所述指示消息具体用于指示所述第一设备通过所述入端口转发所述封装消息;
在向所述第一设备发送封装有所述封装消息的指示消息之前,还包括:
将携带有所述入端口对应链路的链路属性信息的标识报文封装为封装消息,或者,将携带有所述入端口对应链路的链路属性信息的标识报文作为封装消息。
9.一种链路发现方法,其特征在于,包括:
父软件定义网络SDN控制器向第一子SDN控制器发送封装有携带了所述父SDN控制器标识的标识报文的指示消息,其中,所述指示消息用于指示所述第一子SDN控制器通过管辖的指定设备转发所述标识报文;
接收第二子SDN控制器转发的询问消息,其中,所述询问消息为所述第二子SDN控制器管辖的设备,接收到所述指定设备发送所述标识报文之后,将所述标识报文封装为用于向所述第二子SDN控制器询问转发所述标识报文的端口的端口信息的询问消息;
解析所述询问消息中封装的标识报文;
当确定所述标识报文携带有所述父SDN控制器的标识时,根据所述标识报文,确定所述指定设备与所述第二子SDN控制器管辖的设备之间存在跨SDN域链路。
10.如权利要求9所述的方法,其特征在于,所述指示消息具体用于指示所述指定设备,通过指定出端口发送所述标识报文,且所述标识报文有与所述指示消息具有对应关系;
所述询问消息具体为所述第二子SDN控制器管辖的设备通过入端口接收到所述指定设备通过所述出端口发送的所述标识报文之后,将所述标识报文封装为携带有所述入端口的端口信息的、用于向所述第二子SDN控制器询问转发所述标识报文的端口的端口信息的询问消息;
根据所述标识报文,确定所述指定设备与所述第二子SDN控制器管辖的设备之间存在跨SDN域链路,具体包括:
根据所述标识报文,确定与所述标识报文具有对应关系的指示消息;
确定所述指示消息中指定的所述出端口与所述询问消息中携带的所述入端口之间存在跨SDN域链路。
11.如权利要求9所述的方法,其特征在于,所述指示消息具体用于指示所述指定设备通过指定出端口发送所述标识报文;且所述指定设备通过所述出端口发送的标识报文中,携带有所述出端口对应链路的链路属性信息;
所述第二子SDN控制器管辖的设备向所述第二子SDN控制器发送的所述询问消息所封装的标识报文中,还携带有所述第二子SDN控制器所管辖的设备接收所述标识报文的入端口对应链路的链路属性信息;
根据所述标识报文,确定所述指定设备与所述第二子SDN控制器管辖的设备之间存在跨SDN域链路,具体包括:
根据所述标识报文中携带的所述出端口对应链路的链路属性信息,以及所述入端口对应链路的链路属性信息,确定所述出端口与所述入端口之间存在跨SDN域链路。
12.如权利要求10或11所述的方法,其特征在于,在父SDN控制器向第一子SDN控制器发送指示消息之前,还包括:
父SDN控制器接收所述第一子SDN控制器上报的端口信息,其中,所述端口信息表征的端口为从所述第一子SDN控制器管辖的各设备的各端口中确定的、未与所述各端口中的任一端口构成链路的端口;
将上报端口确定为指定出端口,并将所述上报端口所属的设备确定为指定设备。
13.如权利要求10或11所述的方法,其特征在于,所述标识报文为链路层发现协议LLDP报文,所述指示消息为数据包-出packet-out消息,所述询问消息为数据包-入packet-in消息。
14.一种链路发现方法,其特征在于,包括:
第一软件定义网络SDN控制器向管辖的指定设备发送封装有携带了所述第一SDN控制器标识的标识报文的指示消息,其中,所述指示消息用于指示所述指定设备转发所述标识报文;
接收封装有所述标识报文的封装消息,其中,所述封装消息为根据第二SDN控制器管辖的设备,接收到所述指定设备发送的标识报文之后,将所述标识报文封装为用于向所述第二SDN控制器询问转发所述标识报文的端口的端口信息的第一询问消息确定的;
解析所述封装消息中封装的标识报文;
当确定所述标识报文中携带有所述第一SDN控制器的标识时,根据所述标识报文,确定所述指定设备与所述第二SDN控制器管辖的设备之间存在跨SDN域链路。
15.如权利要求14所述的方法,其特征在于,所述第二SDN控制器为所述第一SDN控制器的邻接SDN控制器,其中,所述第一SDN控制器的邻接SDN控制器为与所述第一SDN控制器存在连通的物理链路的SDN控制器,或者,与所述第一SDN控制器存在通信机制的SDN控制器,或者,为所述第一SDN控制器配置的SDN控制器;
接收封装有所述标识报文的封装消息,具体包括:
接收所述第二SDN控制器转发的封装消息,其中,所述封装消息为所述第二SDN控制器管辖的设备,接收到所述指定设备发送的标识报文之后,将所述标识报文封装为用于向所述第二SDN控制器询问转发所述标识报文的端口的端口信息的第一询问消息。
16.如权利要求15所述的方法,其特征在于,所述指示消息具体用于指示所述指定设备,通过指定出端口发送所述标识报文,且所述标识报文与所述指示消息具有对应关系;
所述封装消息具体为所述第二SDN控制器管辖的设备通过入端口接收到所述指定设备通过所述出端口发送的所述标识报文之后,将所述标识报文封装为携带有所述入端口信息的、用于向所述第二SDN控制器询问转发所述标识报文的端口的端口信息的第一询问消息;
根据所述标识报文,确定所述指定设备与所述第二SDN控制器管辖的设备之间存在跨SDN域链路,具体包括:
根据所述标识报文,确定与所述标识报文具有对应关系的指示消息;
确定所述指示消息中指定的所述出端口与所述封装消息中携带的所述入端口之间存在跨SDN域链路。
17.如权利要求14-16任一项所述的方法,其特征在于,所述标识报文为链路层发现协议LLDP报文,所述指示消息为数据包-出packet-out消息,所述询问消息为数据包-入packet-in消息。
18.如权利要求14所述的方法,其特征在于,接收封装有所述标识报文的封装消息,具体包括:
接收所述指定设备发送的封装有所述封装消息的第二询问消息,其中,所述第二询问消息用于询问转发所述封装消息的端口的端口信息,所述封装消息为所述第二SDN控制器管辖的设备,接收到所述指定设备发送的标识报文之后,再将所述标识报文封装为用于向所述第二SDN控制器询问转发所述标识报文的端口的端口信息的第一询问消息之后,所述第二SDN控制器根据所述第一询问消息,封装的携带有所述标识报文的封装消息。
19.如权利要求18所述的方法,其特征在于,所述指示消息具体用于指示所述指定设备,通过指定出端口发送所述标识报文,且所述标识报文有与所述指示消息具有对应关系;
所述封装消息具体为所述第二SDN控制器管辖的设备通过入端口接收到所述指定设备通过所述出端口发送的所述标识报文之后,再将所述标识报文封装为携带有所述入端口信息的、用于向所述第二SDN控制器询问转发所述标识报文的端口的端口信息的第一询问消息之后,所述第二SDN控制器根据所述第一询问消息,封装的携带有所述标识报文和所述入端口的端口信息的封装消息;
根据所述标识报文,确定所述指定设备与所述第二SDN控制器管辖的设备之间存在跨SDN域链路,具体包括:
根据所述标识报文,确定与所述标识报文具有对应关系的指示消息;
确定所述指示消息中指定的所述出端口与所述第二询问消息中封装的所述封装消息中携带的所述入端口之间存在跨SDN域链路。
20.如权利要求15或18所述的方法,其特征在于,所述指示消息具体用于指示所述指定设备,通过指定出端口发送所述标识报文;且所述指定设备通过所述出端口发送的标识报文中,携带有所述出端口对应链路的链路属性信息;
所述第二SDN控制器管辖的设备向所述第二SDN控制器发送的所述第一询问消息所封装的标识报文中,还携带有所述第二SDN控制器所管辖的设备接收所述标识报文的入端口对应链路的链路属性信息;
根据所述标识报文,确定所述指定设备与所述第二SDN控制器管辖的设备之间存在跨SDN域链路,具体包括:
根据所述标识报文中携带的所述出端口对应链路的链路属性信息,以及所述入端口对应链路的链路属性信息,确定所述出端口与所述入端口之间存在跨SDN域链路。
21.一种SDN控制器,其特征在于,包括:
接收模块,用于接收管辖的第一设备发送的询问消息,其中,所述询问消息用于询问转发所述第一设备接收到的标识报文的端口的端口信息,所述询问消息中封装有携带了其他SDN控制器标识的标识报文;
解析模块,用于解析所述接收模块接收的询问消息中封装的标识报文;
发送模块,用于当根据所述解析模块的解析结果,确定所述询问消息中封装的标识报文未携带所述SDN控制器的标识时,向与所述SDN控制器连通的链路,发送根据所述询问消息确定的、封装有所述询问消息中封装的标识报文的封装消息;其中,所述封装消息用于所述其他SDN控制器接收到所述封装消息时,根据所述封装消息中封装的所述询问消息中封装的标识报文,确定向所述第一设备发送所述第一设备接收到的标识报文的第二设备与所述第一设备之间存在跨SDN域链路。
22.如权利要求21所述的SDN控制器,其特征在于,在所述其他SDN控制器为所述SDN控制器的父SDN控制器时,所述发送模块具体用于向所述SDN控制器的父SDN控制器转发所述询问消息。
23.如权利要求21所述的SDN控制器,其特征在于,所述发送模块具体用于向所述SDN控制器的所有邻接SDN控制器,转发所述询问消息,其中,所述SDN控制器的邻接SDN控制器为与所述SDN控制器存在连通的物理链路的SDN控制器,或者,与所述SDN控制器存在通信机制的SDN控制器,或者,为所述SDN控制器配置的SDN控制器;或者
所述发送模块具体用于当所述标识报文中携带有所述其他SDN控制器所管辖的SDN域的域标识,根据解析出的所述标识报文中携带的所述其他SDN控制器所管辖的SDN域的域标识,向所述其他SDN控制器转发所述询问消息。
24.如权利要求21所述的SDN控制器,其特征在于,所述发送模块具体用于向所述第一设备发送封装有封装消息的指示消息,其中,所述指示消息用于指示所述设备转发所述封装消息。
25.如权利要求24所述的SDN控制器,其特征在于,所述接收模块接收的所述询问消息中封装的所述标识报文,为所述第一设备通过入端口接收到的,且所述询问消息中还携带有所述入端口的端口信息;所述发送模块发送的所述指示消息具体用于指示所述设备通过所述入端口转发所述封装消息;
所述发送模块,还用于在向所述第一设备发送封装有所述封装消息的指示消息之前,将所述标识报文和所述入端口的端口信息封装为所述封装消息。
26.如权利要求24所述的SDN控制器,其特征在于,所述接收模块接收的所述询问消息中封装的所述标识报文为所述第一设备通过入端口接收到的、携带有所述第二设备的出端口对应链路的链路信息的标识报文;所述第一设备向所述SDN控制器发送的所述询问消息所封装的标识报文中,还携带有所述入端口对应链路的链路属性信息;所述发送模块发送的所述指示消息具体用于指示所述第一设备通过所述入端口转发所述封装消息;
所述发送模块,还用于在向所述第一设备发送封装有所述封装消息的指示消息之前,将携带有所述入端口对应链路的链路属性信息的标识报文封装为封装消息,或者,将携带有所述入端口对应链路的链路属性信息的标识报文作为封装消息。
27.一种父SDN控制器,其特征在于,包括:
发送模块,用于向第一子软件定义网络SDN控制器发送封装有携带了所述父SDN控制器标识的标识报文的指示消息,其中,所述指示消息用于指示所述第一子SDN控制器通过管辖的指定设备转发所述标识报文;
接收模块,用于接收第二子SDN控制器转发的询问消息,其中,所述询问消息为所述第二子SDN控制器管辖的设备,接收到所述指定设备发送所述标识报文之后,将所述标识报文封装为用于向所述第二子SDN控制器询问转发所述标识报文的端口的端口信息的询问消息;
解析模块,用于解析所述接收模块接收的所述询问消息中封装的标识报文;
确定模块,用于当根据所述解析模块的解析结果,确定所述标识报文携带有所述父SDN控制器的标识时,根据所述标识报文,确定接收所述发送模块发送的所述指示消息的所述指定设备与所述第二子SDN控制器管辖的设备之间存在跨SDN域链路。
28.如权利要求27所述的父SDN控制器,其特征在于,所述发送模块发送的所述指示消息具体用于指示所述指定设备,通过指定出端口发送所述标识报文,且所述标识报文有与所述指示消息具有对应关系;
所述接收模块接收的所述询问消息具体为所述第二子SDN控制器管辖的设备通过入端口接收到所述指定设备通过所述出端口发送的所述标识报文之后,将所述标识报文封装为携带有所述入端口的端口信息的、用于向所述第二子SDN控制器询问转发所述标识报文的端口的端口信息的询问消息;
所述确定模块,具体用于根据所述标识报文,确定与所述标识报文具有对应关系的指示消息;确定所述指示消息中指定的所述出端口与所述询问消息中携带的所述入端口之间存在跨SDN域链路。
29.如权利要求27所述的父SDN控制器,其特征在于,所述发送模块发送的所述指示消息具体用于指示所述指定设备通过指定出端口发送所述标识报文;且所述指定设备通过所述出端口发送的标识报文中,携带有所述出端口对应链路的链路属性信息;
所述第二子SDN控制器管辖的设备向所述第二子SDN控制器发送的所述询问消息所封装的标识报文中,还携带有所述第二子SDN控制器所管辖的设备接收所述标识报文的入端口对应链路的链路属性信息;
所述确定模块,具体用于根据所述标识报文中携带的所述出端口对应链路的链路属性信息,以及所述入端口对应链路的链路属性信息,确定所述出端口与所述入端口之间存在跨SDN域链路。
30.如权利要求28或29所述的父SDN控制器,其特征在于,所述接收模块,还用于在父SDN控制器向第一子SDN控制器发送指示消息之前,接收所述第一子SDN控制器上报的端口信息,其中,所述端口信息表征的端口为从所述第一子SDN控制器管辖的各设备的各端口中确定的、未与所述各端口中的任一端口构成链路的端口;
所述确定模块,还用于将所述接收模块接收的上报端口确定为指定出端口,并将所述上报端口所属的设备确定为指定设备。
31.一种SDN控制器,其特征在于,包括:
发送模块,用于向管辖的指定设备发送封装有携带了所述SDN控制器标识的标识报文的指示消息,其中,所述指示消息用于指示所述指定设备转发所述标识报文;
接收模块,用于接收封装有所述标识报文的封装消息,其中,所述封装消息为根据其他SDN控制器管辖的设备,接收到所述指定设备发送的标识报文之后,将所述标识报文封装为用于向所述其他SDN控制器询问转发所述标识报文的端口的端口信息的第一询问消息确定的;
解析模块,用于解析所述接收模块接收的所述封装消息中封装的标识报文;
确定模块,用于当所述解析模块确定所述标识报文中携带有所述SDN控制器的标识时,根据所述标识报文,确定接收所述发送模块发送的所述指示消息的所述指定设备与所述其他SDN控制器管辖的设备之间存在跨SDN域链路。
32.如权利要求31所述的SDN控制器,其特征在于,所述其他SDN控制器为所述SDN控制器的邻接SDN控制器,其中,所述SDN控制器的邻接SDN控制器为与所述SDN控制器存在连通的物理链路的SDN控制器,或者,与所述SDN控制器存在通信机制的SDN控制器,或者,为所述SDN控制器配置的SDN控制器;
所述接收模块,具体用于接收所述其他SDN控制器转发的封装消息,其中,所述封装消息为所述其他SDN控制器管辖的设备,接收到所述指定设备发送的标识报文之后,将所述标识报文封装为用于向所述其他SDN控制器询问转发所述标识报文的端口的端口信息的第一询问消息。
33.如权利要求32所述的SDN控制器,其特征在于,所述发送模块发送的所述指示消息具体用于指示所述指定设备,通过指定出端口发送所述标识报文,且所述标识报文与所述指示消息具有对应关系;
所述接收模块接收的所述封装消息具体为所述其他SDN控制器管辖的设备通过入端口接收到所述指定设备通过所述出端口发送的所述标识报文之后,将所述标识报文封装为携带有所述入端口信息的、用于向所述其他SDN控制器询问转发所述标识报文的端口的端口信息的第一询问消息;
所述确定模块,具体用于根据所述标识报文,确定与所述标识报文具有对应关系的指示消息;确定所述指示消息中指定的所述出端口与所述封装消息中携带的所述入端口之间存在跨SDN域链路。
34.如权利要求31所述的SDN控制器,其特征在于,所述接收模块,具体用于接收所述指定设备发送的封装有所述封装消息的第二询问消息,其中,所述第二询问消息用于询问转发所述封装消息的端口的端口信息,所述封装消息为所述其他SDN控制器管辖的设备,接收到所述指定设备发送的标识报文之后,再将所述标识报文封装为用于向所述其他SDN控制器询问转发所述标识报文的端口的端口信息的第一询问消息之后,所述其他SDN控制器根据所述第一询问消息,封装的携带有所述标识报文的封装消息。
35.如权利要求34所述的SDN控制器,其特征在于,所述发送模块发送的所述指示消息具体用于指示所述指定设备,通过指定出端口发送所述标识报文,且所述标识报文有与所述指示消息具有对应关系;
所述接收模块接收的所述封装消息具体为所述其他SDN控制器管辖的设备通过入端口接收到所述指定设备通过所述出端口发送的所述标识报文之后,再将所述标识报文封装为携带有所述入端口信息的、用于向所述其他SDN控制器询问转发所述标识报文的端口的端口信息的第一询问消息之后,所述其他SDN控制器根据所述第一询问消息,封装的携带有所述标识报文和所述入端口的端口信息的封装消息;
所述确定模块,具体用于根据所述标识报文,确定与所述标识报文具有对应关系的指示消息;确定所述指示消息中指定的所述出端口与所述第二询问消息中封装的所述封装消息中携带的所述入端口之间存在跨SDN域链路。
36.如权利要求32或34所述的SDN控制器,其特征在于,所述发送模块发送的所述指示消息具体用于指示所述指定设备,通过指定出端口发送所述标识报文;且所述指定设备通过所述出端口发送的标识报文中,携带有所述出端口对应链路的链路属性信息;
所述其他SDN控制器管辖的设备向所述其他SDN控制器发送的所述第一询问消息所封装的标识报文中,还携带有所述其他SDN控制器所管辖的设备接收所述标识报文的入端口对应链路的链路属性信息;
所述确定模块,具体用于根据所述标识报文中携带的所述出端口对应链路的链路属性信息,以及所述入端口对应链路的链路属性信息,确定所述出端口与所述入端口之间存在跨SDN域链路。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2013/082865 WO2015032026A1 (zh) | 2013-09-03 | 2013-09-03 | 一种链路发现方法、sdn控制器及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103782553A CN103782553A (zh) | 2014-05-07 |
CN103782553B true CN103782553B (zh) | 2017-07-14 |
Family
ID=50573009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380002759.7A Active CN103782553B (zh) | 2013-09-03 | 2013-09-03 | 一种链路发现方法、sdn控制器及设备 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP3029905B1 (zh) |
CN (1) | CN103782553B (zh) |
ES (1) | ES2641458T3 (zh) |
WO (1) | WO2015032026A1 (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105337853A (zh) * | 2014-06-11 | 2016-02-17 | 杭州华三通信技术有限公司 | 一种软件定义网络中的实例建立方法和装置 |
CN104104614B (zh) * | 2014-06-13 | 2018-05-01 | 中国科学院计算技术研究所 | 命名数据网络中的软件定义网络控制器系统及其方法 |
CN105262686B (zh) * | 2014-07-18 | 2020-04-24 | 中兴通讯股份有限公司 | 一种网络连通性验证方法和装置 |
CN104283791B (zh) * | 2014-10-09 | 2018-04-06 | 新华三技术有限公司 | 一种sdn网络中的三层拓扑确定方法和设备 |
CN104333475A (zh) * | 2014-11-25 | 2015-02-04 | 上海斐讯数据通信技术有限公司 | 一种基于sdn的网络拓扑发现方法及系统 |
CN105812269B (zh) | 2014-12-31 | 2019-04-23 | 华为技术有限公司 | Sdn中创建端口组的方法、sdn控制器及网络系统 |
CN104980302B (zh) * | 2015-05-12 | 2018-06-19 | 上海斐讯数据通信技术有限公司 | 一种在sdn框架下基于stp消除冗余链路的方法 |
CN105530128B (zh) * | 2015-12-11 | 2018-12-11 | 中国联合网络通信集团有限公司 | 一种报文传递的方法及装置 |
CN106936706B (zh) * | 2015-12-29 | 2019-12-10 | 中国电信股份有限公司 | 路由建立方法和系统及子域控制器、主控制器 |
US10237176B2 (en) * | 2016-06-30 | 2019-03-19 | Juniper Networks, Inc. | Auto discovery and auto scaling of services in software-defined network environment |
WO2018049545A1 (zh) * | 2016-09-13 | 2018-03-22 | 深圳前海达闼云端智能科技有限公司 | Sdn中数据处理方法、装置、系统、电子设备和计算机程序产品 |
CN108123874B (zh) * | 2016-11-30 | 2021-03-23 | 中国电信股份有限公司 | 报文的处理方法、系统和跨域sdn控制器 |
CN106850053B (zh) * | 2017-01-17 | 2019-03-12 | 烽火通信科技股份有限公司 | 一种基于混合网络的集中式光通道自动发现的方法和系统 |
US10797959B2 (en) * | 2017-08-11 | 2020-10-06 | Quanta Computer Inc. | LLDP based rack management controller |
CN114430390B (zh) * | 2017-12-29 | 2023-04-04 | 华为技术有限公司 | 一种用于获取跨域链路的方法及装置 |
CN110071874B (zh) * | 2018-01-24 | 2021-11-30 | 上海层峰网络科技有限公司 | 一种跨域sdn网络中实现拓扑发现链接的方法和系统 |
CN110266530B (zh) * | 2019-06-14 | 2022-05-27 | 浪潮思科网络科技有限公司 | 一种基于Opendaylight框架的链路发现方法及装置 |
CN111163003A (zh) * | 2019-12-24 | 2020-05-15 | 中国电子科技集团公司第三十研究所 | 一种无线多控制域sdn网络的拓扑发现方法 |
CN112887412B (zh) * | 2021-02-01 | 2023-01-17 | 国网安徽省电力有限公司淮南供电公司 | 基于sdn与边缘计算技术的分布式网络控制系统及控制方法 |
CN114938345B (zh) * | 2022-06-07 | 2023-09-29 | 中国联合网络通信集团有限公司 | 一种链路发现方法、装置及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1747432A (zh) * | 2004-09-09 | 2006-03-15 | 华为技术有限公司 | 一种链路类型的发现方法 |
US7120711B2 (en) * | 2002-12-19 | 2006-10-10 | Intel Corporation | System and method for communicating over intra-hierarchy and inter-hierarchy links |
CN101562568A (zh) * | 2009-05-26 | 2009-10-21 | 中国科学院计算技术研究所 | 覆盖网备用路径生成方法和装置 |
CN102130793A (zh) * | 2010-11-29 | 2011-07-20 | 华为技术有限公司 | 一种接入网中的环路处理方法、装置和系统 |
CN103051565A (zh) * | 2013-01-04 | 2013-04-17 | 中兴通讯股份有限公司 | 一种等级软件定义网络控制器的架构系统及实现方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103236941B (zh) * | 2013-04-03 | 2015-09-30 | 华为技术有限公司 | 一种链路发现方法和装置 |
-
2013
- 2013-09-03 WO PCT/CN2013/082865 patent/WO2015032026A1/zh active Application Filing
- 2013-09-03 EP EP13893127.4A patent/EP3029905B1/en active Active
- 2013-09-03 CN CN201380002759.7A patent/CN103782553B/zh active Active
- 2013-09-03 ES ES13893127.4T patent/ES2641458T3/es active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7120711B2 (en) * | 2002-12-19 | 2006-10-10 | Intel Corporation | System and method for communicating over intra-hierarchy and inter-hierarchy links |
CN1747432A (zh) * | 2004-09-09 | 2006-03-15 | 华为技术有限公司 | 一种链路类型的发现方法 |
CN101562568A (zh) * | 2009-05-26 | 2009-10-21 | 中国科学院计算技术研究所 | 覆盖网备用路径生成方法和装置 |
CN102130793A (zh) * | 2010-11-29 | 2011-07-20 | 华为技术有限公司 | 一种接入网中的环路处理方法、装置和系统 |
CN103051565A (zh) * | 2013-01-04 | 2013-04-17 | 中兴通讯股份有限公司 | 一种等级软件定义网络控制器的架构系统及实现方法 |
Non-Patent Citations (1)
Title |
---|
《基于OpenFlow的SDN技术研究》;左青云 等;《软件学报》;20130329;全文 * |
Also Published As
Publication number | Publication date |
---|---|
WO2015032026A1 (zh) | 2015-03-12 |
CN103782553A (zh) | 2014-05-07 |
ES2641458T3 (es) | 2017-11-10 |
EP3029905B1 (en) | 2017-08-09 |
EP3029905A4 (en) | 2016-07-20 |
EP3029905A1 (en) | 2016-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103782553B (zh) | 一种链路发现方法、sdn控制器及设备 | |
CN103688497B (zh) | 跨域路径的建立方法及设备 | |
WO2018054397A1 (zh) | 业务功能链检测路径的方法和装置 | |
CN105515998B (zh) | 一种sptn域三层域和二层域互通的方法与系统 | |
CN106921572B (zh) | 一种传播QoS策略的方法、装置及系统 | |
CN106254176A (zh) | 一种基于openvswitch的流量镜像方法 | |
WO2017215385A1 (zh) | 一种路径确定方法、装置和系统 | |
CN107947994B (zh) | 网络拓扑自发现方法、装置、网络设备及计算机存储介质 | |
CN108259466B (zh) | DDoS流量回注方法、SDN控制器及网络系统 | |
CN105471693B (zh) | 一种报文发送方法和网络节点 | |
EP1266491A2 (en) | Method and system for operation of a resilient closed communication network without a dedicated protection network segment | |
CN107257300B (zh) | 一种无线备份的4g接入设备、系统及其方法 | |
US20020024934A1 (en) | OSPF autonomous system with a backbone divided into two sub-areas | |
CN103026729A (zh) | 用于多级光突发交换系统的控制层和方法 | |
WO2024016642A1 (zh) | 一种基于sdn的智能船网络系统 | |
CN108293007A (zh) | 带有分布式湿式设备管理器的光学通信系统 | |
CN102546374A (zh) | 自动发现ODUflex带宽无损调整能力的方法及系统 | |
CN103944824B (zh) | 通信系统及网络中继装置 | |
EP1185041A2 (en) | OSPF autonomous system with a backbone divided into two sub-areas | |
CN103108347A (zh) | 有线网络和无线网络的关联告警方法及装置 | |
CN103384220A (zh) | 一种流量工程标签交换路径的建立方法、设备和系统 | |
CN107294743A (zh) | 一种网络路径探测方法、控制器及网络设备 | |
CN107454022A (zh) | 一种异构网络及其数据流导引方法和交换机 | |
CN108270628B (zh) | 一种基于opnet的电力系统sdh通信传输网仿真建模方法 | |
KR101610031B1 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |