CN110166448B - 用于异构控制器集群的异构协议转换中间件及方法 - Google Patents
用于异构控制器集群的异构协议转换中间件及方法 Download PDFInfo
- Publication number
- CN110166448B CN110166448B CN201910410668.6A CN201910410668A CN110166448B CN 110166448 B CN110166448 B CN 110166448B CN 201910410668 A CN201910410668 A CN 201910410668A CN 110166448 B CN110166448 B CN 110166448B
- Authority
- CN
- China
- Prior art keywords
- heterogeneous
- controller
- module
- information
- interface
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
-
- 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/08—Protocols for interworking; Protocol conversion
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种用于异构控制器集群的异构协议转换中间件及方法,异构协议转换中间件包括异构控制器信息读取模块、拓扑视图聚合模块、流表生成模块、异构控制器指令下发模块、交换机迁移模块。异构控制器集群方法的步骤为:异构控制器信息读取模块与异构控制器指令下发模块对异构控制器的北向接口进行封装;拓扑视图聚合模块构建数据平面的网络拓扑视图;流表生成模块通过异构控制器指令下发模块下发流表;交换机迁移模块对失效异构控制器的交换机进行迁移。本发明具有较高的可靠性和便捷性,在大规模SDN网络环境下,能够构建异构控制器集群。
Description
技术领域
本发明属于通信技术领域,更进一步涉及网络通信技术领域中的一种用于异构控制器集群的异构协议转换中间件及方法。本发明在软件定义网络SDN(Software DefinedNetwork)环境下,构建集中式的异构协议转换中间件,以实现支持垂直架构的异构控制器间的协同工作来构成异构控制器集群。
背景技术
控制器负责对整个SDN网络的集中化控制,对于把握全网资源、改善网络资源交付质量具有非常重要的作用,是整个SDN网络架构的核心,一旦控制器在性能或者安全上不能提供有效保障,随之而来的就是整个SDN网络的服务能力降级甚至全网瘫痪。随着SDN网络规模的不断扩大,单一控制器的负载也在不断变大,存在单点失效的问题。因此,需要由多台控制器形成集群,避免单一控制器节点造成的在可靠性、扩展性、性能等方面存在的问题。目前,集群技术可以被用来解决上述难题,但用于不同种类控制器之间构成集群的东西向接口标准还没有被定义,因此在异构控制器之间构成集群还存在较多的困难。
在构建SDN控制器集群时,需要解决的问题有三点:第一是北向接口的抽象统一,控制器组成集群的关键是让多个控制器协同工作,让多个控制器对外提供统一的服务,并对用户实现透明化操作,即在控制器集群中,用户无需关心当前调用的是哪台控制器的服务接口,北向接口作为SDN控制器对外提供的最主要的服务接口,需要在集群上实现抽象统一;第二是数据平面的流量转发,在SDN网络架构下数据平面的主要设备是交换机,在控制器集群的控制下,不同控制器控制数据平面上的部分交换机,为了实现数据平面的流量转发,组成集群的控制器需要共享整个数据平面的拓扑信息,通过下发流表,转发数据平面的流量;第三是控制器集群的可靠性问题,即在控制器集群当中,一旦有控制器失效,就需要从控制器集群中的选取一个新的控制器来控制原失效控制器控制的交换机。本发明在解决上述三个问题的基础上,实现了异构控制器集群。
北京邮电大学在其专利申请文献“一种异构控制器之间的通信方法及系统”(专利申请号201611129381.9,公开号106549873A)中提供了一种在SDN中异构控制器之间构成集群的方法。该方法的具体步骤为,接收第一域控制器的域内交换机发送的第一链路层发现协议报文;根据第一链路层发现协议报文确定第二链路层发现协议报文;对第二链路层发现协议报文进行封装,得到南向协议承载报文;向超级控制器发送南向协议承载报文,超级控制器获得域间链路信息;获取各个域控制器的域内网络信息;对域内网络信息进行封装,得到第一报文;将第一报文发送给超级控制器,超级控制器获得所述各个域控制器的域内网络信息,根据所述域间链路信息及域内网络信息进行异构控制器之间的通信。该方法实现了数据平面的流量转发,从而实现异构控制器间构成集群。但是,该方法仍然存在的不足之处是:没有实现异构控制器北向接口的抽象统一,不能够实现控制器集群对用户的透明化操作。
郑州云海信息技术有限公司在其申请的专利文献“一种SDN异构多控制器协同方法及系统”(专利申请号201711140596.5,公开号107819774A)中提供了一种SDN异构控制器之间协同工作以构成集群的方法。该方法参照OpenFlow协议并根据控制器通信的特色,提出了控制器通信协议,基于控制器所开放的编程接口,在不同控制器上开发相关应用,来实现所提出的控制器通信协议,解决异构控制器之间的扩展、协作问题;该发明无需用户参与,通过控制器东西向扩展机制,实现异构控制器之间的扩展和同构控制器无缝互连,具有普适性,有效提升控制器的计算能力、网络运行稳定性。但是,该方法仍然存在的不足之处是:需要在每个异构控制器上进行定制化开发,然而不同控制器所开放的编程接口存在差异,所以该异构控制器集群方案不具有扩展性。
Pingping Lin等作者在其发表的论文“WE-bridge:West-east bridge for SDNinter-domain network peering”(IEEE Conference on Computer CommunicationsWorkshops,2014)中提出了异构控制器之间路由信息和网络拓扑信息的交互方法。该方法将所有的SDN控制器视为对等的实体,并通过论文中所设计的West-East Bridge连接,然后各个控制器之间通过West-East Bridge以统一的JSON结构的数据来交换基础的路由信息以及网络拓扑信息,从而构建出一个全局的网络拓扑视图,然后不同控制器上的网络应用将路由信息以及网络拓扑信息转化为流表下发给数据平面的交换机上,从而实现了异构控制器之间的协同工作来构成集群。但是,该方法仍然存在的不足之处是:在出现控制器失效的情况下,集群存在可靠性问题,某个控制器失效后会影响其所管理的交换机的数据转发过程。
发明内容
本发明的目的在于针对上述现有技术的不足,提出了一种用于异构控制器集群的异构协议转换中间件及方法,用于解决现有技术中存在的异构控制器北向接口不统一,扩展性差,可靠性差的问题。
实现本发明目的的思路是:首先异构控制器信息读取模块与异构控制器指令下发模块调用各异构控制器的北向接口,并对各异构控制器的北向接口进行封装,实现异构控制器北向接口的抽象统一;然后拓扑视图聚合模块通过异构控制器信息读取模块获取各异构控制器控制的网络拓扑信息,并将各异构控制器的拓扑信息汇总构建底层数据平面的网络拓扑视图;接着流表生成模块根据底层数据平面的网络拓扑视图通过异构控制器指令下发模块下发流表,实现数据平面的流量转发;最后异构控制器信息读取模块将失效异构控制器控制的交换机信息传递给交换机迁移模块,交换机迁移模块对失效异构控制器的交换机进行迁移。
本发明用于异构控制器集群的异构协议转换中间件包括异构控制器信息读取模块、拓扑视图聚合模块、流表生成模块、异构控制器指令下发模块、交换机迁移模块,其中:
所述异构控制器信息读取模块,用于创建与RESTful API读接口数量相等的RPC读接口,建立RPC读接口与RESTful API读接口之间一一对应的关系;在每一个RPC读接口的实现类中添加HTTP客户端,HTTP客户端访问本接口所对应的RESTful API读接口,将访问结果作为读接口实现类的返回值;在每个同步更新周期结束后,依次读取异构控制器的关键信息,将所读取的关键信息存储到异构控制器信息读取模块中;周期性采集和存储各异构控制器的关键信息,将连续3个同步更新周期,均未获得关键信息的异构控制器判断为失效异构控制器;将失效异构控制器控制的交换机信息以及各异构控制器控制的交换机数量传递给交换机迁移模块;
所述拓扑视图聚合模块,用于从异构控制器信息读取模块中获取各异构控制器控制的交换机各端口的状态信息和网络拓扑信息,将所获取的状态信息和拓扑信息汇总底层数据平面的网络拓扑视图;将底层数据平面的网络拓扑视图传递给流表生成模块;
所述流表生成模块,用于通过异构控制器指令下发模块对各异构控制器控制的交换机下发流表,交换机根据流表转发数据平面的网络流量;
所述异构控制器指令下发模块,用于创建与RESTful API写接口数量相等的RPC写接口,建立RPC写接口与RESTful API写接口之间一一对应的关系;在每一个RPC写接口的实现类中,将本接口接收的参数转化为本接口所对应的RESTful API写接口的输入参数,在每一个RPC写接口的实现类中添加HTTP客户端,HTTP客户端访问本接口所对应的RESTful API写接口,将访问结果作为写接口实现类的返回值;
所述交换机迁移模块,用于从各异构控制器中选取交换机数量最少的异构控制器;将失效异构控制器控制的交换机转移给交换机数量最少的异构控制器控制。
本发明用于异构控制器集群的方法的具体步骤如下:
(1)封装各异构控制器的北向接口:
(1a)异构控制器信息读取模块创建与RESTful API读接口数量相等的RPC读接口,建立RPC读接口与RESTful API读接口之间一一对应的关系;
(1b)异构控制器信息读取模块在每一个RPC读接口的实现类中添加HTTP客户端,HTTP客户端访问本接口所对应的RESTful API读接口,将访问结果作为读接口实现类的返回值;
(1c)异构控制器指令下发模块创建与RESTful API写接口数量相等的RPC写接口,建立RPC写接口与RESTful API写接口之间一一对应的关系;
(1d)异构控制器指令下发模块在每一个RPC写接口的实现类中,将本接口接收的参数转化为本接口所对应的RESTful API写接口的输入参数,在每一个RPC写接口的实现类中添加HTTP客户端,HTTP客户端访问本接口所对应的RESTful API写接口,将访问结果作写接口实现类的返回值;
(2)采集和存储各异构控制器的关键信息:
(2a)异构控制器信息读取模块设置同步更新周期,同步更新周期的值为各异构控制器所支持的RESTful API访问时间间隔中的最大值;
(2b)异构控制器信息读取模块在每个同步更新周期结束后,依次读取异构控制器的关键信息,将所读取的关键信息存储到异构控制器信息读取模块中;
(3)转发底层数据平面的流量:
(3a)拓扑视图聚合模块从异构控制器信息读取模块中获取各异构控制器控制的交换机各端口的状态信息和网络拓扑信息,将所获取的状态信息和拓扑信息汇总底层数据平面的网络拓扑视图;
(3b)拓扑视图聚合模块将底层数据平面的网络拓扑视图传递给流表生成模块;
(3c)流表生成模块通过异构控制器指令下发模块对各异构控制器控制的交换机下发流表,交换机根据流表转发数据平面的网络流量;
(4)迁移失效异构控制器控制的交换机:
(4a)异构控制器信息读取模块周期性采集和存储各异构控制器的关键信息,将连续3个同步更新周期,均未获得关键信息的异构控制器判断为失效异构控制器;
(4b)异构控制器信息读取模块将失效异构控制器控制的交换机信息以及各异构控制器控制的交换机数量传递给交换机迁移模块;
(4c)交换机迁移模块从各异构控制器中选取交换机数量最少的异构控制器;
(4d)交换机迁移模块将失效异构控制器控制的交换机转移给交换机数量最少的异构控制器控制。
本发明与现有技术相比具有以下优点:
第一,由于本发明的异构协议转换中间件中的异构控制器信息读取模块和异构控制器指令下发模块具有对异构控制器北向接口的调用功能,克服了现有技术中异构控制器北向接口异构化的问题,使得本发明的异构协议转换中间件具有对异构控制器统一管控的优点。
第二,由于本发明的异构协议转换中间件中的异构控制器信息读取模块和异构控制器指令下发模块主要调用异构控制器开放的RESTful API接口,并不会对异构控制器本身做出改变,克服了现有技术中异构控制器集群扩展性不足的问题,使得本发明具有易扩展的优点。
第三,由于本发明的异构控制器集群的方法中的异构控制器信息读取模块将失效异构控制器控制的交换机信息以及各异构控制器控制的交换机数量传递给交换机迁移模块,交换机迁移模块将失效异构控制器控制的交换机转移给交换机数量最少的异构控制器控制,克服了现有技术中异构控制集群的可靠性差的问题,使得本发明的异构控制器集群的方法具有高可靠性的优点。
附图说明
图1为本发明异构协议转换中间件的结构示意图;
图2为异构控制器集群的方法流程图。
具体实施方式
下面结合附图对本发明作进一步的描述。
参照图1,对本发明的用于异构控制器集群的异构协议转换中间件作进一步的描述。
本发明用于异构控制器集群的异构协议转换中间件,包括异构控制器信息读取模块、拓扑视图聚合模块、流表生成模块、异构控制器指令下发模块、交换机迁移模块。
其中:
所述异构控制器信息读取模块,用于创建与RESTful API读接口数量相等的RPC读接口,建立RPC读接口与RESTful API读接口之间一一对应的关系;在每一个RPC读接口的实现类中添加HTTP客户端,HTTP客户端访问本接口所对应的RESTful API读接口,将访问结果作为读接口实现类的返回值;在每个同步更新周期结束后,依次读取异构控制器的关键信息,将所读取的关键信息存储到异构控制器信息读取模块中;周期性采集和存储各异构控制器的关键信息,将连续3个同步更新周期,均未获得关键信息的异构控制器判断为失效异构控制器;将失效异构控制器控制的交换机信息以及各异构控制器控制的交换机数量传递给交换机迁移模块。
所述拓扑视图聚合模块,用于从异构控制器信息读取模块中获取各异构控制器控制的交换机各端口的状态信息和网络拓扑信息,将所获取的状态信息和拓扑信息汇总底层数据平面的网络拓扑视图;将底层数据平面的网络拓扑视图传递给流表生成模块。
所述流表生成模块,用于通过异构控制器指令下发模块对各异构控制器控制的交换机下发流表,交换机根据流表转发数据平面的网络流量。
所述异构控制器指令下发模块,用于创建与RESTful API写接口数量相等的RPC写接口,建立RPC写接口与RESTful API写接口之间一一对应的关系;在每一个RPC写接口的实现类中,将本接口接收的参数转化为本接口所对应的RESTful API写接口的输入参数,在每一个RPC写接口的实现类中添加HTTP客户端,HTTP客户端访问本接口所对应的RESTful API写接口,将访问结果作为写接口实现类的返回值。
所述交换机迁移模块,用于从各异构控制器中选取交换机数量最少的异构控制器;将失效异构控制器控制的交换机转移给交换机数量最少的异构控制器控制。
参照图2,对本发明用于异构控制器集群的方法的具体步骤作进一步的描述。
步骤1,封装各异构控制器的北向接口。
异构控制器信息读取模块创建与RESTful API读接口数量相等的RPC读接口,建立RPC读接口与RESTful API读接口之间一一对应的关系。
所述的RESTful API读接口是指,所有异构控制器的RESTful API接口中具有获取异构控制器信息功能的RESTful API接口。
异构控制器信息读取模块在每一个RPC读接口的实现类中添加HTTP客户端,HTTP客户端访问本接口所对应的RESTful API读接口,将访问结果作为读接口实现类的返回值。
所述的RESTful API读接口是指,所有异构控制器的RESTful API接口中具有获取异构控制器信息功能的RESTful API接口。
所述添加HTTP客户端的步骤如下:
第1步,在每一个RPC接口的实现类中创建HttpClient对象,在HttpClient对象中对HttpURLConnection、InputStream和BufferedReader对象进行初始化。
第2步,将HttpURLConnection对象的url属性值设置为对应RPC接口需要访问的RESTful API接口的访问地址,method属性值设置为对应RPC接口需要访问的RESTful API接口的HTTP方法类型。
第3步,调用HttpURLConnection对象的connect方法,将调用connect方法得到的值赋值给InputStream对象,将赋值后的InputStream对象封装成BufferedReader对象。
第4步,调用BufferedReader对象的toString方法,将调用toString方法得到的值作为HttpClient对象的返回值。
异构控制器指令下发模块创建与RESTful API写接口数量相等的RPC写接口,建立RPC写接口与RESTful API写接口之间一一对应的关系。
所述的RESTful API写接口是指,所有异构控制器的RESTful API接口中具有配置异构控制器及下发流表功能的RESTful API接口。
异构控制器指令下发模块在每一个RPC写接口的实现类中,将本接口接收的参数转化为本接口所对应的RESTful API写接口的输入参数,在每一个RPC写接口的实现类中添加HTTP客户端,HTTP客户端访问本接口所对应的RESTful API写接口,将访问结果作为写接口实现类的返回值。
所述的RESTful API写接口是指,所有异构控制器的RESTful API接口中具有配置异构控制器及下发流表功能的RESTful API接口。
所述添加HTTP客户端的步骤如下:
第1步,在每一个RPC接口的实现类中创建HttpClient对象,在HttpClient对象中对HttpURLConnection、InputStream和BufferedReader对象进行初始化。
第2步,将HttpURLConnection对象的url属性值设置为对应RPC接口需要访问的RESTful API接口的访问地址,method属性值设置为对应RPC接口需要访问的RESTful API接口的HTTP方法类型。
第3步,调用HttpURLConnection对象的connect方法,将调用connect方法得到的值赋值给InputStream对象,将赋值后的InputStream对象封装成BufferedReader对象。
第4步,调用BufferedReader对象的toString方法,将调用toString方法得到的值作为HttpClient对象的返回值。
步骤2,采集和存储各异构控制器的关键信息。
异构控制器信息读取模块设置同步更新周期,同步更新周期的值为各异构控制器所支持的RESTful API访问时间间隔中的最大值。
异构控制器信息读取模块在每个同步更新周期结束后,依次读取异构控制器的关键信息,将所读取的关键信息存储到异构控制器信息读取模块中。
所述的异构控制器的关键信息包括,异构控制器控制的各交换机流表信息、交换机各端口的状态信息、网络拓扑信息。
步骤3,转发底层数据平面的流量。
拓扑视图聚合模块从异构控制器信息读取模块中获取各异构控制器控制的交换机各端口的状态信息和网络拓扑信息,将所获取的状态信息和拓扑信息汇总底层数据平面的网络拓扑视图。
所述将所获取的状态信息和拓扑信息汇总底层数据平面的网络拓扑视图的步骤如下:
第1步,对异构控制器控制的所有交换机依次编号。
第2步,依次选取一个交换机。
第3步,判断所选交换机中是否存在端口处于开放状态的端口,若是,则执行第4步,否则,执行第6步。
第4步,判断所选交换机是否处于网络拓扑边界处,若是,执行第5步,否则,执行第6步。
第5步,将所选交换机添加到边界交换机集合中后执行第6步。
第6步,判断是否选取完异构控制器控制的所有交换机,若是,则执行第7步,否则,执行第2步。
第7步,对边界交换机集合中的交换机发送LLDP链路探测包,探测出边界交换机集合中交换机之间的连接关系。
第8步,根据边界交换机集合中交换机的连接关系,连接各异构控制器的网络拓扑信息,得到底层数据平面的网络拓扑视图。
拓扑视图聚合模块将底层数据平面的网络拓扑视图传递给流表生成模块。
流表生成模块通过异构控制器指令下发模块对各异构控制器控制的交换机下发流表,交换机根据流表转发数据平面的网络流量。
步骤4,迁移失效异构控制器控制的交换机。
异构控制器信息读取模块周期性采集和存储各异构控制器的关键信息,将连续3个同步更新周期,均未获得关键信息的异构控制器判断为失效异构控制器。
所述的异构控制器的关键信息包括,异构控制器控制的各交换机流表信息、交换机各端口的状态信息、网络拓扑信息。
异构控制器信息读取模块将失效异构控制器控制的交换机信息以及各异构控制器控制的交换机数量传递给交换机迁移模块。
交换机迁移模块从各异构控制器中选取交换机数量最少的异构控制器。
交换机迁移模块将失效异构控制器控制的交换机转移给交换机数量最少的异构控制器控制。
Claims (7)
1.一种用于异构控制器集群的异构协议转换中间件,其特征在于,包括异构控制器信息读取模块、拓扑视图聚合模块、流表生成模块、异构控制器指令下发模块、交换机迁移模块,其中:
所述异构控制器信息读取模块,用于创建与RESTful API读接口数量相等的RPC读接口,建立RPC读接口与RESTful API读接口之间一一对应的关系;在每一个RPC读接口的实现类中添加HTTP客户端,HTTP客户端访问本接口所对应的RESTful API读接口,将访问结果作为读接口实现类的返回值;在每个同步更新周期结束后,依次读取异构控制器的关键信息,将所读取的关键信息存储到异构控制器信息读取模块中;周期性采集和存储各异构控制器的关键信息,将连续3个同步更新周期,均未获得关键信息的异构控制器判断为失效异构控制器;将失效异构控制器控制的交换机信息以及各异构控制器控制的交换机数量传递给交换机迁移模块;
所述拓扑视图聚合模块,用于从异构控制器信息读取模块中获取各异构控制器控制的交换机各端口的状态信息和网络拓扑信息,将所获取的状态信息和拓扑信息汇总底层数据平面的网络拓扑视图;将底层数据平面的网络拓扑视图传递给流表生成模块;
所述流表生成模块,用于通过异构控制器指令下发模块对各异构控制器控制的交换机下发流表,交换机根据流表转发数据平面的网络流量;
所述异构控制器指令下发模块,用于创建与RESTful API写接口数量相等的RPC写接口,建立RPC写接口与RESTful API写接口之间一一对应的关系;在每一个RPC写接口的实现类中,将本接口接收的参数转化为本接口所对应的RESTful API写接口的输入参数,在每一个RPC写接口的实现类中添加HTTP客户端,HTTP客户端访问本接口所对应的RESTful API写接口,将访问结果作为写接口的返回值;
所述交换机迁移模块,用于从各异构控制器中选取交换机数量最少的异构控制器;将失效异构控制器控制的交换机转移给交换机数量最少的异构控制器控制。
2.一种用于异构控制器集群的方法,其特征在于,利用集中式的异构协议转换中间件,对各异构控制器北向接口统一封装,利用各异构控制器的拓扑信息,转发数据平面的网络流量,利用集中式的异构协议转换中间件,对异构控制器状态进行监测,迁移失效异构控制器控制的交换机,该方法的步骤包括如下:
(1)封装各异构控制器的北向接口:
(1a)异构控制器信息读取模块创建与RESTful API读接口数量相等的RPC读接口,建立RPC读接口与RESTful API读接口之间一一对应的关系;
(1b)异构控制器信息读取模块在每一个RPC读接口的实现类中添加HTTP客户端,HTTP客户端访问本接口所对应的RESTful API读接口,将访问结果作为读接口实现类的返回值;
(1c)异构控制器指令下发模块创建与RESTful API写接口数量相等的RPC写接口,建立RPC写接口与RESTful API写接口之间一一对应的关系;
(1d)异构控制器指令下发模块在每一个RPC写接口的实现类中,将本接口接收的参数转化为本接口所对应的RESTful API写接口的输入参数,在每一个RPC写接口的实现类中添加HTTP客户端,HTTP客户端访问本接口所对应的RESTful API写接口,将访问结果作为写接口实现类的返回值;
(2)采集和存储各异构控制器的关键信息:
(2a)异构控制器信息读取模块设置同步更新周期,同步更新周期的值为各异构控制器所支持的RESTful API访问时间间隔中的最大值;
(2b)异构控制器信息读取模块 在每个同步更新周期结束后,依次读取异构控制器的关键信息,将所读取的关键信息存储到异构控制器信息读取模块中;
(3)转发底层数据平面的流量:
(3a)拓扑视图聚合模块从异构控制器信息读取模块中获取各异构控制器控制的交换机各端口的状态信息和网络拓扑信息,将所获取的状态信息和拓扑信息汇总底层数据平面的网络拓扑视图;
(3b)拓扑视图聚合模块将底层数据平面的网络拓扑视图传递给流表生成模块;
(3c)流表生成模块通过异构控制器指令下发模块对各异构控制器控制的交换机下发流表,交换机根据流表转发数据平面的网络流量;
(4)迁移失效异构控制器控制的交换机:
(4a)异构控制器信息读取模块周期性采集和存储各异构控制器的关键信息,将连续3个同步更新周期,均未获得关键信息的异构控制器判断为失效异构控制器;
(4b)异构控制器信息读取模块将失效异构控制器控制的交换机信息以及各异构控制器控制的交换机数量传递给交换机迁移模块;
(4c)交换机迁移模块从各异构控制器中选取交换机数量最少的异构控制器;
(4d)交换机迁移模块将失效异构控制器控制的交换机转移给交换机数量最少的异构控制器控制。
3.根据权利要求2所述的用于异构控制器集群的方法,其特征在于,步骤(1a)、步骤(1b)中所述的RESTful API读接口是指,所有异构控制器的RESTful API接口中具有获取异构控制器信息功能的RESTful API接口。
4.根据权利要求2所述的用于异构控制器集群的方法,其特征在于,步骤(1c)、步骤(1d)中所述的RESTful API写接口是指,所有异构控制器的RESTful API接口中具有配置异构控制器及下发流表功能的RESTful API接口。
5.根据权利要求2所述的用于异构控制器集群的方法,其特征在于,步骤(1b)、步骤(1d)中所述添加HTTP客户端的步骤如下:
第一步,在每一个RPC接口的实现类中创建HttpClient对象,在HttpClient对象中对HttpURLConnection、InputStream和BufferedReader对象进行初始化;
第二步,将HttpURLConnection对象的url属性值设置为对应RPC接口需要访问的RESTful API接口的访问地址,method属性值设置为对应RPC接口需要访问的RESTful API接口的HTTP方法类型;
第三步,调用HttpURLConnection对象的connect方法,将调用connect方法得到的值赋值给InputStream对象,将赋值后的InputStream对象封装成BufferedReader对象;
第四步,调用BufferedReader对象的toString方法,将调用toString方法得到的值作为HttpClient对象的返回值。
6.根据权利要求2所述的用于异构控制器集群的方法,其特征在于,步骤(2b)、步骤(4a)中所述的异构控制器的关键信息包括,异构控制器控制的各交换机流表信息、交换机各端口的状态信息、网络拓扑信息。
7.根据权利要求2所述的用于异构控制器集群的方法,其特征在于,步骤(3a)中所述将所获取的状态信息和拓扑信息汇总底层数据平面的网络拓扑视图的步骤如下:
第一步,对异构控制器控制的所有交换机依次编号;
第二步,依次选取一个交换机;
第三步,判断所选交换机中是否存在端口处于开放状态的端口,若是,则执行第四步,否则,执行第六步;
第四步,判断所选交换机是否处于网络拓扑边界处,若是,执行第五步,否则,执行第六步;
第五步,将所选交换机添加到边界交换机集合中后执行第六步;
第六步,判断是否选取完异构控制器控制的所有交换机,若是,则执行第七步,否则,执行第二步;
第七步,对边界交换机集合中的交换机发送LLDP链路探测包,探测出边界交换机集合中交换机之间的连接关系;
第八步,根据边界交换机集合中交换机的连接关系,连接各异构控制器的网络拓扑信息,得到底层数据平面的网络拓扑视图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910410668.6A CN110166448B (zh) | 2019-05-16 | 2019-05-16 | 用于异构控制器集群的异构协议转换中间件及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910410668.6A CN110166448B (zh) | 2019-05-16 | 2019-05-16 | 用于异构控制器集群的异构协议转换中间件及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110166448A CN110166448A (zh) | 2019-08-23 |
CN110166448B true CN110166448B (zh) | 2020-04-14 |
Family
ID=67631111
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910410668.6A Active CN110166448B (zh) | 2019-05-16 | 2019-05-16 | 用于异构控制器集群的异构协议转换中间件及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110166448B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111585958B (zh) * | 2020-04-01 | 2021-10-29 | 西安电子科技大学 | 物联网平台异构设备自适应接入方法、系统 |
CN113114494B (zh) * | 2021-04-02 | 2024-03-01 | 新疆大学 | 一种sdn的物联网异构网络通信设备及数据传递方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104618475A (zh) * | 2015-01-28 | 2015-05-13 | 清华大学 | 用于异构sdn网络的水平方向通信方法和sdn系统 |
CN106549873A (zh) * | 2016-12-09 | 2017-03-29 | 北京邮电大学 | 一种异构控制器之间的通信方法及系统 |
CN106656846A (zh) * | 2017-01-17 | 2017-05-10 | 大连理工大学 | 一种sdn体系架构中协调层的构建方法 |
CN107819774A (zh) * | 2017-11-16 | 2018-03-20 | 郑州云海信息技术有限公司 | 一种sdn异构多控制器协同方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10103969B2 (en) * | 2015-06-30 | 2018-10-16 | Hewlett Packard Enterprise Development Lp | Open shortest path first routing for hybrid networks |
US20170063660A1 (en) * | 2015-08-27 | 2017-03-02 | Hewlett Packard Enterprise Development Lp | Application-specific integrated circuit data flow entity counting |
CN105915419A (zh) * | 2015-11-25 | 2016-08-31 | 北京邮电大学 | 一种基于sdn的无线接入控制器部署方法 |
CN106028372B (zh) * | 2016-05-05 | 2019-06-18 | 华中科技大学 | 一种基于sdn融合异构无线网络的系统 |
CN106851757B (zh) * | 2017-03-09 | 2019-11-26 | 西安电子科技大学 | 一种基于sdn和sdr的异构网络切换方法 |
-
2019
- 2019-05-16 CN CN201910410668.6A patent/CN110166448B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104618475A (zh) * | 2015-01-28 | 2015-05-13 | 清华大学 | 用于异构sdn网络的水平方向通信方法和sdn系统 |
CN106549873A (zh) * | 2016-12-09 | 2017-03-29 | 北京邮电大学 | 一种异构控制器之间的通信方法及系统 |
CN106656846A (zh) * | 2017-01-17 | 2017-05-10 | 大连理工大学 | 一种sdn体系架构中协调层的构建方法 |
CN107819774A (zh) * | 2017-11-16 | 2018-03-20 | 郑州云海信息技术有限公司 | 一种sdn异构多控制器协同方法及系统 |
Non-Patent Citations (2)
Title |
---|
OXP:一种面向SDN移动自组网的东西向协议;杨帆 等;《电信工程技术与标准化》;20160915;第29卷(第228期);第32-36页 * |
WE-Bridge: West-East Bridge for SDN Inter-domain Network Peering;Pingping Lin;《IEEE Conference on Computer Communications Workshops》;20140708;第111-112页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110166448A (zh) | 2019-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109660466A (zh) | 一种面向云数据中心租户的多活负载均衡实现方法 | |
JP2022511008A (ja) | CoAPによるOPC UAメッセージの伝送方法及びサーバ | |
CN102833141A (zh) | 一种基于DSP28335的CANopen从站系统 | |
CN110166448B (zh) | 用于异构控制器集群的异构协议转换中间件及方法 | |
CN109639484B (zh) | 基于软件定义的工业融合网络管理方法及其网络管理器 | |
CN107273228B (zh) | 基于星型拓扑架构的消息传输方法 | |
CN102164184A (zh) | 云计算网络中计算机实体的接入和管理方法及云计算网络 | |
CN111885439B (zh) | 一种光网络综合管理和值勤管理系统 | |
CN102932431A (zh) | 一种基于消息路由的状态监测数据接口配置方法 | |
CN114189444B (zh) | 纳管工业端设备的方法、时间敏感网络控制器及系统 | |
CN103119400A (zh) | 跨ip网络连接的串行数据链路会话的状态同步 | |
CN102402218B (zh) | 一种智能工业网络监控系统 | |
CN101364924A (zh) | 一种基于企业服务总线的数据采集自适应体系结构 | |
CN102882979A (zh) | 基于云计算系统的数据采集与汇总分流的系统和方法 | |
CN104243172A (zh) | 一种分散控制系统的扩展输入输出装置和方法 | |
CN101247663B (zh) | 大容量路由系统及其转发表生成方法 | |
CN115208920B (zh) | 分布式物联网服务单元 | |
CN105847428A (zh) | 一种移动云平台 | |
Pu et al. | Practical implementation of an OPC UA multi-server aggregation and management architecture for IIoT | |
CN112929211B (zh) | 非ip管控设备接入ip dcn网络被代管的实现方法 | |
CN112910959B (zh) | 一种基于SDN的多Kubernetes集群的网络互联方法 | |
CN204425403U (zh) | 一种配电自动化架构 | |
CN114884769A (zh) | 一种双通信协议冗余通信系统 | |
Lai et al. | Dynamic adjustment mechanism based on OPC-UA architecture for IIoT applications | |
CN111835574A (zh) | 一种基于sdn虚拟化数据中心网络管理方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |