CN103401786B - 网络拓扑建立、路径控制、报文传输方法及装置、系统 - Google Patents
网络拓扑建立、路径控制、报文传输方法及装置、系统 Download PDFInfo
- Publication number
- CN103401786B CN103401786B CN201310293498.0A CN201310293498A CN103401786B CN 103401786 B CN103401786 B CN 103401786B CN 201310293498 A CN201310293498 A CN 201310293498A CN 103401786 B CN103401786 B CN 103401786B
- Authority
- CN
- China
- Prior art keywords
- controller
- switch
- edge switch
- fringe node
- edge
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开网络拓扑建立、路径控制、报文传输方法及装置、系统,该系统至少包括第一层控制器、第二层控制器、第一交换机组和第二交换机组;第一层控制器为上层控制器,至少包括第一控制器;第二层控制器为第一层控制器的下层控制器,至少包括第二控制器和第三控制器;第一交换机组中至少包括第一边缘交换机和多个其他交换机;第二交换机组中至少包括第二边缘交换机和多个其他交换机;第二控制器分别与第一交换机组中的第一边缘交换机和多个其他交换机之间建立安全连接;第三控制器分别与第二交换机组中的第二边缘交换机和多个其他交换机之间建立安全连接。用以在网络规模庞大、组网复杂的场景下,降低控制器对整网控制管理的难度。
Description
技术领域
本发明实施例涉及网络技术领域,尤其涉及一种网络拓扑建立、路径控制、报文传输方法及装置、系统。
背景技术
在软件定义网络(SDN,Software Defined Network)技术中,控制器通过标准协议(OpenFlow)来实现对全网所有交换机的管理,完成对交换机所有端口信息收集和整体网络拓扑,并根据整体网络拓扑进行全局的路由计算。图1为现有技术的集中式控制器管理的网络拓扑系统的架构图,如图1所示,在网络规模庞大、组网复杂等场景下,因为控制器需要通过标准协议对全网所有交换机进行管理,对控制器的性能要求非常高,从而导致控制器管理负担很重的问题。
图2为现有技术的分布式多个控制器管理的网络拓扑系统的架构图,如图2所示,在网络规模庞大、组网复杂等场景下,为了减轻控制器的管理负担,将多个控制器分别部署在不同的物理机上,多个控制器采用分布式部署,多个控制器中的每个控制器需要对全局网络拓扑的同步、网络设备端口信息同步、根据全局拓扑信息进行整网的路径计算的同步等,从而才能实现控制器对整网交换机的控制管理。
然而在网络规模庞大、组网复杂的场景下,通过分布式多实例控制器对整网进行控制管理时,控制器的多个实例之间需要进行同步协调,且同步协调的信息量大,对控制器的同步要求非常高,增加了控制器对整网控制管理的难度。
发明内容
本发明提供一种网络拓扑建立、路径控制、报文传输方法及装置、系统,用以在网络规模庞大、组网复杂的场景下,降低控制器对整网控制管理的难度。
第一方面,提供一种网络拓扑系统,包括:第一层控制器、第二层控制器、第一交换机组和第二交换机组;
其中,所述第一层控制器为上层控制器,且包括第一控制器;
所述第二层控制器为所述第一层控制器的下层控制器,且包括第二控制器和第三控制器;所述第一控制器与所述第二控制器和所述第三控制器建立安全连接,且所述第一控制器用于控制所述第二控制器和所述第三控制器;
所述第二控制器与所述第一交换机组中包括第一边缘交换机的交换机建立安全连接,且所述第二控制器用于控制所述第一交换机组中包括第一边缘交换机的各交换机;
所述第三控制器与所述第二交换机组中包括第二边缘交换机的交换机建立安全连接,且所述第三控制器用于控制所述第二交换机组中包括第二边缘交换机的各交换机。
基于第一方面,在第一种可能的实现方式中:
所述第一边缘交换机,用于在与所述第二控制器建立安全连接的过程中,将所述第一边缘交换机的其中一个端口设置为边缘节点端口,并将所述第一边缘交换机的边缘节点端口信息发送给所述第二控制器;
所述第二控制器,用于接收所述第一边缘交换机的边缘节点端口信息,并在所述第二控制器与上层的所述第一控制器建立安全连接的过程中,将所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息发送给上层的所述第一控制器;
所述第二边缘交换机,用于在与所述第三控制器建立安全连接的过程中,将所述第二边缘交换机的其中一个端口设置为边缘节点端口,并将所述第二边缘交换机的边缘节点端口信息发送给所述第三控制器;
所述第三控制器,用于接收所述第二边缘交换机的边缘节点端口信息,并在所述第三控制器与上层的所述第一控制器建立安全连接的过程中,将所述第三控制器的标识和所述第二边缘交换机的边缘节点端口信息发送给上层的所述第一控制器;
所述第一控制器,用于在所述第二控制器与上层的所述第一控制器建立安全连接的过程中,接收所述第二控制器发送的所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息,建立所述第二控制器的标识与所述第一边缘交换机的边缘节点端口信息之间的对应关系;
所述第一控制器,还用于在所述第三控制器与上层的所述第一控制器建立安全连接的过程中,接收所述第三控制器发送的所述第三控制器的标识和所述第二边缘交换机的边缘节点端口信息,建立所述第三控制器的标识与所述第二边缘交换机的边缘节点端口信息之间的对应关系;
基于第一方面的第一种可能的实现方式,在第二种可能的实现方式中:
所述第一控制器,还用于向所述第二控制器发送第一控制报文,所述第一控制报文中包括所述第一控制器的标识、所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息;
所述第二控制器,还用于在接收到所述第一控制报文之后,根据所述第一控制报文中包括的所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息,将所述第一控制报文发送给与所述第一边缘交换机的边缘节点端口信息对应的第一边缘交换机;
所述第一边缘交换机,还用于在接收到所述第一控制报文之后,将所述第一控制报文发送给所述第二边缘交换机;
所述第二边缘交换机,还用于在接收到所述第一控制报文之后,将所述第二边缘交换机的边缘节点端口信息和所述第一控制报文封装为第二控制报文发送给所述第三控制器;
所述第三控制器,还用于在接收到所述第二控制报文之后,根据所述第一控制报文中包括的所述第一控制器的标识,将所述第二控制报文发送给所述第一控制器;
所述第一控制器,还用于在接收到所述第二控制报文之后,根据所述第二控制报文中包括的所述第二边缘交换机的边缘节点端口信息,以及所述第一控制报文中包括的所述第一边缘交换机的边缘节点端口信息,确定所述第二控制器通过所述第一边缘交换机和所述第二边缘交换机与所述第三控制器连接。
第二方面,提供一种网络拓扑建立方法,基于第一方面项所述的网络拓扑系统,包括:
所述第二控制器在与所述第一交换机组中包括第一边缘交换机的交换机建立安全连接的过程中,获取所述第一边缘交换机的边缘节点端口信息;
所述第二控制器在与上层的所述第一控制器建立安全连接的过程中,将所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息发送给上层的所述第一控制器,以使所述第一控制器建立所述第二控制器的标识与所述第一边缘交换机的边缘节点端口信息之间的对应关系。
基于第二方面,在第一种可能的实现方式中,所述第二控制器在与上层的所述第一控制器建立安全连接的过程中,将所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息发送给上层的所述第一控制器,以使所述第一控制器建立所述第二控制器的标识与所述第一边缘交换机的边缘节点端口信息之间的对应关系之后,包括:
所述第二控制器接收所述第一控制器发送的第一控制报文,所述第一控制报文中包括所述第一控制器的标识、所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息;
所述第二控制器根据所述第一控制报文中包括的所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息,通过与所述第一边缘交换机的边缘节点端口信息对应的第一边缘交换机将所述第一控制报文发送给与所述第二控制器相邻的第三控制器,以使所述第三控制器通过第二边缘交换机接收所述第二控制器发送的第一控制报文,将所述第一控制报文和所述第二边缘交换机的边缘节点端口信息封装为第二控制报文后,根据所述第一控制报文中包括的所述第一控制器的标识,将所述第二控制报文发送给所述第一控制器,以使所述第一控制器根据所述第二控制报文中包括的所述第二边缘交换机的边缘节点端口信息,以及所述第一控制报文中包括的所述第一边缘交换机的边缘节点端口信息,确定所述第二控制器通过所述第一边缘交换机和所述第二边缘交换机与所述第三控制器连接。
基于第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第二控制器根据所述第一控制报文中包括的所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息,通过与所述第一边缘交换机的边缘节点端口信息对应的第一边缘交换机将所述第一控制报文发送给与所述第二控制器相邻的第三控制器之前,包括:
所述第三控制器在与所述第二交换机组中包括第二边缘交换机的交换机建立安全连接的过程中,获取所述第二边缘交换机的边缘节点端口信息;
所述第三控制器在与上层的第一控制器建立安全连接的过程中,将所述第二边缘交换机的边缘节点端口信息发送给上层的所述第一控制器;以使所述第一控制器建立所述第三控制器的标识与所述第二边缘交换机的边缘节点端口信息之间的对应关系。
第三方面,提供一种网络拓扑建立方法,基于第一方面所述的网络拓扑系统,包括:
第三控制器在与所述第二交换机组中包括第二边缘交换机的交换机建立安全连接的过程中,获取所述第二边缘交换机的边缘节点端口信息;
所述第三控制器在与上层的第一控制器建立安全连接的过程中,将所述第三控制器的标识和所述第二边缘交换机的边缘节点端口信息发送给上层的所述第一控制器;以使所述第一控制器建立所述第三控制器的标识与所述第二边缘交换机的边缘节点端口信息之间的对应关系。
基于第三方面,在第一种可能的实现方式中,所述第三控制器在与上层的第一控制器建立安全连接的过程中,将所述第三控制器的标识和所述第二边缘交换机的边缘节点端口信息发送给上层的所述第一控制器;以使所述第一控制器建立所述第三控制器的标识与所述第二边缘交换机的边缘节点端口信息之间的对应关系之后,包括:
所述第三控制器接收所述第一控制器发送的第一控制报文,所述第一控制报文中包括所述第一控制器的标识、所述第三控制器的标识和所述第二边缘交换机的边缘节点端口信息;
所述第三控制器根据所述第一控制报文中包括的所述第三控制器的标识和所述第二边缘交换机的边缘节点端口信息,通过与所述第二边缘交换机的边缘节点端口信息对应的第二边缘交换机将所述第一控制报文发送给与所述第三控制器相邻的第二控制器,以使所述第二控制器通过第一边缘交换机接收所述第三控制器发送的第一控制报文,将所述第一控制报文和所述第一边缘交换机的边缘节点端口信息封装为第二控制报文后,根据所述第一控制报文中包括的所述第一控制器的标识,将所述第二控制报文发送给所述第一控制器,以使所述第一控制器根据所述第二控制报文中包括的所述第一边缘交换机的边缘节点端口信息,以及所述第一控制报文中包括的所述第二边缘交换机的边缘节点端口信息,确定所述第三控制器通过所述第二边缘交换机和所述第一边缘交换机与所述第二控制器连接。
基于第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第三控制器根据所述第一控制报文中包括的所述第三控制器的标识和所述第二边缘交换机的边缘节点端口信息,通过与所述第二边缘交换机的边缘节点端口信息对应的第二边缘交换机将所述第一控制报文发送给与所述第三控制器相邻的第二控制器之前,包括:
所述第二控制器在与所述第一交换机组中包括第一边缘交换机的交换机建立安全连接的过程中,获取所述第一边缘交换机的边缘节点端口信息;
所述第二控制器在与上层的第一控制器建立安全连接的过程中,将所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息发送给上层的所述第一控制器;以使所述第一控制器建立所述第二控制器的标识与所述第一边缘交换机的边缘节点端口信息之间的对应关系。
第四方面,提供一种网络拓扑建立方法,基于第一方面所述的网络拓扑系统,包括:
上层的第一控制器在与下层的第二控制器建立安全连接的过程中,接收所述第二控制器发送的所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息,所述第一边缘交换机的边缘节点端口信息为所述第二控制器在与所述第一交换机组中包括第一边缘交换机的交换机建立安全连接的过程中,获取的所述第一边缘交换机的边缘节点端口信息;
所述第一控制器建立所述第二控制器的标识与所述第一边缘交换机的边缘节点端口信息之间的对应关系。
基于第四方面,在第一种可能实现方式中,所述的方法还包括:
所述上层的第一控制器在与下层的第三控制器建立安全连接的过程中,接收所述第三控制器发送的所述第三控制器的标识和第二边缘交换机的边缘节点端口信息,所述第二边缘交换机的边缘节点端口信息为所述第三控制器在与所述第二交换机组中包括所述第二边缘交换机的交换机建立安全连接的过程中,获取的所述第二边缘交换机的边缘节点端口信息;
所述第一控制器建立所述第三控制器的标识与所述第二边缘交换机的边缘节点端口信息之间的对应关系。
基于第四方面或第四方面的第一种可能实现方式,在第二种可能实现方式中,所述的方法还包括:
所述第一控制器向所述第二控制器发送第一控制报文,所述第一控制报文中包括所述第一控制器的标识、所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息;以使所述第二控制器根据所述第一控制报文中包括的所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息,通过与所述第一边缘交换机的边缘节点端口信息对应的第一边缘交换机将所述第一控制报文发送给与所述第二控制器相邻的第三控制器,以使所述第三控制器通过第二边缘交换机接收所述第二控制器发送的第一控制报文,将所述第一控制报文和所述第二边缘交换机的边缘节点端口信息封装为第二控制报文后,根据所述第一控制报文中包括的所述第一控制器的标识,将所述第二控制报文发送给所述第一控制器;
所述第一控制器根据所述第二控制报文中包括的所述第二边缘交换机的边缘节点端口信息,以及所述第一控制报文中包括的所述第一边缘交换机的边缘节点端口信息,确定所述第二控制器通过所述第一边缘交换机和所述第二边缘交换机与所述第三控制器连接。
第五方面,提供一种网络拓扑路径控制方法,包括:
第二控制器接收第一交换机发送的路径请求消息,所述路径请求消息中包括源主机和目的主机的信息,所述第一交换机为第一交换机组中的多个其他交换机中的其中一个交换机,与所述源主机连接;
所述第二控制器根据所述目的主机的信息,确定所述目的主机信息不在所述第二控制器所管理的多个主机信息中;
所述第二控制器向上层的第一控制器发送所述路径请求消息,以使所述第一控制器根据所述路径请求消息中包括的源主机和目的主机的信息,确定所述源主机和目的主机之间的路径信息,并向所述第二控制器发送第一路径响应消息,所述第一路径响应消息中包括所述源主机的信息和第一边缘交换机的边缘节点端口信息。
基于第五方面,在第一种可能的实现方式中,所述第二控制器向上层的第一控制器发送所述路径请求消息,以使所述第一控制器根据所述路径请求消息中包括的源主机和目的主机的信息,确定所述源主机和目的主机之间的路径信息,并向所述第二控制器发送第一路径响应消息之后,包括:
所述第二控制器根据所述第一路径响应消息中包括的所述第一边缘交换机的边缘节点端口信息和所述源主机的信息,确定与所述源主机连接的所述第一交换机与所述第一边缘交换机之间的路径信息;
根据所述第一交换机与所述第一边缘交换机之间的路径信息,分别构建所述第一交换机与所述第一边缘交换机之间的路径中各交换机的流表;
分别将所述第一交换机与所述第一边缘交换机之间的路径中各交换机对应的流表发送给对应的交换机。
基于第五方面,在第二种可能的实现方式中,所述第二控制器向上层的第一控制器发送所述路径请求消息,以使所述第一控制器根据所述路径请求消息中包括的源主机和目的主机的信息,确定所述源主机和目的主机之间的路径信息之后,包括:
所述第一控制器向第三控制器发送第二路径响应消息,所述第二路径响应消息中包括第二边缘交换机的边缘节点端口信息和所述目的主机的信息;以使所述第三控制根据所述第二路径响应消息中包括的所述第一边缘交换机的边缘节点端口信息和所述目的主机的信息,确定与所述目的主机连接的第二交换机与所述第二边缘交换机之间的路径信息;根据所述第二交换机与所述第二边缘交换机之间的路径信息,分别构建所述第二交换机与所述第二边缘交换机之间的路径中各交换机对应的流表;分别将所述第二交换机与所述第二边缘交换机之间的路径中各交换机对应的流表发送给对应的交换机;所述第二交换机为所述第二交换机组中的多个其他交换机中的其中一个交换机,与所述目的主机连接。
第六方面,提供一种网络拓扑路径控制方法,包括:
上层的第一控制器接收下层的第二控制器发送的路径请求消息,所述路径请求消息中包括源主机和目的主机的信息,所述路径请求消息是所述第二控制器在接收第一交换机发送的路径请求消息之后,根据所述目的主机的信息,确定所述目的主机信息不在所述第二控制器所管理的多个主机信息中时,向所述第一控制器发送的所述路径请求消息;所述第一交换机为第一交换机组中的多个其他交换机中的其中一个交换机,与所述源主机连接;
所述第一控制器根据所述路径请求消息中包括的源主机和目的主机的信息,在确定所述第一控制器所管理的多个主机信息中包括所述目的主机信息时,确定所述源主机和目的主机之间的路径信息,所述源主机和目的主机之间的路径信息中包括第一边缘交换机的边缘节点端口信息和第二边缘交换机的边缘节点端口信息;
所述第一控制器向所述第二控制器发送第一路径响应消息,所述第一路径响应消息中包括所述第一边缘交换机的边缘节点端口信息和所述源主机的信息;
所述第一控制器向所述第三控制器发送第二路径响应消息,所述第二路径响应消息中包括所述第二边缘交换机的边缘节点端口信息和所述目的主机的信息。
基于第六方面,在第一种可能的实现方式中,所述第一控制器向所述第二控制器发送第一路径响应消息之后,包括:
所述第二控制器根据所述第一路径响应消息中包括的所述第一边缘交换机的边缘节点端口信息和所述源主机的信息,确定与所述源主机连接的所述第一交换机与所述第一边缘交换机之间的路径信息;
所述第二控制器根据所述第一交换机与所述第一边缘交换机之间的路径信息,分别构建所述第一交换机与所述第一边缘交换机之间的路径中各交换机对应的流表;
所述第二控制器分别将所述第一交换机与所述第一边缘交换机之间的路径中各交换机对应的流表发送给对应的交换机。
基于第六方面,在第二种可能的实现方式中所述第一控制器向所述第三控制器发送第二路径响应消息之后,包括:
所述第三控制器根据所述第二路径响应消息中包括的所述第二边缘交换机的边缘节点端口信息和所述目的主机的信息,确定与所述目的主机连接的第二交换机与所述第二边缘交换机之间的路径信息;
所述第三控制器根据所述第二交换机与所述第二边缘交换机之间的路径信息,分别构建所述第二交换机与所述第二边缘交换机之间的路径中各交换机对应的流表;
所述第三控制器分别将所述第二交换机与所述第二边缘交换机之间的路径中各交换机的对应流表发送给对应的交换机;
所述第三控制器所述第二交换机为所述第二交换机组中的多个其他交换机中的其中一个交换机,与所述目的主机连接。
第七方面,提供一种报文传输方法,包括:
第一边缘交换机接收第一交换机发送的数据报文,数据报文是源主机发送给第一交换机的,所述数据报文中包括所述源主机和目的主机的信息;
根据所述第一边缘交换机的流表,将所述数据报文通过所述第一边缘交换机的边缘节点端口发送给第二边缘交换机,以使所述第二边缘交换机根据所述第二边缘交换机的流表,通过所述第二边缘交换机的边缘节点端口接收所述数据报文,将所述数据报文发送给第二交换机,以使所述第二交换机将所述数据报文发送给目的主机。
基于第七方面,在第一种可能的实现方式中,根据所述第一边缘交换机的流表,将所述数据报文通过所述第一边缘交换机的边缘节点端口发送给第二边缘交换机之前,包括:
所述第一边缘交换机接收第二控制器发送的所述第一边缘交换机的流表,所述第一边缘交换机的流表中的匹配项包括所述源主机的信息,所述第一边缘交换机的流表中的指令包括所述第一边缘交换机的边缘节点端口。
基于第七方面或第七方面的第一种可能的实现方式,在第二种可能的实现方式中,根据所述第一边缘交换机的流表,将所述数据报文通过所述第一边缘交换机的边缘节点端口发送给第二边缘交换机,包括:
所述第一边缘交换机根据所述数据报文中包括的源主机的信息,若确定与所述第一边缘交换机的流表中的匹配项包括的所述源主机的信息相同,则根据所述第一边缘交换机的流表中的指令包括的所述第一边缘交换机的边缘节点端口,将所述数据报文通过所述第一边缘交换机的边缘节点端口发送给第二边缘交换机。
第八方面,提供一种报文传输方法,包括:
所述第二边缘交换机根据所述第二边缘交换机的流表,通过所述第二边缘交换机的边缘节点端口接收第一边缘交换机发送的数据报文,所述数据报文包括源主机和目的主机的信息;
所述第二边缘交换机将所述数据报文发送给第二交换机,以使所述第二交换机将所述数据报文发送给目的主机。
基于第八方面,在第一种可能的实现方式中,所述第二边缘交换机根据所述第二边缘交换机的流表,通过所述第二边缘交换机的边缘节点端口接收第一边缘交换机发送的数据报文之前,包括:
所述第二边缘交换机接收第三控制器发送的所述第二边缘交换机的流表,所述第二边缘交换机的流表中的匹配项包括所述目的主机的信息,所述第二边缘交换机的流表中的指令包括所述第二边缘交换机的边缘节点端口。
基于第八方面或第八方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第二边缘交换机根据所述第二边缘交换机的流表,通过所述第二边缘交换机的边缘节点端口接收第一边缘交换机发送的数据报文,包括:
所述第二边缘交换机根据所述数据报文中包括的目的主机的信息,若确定与所述第二边缘交换机的流表中的匹配项包括的所述目的主机的信息相同,则根据所述第二边缘交换机的流表中的指令包括的所述第二边缘交换机的边缘节点端口,通过所述第二边缘交换机的边缘节点端口接收所述第一边缘交换机发送的数据报文。
第九方面,提供一种网络拓扑建立装置,所述装置位于第二控制器侧,包括:
获取模块,用于在所述第二控制器与所述第一交换机组中包括第一边缘交换机的交换机建立安全连接的过程中,获取所述第一边缘交换机的边缘节点端口信息;
发送模块,用于在所述第二控制器与上层的所述第一控制器建立安全连接的过程中,将所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息发送给上层的所述第一控制器,以使所述第一控制器建立所述第二控制器的标识与所述第一边缘交换机的边缘节点端口信息之间的对应关系。
基于第九方面,在第一种可能的实现方式中,所述的装置还包括:
接收模块,用于接收所述第一控制器发送的第一控制报文,所述第一控制报文中包括所述第一控制器的标识、所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息;
所述发送模块,还用于根据所述第一控制报文中包括的所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息,通过与所述第一边缘交换机的边缘节点端口信息对应的第一边缘交换机将所述第一控制报文发送给与所述第二控制器相邻的第三控制器,以使所述第三控制器通过第二边缘交换机接收所述第二控制器发送的第一控制报文,将所述第一控制报文和所述第二边缘交换机的边缘节点端口信息封装为第二控制报文后,根据所述第一控制报文中包括的所述第一控制器的标识,将所述第二控制报文发送给所述第一控制器,以使所述第一控制器根据所述第二控制报文中包括的所述第二边缘交换机的边缘节点端口信息,以及所述第一控制报文中包括的所述第一边缘交换机的边缘节点端口信息,确定所述第二控制器通过所述第一边缘交换机和所述第二边缘交换机与所述第三控制器连接。
第十方面,提供一种网络拓扑建立装置,所述装置位于第三控制器侧,包括:
获取模块,用于在所述第三控制器与所述第二交换机组中包括第二边缘交换机的交换机建立安全连接的过程中,获取所述第二边缘交换机的边缘节点端口信息;
发送模块,用于在所述第三控制器与上层的第一控制器建立安全连接的过程中,将所述第三控制器的标识和所述第二边缘交换机的边缘节点端口信息发送给上层的所述第一控制器;以使所述第一控制器建立所述第三控制器的标识与所述第二边缘交换机的边缘节点端口信息之间的对应关系。
基于第十方面,在第一种可能的实现方式中,所述的装置还包括:
接收模块,用于接收所述第一控制器发送的第一控制报文,所述第一控制报文中包括所述第一控制器的标识、所述第三控制器的标识和所述第二边缘交换机的边缘节点端口信息;
所述发送模块,还用于根据所述第一控制报文中包括的所述第三控制器的标识和所述第二边缘交换机的边缘节点端口信息,通过与所述第二边缘交换机的边缘节点端口信息对应的第二边缘交换机将所述第一控制报文发送给与所述第三控制器相邻的第二控制器,以使所述第二控制器通过第一边缘交换机接收所述第三控制器发送的第一控制报文,将所述第一控制报文和所述第一边缘交换机的边缘节点端口信息封装为第二控制报文后,根据所述第一控制报文中包括的所述第一控制器的标识,将所述第二控制报文发送给所述第一控制器,以使所述第一控制器根据所述第二控制报文中包括的所述第一边缘交换机的边缘节点端口信息,以及所述第一控制报文中包括的所述第二边缘交换机的边缘节点端口信息,确定所述第三控制器通过所述第二边缘交换机和所述第一边缘交换机与所述第二控制器连接。
第十一方面,提供一种网络拓扑建立装置,所述装置位于第一控制器侧,包括:
接收模块,用于在下层的第二控制器与上层的所述第一控制器建立安全连接的过程中,接收所述第二控制器发送的所述第二控制器的标识和第一边缘交换机的边缘节点端口信息,所述第一边缘交换机的边缘节点端口信息为所述第二控制器在与所述第一交换机组中包括第一边缘交换机的交换机建立安全连接的过程中,获取的所述第一边缘交换机的边缘节点端口信息;
建立模块,用于建立所述第二控制器的标识与所述第一边缘交换机的边缘节点端口信息之间的对应关系。
基于第十一方面,在第一种可能的实现方式中,所述接收模块,还用于在下层的第三控制器与上层的所述第一控制器建立安全连接的过程中,接收所述第三控制器发送的所述第三控制器的标识和第二边缘交换机的边缘节点端口信息,所述第二边缘交换机的边缘节点端口信息为所述第三控制器在与所述第二交换机组中包括所述第二边缘交换机的交换机建立安全连接的过程中,获取的所述第二边缘交换机的边缘节点端口信息;
所述建立模块,还用于建立所述第三控制器的标识与所述第二边缘交换机的边缘节点端口信息之间的对应关系。
基于第十一方面或第十一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述的装置还包括:
发送模块,用于向所述第二控制器发送第一控制报文,所述第一控制报文中包括所述第一控制器的标识、所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息;以使所述第二控制器根据所述第一控制报文中包括的所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息,通过与所述第一边缘交换机的边缘节点端口信息对应的第一边缘交换机将所述第一控制报文发送给与所述第二控制器相邻的第三控制器,以使所述第三控制器通过第二边缘交换机接收所述第二控制器发送的第一控制报文,将所述第一控制报文和所述第二边缘交换机的边缘节点端口信息封装为第二控制报文后,根据所述第一控制报文中包括的所述第一控制器的标识,将所述第二控制报文发送给所述第一控制器;
确定模块,用于根据所述第二控制报文中包括的所述第二边缘交换机的边缘节点端口信息,以及所述第一控制报文中包括的所述第一边缘交换机的边缘节点端口信息,确定所述第二控制器通过所述第一边缘交换机和所述第二边缘交换机与所述第三控制器连接。
第十二方面,提供一种网络拓扑路径控制装置,所述装置位于第二控制器侧,包括:
接收模块,用于接收第一交换机发送的路径请求消息,所述路径请求消息中包括源主机和目的主机的信息,所述第一交换机为第一交换机组中的多个其他交换机中的其中一个交换机,与所述源主机连接;
确定模块,用于根据所述目的主机的信息,确定所述目的主机信息不在所述第二控制器所管理的多个主机信息中;
发送模块,用于向上层的第一控制器发送所述路径请求消息,以使所述第一控制器根据所述路径请求消息中包括的源主机和目的主机的信息,确定所述源主机和目的主机之间的路径信息,并向所述第二控制器发送第一路径响应消息,所述第一路径响应消息中包括所述源主机的信息和第一边缘交换机的边缘节点端口信息。
基于第十二方面,在第一种可能的实现方式中,所述确定模块,还用于根据所述接收模块接收的第一路径响应消息中包括的所述第一边缘交换机的边缘节点端口信息和所述源主机的信息,确定与所述源主机连接的所述第一交换机与所述第一边缘交换机之间的路径信息;
构建模块,用于根据所述确定模块确定的第一交换机与所述第一边缘交换机之间的路径信息,分别构建所述第一交换机与所述第一边缘交换机之间的路径中各交换机的流表;
所述发送模块,还用于分别将所述第一交换机与所述第一边缘交换机之间的路径中各交换机对应的流表发送给对应的交换机。
第十三方面,提供一种网络拓扑路径控制装置,位于上层的第一控制器侧,包括:
接收模块,用于接收下层的第二控制器发送的路径请求消息,所述路径请求消息中包括源主机和目的主机的信息,所述路径请求消息是所述第二控制器在接收第一交换机发送的路径请求消息之后,根据所述目的主机的信息,确定所述目的主机信息不在所述第二控制器所管理的多个主机信息中时,向所述第一控制器发送的所述路径请求消息;所述第一交换机为第一交换机组中的多个其他交换机中的其中一个交换机,与所述源主机连接;
确定模块,用于根据所述路径请求消息中包括的源主机和目的主机的信息,在确定所述第一控制器所管理的多个主机信息中包括所述目的主机信息时,确定所述源主机和目的主机之间的路径信息,所述源主机和目的主机之间的路径信息中包括第一边缘交换机的边缘节点端口信息和第二边缘交换机的边缘节点端口信息;
发送模块,用于向所述第二控制器发送第一路径响应消息,所述第一路径响应消息中包括所述第一边缘交换机的边缘节点端口信息和所述源主机的信息;向所述第三控制器发送第二路径响应消息,所述第二路径响应消息中包括所述第二边缘交换机的边缘节点端口信息和所述目的主机的信息。
第十四方面,提供一种报文传输装置,所述装置位于第一边缘交换机侧,包括:
接收模块,用于接收第一交换机发送的数据报文,所述数据报文是源主机发送给第一交换机的,所述数据报文中包括所述源主机和目的主机的信息;
发送模块,用于根据所述第一边缘交换机的流表,将所述数据报文通过所述第一边缘交换机的边缘节点端口发送给第二边缘交换机,以使所述第二边缘交换机根据所述第二边缘交换机的流表,通过所述第二边缘交换机的边缘节点端口接收所述数据报文,将所述数据报文发送给第二交换机,以使所述第二交换机将所述数据报文发送给目的主机。
基于第十四方面,在第一种可能的实现方式中,在所述发送模块根据所述第一边缘交换机的流表,将所述数据报文通过所述第一边缘交换机的边缘节点端口发送给第二边缘交换机之前;
所述接收模块,还用于接收第二控制器发送的所述第一边缘交换机的流表,所述第一边缘交换机的流表中的匹配项包括所述源主机的信息,所述第一边缘交换机的流表中的指令包括所述第一边缘交换机的边缘节点端口。
基于第十四方面或第十四方面的第一种可能的实现方式,在第二种可能的实现方式中,所述发送模块具体用于:根据所述数据报文中包括的源主机的信息,若确定与所述第一边缘交换机的流表中的匹配项包括的所述源主机的信息相同,则根据所述第一边缘交换机的流表中的指令包括的所述第一边缘交换机的边缘节点端口,将所述数据报文通过所述第一边缘交换机的边缘节点端口发送给第二边缘交换机。
第十五方面,提供一种报文传输装置,所述装置位于第二边缘交换机侧,包括:
接收模块,用于根据所述第二边缘交换机的流表,通过所述第二边缘交换机的边缘节点端口接收第一边缘交换机发送的数据报文,所述数据报文包括源主机和目的主机的信息;
发送模块,用于将所述数据报文发送给第二交换机,以使所述第二交换机将所述数据报文发送给目的主机。
基于第十五方面,在第一种可能的实现方式中,所述接收模块根据所述第二边缘交换机的流表,通过所述第二边缘交换机的边缘节点端口接收第一边缘交换机发送的数据报文之前;
所述接收模块,还用于接收第三控制器发送的所述第二边缘交换机的流表,所述第二边缘交换机的流表中的匹配项包括所述目的主机的信息,所述第二边缘交换机的流表中的指令包括所述第二边缘交换机的边缘节点端口。
基于第十五方面或第十五方面的第一种可能的实现方式,在第二种可能的实现方式中,所述接收模块具体用于:根据所述数据报文中包括的目的主机的信息,若确定与所述第二边缘交换机的流表中的匹配项包括的所述目的主机的信息相同,则根据所述第二边缘交换机的流表中的指令包括的所述第二边缘交换机的边缘节点端口,通过所述第二边缘交换机的边缘节点端口接收所述第一边缘交换机发送的数据报文。
本发明采用多个控制器进行分层管理的网络拓扑系统,使得每个控制器只控制管理网络拓扑系统中的局部,例如,第二控制器只控制管理第一交换机组,第三控制器只控制管理第二交换机组,第一控制器只控制管理由第二控制器和第三控制器组成的虚拟交换机,因此,当第二控制器下的交换机存在故障时,只对第二控制器管理的第一交换机组有影响,对第三控制器管理的第二交换机组没有任何影响,因此,只需要对第一交换机组重新进行路径规划,对第一交换机组重新进行路径规划之后,也不需要同步到第二交换机组,因此,不需要对控制器的同步要求,可以降低控制器对整网控制管理的难度。同时,每个控制器只控制管理部分交换机,可以减轻每个控制器的控制管理负担,尤其在网络规模庞大、组网复杂的场景下,明显降低控制器对整网控制管理的难度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术的集中式控制器管理的网络拓扑系统的架构图;
图2为现有技术的分布式多个控制器管理的网络拓扑系统的架构图;
图3为本发明一实施例提供的网络拓扑系统的结构示意图;
图4为本发明另一实施例提供的网络拓扑建立方法的流程示意图;
图5为本实施例中第二控制器和第一交换机组的网络拓扑结构示意图
图6为本发明另一实施例提供的网络拓扑建立方法的流程示意图;
图7为本发明另一实施例提供的网络拓扑路径控制方法的流程示意图;
图8为本实施例应用的三层控制器的网络拓扑系统架构图;
图9为本发明另一实施例提供的网络拓扑路径控制方法的流程示意图;
图10为本发明另一实施例提供的报文传输方法的流程示意图;
图11为本发明另一实施例提供的报文传输方法的流程示意图;
图12为本发明另一实施例提供的网络拓扑建立装置的结构示意图;
图13为本发明另一实施例提供的网络拓扑建立装置的结构示意图;
图14为本发明另一实施例提供的网络拓扑建立装置的结构示意图;
图15为本发明另一实施例提供的网络拓扑路径控制装置的结构示意图;
图16为本发明另一实施例提供的网络拓扑路径控制装置的结构示意图;
图17为本发明另一实施例提供的报文传输装置的结构示意图;
图18为本发明另一实施例提供的报文传输装置的结构示意图;
图19为本发明另一实施例提供的网络拓扑建立装置的结构示意图;
图20为本发明另一实施例提供的网络拓扑建立装置的结构示意图;
图21为本发明另一实施例提供的网络拓扑建立装置的结构示意图;
图22为本发明另一实施例提供的网络拓扑路径控制装置的结构示意图;
图23为本发明另一实施例提供的网络拓扑路径控制装置的结构示意图;
图24为本发明另一实施例提供的报文传输装置的结构示意图;
图25为本发明另一实施例提供的报文传输装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例可以通过扩展OpenFlow协议实现,但不限于OpenFlow协议实现,为了方便描述,本发明实施例通过2层控制器进行举例说明,但本发明实施例不限于2层控制器,可以支持多层控制器,层数可扩展。
图3为本发明一实施例提供的网络拓扑系统的结构示意图。如图3所示,至少包括:
第一层控制器1、第二层控制器2、第一交换机组3和第二交换机组4;
其中,第一层控制器为上层控制器,至少包括第一控制器11;
第二层控制器2为第一层控制器1的下层控制器,至少包括第二控制器21和第三控制器22;
其中,所述第一控制器11与所述第二控制器21和所述第三控制器22建立安全连接,且所述第一控制器11用于控制所述第二控制器21和所述第三控制器22;
所述第二控制器21与所述第一交换机组3中包括第一边缘交换机31的交换机建立安全连接,且第二控制器21用于控制第一交换机组3中包括第一边缘交换机31的各交换机;
所述第三控制器22与所述第二交换机组4中包括第二边缘交换机41的交换机建立安全连接,且第三控制器22用于控制第二交换机组4中包括第二边缘交换机41的各交换机;
在本发明的一个可选实施方式中,所述第一边缘交换机31,用于在与所述第二控制器21建立安全连接的过程中,将所述第一边缘交换机的其中一个端口设置为边缘节点端口,并将所述第一边缘交换机的边缘节点端口信息发送给所述第二控制器;
所述第二控制器21,用于接收所述第一边缘交换机的边缘节点端口信息,并在所述第二控制器与上层的所述第一控制器建立安全连接的过程中,将所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息发送给上层的所述第一控制器;进一步地,所述第二控制器21保存所述第一边缘交换机的边缘节点端口信息;
所述第二边缘交换机41,用于在与所述第三控制器22建立安全连接的过程中,将所述第二边缘交换机的其中一个端口设置为边缘节点端口,并将所述第二边缘交换机的边缘节点端口信息发送给所述第三控制器;
所述第三控制器22,用于接收所述第二边缘交换机的边缘节点端口信息,并在所述第三控制器与上层的所述第一控制器建立安全连接的过程中,将所述第三控制器的标识和所述第二边缘交换机的边缘节点端口信息发送给上层的所述第一控制器,进一步地,所述第三控制器22保存所述第二边缘交换机的边缘节点端口信息;
所述第一控制器11,用于在所述第二控制器21与上层的所述第一控制器11建立安全连接的过程中,接收所述第二控制器发送的所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息,建立所述第二控制器的标识与所述第一边缘交换机的边缘节点端口信息之间的对应关系;
所述第一控制器11,还用于在所述第三控制器与上层的所述第一控制器建立安全连接的过程中,接收所述第三控制器发送的所述第三控制器的标识和所述第二边缘交换机的边缘节点端口信息,建立所述第三控制器的标识与所述第二边缘交换机的边缘节点端口信息之间的对应关系;
在本发明的一个可选实施方式中,所述第一控制器11,还用于向所述第二控制器发送第一控制报文,所述第一控制报文中包括所述第一控制器的标识、所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息;
所述第二控制器21,还用于在接收到所述第一控制报文之后,根据所述第一控制报文中包括的所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息,将所述第一控制报文发送给与所述第一边缘交换机的边缘节点端口信息对应的第一边缘交换机;
所述第一边缘交换机31,还用于在接收到所述第一控制报文之后,将所述第一控制报文发送给所述第二边缘交换机;
所述第二边缘交换机41,还用于在接收到所述第一控制报文之后,将所述第二边缘交换机的边缘节点端口信息和所述第一控制报文封装为第二控制报文发送给所述第三控制器;
所述第三控制器22,还用于在接收到所述第二控制报文之后,根据所述第一控制报文中包括的所述第一控制器的标识,将所述第二控制报文发送给所述第一控制器;
所述第一控制器11,还用于在接收到所述第二控制报文之后,根据所述第二控制报文中包括的所述第二边缘交换机的边缘节点端口信息,以及所述第一控制报文中包括的所述第一边缘交换机的边缘节点端口信息,确定所述第二控制器通过所述第一边缘交换机和所述第二边缘交换机与所述第三控制器连接。
需要说明的是,本实施例中,第二层控制器(第二控制器21和第三控制器22)是第一层控制器(第一控制器11)的虚拟交换机,也就是说,第一控制器11只对第二控制器21和第三控制器22进行控制管理,不对第一交换机组和第二交换机组进行控制管理。第二控制器21只对第一交换机组进行控制管理,不对第二交换机组进行控制管理,同理,第三控制器22只对第二交换机组进行控制管理,不对第一交换机组进行控制管理。
本发明实施例采用多个控制器进行分层管理的网络拓扑系统,使得每个控制器只控制管理网络拓扑系统中的局部,例如,第二控制器只控制管理第一交换机组,第三控制器只控制管理第二交换机组,第一控制器只控制管理由第二控制器和第三控制器组成的虚拟交换机,因此,当第二控制器下的交换机存在故障时,只对第二控制器管理的第一交换机组有影响,对第三控制器管理的第二交换机组没有任何影响,因此,只需要对第一交换机组重新进行路径规划,对第一交换机组重新进行路径规划之后,也不需要同步到第二交换机组,因此,不需要对控制器的同步要求,可以降低控制器对整网控制管理的难度。同时,每个控制器只控制管理部分交换机,可以减轻每个控制器的控制管理负担。
图4为本发明另一实施例提供的网络拓扑建立方法的流程示意图,基于图3所示的网络拓扑系统的结构示意图,本实施例的网络拓扑建立方法包括:
401、第二控制器在与第一交换机组中包括第一边缘交换机的各交换机建立安全连接的过程中,获取所述第一边缘交换机的边缘节点端口信息。
举例来说,步骤401在具体实现时包括:
由于交换机存在很多端口,根据业务需求,可以设置相关端口为边缘节点端口;本实施例中,可以将第一交换机组中的任一个交换器的相关端口设置为边缘节点端口,从而将该交换机设置为边缘交换机(即第一边缘交换机31);
第二控制器启动监听程序,可以实现第一交换机组中各交换机连接到第二控制器,其中,控制器与交换机连接过程可以参考传输控制协议(Transmission Control Protocol,TCP)标准流程,不再赘述;
当第一交换机组中各交换机和第二控制器之间的安全通道建立成功之后,第一交换机组中各交换机和第二控制器之间可以通过建立的安全通道进行OpenFlow协议初始化过程、版本、支持特性等确认,第二控制器还可以获取所有支持OpenFlow协议的各交换机的端口信息、边缘节点端口信息、相关配置及统计等信息;其中,边缘节点端口信息可以通过扩展OpenFlow协议的ofp_phy_port结构,增加边缘节点标识字段,表1为ofp_phy_port结构的格式表,如表1所示:edge_lable表示边缘节点标识,real_swid表示边缘节点所在的真实交换机的标识;
port_no | hw_addr | name | config | state | curr | advertised | supported | peer | edge_lable | pad | real_swid |
上述过程成功的情况下,第二控制器保存其控制管理的第一交换机组中各交换机的标识、端口信息、边缘节点端口信息,支持的协议等信息。
举例来说,第二控制器将获取的第一边缘交换机的边缘节点端口信息予以保存。
需要说明的是,如图3所示的系统,第三控制器也需要在与第二交换机组中各交换机建立安全连接的过程中,获取和保存第二边缘交换机的边缘节点端口信息;具体实现过程可以参考上述步骤401的相关描述,不再赘述。
402、第二控制器在与上层的所述第一控制器建立安全连接的过程中,将所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息发送给上层的所述第一控制器,以使所述第一控制器建立所述第二控制器的标识与所述第一边缘交换机的边缘节点端口信息之间的对应关系。
举例来说,上层的第一控制器启动监听程序,下层的第二控制器和第三控制器主动发起和第一控制器连接,上层的第一控制器可以确认下层的第二控制器和第三控制器为虚拟交换机,第二控制器和第三控制器可以通过现有的TCP标准流程与上层的第一控制器建立安全通道,具体建立过程可以参考TCP标准流程,不再赘述。
第二控制器通过建立的安全通道将该第二控制器的标识和第一边缘交换机的边缘节点端口信息发送给上层的第一控制器;同理,第三控制器通过建立的安全通道将该第三控制器的标识和第二边缘交换机的边缘节点端口信息发送给上层的第一控制器。
上述过程成功的情况下,上层的第一控制器建立所述第二控制器的标识与第一边缘交换机的边缘节点端口信息之间的对应关系,建立所述第三控制器的标识与第二边缘交换机的边缘节点端口信息之间的对应关系;进一步地,上层的第一控制器还可以保存下层的虚拟交换机(即下层的第二控制器和第三控制器)的标识、端口信息、支持的协议等信息。
403、第二控制器接收所述第一控制器发送的第一控制报文,所述第一控制报文中包括所述第一控制器的标识、所述第二控制器的标识和第一边缘交换机的边缘节点端口信息。
为了能够实现后续的网络路径控制方法和报文传输方法,本实施例建立的网络拓扑系统需要进行组网发现过程;举例来说,在步骤404之前,第二控制器需要对其控制管理的第一交换机组中包括第一边缘交换机的各交换机进行组网发现,以及第三控制器需要对其控制管理的第二交换机组中包括第二边缘交换机的各交换机进行组网发现。图5为本实施例中第二控制器和第一交换机组的网络拓扑结构示意图,如图5所示,下面以第二控制器对其控制管理的第一交换机组中各交换机的组网发现过程为例进行说明:
第一交换机组中各交换机与第二控制器建立安全连接后,第二控制器发送控制报文(例如PacketOut报文),PacketOut报文中的数据包可以是一个包括发送交换机的标识和出端口信息的链路层发现协议(Link LayerDiscovery Protocol,LLDP)报文;
发送交换机收到PacketOut报文后,解析LLDP报文获取出端口信息,从对应的出端口将LLDP报文发送至相邻交换机;
相邻交换机封装LLDP报文为PacketIn报文,并在PacketIn报文中记录LLDP报文的入端口信息,相邻交换机将PacketIn报文发送给第二控制器;
第二控制器对相邻交换机发送的PacketIn报文进行解析处理,获取到LLDP报文中包括的发送交换机的标识和出端口信息,以及获取发送PacketIn报文的相邻交换机的标识和LLDP报文的入端口信息,使得第二控制器可以得到发送交换机与其相邻交换机的连接情况。
上述过程成功的情况下,第二控制器1可以获得其控制管理的第一交换机组中各交换机之间的连接情况。
同理,第三控制器可以获得其控制管理的第二交换机组中各交换机之间的连接情况,具体不再赘述。
举例来说,步骤403在具体实现时:
通过建立图3所示的网络拓扑系统之后,上层的第一控制器已经知道其控制管理的下层的第二控制器和第三控制器的标识以及对应边缘节点端口信息,即第二控制器对应边缘节点端口信息为第一边缘交换机的边缘节点端口,第三控制器对应边缘节点端口信息为第二边缘交换机的边缘节点端口。
通过扩展OpenFlow协议,在LLDP报文格式中增加上层控制器标识,表2为LLDP报文格式表,如表2所示,其中,CID TLV表示上层控制器标识的字段(Controller Identify TLV)。
Chassis ID TLV | Port ID TLV | TTL TLV | Optional TLV | … | Optional TLV | CID TLV | END TLV |
上层的第一控制器可以向虚拟发送交换机(第二控制器)发送携带LLDP报文的控制报文(例如PacketOut报文),LLDP中包括虚拟发送交换机(第二控制器)的标识和端口信息(第一边缘交换机的边缘节点端口信息)以及上层的第一控制器的标识。
404、第二控制器根据所述第一控制报文中包括的所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息,通过与所述第一边缘交换机的边缘节点端口信息对应的第一边缘交换机将所述第一控制报文发送给与所述第二控制器相邻的第三控制器,以使所述第三控制器通过第二边缘交换机接收所述第二控制器发送的第一控制报文,将所述第一控制报文和所述第二边缘交换机的边缘节点端口信息封装为第二控制报文后,根据所述第一控制报文中包括的所述第一控制器的标识,将所述第二控制报文发送给所述第一控制器,以使所述第一控制器根据所述第二控制报文中包括的所述第二边缘交换机的边缘节点端口信息,以及所述第一控制报文中包括的所述第一边缘交换机的边缘节点端口信息,确定所述第二控制器通过所述第一边缘交换机和所述第二边缘交换机与所述第三控制器连接。
举例来说,步骤404在具体实现时:
下层的第二控制器(虚拟发送交换机)收到上层的第一控制器发送携带LLDP报文的PacketOut报文之后,根据PacketOut报文中包括的端口信息,将PacketOut报文发送至第一边缘交换机。
第一边缘交换机收到PacketOut报文之后,将PacketOut报文中的LLDP转发给相邻的第二交换机组中的第二边缘交换机;
第二边缘交换机将LLDP报文封装成PacketIn报文,并将PacketIn报文发送给第三控制器。
第三控制器根据LLDP报文中包含的第一控制器标识(即CID字段)判断该PacketIn报文不属于第三控制器的控制报文,将PacketIn报文发送给上层的第一控制器,上层的第一控制器根据第一控制器标识,确定该PacketIn报文是发送给自己的控制报文,上层的第一控制器获取到LLDP报文中包括的虚拟发送交换机(第二控制器)的标识和第一边缘交换机的边缘节点端口信息,以及获取到发送PacketIn报文的虚拟相邻交换机(第三控制器)的标识和LLDP报文的入端口信息(第二边缘交换机的边缘节点端口信息),使得上层的第一控制器可以得到虚拟发送交换机(第二控制器)与虚拟相邻交换机(第三控制器)的连接情况。
上述过程成功的情况下,上层的第一控制器可以获得虚拟发送交换机(第二控制器)通过第一边缘交换机和第二边缘交换机实现与虚拟相邻交换机(第三控制器)的连接情况。
通过本发明实施例采用的网络拓扑建立方法可以建立多个控制器进行分层管理的网络拓扑系统,使得每个控制器只控制管理网络拓扑系统中的局部,例如,第二控制器只控制管理第一交换机组,第三控制器只控制管理第二交换机组,第一控制器只控制管理由第二控制器和第三控制器组成的虚拟交换机,因此,当第二控制器下的交换机存在故障时,只对第二控制器管理的第一交换机组有影响,对第三控制器管理的第二交换机组没有任何影响,因此,只需要对第一交换机组重新进行路径规划,对第一交换机组重新进行路径规划之后,也不需要同步到第二交换机组,因此,不需要对控制器的同步要求,可以降低控制器对整网控制管理的难度。同时,每个控制器只控制管理部分交换机,可以减轻每个控制器的控制管理负担。
图6为本发明另一实施例提供的网络拓扑建立方法的流程示意图,如图6所示,基于图3所示的网络拓扑系统的结构示意图,本实施例的网络拓扑建立方法包括:
601、上层的第一控制器在与下层的第二控制器建立安全连接的过程中,接收所述第二控制器发送的所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息,所述第一边缘交换机的边缘节点端口信息为所述第二控制器在与所述第一交换机组中包括第一边缘交换机的交换机建立安全连接的过程中,获取的所述第一边缘交换机的边缘节点端口信息;
602、第一控制器建立所述第二控制器的标识与所述第一边缘交换机的边缘节点端口信息之间的对应关系。
603、上层的第一控制器在与下层的第三控制器建立安全连接的过程中,接收所述第三控制器发送的所述第三控制器的标识和第二边缘交换机的边缘节点端口信息,所述第二边缘交换机的边缘节点端口信息为所述第三控制器在与所述第二交换机组中包括所述第二边缘交换机的交换机建立安全连接的过程中,获取的所述第二边缘交换机的边缘节点端口信息;
604、第一控制器建立所述第三控制器的标识与所述第二边缘交换机的边缘节点端口信息之间的对应关系。
其中,上述步骤601和603可以并行执行,步骤602和604可以并行执行。
605、第一控制器向所述第二控制器发送第一控制报文,所述第一控制报文中包括所述第一控制器的标识、所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息;以使所述第二控制器根据所述第一控制报文中包括的所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息,通过与所述第一边缘交换机的边缘节点端口信息对应的第一边缘交换机将所述第一控制报文发送给与所述第二控制器相邻的第三控制器,以使所述第三控制器通过第二边缘交换机接收所述第二控制器发送的第一控制报文,将所述第一控制报文和所述第二边缘交换机的边缘节点端口信息封装为第二控制报文后,根据所述第一控制报文中包括的所述第一控制器的标识,将所述第二控制报文发送给所述第一控制器;
606、第一控制器根据所述第二控制报文中包括的所述第二边缘交换机的边缘节点端口信息,以及所述第一控制报文中包括的所述第一边缘交换机的边缘节点端口信息,确定所述第二控制器通过所述第一边缘交换机和所述第二边缘交换机与所述第三控制器连接。
上述步骤601-606的具体实现可以参考图4所示实施例中的相关描述,在此不再赘述。
通过本发明实施例采用的网络拓扑建立方法可以建立多个控制器进行分层管理的网络拓扑系统,使得每个控制器只控制管理网络拓扑系统中的局部,例如,第二控制器只控制管理第一交换机组,第三控制器只控制管理第二交换机组,第一控制器只控制管理由第二控制器和第三控制器组成的虚拟交换机,因此,当第二控制器下的交换机存在故障时,只对第二控制器管理的第一交换机组有影响,对第三控制器管理的第二交换机组没有任何影响,因此,只需要对第一交换机组重新进行路径规划,对第一交换机组重新进行路径规划之后,也不需要同步到第二交换机组,因此,不需要对控制器的同步要求,可以降低控制器对整网控制管理的难度。同时,每个控制器只控制管理部分交换机,可以减轻每个控制器的控制管理负担。
图7为本发明另一实施例提供的网络拓扑路径控制方法的流程示意图;基于图3所示的网络拓扑系统和图4或图6所示的网络拓扑系统的建立方法,本实施例的网络拓扑路径控制方法包括:
701、第二控制器接收第一交换机发送的路径请求消息,所述路径请求消息中包括源主机和目的主机的信息。
其中,第一交换机为第一交换机组中的多个其他交换机中的其中一个交换机,与源主机连接。
702、第二控制器根据所述目的主机的信息,确定所述目的主机信息不在所述第二控制器所管理的多个主机信息中。
举例来说,假设第二控制器知道其所控制管理的第二交换机组中所有主机的信息,当第二控制器接收到第一交换机发送的路径请求消息之后,根据路径请求消息中包括的目的主机的信息,可以确定确定目的主机信息是否在第二控制器所管理的多个主机信息中,若确定所述目的主机信息不在所述第二控制器所管理的多个主机信息中,则执行步骤703,若确定所述目的主机信息在所述第二控制器所管理的多个主机信息中,则可以根据源主机和目的主机的信息,在第一交换机组中确定源主机和目的主机之间的路径表项。
703、第二控制器向上层的第一控制器发送所述路径请求消息,以使所述第一控制器根据所述路径请求消息中包括的源主机和目的主机的信息,确定所述源主机和目的主机之间的路径信息,并向所述第二控制器发送第一路径响应消息,所述第一路径响应消息中包括所述源主机的信息和第一边缘交换机的边缘节点端口信息。
假设第二控制器确定所述目的主机信息不在所述第二控制器所管理的多个主机信息中,则第二控制器不能确定源主机和目的主机之间的路径表项,此时,第二控制器向上层的第一控制器发送所述路径请求消息。
需要说明的是,本实施例是以图3所示的网络拓扑系统为例进行说明的,根据如图3所示的系统,第一控制器可以知道第二控制器所管理的主机信息和第三控制器所管理的主机信息,假设本实施例中,目的主机信息是第三控制器所管理的主机信息时,当第一控制器接收到路径请求消息之后,可以根据路径请求消息中包括的源主机和目的主机的信息,确定源主机和目的主机之间的路径信息,其中,源主机和目的主机之间的路径信息中至少包括第二控制器的标识及对应的端口信息和第三控制器的标识及对应的端口信息。
704、第二控制器根据所述第一路径响应消息中包括的所述第一边缘交换机的边缘节点端口信息和所述源主机的信息,确定与所述源主机连接的所述第一交换机与所述第一边缘交换机之间的路径信息;
705、第二控制器根据所述第一交换机与所述第一边缘交换机之间的路径信息,分别构建所述第一交换机与所述第一边缘交换机之间的路径中各交换机对应的流表;
706、第二控制器分别将所述第一交换机与所述第一边缘交换机之间的路径中各交换机对应的流表发送给对应的交换机。
举例来说,本实施例中,在第二控制器向上层的第一控制器发送所述路径请求消息,以使所述第一控制器根据所述路径请求消息中包括的源主机和目的主机的信息,确定所述源主机和目的主机之间的路径信息之后,还包括:
所述第一控制器向第三控制器发送第二路径响应消息,所述第二路径响应消息中包括所述第三控制器的端口信息和所述目的主机的信息;
所述第三控制根据所述第二路径响应消息中包括的所述第三控制器的端口信息,确定与所述第三控制器的端口信息对应的第二边缘交换机的边缘节点端口信息;
所述第三控制根据所述第二边缘交换机的边缘节点端口信息和所述目的主机的信息,确定与所述目的主机连接的第二交换机与所述第二边缘交换机之间的路径信息;
所述第三控制根据所述第二交换机与所述第二边缘交换机之间的路径信息,分别构建所述第二交换机与所述第二边缘交换机之间的路径中各交换机的流表;
所述第三控制分别将所述第二交换机与所述第二边缘交换机之间的路径中各交换机的流表发送给对应的交换机;
其中,所述第二交换机为所述第二交换机组中的多个其他交换机中的其中一个交换机,与所述目的主机连接。
进一步需要说明的是,假设网络拓扑系统是多层控制器的网络拓扑系统时,图8为本实施例应用的三层控制器的网络拓扑系统架构图,如图8所示,假设源主机信息是controller4所管理的主机信息,controller4是与交换机直接连接的最底层控制器,假设目的主机信息是controller7所管理的主机信息;当源主机需要与目的主机传输报文时,与源主机连接的交换机没有流表信息时,需要向controller4发送路径请求消息(例如PacketIn报文)。
controller4接收到路径请求消息之后,根据路径请求消息中包括的目的主机信息,其中,目的主机信息包括目的主机的IP地址或MAC地址,确定该目的主机信息不是controller4所管理的主机信息,controller4可以向其上一层的控制器(controller2)发送路径请求消息(例如HOST_APPLY报文)。
如图8所示的系统,controller2所管理的主机信息包括controller4所管理的主机信息和controller5所管理的主机信息,由于目的主机信息是controller7所管理的主机信息,因此,controller2可以确定该目的主机信息不是controller2所管理的主机信息,此时,controller2逐级上报路径请求消息给其上一层的控制器(controller1)。
controller1所管理的主机信息包括controller4所管理的主机信息、controller5所管理的主机信息、controller6所管理的主机信息和controller7所管理的主机信息,因此,controller1可以确定该目的主机信息是controller1所管理的主机信息。
Controller1根据网络拓扑结构,进行路径计算,确定源主机和目的主机之间的路径信息,其中,Controller1确定的路径信息中至少包括controller2的标识及对应的端口信息和controller3的标识及对应的端口信息,Controller1向controller2发送的路径响应消息(例如PATH_NODE报文)中包括controller2的端口信息和controller2的标识;Controller1向controller3发送的路径响应消息中包括controller3的端口信息和controller3的标识。
需要说明的是,在建立图8所示的3层控制器的网络拓扑系统时,controller4可以获取其管理的边缘交换机的边缘节点端口信息,并将其管理的边缘交换机的边缘节点端口设置为controller4的端口,controller4将controller4的端口信息上报给其上一层的控制器controller2,controller2可以将controller4的端口设置为controller2的端口;同理,controller5可以获取其管理的边缘交换机的边缘节点端口信息,并将其管理的边缘交换机的边缘节点端口设置为controller5的端口,controller5将controller5的端口信息上报给其上一层的控制器controller2,controller2可以将controller5的端口设置为controller2的端口
因此,controller2的端口包括controller4管理的边缘交换机的边缘节点端口和controller5管理的边缘交换机的边缘节点端口,controller2可以将controller2的端口信息上报给其上一层的控制器Controller1;同理,Controller1可以获取其所管理的controller3的端口信息,controller3的端口信息包括controller6管理的边缘交换机的边缘节点端口信息和controller7管理的边缘交换机的边缘节点端口信息。
controller2接收到Controller1发送的路径响应消息之后,获取路径响应消息中包括的controller2端口信息(包括controller4管理的边缘交换机的边缘节点端口信息和controller5管理的边缘交换机的边缘节点端口信息),controller2根据controller2的端口信息重新计算路径,controller2重新计算的路径信息中包括controller4的标识及端口信息和controller5的标识及端口信息,controller2向controller4发送的路径响应消息(例如PATH_NODE报文)中包括controller4的标识及端口信息;controller2向controller5发送的路径响应消息(例如PATH_NODE报文)中包括controller5的标识及端口信息;
同理,controller3接收到Controller1发送的路径响应消息之后,获取路径响应消息中包括的controller3端口信息(包括controller6管理的边缘交换机的边缘节点端口信息和controller7管理的边缘交换机的边缘节点端口信息),controller3根据controller3的端口信息重新计算路径,controller3重新计算的路径信息中包括controller6的标识及端口信息和controller7的标识及端口信息,controller3向controller6发送的路径响应消息(例如PATH_NODE报文)中包括controller6的标识及端口信息;controller3向controller7发送的路径响应消息(例如PATH_NODE报文)中包括controller7的标识及端口信息;
controller4接收到controller2发送的路径响应消息之后,获取路径响应消息中包括的controller4端口信息(controller4管理的边缘交换机的边缘节点端口信息),controller4根据controller4的端口信息重新计算与源主机连接的交换机到controller4管理的边缘交换机之间的路径,并确定与源主机连接的交换机到controller4管理的边缘交换机之间的路径中各交换机的流表,并将确定的流表发送给对应的交换机,具体可以参考现有技术中的相关内容,不再赘述。
同理,controller5接收到controller2发送的路径响应消息之后,获取路径响应消息中包括的controller5端口信息(controller5管理的边缘交换机的边缘节点端口信息);假设controller5管理的边缘交换机只有一个时,且该边缘交换机都与controller4管理的边缘交换机和controller6管理的边缘交换机分别相邻连接,Controller5根据controller5的端口信息,确定controller5管理的边缘交换机的流表,并将流表发送给该controller5管理的边缘交换机。假设controller5管理的边缘交换机有两个时,且该两个边缘交换机分别与controller4管理的边缘交换机和controller6管理的边缘交换机相邻连接,则controller5端口信息包括该controller5管理的两个边缘交换机的边缘节点端口信息,此时,controller5根据controller5的端口信息重新计算controller5管理的两个边缘交换机之间的路径,并确定controller5管理的两个边缘交换机之间的路径中各交换机的流表,并将确定的流表发送给对应的交换机。
同理,controller6接收到controller3发送的路径响应消息之后,获取路径响应消息中包括的controller6端口信息(controller6管理的边缘交换机的边缘节点端口信息);假设controller6管理的边缘交换机只有一个时,且该边缘交换机都与controller5管理的边缘交换机和controller7管理的边缘交换机分别相邻连接,Controller6根据controller6的端口信息,确定controller6管理的边缘交换机的流表,并将流表发送给该controller6管理的边缘交换机。假设controller6管理的边缘交换机有两个时,且该两个边缘交换机分别与controller5管理的边缘交换机和controller7管理的边缘交换机相邻连接,则controller6端口信息包括该controller6管理的两个边缘交换机的边缘节点端口信息,此时,controller6根据controller6的端口信息重新计算controller6管理的两个边缘交换机之间的路径,并确定controller6管理的两个边缘交换机之间的路径中各交换机的流表,并将确定的流表发送给对应的交换机。
Controller7接收到controller3发送的路径响应消息之后,获取路径响应消息中包括的controller7端口信息,其中,controller7端口信息为controller7管理的边缘交换机的边缘节点端口信息,且controller7管理的边缘交换机与controller6管理的边缘交换机相邻连接,controller7根据controller7的端口信息重新计算controller7管理的边缘交换机到与目的主机连接的交换机之间的路径,并确定controller7管理的边缘交换机到与目的主机连接的交换机之间的路径中各交换机的流表,并将流表分别发送给路径中对应的交换机。
基于本发明实施例采用的多层控制器管理的网络拓扑系统,由于每个控制器只控制管理网络拓扑系统中的局部,例如,第二控制器只控制管理第一交换机组,第三控制器只控制管理第二交换机组,第一控制器只控制管理由第二控制器和第三控制器组成的虚拟交换机,因此,在计算网络拓扑路径时,每个控制器只需要根据其所管理的局部网络拓扑结构计算路径,例如,第一控制器只需要根据第二控制器和第二控制器组成的虚拟交换机计算路径,第二控制器只需要根据其所管理的第一交换机组的网络拓扑结构计算路径,第三控制器只需要根据其所管理的第二交换机组的网络拓扑结构计算路径;不需要每个控制器根据全局网络拓扑系统结构进行整网的路径计算,可以降低每个控制器的路径计算的难度,尤其是在网络规模庞大,组网复杂情况下,降低每个控制器的路径计算的难度效果明显。
图9为本发明另一实施例提供的网络拓扑路径控制方法的流程示意图;基于图3所示的网络拓扑系统和图4或图6所示的网络拓扑系统的建立方法,本实施例的网络拓扑路径控制方法包括:
901、上层的第一控制器接收下层的第二控制器发送的路径请求消息,所述路径请求消息中包括源主机和目的主机的信息。
其中,所述路径请求消息是所述第二控制器在接收第一交换机发送的路径请求消息之后,根据所述目的主机的信息,确定所述目的主机信息不在所述第二控制器所管理的多个主机信息中时,向所述第一控制器发送的所述路径请求消息;所述第一交换机为第一交换机组中的多个其他交换机中的其中一个交换机,与所述源主机连接;
902、第一控制器根据所述路径请求消息中包括的源主机和目的主机的信息,在确定所述第一控制器所管理的多个主机信息中包括所述目的主机信息时,确定所述源主机和目的主机之间的路径信息,所述源主机和目的主机之间的路径信息中包括第一边缘交换机的边缘节点端口信息和第二边缘交换机的边缘节点端口信息;
903、第一控制器向所述第二控制器发送第一路径响应消息,所述第一路径响应消息中包括所述第一边缘交换机的边缘节点端口信息和所述源主机的信息。
对应地,所述第二控制器根据所述第一路径响应消息中包括的第一边缘交换机的边缘节点端口信息和所述源主机的信息,确定与所述源主机连接的所述第一交换机与所述第一边缘交换机之间的路径信息;
根据所述第一交换机与所述第一边缘交换机之间的路径信息,分别构建所述第一交换机与所述第一边缘交换机之间的路径中各交换机对应的流表;
分别将所述第一交换机与所述第一边缘交换机之间的路径中各交换机的对应流表发送给对应的交换机。
904、第一控制器向所述第三控制器发送第二路径响应消息,所述第二路径响应消息中包括所述第二边缘交换机的边缘节点端口信息和所述目的主机的信息。
对应地,所述第三控制根据所述第二路径响应消息中包括的第二边缘交换机的边缘节点和所述目的主机的信息,确定与所述目的主机连接的第二交换机与所述第二边缘交换机之间的路径信息;
根据所述第二交换机与所述第二边缘交换机之间的路径信息,分别构建所述第二交换机与所述第二边缘交换机之间的路径中各交换机对应的流表;
分别将所述第二交换机与所述第二边缘交换机之间的路径中各交换机对应的流表发送给对应的交换机;
所述第二交换机为所述第二交换机组中的多个其他交换机中的其中一个交换机,与所述目的主机连接。
基于本发明实施例采用的多层控制器管理的网络拓扑系统,由于每个控制器只控制管理网络拓扑系统中的局部,例如,第二控制器只控制管理第一交换机组,第三控制器只控制管理第二交换机组,第一控制器只控制管理由第二控制器和第三控制器组成的虚拟交换机,因此,在计算网络拓扑路径时,每个控制器只需要根据其所管理的局部网络拓扑结构计算路径,例如,第一控制器只需要根据第二控制器和第二控制器组成的虚拟交换机计算路径,第二控制器只需要根据其所管理的第一交换机组的网络拓扑结构计算路径,第三控制器只需要根据其所管理的第二交换机组的网络拓扑结构计算路径;不需要每个控制器根据全局网络拓扑系统结构进行整网的路径计算,可以降低每个控制器的路径计算的难度,尤其是在网络规模庞大,组网复杂情况下,降低每个控制器的路径计算的难度效果明显。
图10为本发明另一实施例提供的报文传输方法的流程示意图,基于图3所示的网络拓扑系统、图4或图6所示网络拓扑系统的建立方法以及图7或图9所示的网络路径控制方法,本实施例的报文传输方法包括:
101、第一边缘交换机接收第一交换机发送的数据报文,数据报文是源主机发送给第一交换机的,所述数据报文中包括所述源主机和目的主机的信息。
举例来说,当源主机向目的主机发送数据报文时,与源主机连接的第一交换机接收到源主机发送的数据报文,所述数据报文中包括所述源主机和目的主机的信息。
进一步举例来说,通过上述图7或图9所示的网络路径控制方法,第二控制器已经确定与源主机连接的第一交换机与第一边缘交换机之间的路径中各交换机的流表,并将流表发送给对应的交换机;当与源主机连接的第一交换机接收到源主机发送的数据报文,可以根据第二控制器发送的所述第一交换机的流表,将数据报文从第一交换机的出端口发送处理,经过第一交换机与第一边缘交换机之间路径中各交换机的转发,直至将数据报文发送给第一边缘交换机。
102、第一边缘交换机根据所述第一边缘交换机的流表,将所述数据报文通过所述第一边缘交换机的边缘节点端口发送给第二边缘交换机,以使所述第二边缘交换机根据所述第二边缘交换机的流表,通过所述第二边缘交换机的边缘节点端口接收所述数据报文,将所述数据报文发送给第二交换机,以使所述第二交换机将所述数据报文发送给目的主机。
举例来说,通过上述图7或图9所示的网络路径控制方法,在步骤102之前,第一边缘交换机已经接收到第二控制器发送的第一边缘交换机的流表。
举例来说,所述第一边缘交换机的流表中的匹配项包括所述源主机的信息,所述第一边缘交换机的流表中的指令包括所述第一边缘交换机的边缘节点端口。
举例来说,步骤202具体实现时:
所述第一边缘交换机根据所述数据报文中包括的源主机的信息,若确定与所述第一边缘交换机的流表中的匹配项包括所述源主机的信息相同,则根据所述第一边缘交换机的流表中的指令包括所述第一边缘交换机的边缘节点端口,将所述数据报文通过所述第一边缘交换机的边缘节点端口发送给第二边缘交换机。
对应地,第二边缘交换机根据第三控制器发送的第二边缘交换机的流表,通过所述第二边缘交换机的边缘节点端口接收所述数据报文,之后,,经过第二边缘交换机和第二交换机之间路径中各交换机的转发,直至将数据报文发送给第二交换机,其中,第二交换机是与目的主机连接的交换机,以使所述第二交换机将所述数据报文发送给目的主机。
基于本发明实施例采用的多层控制器管理的网络拓扑系统,由于最底层的每个控制器只控制管理其对应的下一层交换机组,本发明实施例通过每个交换机组中的边缘交换机实现不同交换机组之间的通信需求,尤其在网络规模庞大,组网复杂情况下,当源主机和目的主机之间跨越多个交换机组时,本实施例的报文传输方法可以减少源主机和目的主机之间的路径中交换机的个数,可以提高数据报文的传输效率。
图11为本发明另一实施例提供的报文传输方法的流程示意图,基于图3所示的网络拓扑系统、图4或图6所示网络拓扑系统的建立方法以及图7或图9所示的网络路径控制方法,本实施例的报文传输方法包括:
201、第二边缘交换机根据所述第二边缘交换机的流表,通过所述第二边缘交换机的边缘节点端口接收第一边缘交换机发送的数据报文,所述数据报文包括源主机和目的主机的信息;
举例来说,步骤201之前,包括:
所述第二边缘交换机接收第三控制器发送的所述第二边缘交换机的流表.其中,举例来说,所述第二边缘交换机的流表中的匹配项包括所述目的主机的信息,所述第二边缘交换机的流表中的指令包括所述第二边缘交换机的边缘节点端口。
则步骤201具体实现时包括:
所述第二边缘交换机根据所述数据报文中包括的目的主机的信息,若确定与所述第二边缘交换机的流表中的匹配项包括所述目的主机的信息相同,则根据所述第二边缘交换机的流表中的指令包括所述第二边缘交换机的边缘节点端口,通过所述第二边缘交换机的边缘节点端口接收所述第一边缘交换机发送的数据报文。
202、第二边缘交换机将所述数据报文发送给第二交换机,以使所述第二交换机将所述数据报文发送给目的主机。
举例来说,步骤202具体实现时,可以经过第二边缘交换机和第二交换机之间路径中各交换机的转发,直至将数据报文发送给第二交换机,其中,第二交换机是与目的主机连接的交换机,以使所述第二交换机将所述数据报文发送给目的主机。
基于本发明实施例采用的多层控制器管理的网络拓扑系统,由于最底层的每个控制器只控制管理其对应的下一层交换机组,本发明实施例通过每个交换机组中的边缘交换机实现不同交换机组之间的通信需求,尤其在网络规模庞大,组网复杂情况下,当源主机和目的主机之间跨越多个交换机组时,本实施例的报文传输方法可以减少源主机和目的主机之间的路径中交换机的个数,可以提高数据报文的传输效率。
图12为本发明另一实施例提供的网络拓扑建立装置的结构示意图,所述装置位于第二控制器侧,如图12所示,包括:
获取模块51,用于在所述第二控制器与所述第一交换机组中包括第一边缘交换机的交换机建立安全连接的过程中,获取所述第一边缘交换机的边缘节点端口信息;
发送模块52,用于在所述第二控制器与上层的所述第一控制器建立安全连接的过程中,将所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息发送给上层的所述第一控制器,以使所述第一控制器建立所述第二控制器的标识与所述第一边缘交换机的边缘节点端口信息之间的对应关系。
举例来说,所述装置还包括:
接收模块53,用于接收所述第一控制器发送的第一控制报文,所述第一控制报文中包括所述第一控制器的标识、所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息;
所述发送模块52,还用于根据所述第一控制报文中包括的所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息,通过与所述第一边缘交换机的边缘节点端口信息对应的第一边缘交换机将所述第一控制报文发送给与所述第二控制器相邻的第三控制器,以使所述第三控制器通过第二边缘交换机接收所述第二控制器发送的第一控制报文,将所述第一控制报文和所述第二边缘交换机的边缘节点端口信息封装为第二控制报文后,根据所述第一控制报文中包括的所述第一控制器的标识,将所述第二控制报文发送给所述第一控制器,以使所述第一控制器根据所述第二控制报文中包括的所述第二边缘交换机的边缘节点端口信息,以及所述第一控制报文中包括的所述第一边缘交换机的边缘节点端口信息,确定所述第二控制器通过所述第一边缘交换机和所述第二边缘交换机与所述第三控制器连接。
通过本发明实施例采用的网络拓扑建立装置可以建立多个控制器进行分层管理的网络拓扑系统,使得每个控制器只控制管理网络拓扑系统中的局部,例如,第二控制器只控制管理第一交换机组,第三控制器只控制管理第二交换机组,第一控制器只控制管理由第二控制器和第三控制器组成的虚拟交换机,因此,当第二控制器下的交换机存在故障时,只对第二控制器管理的第一交换机组有影响,对第三控制器管理的第二交换机组没有任何影响,因此,只需要对第一交换机组重新进行路径规划,对第一交换机组重新进行路径规划之后,也不需要同步到第二交换机组,因此,不需要对控制器的同步要求,可以降低控制器对整网控制管理的难度。同时,每个控制器只控制管理部分交换机,可以减轻每个控制器的控制管理负担。
图13为本发明另一实施例提供的网络拓扑建立装置的结构示意图,所述装置位于第三控制器侧,如图13所示,包括:
获取模块54,用于在所述第三控制器与所述第二交换机组中包括第二边缘交换机的交换机建立安全连接的过程中,获取所述第二边缘交换机的边缘节点端口信息;
发送模块55,用于在所述第三控制器与上层的第一控制器建立安全连接的过程中,将所述第三控制器的标识和所述第二边缘交换机的边缘节点端口信息发送给上层的所述第一控制器;以使所述第一控制器建立所述第三控制器的标识与所述第二边缘交换机的边缘节点端口信息之间的对应关系。
举例来说,所述装置还包括:
接收模块56,用于接收所述第一控制器发送的第一控制报文,所述第一控制报文中包括所述第一控制器的标识、所述第三控制器的标识和所述第二边缘交换机的边缘节点端口信息;
所述发送模块55,还用于根据所述第一控制报文中包括的所述第三控制器的标识和所述第二边缘交换机的边缘节点端口信息,通过与所述第二边缘交换机的边缘节点端口信息对应的第二边缘交换机将所述第一控制报文发送给与所述第三控制器相邻的第二控制器,以使所述第二控制器通过第一边缘交换机接收所述第三控制器发送的第一控制报文,将所述第一控制报文和所述第一边缘交换机的边缘节点端口信息封装为第二控制报文后,根据所述第一控制报文中包括的所述第一控制器的标识,将所述第二控制报文发送给所述第一控制器,以使所述第一控制器根据所述第二控制报文中包括的所述第一边缘交换机的边缘节点端口信息,以及所述第一控制报文中包括的所述第二边缘交换机的边缘节点端口信息,确定所述第三控制器通过所述第二边缘交换机和所述第一边缘交换机与所述第二控制器连接。
通过本发明实施例采用的网络拓扑建立装置可以建立多个控制器进行分层管理的网络拓扑系统,使得每个控制器只控制管理网络拓扑系统中的局部,例如,第二控制器只控制管理第一交换机组,第三控制器只控制管理第二交换机组,第一控制器只控制管理由第二控制器和第三控制器组成的虚拟交换机,因此,当第二控制器下的交换机存在故障时,只对第二控制器管理的第一交换机组有影响,对第三控制器管理的第二交换机组没有任何影响,因此,只需要对第一交换机组重新进行路径规划,对第一交换机组重新进行路径规划之后,也不需要同步到第二交换机组,因此,不需要对控制器的同步要求,可以降低控制器对整网控制管理的难度。同时,每个控制器只控制管理部分交换机,可以减轻每个控制器的控制管理负担。
图14为本发明另一实施例提供的网络拓扑建立装置的结构示意图,所述装置位于第一控制器侧,如图14所示,包括:
接收模块61,用于在下层的第二控制器与上层的所述第一控制器建立安全连接的过程中,接收所述第二控制器发送的所述第二控制器的标识和第一边缘交换机的边缘节点端口信息,所述第一边缘交换机的边缘节点端口信息为所述第二控制器在与所述第一交换机组中包括第一边缘交换机的交换机建立安全连接的过程中,获取的所述第一边缘交换机的边缘节点端口信息;
建立模块62,用于建立所述第二控制器的标识与所述第一边缘交换机的边缘节点端口信息之间的对应关系。
举例来说,所述接收模块61,还用于在下层的第三控制器与上层的所述第一控制器建立安全连接的过程中,接收所述第三控制器发送的所述第三控制器的标识和第二边缘交换机的边缘节点端口信息,所述第二边缘交换机的边缘节点端口信息为所述第三控制器在与所述第二交换机组中包括所述第二边缘交换机的交换机建立安全连接的过程中,获取的所述第二边缘交换机的边缘节点端口信息;
所述建立模块62,还用于建立所述第三控制器的标识与所述第二边缘交换机的边缘节点端口信息之间的对应关系。
举例来说,所述装置还包括:
发送模块63,用于向所述第二控制器发送第一控制报文,所述第一控制报文中包括所述第一控制器的标识、所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息;以使所述第二控制器根据所述第一控制报文中包括的所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息,通过与所述第一边缘交换机的边缘节点端口信息对应的第一边缘交换机将所述第一控制报文发送给与所述第二控制器相邻的第三控制器,以使所述第三控制器通过第二边缘交换机接收所述第二控制器发送的第一控制报文,将所述第一控制报文和所述第二边缘交换机的边缘节点端口信息封装为第二控制报文后,根据所述第一控制报文中包括的所述第一控制器的标识,将所述第二控制报文发送给所述第一控制器;
确定模块64,用于根据所述接收模块接收的第二控制报文中包括的所述第二边缘交换机的边缘节点端口信息,以及所述第一控制报文中包括的所述第一边缘交换机的边缘节点端口信息,确定所述第二控制器通过所述第一边缘交换机和所述第二边缘交换机与所述第三控制器连接。
通过本发明实施例采用的网络拓扑建立装置可以建立多个控制器进行分层管理的网络拓扑系统,使得每个控制器只控制管理网络拓扑系统中的局部,例如,第二控制器只控制管理第一交换机组,第三控制器只控制管理第二交换机组,第一控制器只控制管理由第二控制器和第三控制器组成的虚拟交换机,因此,当第二控制器下的交换机存在故障时,只对第二控制器管理的第一交换机组有影响,对第三控制器管理的第二交换机组没有任何影响,因此,只需要对第一交换机组重新进行路径规划,对第一交换机组重新进行路径规划之后,也不需要同步到第二交换机组,因此,不需要对控制器的同步要求,可以降低控制器对整网控制管理的难度。同时,每个控制器只控制管理部分交换机,可以减轻每个控制器的控制管理负担。
图15为本发明另一实施例提供的网络拓扑路径控制装置的结构示意图,所述装置位于第二控制器侧,如图15所示,包括:
接收模块65,用于接收第一交换机发送的路径请求消息,所述路径请求消息中包括源主机和目的主机的信息,所述第一交换机为第一交换机组中的多个其他交换机中的其中一个交换机,与所述源主机连接;
确定模块66,用于根据所述目的主机的信息,确定所述目的主机信息不在所述第二控制器所管理的多个主机信息中;
发送模块67,用于向上层的第一控制器发送所述路径请求消息,以使所述第一控制器根据所述路径请求消息中包括的源主机和目的主机的信息,确定所述源主机和目的主机之间的路径信息,并向所述第二控制器发送第一路径响应消息,所述第一路径响应消息中包括所述源主机的信息和第一边缘交换机的边缘节点端口信息。
举例来说,确定模块66,还用于根据所述接收模块接收的第一路径响应消息中包括的所述第一边缘交换机的边缘节点端口信息和所述源主机的信息,确定与所述源主机连接的所述第一交换机与所述第一边缘交换机之间的路径信息;
所述装置还包括:
构建模块68,用于根据所述确定模块确定的第一交换机与所述第一边缘交换机之间的路径信息,分别构建所述第一交换机与所述第一边缘交换机之间的路径中各交换机的流表;
所述发送模块67,还用于分别将所述第一交换机与所述第一边缘交换机之间的路径中各交换机对应的流表发送给对应的交换机。
基于本发明实施例采用的多层控制器管理的网络拓扑系统,由于每个控制器只控制管理网络拓扑系统中的局部,例如,第二控制器只控制管理第一交换机组,第三控制器只控制管理第二交换机组,第一控制器只控制管理由第二控制器和第三控制器组成的虚拟交换机,因此,本发明实施例所述网络拓扑路径控制装置的在计算网络拓扑路径时,每个控制器只需要根据其所管理的局部网络拓扑结构计算路径,例如,第一控制器只需要根据第二控制器和第二控制器组成的虚拟交换机计算路径,第二控制器只需要根据其所管理的第一交换机组的网络拓扑结构计算路径,第三控制器只需要根据其所管理的第二交换机组的网络拓扑结构计算路径;不需要每个控制器根据全局网络拓扑系统结构进行整网的路径计算,可以降低每个控制器的路径计算的难度,尤其是在网络规模庞大,组网复杂情况下,降低每个控制器的路径计算的难度效果明显。
图16为本发明另一实施例提供的网络拓扑路径控制装置的结构示意图,位于第一控制器侧,如图16所示,包括:
接收模块71,用于接收下层的第二控制器发送的路径请求消息,所述路径请求消息中包括源主机和目的主机的信息,所述路径请求消息是所述第二控制器在接收第一交换机发送的路径请求消息之后,根据所述目的主机的信息,确定所述目的主机信息不在所述第二控制器所管理的多个主机信息中时,向所述第一控制器发送的所述路径请求消息;所述第一交换机为第一交换机组中的多个其他交换机中的其中一个交换机,与所述源主机连接;
确定模块72,用于根据所述路径请求消息中包括的源主机和目的主机的信息,在确定所述第一控制器所管理的多个主机信息中包括所述目的主机信息时,确定所述源主机和目的主机之间的路径信息,所述源主机和目的主机之间的路径信息中包括第一边缘交换机的边缘节点端口信息和第二边缘交换机的边缘节点端口信息;
发送模块73,用于向所述第二控制器发送第一路径响应消息,所述第一路径响应消息中包括所述第一边缘交换机的边缘节点端口信息和所述源主机的信息;向所述第三控制器发送第二路径响应消息,所述第二路径响应消息中包括所述第二边缘交换机的边缘节点端口信息和所述目的主机的信息。
基于本发明实施例采用的多层控制器管理的网络拓扑系统,由于每个控制器只控制管理网络拓扑系统中的局部,例如,第二控制器只控制管理第一交换机组,第三控制器只控制管理第二交换机组,第一控制器只控制管理由第二控制器和第三控制器组成的虚拟交换机,因此,本发明实施例所述网络拓扑路径控制装置的在计算网络拓扑路径时,每个控制器只需要根据其所管理的局部网络拓扑结构计算路径,例如,第一控制器只需要根据第二控制器和第二控制器组成的虚拟交换机计算路径,第二控制器只需要根据其所管理的第一交换机组的网络拓扑结构计算路径,第三控制器只需要根据其所管理的第二交换机组的网络拓扑结构计算路径;不需要每个控制器根据全局网络拓扑系统结构进行整网的路径计算,可以降低每个控制器的路径计算的难度,尤其是在网络规模庞大,组网复杂情况下,降低每个控制器的路径计算的难度效果明显。
图17为本发明另一实施例提供的报文传输装置的结构示意图,所述装置位于第一边缘交换机侧,如图17所示,包括:
接收模块74,用于接收第一交换机发送的数据报文,所述数据报文是源主机发送给第一交换机的,所述数据报文中包括所述源主机和目的主机的信息;
发送模块75,用于根据所述第一边缘交换机的流表,将所述数据报文通过所述第一边缘交换机的边缘节点端口发送给第二边缘交换机,以使所述第二边缘交换机根据所述第二边缘交换机的流表,通过所述第二边缘交换机的边缘节点端口接收所述数据报文,将所述数据报文发送给第二交换机,以使所述第二交换机将所述数据报文发送给目的主机。
举例来说,在所述发送模块75根据所述第一边缘交换机的流表,将所述数据报文通过所述第一边缘交换机的边缘节点端口发送给第二边缘交换机之前;
所述接收模块74,还用于接收第二控制器发送的所述第一边缘交换机的流表,所述第一边缘交换机的流表中的匹配项包括所述源主机的信息,所述第一边缘交换机的流表中的指令包括所述第一边缘交换机的边缘节点端口。
举例来说,所述发送模块75具体用于:根据所述数据报文中包括的源主机的信息,若确定与所述第一边缘交换机的流表中的匹配项包括的所述源主机的信息相同,则根据所述第一边缘交换机的流表中的指令包括的所述第一边缘交换机的边缘节点端口,将所述数据报文通过所述第一边缘交换机的边缘节点端口发送给第二边缘交换机。
基于本发明实施例采用的多层控制器管理的网络拓扑系统,由于最底层的每个控制器只控制管理其对应的下一层交换机组,本发明实施例通过每个交换机组中的边缘交换机实现不同交换机组之间的通信需求,尤其在网络规模庞大,组网复杂情况下,当源主机和目的主机之间跨越多个交换机组时,本实施例的报文传输方法可以减少源主机和目的主机之间的路径中交换机的个数,可以提高数据报文的传输效率。
图18为本发明另一实施例提供的报文传输装置的结构示意图,所述装置位于第二边缘交换机侧,如图18所示,包括:
接收模块76,用于根据所述第二边缘交换机的流表,通过所述第二边缘交换机的边缘节点端口接收第一边缘交换机发送的数据报文,所述数据报文包括源主机和目的主机的信息;
发送模块77,用于将所述数据报文发送给第二交换机,以使所述第二交换机将所述数据报文发送给目的主机。
举例来说,所述接收模块76根据所述第二边缘交换机的流表,通过所述第二边缘交换机的边缘节点端口接收第一边缘交换机发送的数据报文之前;
所述接收模块76,还用于接收第三控制器发送的所述第二边缘交换机的流表,所述第二边缘交换机的流表中的匹配项包括所述目的主机的信息,所述第二边缘交换机的流表中的指令包括所述第二边缘交换机的边缘节点端口。
举例来说,所述接收模块76具体用于:根据所述数据报文中包括的目的主机的信息,若确定与所述第二边缘交换机的流表中的匹配项包括的所述目的主机的信息相同,则根据所述第二边缘交换机的流表中的指令包括的所述第二边缘交换机的边缘节点端口,通过所述第二边缘交换机的边缘节点端口接收所述第一边缘交换机发送的数据报文。
基于本发明实施例采用的多层控制器管理的网络拓扑系统,由于最底层的每个控制器只控制管理其对应的下一层交换机组,本发明实施例通过每个交换机组中的边缘交换机实现不同交换机组之间的通信需求,尤其在网络规模庞大,组网复杂情况下,当源主机和目的主机之间跨越多个交换机组时,本实施例的报文传输方法可以减少源主机和目的主机之间的路径中交换机的个数,可以提高数据报文的传输效率。
图19为本发明另一实施例提供的网络拓扑建立装置的结构示意图,所述装置位于第二控制器侧,如图19所示,包括处理器、存储器和通信总线,处理器通过通信总线和存储器连接,存储器中保存有实现网络拓扑建立方法的指令;还可以包括通信接口,通过通信接口与其他网元设备(例如第三控制器、第一控制器和交换机)通信连接。
当处理器调取存储器中的指令时可以执行如下步骤:
在第二控制器与所述第一交换机组中包括第一边缘交换机的交换机建立安全连接的过程中,获取所述第一边缘交换机的边缘节点端口信息;
在第二控制器与上层的所述第一控制器建立安全连接的过程中,将所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息发送给上层的所述第一控制器,以使所述第一控制器建立所述第二控制器的标识与所述第一边缘交换机的边缘节点端口信息之间的对应关系。
举例来说,当处理器在第二控制器与上层的所述第一控制器建立安全连接的过程中,将所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息发送给上层的所述第一控制器,以使所述第一控制器建立所述第二控制器的标识与所述第一边缘交换机的边缘节点端口信息之间的对应关系之后,包括:
接收所述第一控制器发送的第一控制报文,所述第一控制报文中包括所述第一控制器的标识、所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息;
根据所述第一控制报文中包括的所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息,通过与所述第一边缘交换机的边缘节点端口信息对应的第一边缘交换机将所述第一控制报文发送给与所述第二控制器相邻的第三控制器,以使所述第三控制器通过第二边缘交换机接收所述第二控制器发送的第一控制报文,将所述第一控制报文和所述第二边缘交换机的边缘节点端口信息封装为第二控制报文后,根据所述第一控制报文中包括的所述第一控制器的标识,将所述第二控制报文发送给所述第一控制器,以使所述第一控制器根据所述第二控制报文中包括的所述第二边缘交换机的边缘节点端口信息,以及所述第一控制报文中包括的所述第一边缘交换机的边缘节点端口信息,确定所述第二控制器通过所述第一边缘交换机和所述第二边缘交换机与所述第三控制器连接。
通过本发明实施例采用的网络拓扑建立装置可以建立多个控制器进行分层管理的网络拓扑系统,使得每个控制器只控制管理网络拓扑系统中的局部,例如,第二控制器只控制管理第一交换机组,第三控制器只控制管理第二交换机组,第一控制器只控制管理由第二控制器和第三控制器组成的虚拟交换机,因此,当第二控制器下的交换机存在故障时,只对第二控制器管理的第一交换机组有影响,对第三控制器管理的第二交换机组没有任何影响,因此,只需要对第一交换机组重新进行路径规划,对第一交换机组重新进行路径规划之后,也不需要同步到第二交换机组,因此,不需要对控制器的同步要求,可以降低控制器对整网控制管理的难度。同时,每个控制器只控制管理部分交换机,可以减轻每个控制器的控制管理负担。
图20为本发明另一实施例提供的网络拓扑建立装置的结构示意图,所述装置位于第三控制器侧,如图20所示,包括处理器、存储器和通信总线,处理器通过通信总线和存储器连接,存储器中保存有实现网络拓扑建立方法的指令;还可以包括通信接口,通过通信接口与其他网元设备(例如第二控制器、第一控制器和交换机)通信连接。
当处理器调取存储器中的指令时可以执行如下步骤:
在第三控制器与所述第二交换机组中包括第二边缘交换机的交换机建立安全连接的过程中,获取所述第二边缘交换机的边缘节点端口信息;
在第三控制器与上层的第一控制器建立安全连接的过程中,将所述第三控制器的标识和所述第二边缘交换机的边缘节点端口信息发送给上层的所述第一控制器;以使所述第一控制器建立所述第三控制器的标识与所述第二边缘交换机的边缘节点端口信息之间的对应关系。
举例来说,当处理器在第三控制器在与上层的第一控制器建立安全连接的过程中,将所述第三控制器的标识和所述第二边缘交换机的边缘节点端口信息发送给上层的所述第一控制器;以使所述第一控制器建立所述第三控制器的标识与所述第二边缘交换机的边缘节点端口信息之间的对应关系之后,包括:
接收所述第一控制器发送的第一控制报文,所述第一控制报文中包括所述第一控制器的标识、所述第三控制器的标识和所述第二边缘交换机的边缘节点端口信息;
根据所述第一控制报文中包括的所述第三控制器的标识和所述第二边缘交换机的边缘节点端口信息,通过与所述第二边缘交换机的边缘节点端口信息对应的第二边缘交换机将所述第一控制报文发送给与所述第三控制器相邻的第二控制器,以使所述第二控制器通过第一边缘交换机接收所述第三控制器发送的第一控制报文,将所述第一控制报文和所述第一边缘交换机的边缘节点端口信息封装为第二控制报文后,根据所述第一控制报文中包括的所述第一控制器的标识,将所述第二控制报文发送给所述第一控制器,以使所述第一控制器根据所述第二控制报文中包括的所述第一边缘交换机的边缘节点端口信息,以及所述第一控制报文中包括的所述第二边缘交换机的边缘节点端口信息,确定所述第三控制器通过所述第二边缘交换机和所述第一边缘交换机与所述第二控制器连接。
通过本发明实施例采用的网络拓扑建立装置可以建立多个控制器进行分层管理的网络拓扑系统,使得每个控制器只控制管理网络拓扑系统中的局部,例如,第二控制器只控制管理第一交换机组,第三控制器只控制管理第二交换机组,第一控制器只控制管理由第二控制器和第三控制器组成的虚拟交换机,因此,当第二控制器下的交换机存在故障时,只对第二控制器管理的第一交换机组有影响,对第三控制器管理的第二交换机组没有任何影响,因此,只需要对第一交换机组重新进行路径规划,对第一交换机组重新进行路径规划之后,也不需要同步到第二交换机组,因此,不需要对控制器的同步要求,可以降低控制器对整网控制管理的难度。同时,每个控制器只控制管理部分交换机,可以减轻每个控制器的控制管理负担。
图21为本发明另一实施例提供的网络拓扑建立装置的结构示意图,所述装置位于第一控制器侧,如图21所示,包括处理器、存储器和通信总线,处理器通过通信总线和存储器连接,存储器中保存有实现网络拓扑建立方法的指令;还可以包括通信接口,通过通信接口与其他网元设备(例如第二控制器、第三控制器)通信连接。
当处理器调取存储器中的指令时可以执行如下步骤:
在上层的第一控制器与下层的第二控制器建立安全连接的过程中,接收所述第二控制器发送的所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息,所述第一边缘交换机的边缘节点端口信息为所述第二控制器在与所述第一交换机组中包括第一边缘交换机的交换机建立安全连接的过程中,获取的所述第一边缘交换机的边缘节点端口信息;
建立所述第二控制器的标识与所述第一边缘交换机的边缘节点端口信息之间的对应关系。
当处理器调取存储器中的指令时还可以执行如下步骤:
在上层的第一控制器与下层的第三控制器建立安全连接的过程中,接收所述第三控制器发送的所述第三控制器的标识和第二边缘交换机的边缘节点端口信息,所述第二边缘交换机的边缘节点端口信息为所述第三控制器在与所述第二交换机组中包括所述第二边缘交换机的交换机建立安全连接的过程中,获取的所述第二边缘交换机的边缘节点端口信息;
建立所述第三控制器的标识与所述第二边缘交换机的边缘节点端口信息之间的对应关系。
当处理器调取存储器中的指令时还可以执行如下步骤:
向所述第二控制器发送第一控制报文,所述第一控制报文中包括所述第一控制器的标识、所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息;以使所述第二控制器根据所述第一控制报文中包括的所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息,通过与所述第一边缘交换机的边缘节点端口信息对应的第一边缘交换机将所述第一控制报文发送给与所述第二控制器相邻的第三控制器,以使所述第三控制器通过第二边缘交换机接收所述第二控制器发送的第一控制报文,将所述第一控制报文和所述第二边缘交换机的边缘节点端口信息封装为第二控制报文后,根据所述第一控制报文中包括的所述第一控制器的标识,将所述第二控制报文发送给所述第一控制器;
根据所述第二控制报文中包括的所述第二边缘交换机的边缘节点端口信息,以及所述第一控制报文中包括的所述第一边缘交换机的边缘节点端口信息,确定所述第二控制器通过所述第一边缘交换机和所述第二边缘交换机与所述第三控制器连接。
通过本发明实施例采用的网络拓扑建立装置可以建立多个控制器进行分层管理的网络拓扑系统,使得每个控制器只控制管理网络拓扑系统中的局部,例如,第二控制器只控制管理第一交换机组,第三控制器只控制管理第二交换机组,第一控制器只控制管理由第二控制器和第三控制器组成的虚拟交换机,因此,当第二控制器下的交换机存在故障时,只对第二控制器管理的第一交换机组有影响,对第三控制器管理的第二交换机组没有任何影响,因此,只需要对第一交换机组重新进行路径规划,对第一交换机组重新进行路径规划之后,也不需要同步到第二交换机组,因此,不需要对控制器的同步要求,可以降低控制器对整网控制管理的难度。同时,每个控制器只控制管理部分交换机,可以减轻每个控制器的控制管理负担。
图22为本发明另一实施例提供的网络拓扑路径控制装置的结构示意图,所述装置位于第二控制器侧,如图22所示,包括处理器、存储器和通信总线,处理器通过通信总线和存储器连接,存储器中保存有实现网络拓扑路径控制方法的指令;还可以包括通信接口,通过通信接口与其他网元设备(例如第一控制器、第三控制器和交换机)通信连接。
当处理器调取存储器中的指令时可以执行如下步骤:
接收第一交换机发送的路径请求消息,所述路径请求消息中包括源主机和目的主机的信息,所述第一交换机为第一交换机组中的多个其他交换机中的其中一个交换机,与所述源主机连接;
根据所述目的主机的信息,确定所述目的主机信息不在所述第二控制器所管理的多个主机信息中;
向上层的第一控制器发送所述路径请求消息,以使所述第一控制器根据所述路径请求消息中包括的源主机和目的主机的信息,确定所述源主机和目的主机之间的路径信息,并向所述第二控制器发送第一路径响应消息,所述第一路径响应消息中包括所述源主机的信息和第一边缘交换机的边缘节点端口信息。
举例来说,当向上层的第一控制器发送所述路径请求消息,以使所述第一控制器根据所述路径请求消息中包括的源主机和目的主机的信息,确定所述源主机和目的主机之间的路径信息,并向所述第二控制器发送第一路径响应消息之后,包括:
根据所述第一路径响应消息中包括的所述第一边缘交换机的边缘节点端口信息和所述源主机的信息,确定与所述源主机连接的所述第一交换机与所述第一边缘交换机之间的路径信息;
根据所述第一交换机与所述第一边缘交换机之间的路径信息,分别构建所述第一交换机与所述第一边缘交换机之间的路径中各交换机的流表;
分别将所述第一交换机与所述第一边缘交换机之间的路径中各交换机对应的流表发送给对应的交换机。
基于本发明实施例采用的多层控制器管理的网络拓扑系统,由于每个控制器只控制管理网络拓扑系统中的局部,例如,第二控制器只控制管理第一交换机组,第三控制器只控制管理第二交换机组,第一控制器只控制管理由第二控制器和第三控制器组成的虚拟交换机,因此,本发明实施例所述网络拓扑路径控制装置的在计算网络拓扑路径时,每个控制器只需要根据其所管理的局部网络拓扑结构计算路径,例如,第一控制器只需要根据第二控制器和第二控制器组成的虚拟交换机计算路径,第二控制器只需要根据其所管理的第一交换机组的网络拓扑结构计算路径,第三控制器只需要根据其所管理的第二交换机组的网络拓扑结构计算路径;不需要每个控制器根据全局网络拓扑系统结构进行整网的路径计算,可以降低每个控制器的路径计算的难度,尤其是在网络规模庞大,组网复杂情况下,降低每个控制器的路径计算的难度效果明显。
图23为本发明另一实施例提供的网络拓扑路径控制装置的结构示意图,位于第一控制器侧,如图23所示,包括处理器、存储器和通信总线,处理器通过通信总线和存储器连接,存储器中保存有实现网络拓扑路径控制方法的指令;还可以包括通信接口,通过通信接口与其他网元设备(例如第二控制器、第三控制器)通信连接。
当处理器调取存储器中的指令时可以执行如下步骤:
接收下层的第二控制器发送的路径请求消息,所述路径请求消息中包括源主机和目的主机的信息,所述路径请求消息是所述第二控制器在接收第一交换机发送的路径请求消息之后,根据所述目的主机的信息,确定所述目的主机信息不在所述第二控制器所管理的多个主机信息中时,向所述第一控制器发送的所述路径请求消息;所述第一交换机为第一交换机组中的多个其他交换机中的其中一个交换机,与所述源主机连接;
根据所述路径请求消息中包括的源主机和目的主机的信息,在确定所述第一控制器所管理的多个主机信息中包括所述目的主机信息时,确定所述源主机和目的主机之间的路径信息,所述源主机和目的主机之间的路径信息中包括第一边缘交换机的边缘节点端口信息和第二边缘交换机的边缘节点端口信息;
向所述第二控制器发送第一路径响应消息,所述第一路径响应消息中包括所述第一边缘交换机的边缘节点端口信息和所述源主机的信息;向所述第三控制器发送第二路径响应消息,所述第二路径响应消息中包括所述第二边缘交换机的边缘节点端口信息和所述目的主机的信息。
基于本发明实施例采用的多层控制器管理的网络拓扑系统,由于每个控制器只控制管理网络拓扑系统中的局部,例如,第二控制器只控制管理第一交换机组,第三控制器只控制管理第二交换机组,第一控制器只控制管理由第二控制器和第三控制器组成的虚拟交换机,因此,本发明实施例所述网络拓扑路径控制装置的在计算网络拓扑路径时,每个控制器只需要根据其所管理的局部网络拓扑结构计算路径,例如,第一控制器只需要根据第二控制器和第二控制器组成的虚拟交换机计算路径,第二控制器只需要根据其所管理的第一交换机组的网络拓扑结构计算路径,第三控制器只需要根据其所管理的第二交换机组的网络拓扑结构计算路径;不需要每个控制器根据全局网络拓扑系统结构进行整网的路径计算,可以降低每个控制器的路径计算的难度,尤其是在网络规模庞大,组网复杂情况下,降低每个控制器的路径计算的难度效果明显。
图24为本发明另一实施例提供的报文传输装置的结构示意图,所述装置位于第一边缘交换机侧,如图24所示,包括处理器、存储器和通信总线,处理器通过通信总线和存储器连接,存储器中保存有实现报文传输方法的指令;还可以包括通信接口,通过通信接口与其他网元设备(例如第二控制器)通信连接。
当处理器调取存储器中的指令时可以执行如下步骤:
接收第一交换机发送的数据报文,所述数据报文是源主机发送给第一交换机的,所述数据报文中包括所述源主机和目的主机的信息;
根据所述第一边缘交换机的流表,将所述数据报文通过所述第一边缘交换机的边缘节点端口发送给第二边缘交换机,以使所述第二边缘交换机根据所述第二边缘交换机的流表,通过所述第二边缘交换机的边缘节点端口接收所述数据报文,将所述数据报文发送给第二交换机,以使所述第二交换机将所述数据报文发送给目的主机。
举例来说,根据所述第一边缘交换机的流表,将所述数据报文通过所述第一边缘交换机的边缘节点端口发送给第二边缘交换机之前;可以执行如下步骤:
接收第二控制器发送的所述第一边缘交换机的流表,所述第一边缘交换机的流表中的匹配项包括所述源主机的信息,所述第一边缘交换机的流表中的指令包括所述第一边缘交换机的边缘节点端口。
举例来说,根据所述第一边缘交换机的流表,将所述数据报文通过所述第一边缘交换机的边缘节点端口发送给第二边缘交换机,包括:
根据所述数据报文中包括的源主机的信息,若确定与所述第一边缘交换机的流表中的匹配项包括所述源主机的信息相同,则根据所述第一边缘交换机的流表中的指令包括所述第一边缘交换机的边缘节点端口,将所述数据报文通过所述第一边缘交换机的边缘节点端口发送给第二边缘交换机。
基于本发明实施例采用的多层控制器管理的网络拓扑系统,由于最底层的每个控制器只控制管理其对应的下一层交换机组,本发明实施例通过每个交换机组中的边缘交换机实现不同交换机组之间的通信需求,尤其在网络规模庞大,组网复杂情况下,当源主机和目的主机之间跨越多个交换机组时,本实施例的报文传输方法可以减少源主机和目的主机之间的路径中交换机的个数,可以提高数据报文的传输效率。
图25为本发明另一实施例提供的报文传输装置的结构示意图,所述装置位于第二边缘交换机侧,如图25所示,包括处理器、存储器和通信总线,处理器通过通信总线和存储器连接,存储器中保存有实现报文传输方法的指令;还可以包括通信接口,通过通信接口与其他网元设备(例如第二控制器)通信连接。
当处理器调取存储器中的指令时可以执行如下步骤:
根据所述第二边缘交换机的流表,通过所述第二边缘交换机的边缘节点端口接收第一边缘交换机发送的数据报文,所述数据报文包括源主机和目的主机的信息;
将所述数据报文发送给第二交换机,以使所述第二交换机将所述数据报文发送给目的主机。
举例来说,根据所述第二边缘交换机的流表,通过所述第二边缘交换机的边缘节点端口接收第一边缘交换机发送的数据报文之前,包括:
接收第三控制器发送的所述第二边缘交换机的流表,所述第二边缘交换机的流表中的匹配项包括所述目的主机的信息,所述第二边缘交换机的流表中的指令包括所述第二边缘交换机的边缘节点端口。
举例来说,所述根据所述第二边缘交换机的流表,通过所述第二边缘交换机的边缘节点端口接收第一边缘交换机发送的数据报文,包括:
根据所述数据报文中包括的目的主机的信息,若确定与所述第二边缘交换机的流表中的匹配项包括所述目的主机的信息相同,则根据所述第二边缘交换机的流表中的指令包括所述第二边缘交换机的边缘节点端口,通过所述第二边缘交换机的边缘节点端口接收所述第一边缘交换机发送的数据报文。
基于本发明实施例采用的多层控制器管理的网络拓扑系统,由于最底层的每个控制器只控制管理其对应的下一层交换机组,本发明实施例通过每个交换机组中的边缘交换机实现不同交换机组之间的通信需求,尤其在网络规模庞大,组网复杂情况下,当源主机和目的主机之间跨越多个交换机组时,本实施例的报文传输方法可以减少源主机和目的主机之间的路径中交换机的个数,可以提高数据报文的传输效率。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以以代码的形式存储在一个计算机可读取存储介质中。上述代码存储在一个计算机可读存储介质中,包括若干指令用以使处理器或硬件电路执行本发明各个实施例所述方法的部分或全部步骤。而前述的存储介质包括:通用串行总线接口的无需物理驱动器的微型高容量移动存储盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称ROM)、随机存取存储器(英文:Random AccessMemory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的保护范围。
Claims (39)
1.一种网络拓扑系统,其特征在于,包括:第一层控制器、第二层控制器、第一交换机组和第二交换机组;
其中,所述第一层控制器为上层控制器,且包括第一控制器;
所述第二层控制器为所述第一层控制器的下层控制器,且包括第二控制器和第三控制器;所述第一控制器与所述第二控制器和所述第三控制器建立安全连接,且所述第一控制器用于控制所述第二控制器和所述第三控制器;
所述第二控制器与所述第一交换机组中的交换机建立安全连接,且所述第二控制器用于控制所述第一交换机组中的交换机;所述第一交换机组中的交换机包括第一边缘交换机;
所述第三控制器与所述第二交换机组中的交换机建立安全连接,且所述第三控制器用于控制所述第二交换机组中的交换机;所述第二交换机组中的交换机包括第二边缘交换机;
其中,所述第一边缘交换机,用于在与所述第二控制器建立安全连接的过程中,将所述第一边缘交换机的其中一个端口设置为边缘节点端口,并将所述第一边缘交换机的边缘节点端口信息发送给所述第二控制器;
所述第二控制器,用于接收所述第一边缘交换机的边缘节点端口信息,并在所述第二控制器与上层的所述第一控制器建立安全连接的过程中,将所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息发送给上层的所述第一控制器;
所述第二边缘交换机,用于在与所述第三控制器建立安全连接的过程中,将所述第二边缘交换机的其中一个端口设置为边缘节点端口,并将所述第二边缘交换机的边缘节点端口信息发送给所述第三控制器;
所述第三控制器,用于接收所述第二边缘交换机的边缘节点端口信息,并在所述第三控制器与上层的所述第一控制器建立安全连接的过程中,将所述第三控制器的标识和所述第二边缘交换机的边缘节点端口信息发送给上层的所述第一控制器;
所述第一控制器,用于在所述第二控制器与上层的所述第一控制器建立安全连接的过程中,接收所述第二控制器发送的所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息,建立所述第二控制器的标识与所述第一边缘交换机的边缘节点端口信息之间的对应关系;
所述第一控制器,还用于在所述第三控制器与上层的所述第一控制器建立安全连接的过程中,接收所述第三控制器发送的所述第三控制器的标识和所述第二边缘交换机的边缘节点端口信息,建立所述第三控制器的标识与所述第二边缘交换机的边缘节点端口信息之间的对应关系。
2.根据权利要求1所述的系统,其特征在于:
所述第一控制器,还用于向所述第二控制器发送第一控制报文,所述第一控制报文中包括所述第一控制器的标识、所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息;
所述第二控制器,还用于在接收到所述第一控制报文之后,根据所述第一控制报文中包括的所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息,将所述第一控制报文发送给与所述第一边缘交换机的边缘节点端口信息对应的第一边缘交换机;
所述第一边缘交换机,还用于在接收到所述第一控制报文之后,将所述第一控制报文发送给所述第二边缘交换机;
所述第二边缘交换机,还用于在接收到所述第一控制报文之后,将所述第二边缘交换机的边缘节点端口信息和所述第一控制报文封装为第二控制报文发送给所述第三控制器;
所述第三控制器,还用于在接收到所述第二控制报文之后,根据所述第一控制报文中包括的所述第一控制器的标识,将所述第二控制报文发送给所述第一控制器;
所述第一控制器,还用于在接收到所述第二控制报文之后,根据所述第二控制报文中包括的所述第二边缘交换机的边缘节点端口信息,以及所述第一控制报文中包括的所述第一边缘交换机的边缘节点端口信息,确定所述第二控制器通过所述第一边缘交换机和所述第二边缘交换机与所述第三控制器连接。
3.一种网络拓扑建立方法,基于权利要求1或2所述的网络拓扑系统,其特征在于,包括:
所述第二控制器在与所述第一交换机组中的交换机建立安全连接的过程中,获取第一边缘交换机的边缘节点端口信息;所述第一交换机组中的交换机包括所述第一边缘交换机;
所述第二控制器在与上层的所述第一控制器建立安全连接的过程中,将所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息发送给上层的所述第一控制器,以使所述第一控制器建立所述第二控制器的标识与所述第一边缘交换机的边缘节点端口信息之间的对应关系。
4.根据权利要求3所述的方法,其特征在于,所述第二控制器在与上层的所述第一控制器建立安全连接的过程中,将所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息发送给上层的所述第一控制器,以使所述第一控制器建立所述第二控制器的标识与所述第一边缘交换机的边缘节点端口信息之间的对应关系之后,包括:
所述第二控制器接收所述第一控制器发送的第一控制报文,所述第一控制报文中包括所述第一控制器的标识、所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息;
所述第二控制器根据所述第一控制报文中包括的所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息,通过与所述第一边缘交换机的边缘节点端口信息对应的第一边缘交换机将所述第一控制报文发送给与所述第二控制器相邻的第三控制器,以使所述第三控制器通过第二边缘交换机接收所述第二控制器发送的第一控制报文,将所述第一控制报文和所述第二边缘交换机的边缘节点端口信息封装为第二控制报文后,根据所述第一控制报文中包括的所述第一控制器的标识,将所述第二控制报文发送给所述第一控制器,以使所述第一控制器根据所述第二控制报文中包括的所述第二边缘交换机的边缘节点端口信息,以及所述第一控制报文中包括的所述第一边缘交换机的边缘节点端口信息,确定所述第二控制器通过所述第一边缘交换机和所述第二边缘交换机与所述第三控制器连接。
5.根据权利要求4所述的方法,其特征在于,所述第二控制器根据所述第一控制报文中包括的所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息,通过与所述第一边缘交换机的边缘节点端口信息对应的第一边缘交换机将所述第一控制报文发送给与所述第二控制器相邻的第三控制器之前,包括:
所述第三控制器在与所述第二交换机组中的交换机建立安全连接的过程中,获取第二边缘交换机的边缘节点端口信息;所述第二交换机组中的交换机包括所述第二边缘交换机;
所述第三控制器在与上层的第一控制器建立安全连接的过程中,将所述第二边缘交换机的边缘节点端口信息发送给上层的所述第一控制器;以使所述第一控制器建立所述第三控制器的标识与所述第二边缘交换机的边缘节点端口信息之间的对应关系。
6.一种网络拓扑建立方法,基于权利要求1或2所述的网络拓扑系统,其特征在于,包括:
第三控制器在与所述第二交换机组中的交换机建立安全连接的过程中,获取第二边缘交换机的边缘节点端口信息;所述第二交换机组中的交换机包括所述第二边缘交换机;
所述第三控制器在与上层的第一控制器建立安全连接的过程中,将所述第三控制器的标识和所述第二边缘交换机的边缘节点端口信息发送给上层的所述第一控制器;以使所述第一控制器建立所述第三控制器的标识与所述第二边缘交换机的边缘节点端口信息之间的对应关系。
7.根据权利要求6所述的方法,其特征在于,所述第三控制器在与上层的第一控制器建立安全连接的过程中,将所述第三控制器的标识和所述第二边缘交换机的边缘节点端口信息发送给上层的所述第一控制器;以使所述第一控制器建立所述第三控制器的标识与所述第二边缘交换机的边缘节点端口信息之间的对应关系之后,包括:
所述第三控制器接收所述第一控制器发送的第一控制报文,所述第一控制报文中包括所述第一控制器的标识、所述第三控制器的标识和所述第二边缘交换机的边缘节点端口信息;
所述第三控制器根据所述第一控制报文中包括的所述第三控制器的标识和所述第二边缘交换机的边缘节点端口信息,通过与所述第二边缘交换机的边缘节点端口信息对应的第二边缘交换机将所述第一控制报文发送给与所述第三控制器相邻的第二控制器,以使所述第二控制器通过第一边缘交换机接收所述第三控制器发送的第一控制报文,将所述第一控制报文和所述第一边缘交换机的边缘节点端口信息封装为第二控制报文后,根据所述第一控制报文中包括的所述第一控制器的标识,将所述第二控制报文发送给所述第一控制器,以使所述第一控制器根据所述第二控制报文中包括的所述第一边缘交换机的边缘节点端口信息,以及所述第一控制报文中包括的所述第二边缘交换机的边缘节点端口信息,确定所述第三控制器通过所述第二边缘交换机和所述第一边缘交换机与所述第二控制器连接。
8.根据权利要求7所述的方法,其特征在于,所述第三控制器根据所述第一控制报文中包括的所述第三控制器的标识和所述第二边缘交换机的边缘节点端口信息,通过与所述第二边缘交换机的边缘节点端口信息对应的第二边缘交换机将所述第一控制报文发送给与所述第三控制器相邻的第二控制器之前,包括:
所述第二控制器在与所述第一交换机组中的交换机建立安全连接的过程中,获取第一边缘交换机的边缘节点端口信息;所述第一交换机组中的交换机包括所述第一边缘交换机;
所述第二控制器在与上层的第一控制器建立安全连接的过程中,将所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息发送给上层的所述第一控制器;以使所述第一控制器建立所述第二控制器的标识与所述第一边缘交换机的边缘节点端口信息之间的对应关系。
9.一种网络拓扑建立方法,基于权利要求1或2所述的网络拓扑系统,其特征在于,包括:
上层的第一控制器在与下层的第二控制器建立安全连接的过程中,接收所述第二控制器发送的所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息,所述第一边缘交换机的边缘节点端口信息为所述第二控制器在与所述第一交换机组中的交换机建立安全连接的过程中,获取的第一边缘交换机的边缘节点端口信息;所述第一交换机组中的交换机包括所述第一边缘交换机;
所述第一控制器建立所述第二控制器的标识与所述第一边缘交换机的边缘节点端口信息之间的对应关系。
10.根据权利要求9所述的方法,其特征在于,还包括:
所述上层的第一控制器在与下层的第三控制器建立安全连接的过程中,接收所述第三控制器发送的所述第三控制器的标识和第二边缘交换机的边缘节点端口信息,所述第二边缘交换机的边缘节点端口信息为所述第三控制器在与所述第二交换机组中的交换机建立安全连接的过程中,获取的第二边缘交换机的边缘节点端口信息;所述第二交换机组中的交换机包括所述第二边缘交换机;
所述第一控制器建立所述第三控制器的标识与所述第二边缘交换机的边缘节点端口信息之间的对应关系。
11.根据权利要求9或10所述的方法,其特征在于,还包括:
所述第一控制器向所述第二控制器发送第一控制报文,所述第一控制报文中包括所述第一控制器的标识、所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息;以使所述第二控制器根据所述第一控制报文中包括的所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息,通过与所述第一边缘交换机的边缘节点端口信息对应的第一边缘交换机将所述第一控制报文发送给与所述第二控制器相邻的第三控制器,以使所述第三控制器通过第二边缘交换机接收所述第二控制器发送的第一控制报文,将所述第一控制报文和所述第二边缘交换机的边缘节点端口信息封装为第二控制报文后,根据所述第一控制报文中包括的所述第一控制器的标识,将所述第二控制报文发送给所述第一控制器;
所述第一控制器根据所述第二控制报文中包括的所述第二边缘交换机的边缘节点端口信息,以及所述第一控制报文中包括的所述第一边缘交换机的边缘节点端口信息,确定所述第二控制器通过所述第一边缘交换机和所述第二边缘交换机与所述第三控制器连接。
12.一种网络拓扑路径控制方法,基于权利要求1或2所述的网络拓扑系统,其特征在于,包括:
第二控制器接收第一交换机发送的路径请求消息,所述路径请求消息中包括源主机和目的主机的信息,所述第一交换机为第一交换机组中的多个其他交换机中的其中一个交换机,与所述源主机连接;
所述第二控制器根据所述目的主机的信息,确定所述目的主机信息不在所述第二控制器所管理的多个主机信息中;
所述第二控制器向上层的第一控制器发送所述路径请求消息,以使所述第一控制器根据所述路径请求消息中包括的源主机和目的主机的信息,确定所述源主机和目的主机之间的路径信息,并向所述第二控制器发送第一路径响应消息,所述第一路径响应消息中包括所述源主机的信息和第一边缘交换机的边缘节点端口信息。
13.根据权利要求12所述的方法,其特征在于,所述第二控制器向上层的第一控制器发送所述路径请求消息,以使所述第一控制器根据所述路径请求消息中包括的源主机和目的主机的信息,确定所述源主机和目的主机之间的路径信息,并向所述第二控制器发送第一路径响应消息之后,包括:
所述第二控制器根据所述第一路径响应消息中包括的所述第一边缘交换机的边缘节点端口信息和所述源主机的信息,确定与所述源主机连接的所述第一交换机与所述第一边缘交换机之间的路径信息;
根据所述第一交换机与所述第一边缘交换机之间的路径信息,分别构建所述第一交换机与所述第一边缘交换机之间的路径中各交换机的流表;
分别将所述第一交换机与所述第一边缘交换机之间的路径中各交换机对应的流表发送给对应的交换机。
14.根据权利要求12所述的方法,其特征在于,所述第二控制器向上层的第一控制器发送所述路径请求消息,以使所述第一控制器根据所述路径请求消息中包括的源主机和目的主机的信息,确定所述源主机和目的主机之间的路径信息之后,包括:
所述第一控制器向第三控制器发送第二路径响应消息,所述第二路径响应消息中包括第二边缘交换机的边缘节点端口信息和所述目的主机的信息;以使所述第三控制器根据所述第二路径响应消息中包括的所述第一边缘交换机的边缘节点端口信息和所述目的主机的信息,确定与所述目的主机连接的第二交换机与所述第二边缘交换机之间的路径信息;根据所述第二交换机与所述第二边缘交换机之间的路径信息,分别构建所述第二交换机与所述第二边缘交换机之间的路径中各交换机对应的流表;分别将所述第二交换机与所述第二边缘交换机之间的路径中各交换机对应的流表发送给对应的交换机;所述第二交换机为所述第二交换机组中的多个其他交换机中的其中一个交换机,所述第二交换机与所述目的主机连接。
15.一种网络拓扑路径控制方法,基于权利要求1或2所述的网络拓扑系统,其特征在于,包括:
上层的第一控制器接收下层的第二控制器发送的路径请求消息,所述路径请求消息中包括源主机和目的主机的信息,所述路径请求消息是所述第二控制器在接收第一交换机发送的路径请求消息之后,根据所述目的主机的信息,确定所述目的主机信息不在所述第二控制器所管理的多个主机信息中时,向所述第一控制器发送的所述路径请求消息;所述第一交换机为第一交换机组中的多个其他交换机中的其中一个交换机,与所述源主机连接;
所述第一控制器根据所述路径请求消息中包括的源主机和目的主机的信息,在确定所述第一控制器所管理的多个主机信息中包括所述目的主机信息时,确定所述源主机和目的主机之间的路径信息,所述源主机和目的主机之间的路径信息中包括第一边缘交换机的边缘节点端口信息和第二边缘交换机的边缘节点端口信息;
所述第一控制器向所述第二控制器发送第一路径响应消息,所述第一路径响应消息中包括所述第一边缘交换机的边缘节点端口信息和所述源主机的信息;
所述第一控制器向所述第三控制器发送第二路径响应消息,所述第二路径响应消息中包括所述第二边缘交换机的边缘节点端口信息和所述目的主机的信息。
16.根据权利要求15所述的方法,其特征在于,所述第一控制器向所述第二控制器发送第一路径响应消息之后,包括:
所述第二控制器根据所述第一路径响应消息中包括的所述第一边缘交换机的边缘节点端口信息和所述源主机的信息,确定与所述源主机连接的所述第一交换机与所述第一边缘交换机之间的路径信息;
所述第二控制器根据所述第一交换机与所述第一边缘交换机之间的路径信息,分别构建所述第一交换机与所述第一边缘交换机之间的路径中各交换机对应的流表;
所述第二控制器分别将所述第一交换机与所述第一边缘交换机之间的路径中各交换机对应的流表发送给对应的交换机。
17.根据权利要求15所述的方法,其特征在于,所述第一控制器向所述第三控制器发送第二路径响应消息之后,包括:
所述第三控制器根据所述第二路径响应消息中包括的所述第二边缘交换机的边缘节点端口信息和所述目的主机的信息,确定与所述目的主机连接的第二交换机与所述第二边缘交换机之间的路径信息;
所述第三控制器根据所述第二交换机与所述第二边缘交换机之间的路径信息,分别构建所述第二交换机与所述第二边缘交换机之间的路径中各交换机对应的流表;
所述第三控制器分别将所述第二交换机与所述第二边缘交换机之间的路径中各交换机的对应流表发送给对应的交换机;
所述第二交换机为所述第二交换机组中的多个其他交换机中的其中一个交换机,所述第二交换机与所述目的主机连接。
18.一种报文传输方法,基于权利要求1或2所述的网络拓扑系统,其特征在于,包括:
第一边缘交换机接收第一交换机发送的数据报文,数据报文是源主机发送给第一交换机的,所述数据报文中包括所述源主机和目的主机的信息;
根据所述第一边缘交换机的流表,将所述数据报文通过所述第一边缘交换机的边缘节点端口发送给第二边缘交换机,以使所述第二边缘交换机根据所述第二边缘交换机的流表,通过所述第二边缘交换机的边缘节点端口接收所述数据报文,将所述数据报文发送给第二交换机,以使所述第二交换机将所述数据报文发送给目的主机。
19.根据权利要求18所述的方法,其特征在于,根据所述第一边缘交换机的流表,将所述数据报文通过所述第一边缘交换机的边缘节点端口发送给第二边缘交换机之前,包括:
所述第一边缘交换机接收第二控制器发送的所述第一边缘交换机的流表,所述第一边缘交换机的流表中的匹配项包括所述源主机的信息,所述第一边缘交换机的流表中的指令包括所述第一边缘交换机的边缘节点端口。
20.根据权利要求18或19所述的方法,其特征在于,根据所述第一边缘交换机的流表,将所述数据报文通过所述第一边缘交换机的边缘节点端口发送给第二边缘交换机,包括:
所述第一边缘交换机根据所述数据报文中包括的源主机的信息,若确定与所述第一边缘交换机的流表中的匹配项包括的所述源主机的信息相同,则根据所述第一边缘交换机的流表中的指令包括的所述第一边缘交换机的边缘节点端口,将所述数据报文通过所述第一边缘交换机的边缘节点端口发送给第二边缘交换机。
21.一种报文传输方法,基于权利要求1或2所述的网络拓扑系统,其特征在于,包括:
所述第二边缘交换机根据所述第二边缘交换机的流表,通过所述第二边缘交换机的边缘节点端口接收第一边缘交换机发送的数据报文,所述数据报文包括源主机和目的主机的信息;
所述第二边缘交换机将所述数据报文发送给第二交换机,以使所述第二交换机将所述数据报文发送给目的主机。
22.根据权利要求21所述的方法,其特征在于,所述第二边缘交换机根据所述第二边缘交换机的流表,通过所述第二边缘交换机的边缘节点端口接收第一边缘交换机发送的数据报文之前,包括:
所述第二边缘交换机接收第三控制器发送的所述第二边缘交换机的流表,所述第二边缘交换机的流表中的匹配项包括所述目的主机的信息,所述第二边缘交换机的流表中的指令包括所述第二边缘交换机的边缘节点端口。
23.根据权利要求21或22所述的方法,其特征在于,所述第二边缘交换机根据所述第二边缘交换机的流表,通过所述第二边缘交换机的边缘节点端口接收第一边缘交换机发送的数据报文,包括:
所述第二边缘交换机根据所述数据报文中包括的目的主机的信息,若确定与所述第二边缘交换机的流表中的匹配项包括的所述目的主机的信息相同,则根据所述第二边缘交换机的流表中的指令包括的所述第二边缘交换机的边缘节点端口,通过所述第二边缘交换机的边缘节点端口接收所述第一边缘交换机发送的数据报文。
24.一种网络拓扑建立装置,基于权利要求1或2所述的网络拓扑系统,所述装置位于第二控制器侧,其特征在于,包括:
获取模块,用于在所述第二控制器与所述第一交换机组中的交换机建立安全连接的过程中,获取第一边缘交换机的边缘节点端口信息;所述第一交换机组中的交换机包括所述第一边缘交换机;
发送模块,用于在所述第二控制器与上层的所述第一控制器建立安全连接的过程中,将所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息发送给上层的所述第一控制器,以使所述第一控制器建立所述第二控制器的标识与所述第一边缘交换机的边缘节点端口信息之间的对应关系。
25.根据权利要求24所述的装置,其特征在于,还包括:
接收模块,用于接收所述第一控制器发送的第一控制报文,所述第一控制报文中包括所述第一控制器的标识、所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息;
所述发送模块,还用于根据所述第一控制报文中包括的所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息,通过与所述第一边缘交换机的边缘节点端口信息对应的第一边缘交换机将所述第一控制报文发送给与所述第二控制器相邻的第三控制器,以使所述第三控制器通过第二边缘交换机接收所述第二控制器发送的第一控制报文,将所述第一控制报文和所述第二边缘交换机的边缘节点端口信息封装为第二控制报文后,根据所述第一控制报文中包括的所述第一控制器的标识,将所述第二控制报文发送给所述第一控制器,以使所述第一控制器根据所述第二控制报文中包括的所述第二边缘交换机的边缘节点端口信息,以及所述第一控制报文中包括的所述第一边缘交换机的边缘节点端口信息,确定所述第二控制器通过所述第一边缘交换机和所述第二边缘交换机与所述第三控制器连接。
26.一种网络拓扑建立装置,基于权利要求1或2所述的网络拓扑系统,所述装置位于第三控制器侧,其特征在于,包括:
获取模块,用于在所述第三控制器与所述第二交换机组中的交换机建立安全连接的过程中,获取第二边缘交换机的边缘节点端口信息;所述第二交换机组中的交换机包括所述第二边缘交换机;
发送模块,用于在所述第三控制器与上层的第一控制器建立安全连接的过程中,将所述第三控制器的标识和所述第二边缘交换机的边缘节点端口信息发送给上层的所述第一控制器;以使所述第一控制器建立所述第三控制器的标识与所述第二边缘交换机的边缘节点端口信息之间的对应关系。
27.根据权利要求26所述的装置,其特征在于,还包括:
接收模块,用于接收所述第一控制器发送的第一控制报文,所述第一控制报文中包括所述第一控制器的标识、所述第三控制器的标识和所述第二边缘交换机的边缘节点端口信息;
所述发送模块,还用于根据所述第一控制报文中包括的所述第三控制器的标识和所述第二边缘交换机的边缘节点端口信息,通过与所述第二边缘交换机的边缘节点端口信息对应的第二边缘交换机将所述第一控制报文发送给与所述第三控制器相邻的第二控制器,以使所述第二控制器通过第一边缘交换机接收所述第三控制器发送的第一控制报文,将所述第一控制报文和所述第一边缘交换机的边缘节点端口信息封装为第二控制报文后,根据所述第一控制报文中包括的所述第一控制器的标识,将所述第二控制报文发送给所述第一控制器,以使所述第一控制器根据所述第二控制报文中包括的所述第一边缘交换机的边缘节点端口信息,以及所述第一控制报文中包括的所述第二边缘交换机的边缘节点端口信息,确定所述第三控制器通过所述第二边缘交换机和所述第一边缘交换机与所述第二控制器连接。
28.一种网络拓扑建立装置,基于权利要求1或2所述的网络拓扑系统,所述装置位于第一控制器侧,其特征在于,包括:
接收模块,用于在下层的第二控制器与上层的所述第一控制器建立安全连接的过程中,接收所述第二控制器发送的所述第二控制器的标识和第一边缘交换机的边缘节点端口信息,所述第一边缘交换机的边缘节点端口信息为所述第二控制器在与所述第一交换机组中的交换机建立安全连接的过程中,获取的所述第一边缘交换机的边缘节点端口信息;所述第一交换机组中的交换机包括所述第一边缘交换机;
建立模块,用于建立所述第二控制器的标识与所述第一边缘交换机的边缘节点端口信息之间的对应关系。
29.根据权利要求28所述的装置,其特征在于:
所述接收模块,还用于在下层的第三控制器与上层的所述第一控制器建立安全连接的过程中,接收所述第三控制器发送的所述第三控制器的标识和第二边缘交换机的边缘节点端口信息,所述第二边缘交换机的边缘节点端口信息为所述第三控制器在与所述第二交换机组中的交换机建立安全连接的过程中,获取的所述第二边缘交换机的边缘节点端口信息;所述第二交换机组中的交换机包括所述第二边缘交换机;
所述建立模块,还用于建立所述第三控制器的标识与所述第二边缘交换机的边缘节点端口信息之间的对应关系。
30.根据权利要求28或29所述的装置,其特征在于,还包括:
发送模块,用于向所述第二控制器发送第一控制报文,所述第一控制报文中包括所述第一控制器的标识、所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息;以使所述第二控制器根据所述第一控制报文中包括的所述第二控制器的标识和所述第一边缘交换机的边缘节点端口信息,通过与所述第一边缘交换机的边缘节点端口信息对应的第一边缘交换机将所述第一控制报文发送给与所述第二控制器相邻的第三控制器,以使所述第三控制器通过第二边缘交换机接收所述第二控制器发送的第一控制报文,将所述第一控制报文和所述第二边缘交换机的边缘节点端口信息封装为第二控制报文后,根据所述第一控制报文中包括的所述第一控制器的标识,将所述第二控制报文发送给所述第一控制器;
确定模块,用于根据所述第二控制报文中包括的所述第二边缘交换机的边缘节点端口信息,以及所述第一控制报文中包括的所述第一边缘交换机的边缘节点端口信息,确定所述第二控制器通过所述第一边缘交换机和所述第二边缘交换机与所述第三控制器连接。
31.一种网络拓扑路径控制装置,基于权利要求1或2所述的网络拓扑系统,所述装置位于第二控制器侧,其特征在于,包括:
接收模块,用于接收第一交换机发送的路径请求消息,所述路径请求消息中包括源主机和目的主机的信息,所述第一交换机为第一交换机组中的多个其他交换机中的其中一个交换机,与所述源主机连接;
确定模块,用于根据所述目的主机的信息,确定所述目的主机信息不在所述第二控制器所管理的多个主机信息中;
发送模块,用于向上层的第一控制器发送所述路径请求消息,以使所述第一控制器根据所述路径请求消息中包括的源主机和目的主机的信息,确定所述源主机和目的主机之间的路径信息,并向所述第二控制器发送第一路径响应消息,所述第一路径响应消息中包括所述源主机的信息和第一边缘交换机的边缘节点端口信息。
32.根据权利要求31所述的装置,其特征在于,所述确定模块,还用于根据所述接收模块接收的第一路径响应消息中包括的所述第一边缘交换机的边缘节点端口信息和所述源主机的信息,确定与所述源主机连接的所述第一交换机与所述第一边缘交换机之间的路径信息;
构建模块,用于根据所述确定模块确定的第一交换机与所述第一边缘交换机之间的路径信息,分别构建所述第一交换机与所述第一边缘交换机之间的路径中各交换机的流表;
所述发送模块,还用于分别将所述第一交换机与所述第一边缘交换机之间的路径中各交换机对应的流表发送给对应的交换机。
33.一种网络拓扑路径控制装置,基于权利要求1或2所述的网络拓扑系统,位于上层的第一控制器侧,其特征在于,包括:
接收模块,用于接收下层的第二控制器发送的路径请求消息,所述路径请求消息中包括源主机和目的主机的信息,所述路径请求消息是所述第二控制器在接收第一交换机发送的路径请求消息之后,根据所述目的主机的信息,确定所述目的主机信息不在所述第二控制器所管理的多个主机信息中时,向所述第一控制器发送的所述路径请求消息;所述第一交换机为第一交换机组中的多个其他交换机中的其中一个交换机,与所述源主机连接;
确定模块,用于根据所述路径请求消息中包括的源主机和目的主机的信息,在确定所述第一控制器所管理的多个主机信息中包括所述目的主机信息时,确定所述源主机和目的主机之间的路径信息,所述源主机和目的主机之间的路径信息中包括第一边缘交换机的边缘节点端口信息和第二边缘交换机的边缘节点端口信息;
发送模块,用于向所述第二控制器发送第一路径响应消息,所述第一路径响应消息中包括所述第一边缘交换机的边缘节点端口信息和所述源主机的信息;向所述第三控制器发送第二路径响应消息,所述第二路径响应消息中包括所述第二边缘交换机的边缘节点端口信息和所述目的主机的信息。
34.一种报文传输装置,基于权利要求1或2所述的网络拓扑系统,所述装置位于第一边缘交换机侧,其特征在于,包括:
接收模块,用于接收第一交换机发送的数据报文,所述数据报文是源主机发送给第一交换机的,所述数据报文中包括所述源主机和目的主机的信息;
发送模块,用于根据所述第一边缘交换机的流表,将所述数据报文通过所述第一边缘交换机的边缘节点端口发送给第二边缘交换机,以使所述第二边缘交换机根据所述第二边缘交换机的流表,通过所述第二边缘交换机的边缘节点端口接收所述数据报文,将所述数据报文发送给第二交换机,以使所述第二交换机将所述数据报文发送给目的主机。
35.根据权利要求34所述的装置,其特征在于,在所述发送模块根据所述第一边缘交换机的流表,将所述数据报文通过所述第一边缘交换机的边缘节点端口发送给第二边缘交换机之前;
所述接收模块,还用于接收第二控制器发送的所述第一边缘交换机的流表,所述第一边缘交换机的流表中的匹配项包括所述源主机的信息,所述第一边缘交换机的流表中的指令包括所述第一边缘交换机的边缘节点端口。
36.根据权利要求34或35所述的装置,其特征在于,所述发送模块具体用于:根据所述数据报文中包括的源主机的信息,若确定与所述第一边缘交换机的流表中的匹配项包括的所述源主机的信息相同,则根据所述第一边缘交换机的流表中的指令包括的所述第一边缘交换机的边缘节点端口,将所述数据报文通过所述第一边缘交换机的边缘节点端口发送给第二边缘交换机。
37.一种报文传输装置,基于权利要求1或2所述的网络拓扑系统,所述装置位于第二边缘交换机侧,其特征在于,包括:
接收模块,用于根据所述第二边缘交换机的流表,通过所述第二边缘交换机的边缘节点端口接收第一边缘交换机发送的数据报文,所述数据报文包括源主机和目的主机的信息;
发送模块,用于将所述数据报文发送给第二交换机,以使所述第二交换机将所述数据报文发送给目的主机。
38.根据权利要求37所述的装置,其特征在于,所述接收模块根据所述第二边缘交换机的流表,通过所述第二边缘交换机的边缘节点端口接收第一边缘交换机发送的数据报文之前;
所述接收模块,还用于接收第三控制器发送的所述第二边缘交换机的流表,所述第二边缘交换机的流表中的匹配项包括所述目的主机的信息,所述第二边缘交换机的流表中的指令包括所述第二边缘交换机的边缘节点端口。
39.根据权利要求37或38所述的装置,其特征在于,所述接收模块具体用于:根据所述数据报文中包括的目的主机的信息,若确定与所述第二边缘交换机的流表中的匹配项包括的所述目的主机的信息相同,则根据所述第二边缘交换机的流表中的指令包括的所述第二边缘交换机的边缘节点端口,通过所述第二边缘交换机的边缘节点端口接收所述第一边缘交换机发送的数据报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310293498.0A CN103401786B (zh) | 2013-07-12 | 2013-07-12 | 网络拓扑建立、路径控制、报文传输方法及装置、系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310293498.0A CN103401786B (zh) | 2013-07-12 | 2013-07-12 | 网络拓扑建立、路径控制、报文传输方法及装置、系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103401786A CN103401786A (zh) | 2013-11-20 |
CN103401786B true CN103401786B (zh) | 2016-08-24 |
Family
ID=49565315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310293498.0A Active CN103401786B (zh) | 2013-07-12 | 2013-07-12 | 网络拓扑建立、路径控制、报文传输方法及装置、系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103401786B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9197569B2 (en) * | 2013-12-06 | 2015-11-24 | Algoblu Holdings Limited | Hierarchical control in software-defined network (SDN) |
CN104753695B (zh) * | 2013-12-25 | 2018-11-30 | 上海宽带技术及应用工程研究中心 | Sdn网络拓扑结构的发现及实时呈现系统及方法 |
CN104754762B (zh) * | 2013-12-30 | 2019-12-03 | 中兴通讯股份有限公司 | 软件自定义网络中自动发现控制器的方法、控制器及系统 |
CN104796269A (zh) * | 2014-01-16 | 2015-07-22 | 中兴通讯股份有限公司 | 设置控制信息、建立通信的方法及管理控制器及控制器 |
CN103780517A (zh) * | 2014-01-20 | 2014-05-07 | 江苏省未来网络创新研究院 | 一种用于不同版本OpenFlow控制器与交换机协同工作的驱动系统及驱动方法 |
US9755901B2 (en) * | 2014-01-21 | 2017-09-05 | Huawei Technologies Co., Ltd. | System and method for a software defined protocol network node |
CN105099995B (zh) * | 2014-04-29 | 2018-09-28 | 华为技术有限公司 | Sdn网络系统、控制器及控制方法 |
CN105337853A (zh) * | 2014-06-11 | 2016-02-17 | 杭州华三通信技术有限公司 | 一种软件定义网络中的实例建立方法和装置 |
CN106664248B (zh) * | 2014-08-28 | 2020-04-14 | 华为技术有限公司 | 在软件定义网络中路由数据包的方法和控制器 |
CN105450495B (zh) * | 2014-09-18 | 2018-09-21 | 中国电信股份有限公司 | 用于重新建立安全通信通道的方法、装置和系统 |
CN105765903B (zh) * | 2014-11-07 | 2019-07-23 | 华为技术有限公司 | 一种拓扑发现方法及设备 |
CN104639615B (zh) * | 2015-01-07 | 2018-10-09 | 新华三技术有限公司 | 一种控制器集群中数据处理方法和装置 |
CN105591818A (zh) * | 2015-12-21 | 2016-05-18 | 杭州华三通信技术有限公司 | 一种端口诊断信息同步方法及装置 |
CN106789387B (zh) * | 2016-03-16 | 2020-10-13 | 新华三技术有限公司 | 一种用于sdn的链路检测方法及装置 |
WO2018049545A1 (zh) * | 2016-09-13 | 2018-03-22 | 深圳前海达闼云端智能科技有限公司 | Sdn中数据处理方法、装置、系统、电子设备和计算机程序产品 |
CN107872384B (zh) * | 2016-09-28 | 2021-09-28 | 中兴通讯股份有限公司 | 一种网络带宽的调整方法及装置 |
CN112217652B (zh) * | 2019-07-10 | 2024-05-03 | 华为技术有限公司 | 一种基于中心通信模式的网络拓扑装置及方法 |
CN112202620B (zh) * | 2020-10-12 | 2023-07-28 | 曙光信息产业(北京)有限公司 | 一种网络拓扑结构生成方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103051565A (zh) * | 2013-01-04 | 2013-04-17 | 中兴通讯股份有限公司 | 一种等级软件定义网络控制器的架构系统及实现方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050007964A1 (en) * | 2003-07-01 | 2005-01-13 | Vincent Falco | Peer-to-peer network heartbeat server and associated methods |
-
2013
- 2013-07-12 CN CN201310293498.0A patent/CN103401786B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103051565A (zh) * | 2013-01-04 | 2013-04-17 | 中兴通讯股份有限公司 | 一种等级软件定义网络控制器的架构系统及实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103401786A (zh) | 2013-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103401786B (zh) | 网络拓扑建立、路径控制、报文传输方法及装置、系统 | |
CN108696434B (zh) | 一种转发数据报文的方法、设备和系统 | |
TWI543566B (zh) | 基於軟體定義網路的資料中心網路系統及其封包傳送方法、位址解析方法與路由控制器 | |
CN102821022B (zh) | 在分布式以太网桥中利用链路聚合转发帧的方法和系统 | |
CN105393511B (zh) | 一种交换机模式切换方法、设备及系统 | |
CN105323136A (zh) | 信息的处理方法及装置 | |
CN108574616A (zh) | 一种处理路由的方法、设备及系统 | |
CN102368727B (zh) | 跨ip网络的trill网络通信方法、系统和设备 | |
US20140115189A1 (en) | Method and system for implementing elastic network interface and interconnection | |
CN110417665B (zh) | 一种数据中心多Fabric场景的EVPN组网系统及方法 | |
CN102724118A (zh) | 标签分发方法及设备 | |
CN103441936A (zh) | 转发邻接链路的发布方法 | |
CN104301230A (zh) | 报文转发方法和装置 | |
CN105340224A (zh) | 网络控制方法和装置 | |
CN104717081A (zh) | 一种网关功能的实现方法及装置 | |
CN104936254B (zh) | 基于软件定义网络的无线网络无缝移交方法及其装置 | |
CN102511151A (zh) | 一种路由器、虚拟集群路由器系统及建立方法 | |
CN109561033A (zh) | Overlay网络中组播复制的方法及装置 | |
CN109729012A (zh) | 一种单播报文传输方法和装置 | |
CN107306224A (zh) | 一种路由路径更新方法及网络管理装置 | |
CN103532742B (zh) | 一种ipran复杂场景下全二层业务的配置方法 | |
CN106713026A (zh) | 业务链拓扑结构、业务链设置方法和控制器 | |
CN106059946A (zh) | 一种报文转发方法和装置 | |
CN105531967A (zh) | 一种报文传输方法、设备及通信系统 | |
CN107911297A (zh) | 一种sdn网络带内控制通道建立方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20191224 Address after: 314413 No.2, Fengshou Avenue, Haining Economic and knitting industrial park, Jiaxing City, Zhejiang Province Patentee after: Zhejiang Haining Warp Knitting Industrial Park Development Co., Ltd Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: Huawei Technologies Co., Ltd. |