Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
转发控制方法、驱动器及SDN网络 FORWARDING CONTROL METHOD, DRIVER AND SDN NETWORK
Document Type and Number:
WIPO Patent Application WO/2015/188331
Kind Code:
A1
Abstract:
一种转发控制方法、驱动器及软件定义网络,通过驱动器将控制器生成的第一转发控制信令转换为第二转发控制信令,该第二转发控制信令符合转发器所支持的转发控制协议的格式要求;进而驱动器将第二转发控制信令发送至对应的转发器,因此,本申请实施例不再需要控制器支持内置插件机制,只需要在软件定义网络中设置相应的驱动器,就可以实现同一控制器对任意转发器的转发控制,应用范围大大增加。另外,本申请实施例中,通过改变不同类型的驱动器、控制器和转发器三者之间的连接关系,即可实现驱动器、转发器和控制器的复用,不需要针对每一个控制器、每一个转发器设置一个驱动器,对SDN网络及相关设备的改动量小,成本低。 A forwarding control method, driver and software-defined network (SDN), the driver convertsing a first forwarding control signaling generated by a controller into a second forwarding control signaling, the second forwarding control signaling complying with a format requirement of a forwarding control protocol supported by a forwarder; the driver further sendsing the second forwarding control signaling to a corresponding forwarder. Therebyfore, an embodiment of the present application no longer requires the controller to support a built-in plug-in mechanism, and it is only necessary to disposes a corresponding driver in the software-defined network to enable the same controller to conduct carry out forwarding control of any forwarder, thus greatly increasing the scope of application range. In addition, in an embodiment of the present application, changing the connection relationships between different types of drivers, controllers and forwarders can realizes multiplexing of the drivers, the forwarders and the controllers, without the need of disposinghavingneeding to disposeprovide one driver for each controller and each forwarder, havingwith only small changes into the SDN network and related devices, and low costs.

Inventors:
NI HUI (CN)
Application Number:
PCT/CN2014/079671
Publication Date:
December 17, 2015
Filing Date:
June 11, 2014
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HUAWEI TECH CO LTD (CN)
International Classes:
H04L12/70
Foreign References:
CN103095565A2013-05-08
CN103051565A2013-04-17
CN1933425A2007-03-21
Attorney, Agent or Firm:
CHINABLE IP (CN)
北京弘权知识产权代理事务所(普通合伙) (CN)
Download PDF:
Claims:
权 利 要 求

1、 一种基于软件定义网络 SDN的转发控制方法, 所述 SDN网络包括实现 报文转发的转发器, 和根据转发规则对所述转发器执行转发控制的控制器; 其特 征在于, 所述 SDN网络还包括至少一个实现对转发器的驱动控制的驱动器; 所述转发控制方法包括: 所述控制器根据转发规则生成第一转发控制信令,并将第一转发控制信令通 过第一控制转发协议发送至所述驱动器中与控制器连接的第一驱动器; 所述第一驱动器将接收到的第一转发控制信令转换为符合第二控制转发协 议的格式要求的第二转发控制信令,并将所述第二转发控制信令通过第二控制转 发协议发送至相应的转发器; 其中, 所述第一控制转发协议为控制器所支持的控制转发协议; 所述第二控 制转发协议为转发器所支持的控制转发协议。

2、 根据权利要求 1所述的转发控制方法, 其特征在于, 在所述控制器发送 第一转发控制指令之前, 所述转发控制方法还包括: 控制器确定与所述转发规则对应的转发器的类型相匹配的至少一个驱动器 作为所述第一驱动器, 并与所述第一驱动器建立连接。

3、 根据权利要求 2所述的转发控制方法, 其特征在于, 所述控制器确定与 所述转发规则对应的转发器的类型相匹配的至少一个驱动器作为所述第一驱动 器, 包括: 控制器根据每个驱动器发送的注册消息和转发器发送的自身的类型标识确 定与所述转发规则对应的转发器的类型相匹配的驱动器,并将所确定的驱动器作 为所述第一驱动器; 其中,所述注册消息包括相应的驱动器所支持的一种或多种转发器的类型标 识; 所述类型标识包括以下至少一种: 转发器型号、 控制转发协议类型、 流表类 型模板 TTP和可协商数据路径模型 DM。 4、 根据权利要求 2所述的转发控制方法, 其特征在于, 所述控制器与第一 驱动器建立连接, 包括: 控制器通过模块加载或信令协商的方式与所述第一驱动器建立连接。

5、 根据权利要求 1所述的转发控制方法, 其特征在于, 在所述控制器发送 第一转发控制指令之前, 所述转发控制方法还包括: 所述驱动器根据其服务的转发器的参数信息,将自身配置为与其服务的转发 器相对应的虚拟转发器; 所述虚拟转发器作为第一驱动器, 与所述控制器建立连接。

6、 根据权利要求 1~5任一项所述的转发控制方法, 其特征在于, 所述第一 驱动器将接收到的第一转发控制信令转换为符合第二控制转发协议的格式要求 的第二转发控制信令, 包括: 当所述转发器包括多个时,所述第一驱动器根据第一控制转发协议和第二控 制转发协议之间的预设映射关系,将所述第一转发控制信令转换为对应于不同转 发器的多条第二转发控制信令。

7、 根据权利要求 1~5任一项所述的转发控制方法, 其特征在于, 还包括: 所述第一驱动器根据自身存储的转发器的参数信息,判断接收到的第一转发 控制信令所对应的转发规则是否符合相应转发器的功能; 如果第一转发控制信令所对应的转发规则不符合相应转发器的功能,则第一 驱动器向控制器返回控制失败消息,否则执行所述将接收到的第一转发控制信令 转换为符合第二控制转发协议的格式要求的第二转发控制信令。

8、 根据权利要求 1~5任一项所述的转发控制方法, 其特征在于, 还包括: 所述驱动器根据自身存储的转发器的参数信息生成参数配置信令,并将所述 参数配置信令发送至相应的转发器, 以配置和 /或修改相应的转发器的参数。 9、 根据权利要求 1~5任一项所述的转发控制方法, 其特征在于, 还包括: 连接于同一转发器的不同驱动器之间通过预设接口协议发送和 /或接收控制 信令; 其中, 所述连接于同一转发器的不同驱动器之间通过预设接口协议发送和 / 或接收控制信令, 包括以下至少一项: 当连接于所述转发器的第二驱动器具有转发器参数修改需求时,所述第二驱 动器向连接于所述转发器的第三驱动器发送参数修改协商信令; 所述第三驱动器接收所述参数修改协商信令,并在允许所述参数修改协商信 令中请求的参数修改操作时, 向所述第二驱动器返回协商应答消息; 所述第二驱动器向所述第三驱动器发送共享信息查询信令; 所述第三驱动器接收所述共享信息查询信令,并根据所述共享信息查询信令 向所述第二驱动器返回对应的信息查询应答消息。

10、 根据权利要求 1~5任一项所述的转发控制方法, 其特征在于, 还包括: 当接收到控制器发送的转发参数查询信令时,所述驱动器根据自身存储的转 发器的参数信息生成相应的转发参数应答信息,并将所述转发参数应答信息反馈 至控制器。

11、 一种软件定义网络 SDN, 其特征在于, 包括控制器、 转发器和至少一 个驱动器; 所述控制器用于: 根据转发规则生成第一转发控制信令, 并将第一转发控制 信令通过第一控制转发协议发送至所述驱动器中与控制器连接的第一驱动器; 所述驱动器用于: 在作为所述第一驱动器与所述控制器连接后, 接收所述第 一转发控制信令,将接收到的第一转发控制信令转换为符合第二控制转发协议的 格式要求的第二转发控制信令,并将所述第二转发控制信令通过第二控制转发协 议发送至相应的转发器; 其中, 所述第一控制转发协议为控制器所支持的控制转发协议; 所述第二控 制转发协议为转发器所支持的控制转发协议。 12、 根据权利要求 11所述的 SDN网络, 其特征在于, 所述控制器还用于: 确定与对应于所述转发规则的转发器的类型相匹配的至少一个驱动器作为 所述第一驱动器, 并与所述第一驱动器建立连接。

13、 根据权利要求 11所述的 SDN网络, 其特征在于, 所述驱动器还用于: 根据其服务的转发器的参数信息,将自身配置为与其服务的转发器相对应的 虚拟转发器, 并将所述虚拟转发器作为所述第一驱动器与所述控制器建立连接。

14、 根据权利要求 11 13任一项所述的 SDN网络, 其特征在于, 在作为所 述第一驱动器与所述控制器连接后, 所述驱动器具体用于: 当与多个转发器连接时,根据第一控制转发协议和第二控制转发协议之间的 预设映射关系,将所述第一转发控制信令转换为对应于不同转发器的多条第二转 发控制信令, 并将其分别发送至相应的转发器。

15、 根据权利要求 11 13任一项所述的 SDN网络, 其特征在于, 在作为所 述第一驱动器与所述控制器连接后, 所述驱动器还用于: 根据自身存储的转发器的参数信息,判断接收到的第一转发控制信令所对应 的转发规则是否符合相应转发器的功能;如果第一转发控制信令所对应的转发规 则不符合相应转发器的功能, 则向控制器返回控制失败消息, 否则执行所述将接 收到的第一转发控制信令转换为符合第二控制转发协议的格式要求的第二转发 控制信令。

16、 根据权利要求 11 13任一项所述的 SDN网络, 其特征在于, 所述驱动 器还用于: 根据自身存储的转发器的参数信息生成参数配置信令,并将所述参数配置信 令发送至相应的转发器, 以配置和 /或修改相应的转发器的参数。 17、 根据权利要求 16所述的 SDN网络, 其特征在于, 所述驱动器还用于: 通过预设接口协议向所连接的转发器相同的另一驱动器发送控制信令, 和 / 或, 接收所述另一驱动器发送的控制信令; 其中, 所述向所述另一驱动器发送控制信令, 包括以下至少一项: 当所述驱动器具有转发器参数修改需求时,向所述另一驱动器发送参数修改 协商信令; 向所述另一驱动器发送共享信息查询信令; 所述接收所述另一驱动器发送的控制信令, 包括以下至少一项: 接收所述另一驱动器根据所述参数修改协商信令返回的协商应答信息; 接收所述另一驱动器根据所述共享信息查询信令发挥的信息查询应答消息。

18、 根据权利要求 11 13任一项所述的 SDN网络, 其特征在于, 所述驱动 器还用于: 当接收到控制器发送的转发参数查询信令时,根据自身存储的转发器的参数 信息生成相应的转发参数应答信息, 并将所述转发参数应答信息反馈至控制器。

19、一种基于软件定义网络 S D的转发控制方法, 所述 SDN网络包括实现 报文转发的转发器, 和对所述转发器进行转发控制的控制器; 其特征在于, 所述 SDN网络还包括至少一个实现对转发器的驱动控制的驱动器; 所述转发控制方法包括: 所述驱动器中与控制器连接的第一驱动器接收控制器通过第一控制转发协 议发送的第一转发控制信令; 所述第一驱动器将接收到的第一转发控制信令转换为符合第二控制转发协 议的格式要求的第二转发控制信令;

所述第一驱动器将所述第二转发控制信令通过第二控制转发协议发送至相 应的转发器; 其中, 所述第一控制转发协议为控制器所支持的控制转发协议; 所述第二控 制转发协议为转发器所支持的控制转发协议。 20、 根据权利要求 19所述的转发控制方法, 其特征在于, 还包括: 所述驱动器根据其服务的转发器的参数信息,将自身配置为与其服务的转发 器相对应的虚拟转发器,并将所述虚拟转发器作为所述第一驱动器与所述控制器 建立连接。

21、根据权利要求 19或 20所述的转发控制方法, 其特征在于, 所述第一驱 动器将接收到的第一转发控制信令转换为符合第二控制转发协议的格式要求的 第二转发控制信令, 包括: 当转发器包括多个时,第一驱动器根据第一控制转发协议和第二控制转发协 议之间的预设映射关系,将所述第一转发控制信令转换为对应于不同转发器的多 条第二转发控制信令。

22、 根据权利要求 19或 20所述的转发控制方法, 其特征在于, 还包括: 所述第一驱动器根据自身存储的转发器的参数信息,判断接收到的第一转发 控制信令所对应的转发规则是否符合相应转发器的功能;

如果第一转发控制信令所对应的转发规则不符合相应转发器的功能,则第一 驱动器向控制器返回控制失败消息,否则执行所述将接收到的第一转发控制信令 转换为符合第二控制转发协议的格式要求的第二转发控制信令。

23、 根据权利要求 19或 20所述的转发控制方法, 其特征在于, 还包括: 所述驱动器根据自身存储的转发器的参数信息生成参数配置信令,并将所述 参数配置信令发送至相应的转发器, 以配置和 /或修改相应的转发器的参数。

24、 根据权利要求 19或 20所述的转发控制方法, 其特征在于, 还包括: 所述驱动器通过预设接口协议向所连接的转发器相同的另一驱动器发送控 制信令, 和 /或, 接收所述另一驱动器发送的控制信令; 其中, 所述驱动器向所述另一驱动器发送控制信令, 包括以下至少一项: 当所述驱动器具有转发器参数修改需求时,向所述另一驱动器发送参数修改 协商信令; 向所述另一驱动器发送共享信息查询信令; 所述驱动器接收所述另一驱动器发送的控制信令, 包括以下至少一项: 接收所述另一驱动器根据所述参数修改协商信令返回的协商应答信息; 接收所述另一驱动器根据所述共享信息查询信令发挥的信息查询应答消息。

25、 根据权利要求 19或 20所述的转发控制方法, 其特征在于, 还包括: 当接收到控制器发送的转发参数查询信令时,所述驱动器根据自身存储的转 发器的参数信息生成相应的转发参数应答信息,并将所述转发参数应答信息反馈 至控制器。

26、 一种驱动器, 应用于软件定义网络 S D, 所述 SDN网络包括实现报文 转发的转发器, 和根据转发规则对所述转发器执行转发控制的控制器; 其特征在 于, 包括: 信令接收单元, 用于当所述驱动器作为第一驱动器与控制器连接时, 接收控 制器通过第一控制转发协议发送的第一转发控制信令; 信令转换单元,用于将所述信令接收单元接收到的第一转发控制信令转换为 符合第二控制转发协议的格式要求的第二转发控制信令; 信令发送单元,用于将所述第二转发控制信令通过第二控制转发协议发送至 相应的转发器; 其中, 所述第一控制转发协议为控制器所支持的控制转发协议; 所述第二控 制转发协议为转发器所支持的控制转发协议。

27、 根据权利要求 26所述的驱动器, 其特征在于, 还包括: 自我配置单元, 用于根据所述驱动器服务的转发器的参数信息, 将自身配置 为与其服务的转发器相对应的虚拟转发器,并将所述虚拟转发器作为所述第一驱 动器与所述控制器建立连接。 28、根据权利要求 26或 27所述的驱动器, 其特征在于, 当所述驱动器作为 第一驱动器与多个转发器连接时, 所述信令转换单元具体用于: 根据第一控制转 发协议和第二控制转发协议之间的预设映射关系,将所述第一转发控制信令转换 为对应于不同转发器的多条第二转发控制信令; 所述信令发送单元具体用于,将所述信令转换单元生成的多条第二转发控制 信令分别通过相应的第二控制转发协议发送至相应的转发器。

29、 根据权利要求 26或 27所述的驱动器, 其特征在于, 还包括: 信令判断单元, 用于根据自身存储的转发器的参数信息, 判断接收到的第一 转发控制信令所对应的转发规则是否符合相应转发器的功能;如果第一转发控制 信令所对应的转发规则不符合相应转发器的功能, 则向控制器返回控制失败消 息; 否则, 触发所述信令转换单元和 /或信令发送单元。

30、 根据权利要求 26或 27所述的驱动器, 其特征在于, 还包括: 参数配置单元, 用于根据自身存储的转发器的参数信息生成参数配置信令, 并将所述参数配置信令发送至相应的转发器, 以配置和 /或修改相应的转发器的 参数。

31、 根据权利要求 26或 27所述的驱动器, 其特征在于, 还包括: 信息互通单元,用于通过预设接口协议向所连接的转发器相同的另一驱动器 发送控制信令, 和 /或, 接收所述另一驱动器发送的控制信令; 其中, 所述向所述另一驱动器发送控制信令, 包括以下至少一项: 当所述驱动器具有转发器参数修改需求时,向所述另一驱动器发送参数修改 协商信令; 向所述另一驱动器发送共享信息查询信令; 所述接收所述另一驱动器发送的控制信令, 包括以下至少一项: 接收所述另一驱动器根据所述参数修改协商信令返回的协商应答信息; 接收所述另一驱动器根据所述共享信息查询信令发挥的信息查询应答消息。

32、 根据权利要求 26或 27所述的驱动器, 其特征在于, 还包括: 参数查询单元, 用于在接收到控制器发送的转发参数查询信令时, 根据自身 存储的转发器的参数信息生成相应的转发参数应答信息,并将所述转发参数应答 信息反馈至控制器。

Description:
转发控制方法、 驱动器及 SDN网络

技术领域 本发明涉及通信技术领域,特别是涉及一种转 发控制方法、驱动器及应用其的软 件定义网络 ( Software-Defined Network, SDN)。 背景技术 一个完整的通信网络, 往往由多种网络设备组成, 如路由器、 网关、 交换机、 防 火墙及各类服务器等; 不同网络设备之间通过相应的网络协议进行通 信。为提高网络 设备的可管理性及部署灵活性,现有通信网络 逐渐趋于采用 SDN网络。在 SDN网络 中,网络设备的协议控制和报文转发逻辑被解 耦为实现协议控制逻辑的控制器和实现 报文转发逻辑的转发器两部分。一方面,通过 对不同网络设备对应的控制器的集中部 署, 能够方便的实现对网络的集中控制和维护、 提高网络管理效率; 另一方面, 解耦 得到的转发器结构简单, 便于实现报文转发功能的优化。

SDN 网络中, 不同的控制器可能支持不同的控制转发协议, 不同的转发器也可 能支持不同的控制转发协议。通常,控制器中 设置有多个支持不同控制转发协议的插 件; 控制器根据目标转发器所支持的控制转发协议 类型,调用相应的插件对转发控制 信令进行格式封装,封装后的转发控制信令即 可被该目标转发器成功接收并执行, 从 而完成相应的报文转发业务。该方法通过同一 个控制器控制多个不同的转发器, 能够 提高控制器的控制灵活性。 上述通过内置插件实现对控制器的功能扩展具 有一定的局限性,无法适用于不支 持内置插件机制的控制器。 发明内容 本申请实施例中提供了一种转发控制方法、 驱动器及 SDN网络, 以解决现有通 过内置插件实现对控制器的功能扩展的方法应 用范围受限的问题。 为了解决上述技术问题, 本申请实施例公开了如下技术方案: 第一方面,提供了一种基于软件定义网络 SDN的转发控制方法,所述 SDN网络 包括实现报文转发的转发器, 和根据转发规则对所述转发器执行转发控制的 控制器; 其特征在于, 所述 SDN网络还包括至少一个实现对转发器的驱动控 制的驱动器; 所 述转发控制方法包括: 所述控制器根据转发规则生成第一转发控制信 令,并将第一转发控制信令通过第 一控制转发协议发送至所述驱动器中与控制器 连接的第一驱动器;所述第一驱动器将 接收到的第一转发控制信令转换为符合第二控 制转发协议的格式要求的第二转发控 制信令, 并将所述第二转发控制信令通过第二控制转发 协议发送至相应的转发器; 其中,所述第一控制转发协议为控制器所支持 的控制转发协议; 所述第二控制转 发协议为转发器所支持的控制转发协议。 结合第一方面,在第一方面第一种可能的实现 方式中,在所述控制器发送第一转 发控制指令之前,所述转发控制方法还包括: 控制器确定与所述转发规则对应的转发 器的类型相匹配的至少一个驱动器作为所述第 一驱动器,并与所述第一驱动器建立连 接。 结合第一方面第一种可能的实现方式,在第一 方面第二种可能的实现方式中,所 述控制器确定与所述转发规则对应的转发器的 类型相匹配的至少一个驱动器作为所 述第一驱动器,包括: 控制器根据每个驱动器发送的注册消息和转发 器发送的自身的 类型标识确定与所述转发规则对应的转发器的 类型相匹配的驱动器,并将所确定的驱 动器作为所述第一驱动器; 其中,所述注册消息包括相应的驱动器所支持 的一种或多 种转发器的类型标识; 所述类型标识包括以下至少一种: 转发器型号、控制转发协议 类型、 流表类型模板 TTP和可协商数据路径模型 DM。 结合第一方面第一种可能的实现方式,在第一 方面第三种可能的实现方式中,所 述控制器与第一驱动器建立连接,包括: 控制器通过模块加载或信令协商的方式与所 述第一驱动器建立连接。 结合第一方面,在第一方面第四种可能的实现 方式中,在所述控制器发送第一转 发控制指令之前,所述转发控制方法还包括: 所述驱动器根据其服务的转发器的参数 信息,将自身配置为与其服务的转发器相对应 的虚拟转发器; 所述虚拟转发器作为第 一驱动器, 与所述控制器建立连接。 结合第一方面, 或者第一方面第一种可能的实现方式, 或者第一方面第二种可能 的实现方式, 或者第一方面第三种可能的实现方式, 或者第一方面第四种可能的实现 方式,在第一方面第五种可能的实现方式中, 所述第一驱动器将接收到的第一转发控 制信令转换为符合第二控制转发协议的格式要 求的第二转发控制信令,包括: 当所述 转发器包括多个时,所述第一驱动器根据第一 控制转发协议和第二控制转发协议之间 的预设映射关系,将所述第一转发控制信令转 换为对应于不同转发器的多条第二转发 控制信令。 结合第一方面, 或者第一方面第一种可能的实现方式, 或者第一方面第二种可能 的实现方式, 或者第一方面第三种可能的实现方式, 或者第一方面第四种可能的实现 方式, 在第一方面第六种可能的实现方式中, 所述转发控制方法还包括: 所述第一驱动器根据自身存储的转发器的参数 信息,判断接收到的第一转发控制 信令所对应的转发规则是否符合相应转发器的 功能;如果第一转发控制信令所对应的 转发规则不符合相应转发器的功能, 则第一驱动器向控制器返回控制失败消息, 否则 执行所述将接收到的第一转发控制信令转换为 符合第二控制转发协议的格式要求的 第二转发控制信令。 结合第一方面, 或者第一方面第一种可能的实现方式, 或者第一方面第二种可能 的实现方式, 或者第一方面第三种可能的实现方式, 或者第一方面第四种可能的实现 方式, 在第一方面第七种可能的实现方式中, 所述转发控制方法还包括: 述驱动器根 据自身存储的转发器的参数信息生成参数配置 信令,并将所述参数配置信令发送至相 应的转发器, 以配置和 /或修改相应的转发器的参数。 结合第一方面, 或者第一方面第一种可能的实现方式, 或者第一方面第二种可能 的实现方式, 或者第一方面第三种可能的实现方式, 或者第一方面第四种可能的实现 方式, 在第一方面第八种可能的实现方式中, 所述转发控制方法还包括: 连接于同一 转发器的不同驱动器之间通过预设接口协议发 送和 /或接收控制信令; 其中, 所述连 接于同一转发器的不同驱动器之间通过预设接 口协议发送和 /或接收控制信令, 包括 以下至少一项: 当连接于所述转发器的第二驱动器具有转发器 参数修改需求时,所述第二驱动器 向连接于所述转发器的第三驱动器发送参数修 改协商信令;所述第三驱动器接收所述 参数修改协商信令, 并在允许所述参数修改协商信令中请求的参数 修改操作时, 向所 述第二驱动器返回协商应答消息;所述第二驱 动器向所述第三驱动器发送共享信息查 询信令; 所述第三驱动器接收所述共享信息查询信令, 并根据所述共享信息查询信令 向所述第二驱动器返回对应的信息查询应答消 息。 结合第一方面, 或者第一方面第一种可能的实现方式, 或者第一方面第二种可能 的实现方式, 或者第一方面第三种可能的实现方式, 或者第一方面第四种可能的实现 方式, 在第一方面第九种可能的实现方式中, 所述转发控制方法还包括: 当接收到控 制器发送的转发参数查询信令时,所述驱动器 根据自身存储的转发器的参数信息生成 相应的转发参数应答信息, 并将所述转发参数应答信息反馈至控制器。

第二方面, 提供一种软件定义网络 SDN; 所述软件定义网络 SDN包括控制器、 转发器和至少一个驱动器; 所述控制器用于: 根据转发规则生成第一转发控制信令, 并将第一转发控制信令 通过第一控制转发协议发送至所述驱动器中与 控制器连接的第一驱动器; 所述驱动器用于: 在作为所述第一驱动器与所述控制器连接后, 接收所述第一转 发控制信令,将接收到的第一转发控制信令转 换为符合第二控制转发协议的格式要求 的第二转发控制信令,并将所述第二转发控制 信令通过第二控制转发协议发送至相应 的转发器; 其中,所述第一控制转发协议为控制器所支持 的控制转发协议; 所述第二控制转 发协议为转发器所支持的控制转发协议。 结合第二方面, 在第二方面第一种可能的实现方式中, 所述控制器还用于: 确定 与对应于所述转发规则的转发器的类型相匹配 的至少一个驱动器作为所述第一驱动 器, 并与所述第一驱动器建立连接。 结合第二方面, 在第二方面第二种可能的实现方式中, 所述驱动器还用于: 根据 其服务的转发器的参数信息, 将自身配置为与其服务的转发器相对应的虚拟 转发器, 并将所述虚拟转发器作为所述第一驱动器与所 述控制器建立连接。 结合第二方面, 或者第二方面第一种可能的实现方式, 或者第二方面第二种可能 的实现方式,在第二方面第三种可能的实现方 式中,在作为所述第一驱动器与所述控 制器连接后, 所述驱动器具体用于: 当与多个转发器连接时, 根据第一控制转发协议 和第二控制转发协议之间的预设映射关系,将 所述第一转发控制信令转换为对应于不 同转发器的多条第二转发控制信令, 并将其分别发送至相应的转发器。 结合第二方面, 或者第二方面第一种可能的实现方式, 或者第二方面第二种可能 的实现方式,在第二方面第四种可能的实现方 式中,在作为所述第一驱动器与所述控 制器连接后, 所述驱动器还用于: 根据自身存储的转发器的参数信息, 判断接收到的 第一转发控制信令所对应的转发规则是否符合 相应转发器的功能;如果第一转发控制 信令所对应的转发规则不符合相应转发器的功 能, 则向控制器返回控制失败消息, 否 则执行所述将接收到的第一转发控制信令转换 为符合第二控制转发协议的格式要求 的第二转发控制信令。 结合第二方面, 或者第二方面第一种可能的实现方式, 或者第二方面第二种可能 的实现方式, 在第二方面第五种可能的实现方式中, 所述驱动器还用于: 根据自身存 储的转发器的参数信息生成参数配置信令,并 将所述参数配置信令发送至相应的转发 器, 以配置和 /或修改相应的转发器的参数。 结合第二方面第五种可能的实现方式,在第二 方面第六种可能的实现方式中,所 述驱动器还用于:通过预设接口协议向所连接 的转发器相同的另一驱动器发送控制信 令, 和 /或, 接收所述另一驱动器发送的控制信令; 其中, 所述向所述另一驱动器发送控制信令, 包括以下至少一项: 当所述驱动器 具有转发器参数修改需求时, 向所述另一驱动器发送参数修改协商信令; 向所述另一 驱动器发送共享信息查询信令; 所述接收所述另一驱动器发送的控制信令,包 括以下至少一项: 接收所述另一驱 动器根据所述参数修改协商信令返回的协商应 答信息;接收所述另一驱动器根据所述 共享信息查询信令发挥的信息查询应答消息。 结合第二方面, 或者第二方面第一种可能的实现方式, 或者第二方面第二种可能 的实现方式, 在第二方面第七种可能的实现方式中, 所述驱动器还用于: 当接收到控 制器发送的转发参数查询信令时,根据自身存 储的转发器的参数信息生成相应的转发 参数应答信息, 并将所述转发参数应答信息反馈至控制器。 第三方面,提供一种基于软件定义网络 S D的转发控制方法,所述 SDN网络包 括实现报文转发的转发器, 和对所述转发器进行转发控制的控制器; 其特征在于, 所 述 SDN网络还包括至少一个实现对转发器的驱动控 制的驱动器; 所述转发控制方法 包括: 所述驱动器中与控制器连接的第一驱动器接收 控制器通过第一控制转发协议发 送的第一转发控制信令;所述第一驱动器将接 收到的第一转发控制信令转换为符合第 二控制转发协议的格式要求的第二转发控制信 令;所述第一驱动器将所述第二转发控 制信令通过第二控制转发协议发送至相应的转 发器; 其中,所述第一控制转发协议为控制器所支持 的控制转发协议; 所述第二控制转 发协议为转发器所支持的控制转发协议。 结合第三方面,在第三方面第一种可能的实现 方式中,所述转发控制方法还包括: 所述驱动器根据其服务的转发器的参数信息, 将自身配置为与其服务的转发器相对应 的虚拟转发器, 并将所述虚拟转发器作为所述第一驱动器与所 述控制器建立连接。 结合第三方面, 或者第三方面第一种可能的实现方式,在第三 方面第二种可能的 实现方式中,所述第一驱动器将接收到的第一 转发控制信令转换为符合第二控制转发 协议的格式要求的第二转发控制信令, 包括: 当转发器包括多个时, 第一驱动器根据 第一控制转发协议和第二控制转发协议之间的 预设映射关系,将所述第一转发控制信 令转换为对应于不同转发器的多条第二转发控 制信令。 结合第三方面, 或者第三方面第一种可能的实现方式,在第三 方面第三种可能的 实现方式中,所述转发控制方法还包括: 所述第一驱动器根据自身存储的转发器的参 数信息,判断接收到的第一转发控制信令所对 应的转发规则是否符合相应转发器的功 能; 如果第一转发控制信令所对应的转发规则不符 合相应转发器的功能, 则第一驱动 器向控制器返回控制失败消息,否则执行所述 将接收到的第一转发控制信令转换为符 合第二控制转发协议的格式要求的第二转发控 制信令。 结合第三方面, 或者第三方面第一种可能的实现方式,在第三 方面第四种可能的 实现方式中,所述转发控制方法还包括: 所述驱动器根据自身存储的转发器的参数信 息生成参数配置信令, 并将所述参数配置信令发送至相应的转发器, 以配置和 /或修 改相应的转发器的参数。 结合第三方面, 或者第三方面第一种可能的实现方式,在第三 方面第五种可能的 实现方式中,所述转发控制方法还包括: 所述驱动器通过预设接口协议向所连接的转 发器相同的另一驱动器发送控制信令, 和 /或, 接收所述另一驱动器发送的控制信令; 其中, 所述驱动器向所述另一驱动器发送控制信令, 包括以下至少一项: 当所述 驱动器具有转发器参数修改需求时, 向所述另一驱动器发送参数修改协商信令; 向所 述另一驱动器发送共享信息查询信令; 所述驱动器接收所述另一驱动器发送的控制信 令,包括以下至少一项: 接收所述 另一驱动器根据所述参数修改协商信令返回的 协商应答信息;接收所述另一驱动器根 据所述共享信息查询信令发挥的信息查询应答 消息。 结合第三方面, 或者第三方面第一种可能的实现方式,在第三 方面第六种可能的 实现方式中,所述转发控制方法还包括:当接 收到控制器发送的转发参数查询信令时, 所述驱动器根据自身存储的转发器的参数信息 生成相应的转发参数应答信息,并将所 述转发参数应答信息反馈至控制器。 第四方面, 提供一种驱动器; 所述驱动器应用于软件定义网络 S D, 所述 SDN 网络包括实现报文转发的转发器,和根据转发 规则对所述转发器执行转发控制的控制 器; 所述驱动器包括: 信令接收单元,用于当所述驱动器作为第一驱 动器与控制器连接时,接收控制器 通过第一控制转发协议发送的第一转发控制信 令; 信令转换单元,用于将所述信令接收单元接收 到的第一转发控制信令转换为符合 第二控制转发协议的格式要求的第二转发控制 信令; 信令发送单元,用于将所述第二转发控制信令 通过第二控制转发协议发送至相应 的转发器; 其中,所述第一控制转发协议为控制器所支持 的控制转发协议; 所述第二控制转 发协议为转发器所支持的控制转发协议。 结合第四方面, 在第四方面第一种可能的实现方式中, 所述驱动器还包括: 自我 配置单元,用于根据所述驱动器服务的转发器 的参数信息,将自身配置为与其服务的 转发器相对应的虚拟转发器,并将所述虚拟转 发器作为所述第一驱动器与所述控制器 建立连接。 结合第四方面, 或者第四面第一种可能的实现方式,在第四方 面第二种可能的实 现方式中, 当所述驱动器作为第一驱动器与多个转发器连 接时,所述信令转换单元具 体用于: 根据第一控制转发协议和第二控制转发协议之 间的预设映射关系,将所述第 一转发控制信令转换为对应于不同转发器的多 条第二转发控制信令;所述信令发送单 元具体用于,将所述信令转换单元生成的多条 第二转发控制信令分别通过相应的第二 控制转发协议发送至相应的转发器。 结合第四方面, 或者第四面第一种可能的实现方式,在第四方 面第三种可能的实 现方式中, 所述驱动器还包括: 信令判断单元, 用于根据自身存储的转发器的参数信 息, 判断接收到的第一转发控制信令所对应的转发 规则是否符合相应转发器的功能; 如果第一转发控制信令所对应的转发规则不符 合相应转发器的功能,则向控制器返回 控制失败消息; 否则, 触发所述信令转换单元和 /或信令发送单元。 结合第四方面, 或者第四面第一种可能的实现方式,在第四方 面第四种可能的实 现方式中, 所述驱动器还包括: 参数配置单元, 用于根据自身存储的转发器的参数信 息生成参数配置信令, 并将所述参数配置信令发送至相应的转发器, 以配置和 /或修 改相应的转发器的参数。 结合第四方面, 或者第四面第一种可能的实现方式,在第四方 面第五种可能的实 现方式中, 所述驱动器还包括: 信息互通单元, 用于通过预设接口协议向所连接的转 发器相同的另一驱动器发送控制信令, 和 /或, 接收所述另一驱动器发送的控制信令; 其中, 所述向所述另一驱动器发送控制信令, 包括以下至少一项: 当所述驱动器 具有转发器参数修改需求时, 向所述另一驱动器发送参数修改协商信令; 向所述另一 驱动器发送共享信息查询信令; 所述接收所述另一驱动器发送的控制信令,包 括以下至少一项: 接收所述另一驱 动器根据所述参数修改协商信令返回的协商应 答信息;接收所述另一驱动器根据所述 共享信息查询信令发挥的信息查询应答消息。 结合第四方面, 或者第四面第一种可能的实现方式,在第四方 面第六种可能的实 现方式中, 所述驱动器还包括: 参数查询单元, 用于在接收到控制器发送的转发参数 查询信令时,根据自身存储的转发器的参数信 息生成相应的转发参数应答信息, 并将 所述转发参数应答信息反馈至控制器。 由以上技术方案可见,本申请实施例通过驱动 器实现控制器与转发器之间转发控 制信令的格式转换,在控制器需要对转发器执 行转发规则控制时, 只需将控制器与相 应的驱动器建立连接, 即可将控制器生成的第一转发控制信令发送至 相应的驱动器, 进而通过该驱动器将第一转发控制信令转换为 符合上述转发器的控制转发协议要求 的第二转发控制信令, 并将该第二转发控制信令发送至上述转发器, 从而控制其执行 转发业务。 因此, 本申请不要求控制器具备内置插件机制, 能够实现任意控制器与转 发器之间的信令转换, 解决了现有技术应用范围受限的问题。 附图说明 为了更清楚地说明本申请实施例或现有技术中 的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍 , 显而易见地,对于本领域普通技术人 员而言, 在不付出创造性劳动性的前提下, 还可以根据这些附图获得其他的附图。

图 1为本申请实施例提供的一种基于 SDN网络的转发控制方法的信号流图; 图 2A为现有技术中 SDN网络的一种结构示意图; 图 2B为本申请实施例提供的基于图 2A所示结构的一种 SDN网络的结构示意 图;

图 2C为本申请实施例提供的基于图 2A所示结构的另一种 SDN网络的结构示意 图; 图 2D为本申请实施例提供的基于图 2A所示结构的又一种 SDN网络的结构示意 图;

图 3为本申请实施例提供的一种基于图 2B所示 SDN网络的转发控制方法的信 号流图; 图 4为本申请实施例提供的一种基于图 2D所示 SDN网络的转发控制方法的信 号流图; 图 5为本申请实施例提供的另一种基于 SDN网络的转发控制方法的信号流图; 图 6A为本申请实施例提供的另一种 SDN网络的结构示意图; 图 6B为本申请实施例提供的一种基于图 6A所示 SDN网络的转发控制方法的信 号流图; 图 7为本申请实施例提供的一种软件定义网络 SDN的网络结构示意图; 图 8为本申请实施例提供的一种应用于 SDN网络的转发控制方法的流程图; 图 9为本申请实施例提供的另一种应用于 SDN网络的转发控制方法的流程图; 图 10为本申请实施例提供的又一种应用于 SDN网络的转发控制方法的流程图; 图 11为本申请实施例提供的一种应用于 SDN网络的驱动器的结构示意图; 图 12为本申请实施例提供的另一种应用于 SDN网络的驱动器的结构示意图; 图 13为本申请实施例提供的又一种应用于 SDN网络的驱动器的结构示意图。 具体实施方式 为实现本申请的目的, 本申请提供了一种转发控制方法、 驱动器及 SDN网络。 为了使本领域技术人员更好地理解本申请方案 ,下面将结合本申请实施例中的附 图, 对本申请实施例中的技术方案进行清除、 完整地描述。 参见图 1, 为本申请实施例一提供的一种基于 SDN网络的转发控制方法的信号 流图。 本实施例中的 SDN网络除了包括现有技术中的实现报文转发的 转发器, 和根 据转发规则对所述转发器执行转发控制的控制 器,还包括至少一个实现对转发器的驱 动控制的驱动器。 该转发控制方法的具体流程如下: 步骤 S101 : 控制器根据转发规则生成第一转发控制信令; 步骤 S102: 控制器将第一转发控制信令通过第一控制转发 协议发送至所述驱动 器中与控制器连接的第一驱动器; 步骤 S103 : 第一驱动器将接收到的第一转发控制信令转换 为符合第二控制转发 协议的格式要求的第二转发控制信令; 步骤 S104: 第一驱动器将所述第二转发控制信令通过第二 控制转发协议发送至 相应的转发器。 上述实施例一中,第一控制转发协议为控制器 所支持的控制转发协议; 第二控制 转发协议为转发器所支持的控制转发协议。例 如,假设控制器支持网络交换模型协议 OpenFlow, 转发器支持统一平台工具(One Platform Kit, OnePK)协议; 当控制器欲 控制转发器执行某种动作 (假设为第一转发动作), 则控制器根据上述转发规则 (即 上述要求转发器执行第一转发动作)生成第一 转发控制信令; 其中, 由于控制器仅支 持 OpenFlow协议, 故其生成的第一转发控制信令亦仅符合 OpenFlow协议的格式要 求。 进而控制器通过 OpenFlow协议将该第一转发控制信令发送至与其 接的第一驱 动器。 该第一驱动器接收到第一转发控制信令后, 将其转换为符合 OnePK协议的格 式要求的第二转发控制信令, 并将该第二转发控制信令通过 OnePK协议发送至相应 的转发器。 从而, 支持 OnePK协议的转发器可成功解析上述第二转发控 信令, 并 根据该第二转发控制信令完成控制器要求的第 一转发动作。 由上述实施例一可见,对于实现通过同一个控 制器控制支持不同协议的不同转发 器,本申请实施例通过驱动器将控制器生成的 第一转发控制信令经过格式转换后,转 发至对应的转发器, 不再需要控制器支持内置插件机制, 因此, 本申请实施例可以应 用于任意转发器, 应用范围大大增加。 另外, 本申请实施例中, 通过改变不同类型的 驱动器、控制器和转发器三者之间的连接关系 , 即可实现驱动器、转发器和控制器的 复用, 不需要针对每一个控制器、 每一个转发器设置一个驱动器, 对 SDN网络及相 关设备的改动量小, 成本低。 实际应用中, 一个控制器可能需要对支持不同协议的多个转 发器进行转发控制; 如图 2A, 为现有 SDN网络的一种系统结构示意图, 控制器 C1需要对至少 3个转发 器 (如图 2A所示的转发器 Rl、 转发器 R2和转发器 R3 ) 进行转发控制; 为便于描 述, 控制器 Cl、 转发器 Rl、 转发器 R2和转发器 R3所支持的控制转发协议分别标 号为 Pl、 P2.1、 P2.2禾 P P2.3。 为实现对图 2A所示系统的转发控制, 本申请提供了如 图 3和图 4所示的两种具体实施方式; 需要说明的是, 图 3、 图 4及下文相关文字所 述描述的实施例仅是本申请一部分实施例, 而不是全部的实施例。基于本申请中的实 施例, 本领域普通技术人员在没有做出创造性劳动前 提下所获得的所有其他实施例, 都属于本申请保护的范围。

参见图 3,为本申请实施例二提供的另一种基于图 2B所示的 SDN网络的转发控 制方法的信号流图。 为实现图 2A中通过一个控制器 C1控制 3个转发器 Rl、 R2和 R3 , 本申请实施例二中的 SDN网络在图 2A所示结构的基础上, 增加 3个驱动器, 分别为: 实现协议 P1和 P2.1之间的信令格式转换的驱动器 D1、实现协议 P1和 P2.2 之间的信令格式转换的驱动器 D2和实现协议 P1和 P2.3之间的信令格式转换的驱动 器 D3 (图 2B所示); 相应的, 本申请实施例二提供的转发控制方法具体包括 如下步 骤:

S201 : 每个驱动器分别向控制器发送各自的注册消息 ; 其中,所述注册消息中至少包含相应的驱动器 所支持的一种或多种转发器的类型 标识; 例如, 驱动器 D1发送的注册消息中应包含驱动器 D1转发器 R1的类型标识, 表示驱动器 D1可以实现控制器 C1 向转发器 R1 的控制信令中转; 类似的, 驱动器 D2发送的注册消息中至少包含转发器 R2的类型标识,驱动器 D3发送的注册消息中 至少包含转发器 R3的类型标识。 实际应用中, 上述类型标识可采用以下四项中的至少一种: 转发器型号、转发器 所支持的控制转发协议类型(如 OpenFlow/ FORCES/ OnePK等)、 TTP (Table Typing Pattern, 流表类型模板) 标识, 以及 DM (Negotiable Datapath Model, 可协商数据 路径模型) 标识。

另外, 本申请实施例中, 驱动器向控制器发送注册消息, 至少可以通过如下两种 方式中的任一种来实现:

1 ) 每个驱动器在启动时, 主动向控制器发送相应的注册消息; 2) 控制器在启动时, 通过发送广播消息或预配置地址来请求相应的 驱动器返回 注册消息。

S202: 每个转发器分别连接到控制器, 并向控制器上报自身对应的类型标识; S203 : 控制器根据转发规则生成第一转发控制信令;

S204:控制器根据接收到的注册消息及每个转 器的类型标识,确定与上述转发 规则的控制对象(被控转发器)的类型相匹配 的至少一个驱动器, 并与所确定的驱动 器建立连接; 为与其他驱动器区别开来, 下文以 "第一驱动器"指代此处所确定的与被控转发 器类型相匹配的驱动器。 本申请实施例中,驱动器既可以是控制器的远 程设备, 也可以是运行于控制器系 统的本地模块。其中, 当驱动器采用远程设备时, 控制器可以通过信令协商的方式与 确定的第一驱动器控制器建立连接,其包括但 不限于如下所述步骤: 控制器向第一驱 动器发送连接控制信令, 当接收到第一驱动器返回的应答消息时, 连接完成。 当驱动 器采用控制器系统的本地模块时, 则控制器可以通过模块加载的方式,将第一驱 动器 加载为控制器自身的内部模块, 实现控制器与第一驱动器的连接。 需要说明的是, 当需要对某个转发器执行转发控制时,控制器 分别执行上述步骤

S203和 S204; 但两个步骤的执行顺序不限, 即除上文所述的先执行步骤 S203后执 行步骤 S204之外, 还可以先执行步骤 S204再执行步骤 S203 , 还可以同时执行步骤 S203和 S204所述的动作。

S205 :控制器将第一转发控制信令通过第一控制转 协议发送至所述驱动器中与 控制器连接的第一驱动器;

S206:第一驱动器将接收到的第一转发控制信 转换为符合第二控制转发协议的 格式要求的第二转发控制信令;

S207:第一驱动器与对应于上述转发规则的被控 发器连接, 并将所述第二转发 控制信令通过相应的第二控制转发协议发送至 被控转发器。

例如, 根据上述转发规则, 控制器 C1需要控制转发器 R1执行第一转发动作, 则控制器 C1生成对应于第一转发动作的第一转发控制信 (相当于步骤 S203 ); 同 时, 控制器 C1 以控制转发协议类型为匹配元素, 可以确定支持协议 P2.1 的转发器 R1和实现协议 P1和 P2.1之间的信令格式转换的驱动器 D1是相匹配的, 故控制器 C1将驱动器 D1作为所述第一驱动器, 并与驱动器 D1的连接 (相当于步骤 S204); 进而控制器 CI通过协议 PI将上述第一转发控制信令发送至第一驱动器 (即驱动器 D1 ) (相当于步骤 S205 ); 驱动器 D1接收到上述第一转发控制信令后, 将其转换为 符合协议 P2.1的格式要求的第二转发控制信令(相当于 骤 S206),并与被控转发器 (即转发器 R1 ) 建立连接, 通过协议 P2.1 将上述第二转发控制信令发送至转发器 R1 (相当于步骤 S207); 从而转发器 R1即可在第二转发控制信令的控制下执行控制 器 C1要求的第一转发动作。 由上述实施例二可见, 当需要对不同的转发器进行转发控制时, 只需控制器根据 类型标识选择并连接相应的驱动器, 即可实现控制信令的格式转换及转发; 且同一个 驱动器可以被支持相应的协议的其他控制器或 其他转发器所复用。因此,实际应用中, 只需针对 SDN网络系统中可能涉及的各种控制转发协议, 分别设置用于两两协议之 间的信令格式转换的驱动器, 即可实现 SDN网络中的任一控制器对任一转发器的转 发控制。

在本申请的其他实施例中, 如图 2C所示, 驱动器 D4既支持协议 P1和 P2.2之 间的信令格式转换,又支持协议 P1和 P2.3之间的信令格式转换; 因此,相对于图 2B 所示的结构, 采用驱动器 D4能够使驱动器总个数减少 1个。 基于上述原理, 可毫无 疑问的推知,采用同时支持多种控制转发协议 之间信令格式转换的驱动器, 能够减少 SDN网络中驱动器的个数, 从而简化 SDN网络的结构; 相应的转发控制方法可以参 照图 3所示信号流图及上文相关文字叙述。 特别的, 对于类似图 2C所示的 SDN网络, 驱动器 D4可以根据第一转发控制信 令中规定的被控转发器的类型标识,确定向哪 种控制转发协议转换, 以及将转换得到 的第二转发控制信令发送至哪个转发器。 另一方面, 当控制器需要同时控制多个转发器时, 可在其生成的第一转发控制信 令中增加对应的多个被控转发器的类型标识, 同时将支持每种被控转发器所对应的转 发控制协议的驱动器作为第一驱动器;该第一 驱动器根据第一转发控制信令中的被控 转发器的类型标识,确定第二控制转发协议的 类型及个数, 并将转换得到的多条支持 不同第二控制转发协议的第二转发控制信令发 送至对应的被控转发器。 如对于图 2C 所示的 SDN网络, 控制器 C1向驱动器 D4发送同时具有转发器 R2和 R3的类型标 识的第一转发控制信令, 驱动器 D4根据其中的类型标识, 确定第二控制转发协议包 括协议 P2.2和 P2.3 ,进而将该第一转发控制信令转换为至少两条 二转发控制信令, 其中一条符合协议 P2.2的格式要求,用于控制转发器 R2, 另一条符合协议 P2.3的格 式要求, 用于控制转发器 R3。 图 4所示为本申请实施例三提供的又一种应用于 SDN网络的转发控制方法的信 号流图, 以实现通过一个控制器控制多个转发器。 仍以图 2A所示结构为例, 本实施 例三中的 SDN网络在图 2A的接触上, 增加 1个驱动器 D5, 如图 2D所示; 相应的, 本申请实施例三提供的转发控制方法具体包括 如下步骤:

S301 :驱动器根据其服务的转发器的参数信息,将 身配置为与所述转发器相对 应的虚拟转发器; 参照图 2D, 驱动器 D5用于实现控制器 C1与转发器 Rl、 R2和 R3三者中的至 少一者之间的信令格式转换, 即驱动器 D5服务的转发器至少包括转发器 Rl、 R2和 R3三者。 因此, 驱动器根据转发器 Rl、 R2和 R3的参数信息, 将自身配置为对应于 Rl、 R2和 R3的虚拟转发器 R0 (相应的, 转发器 Rl、 R2和 R3等均称为物理转发 器)。 可选的, 上述参数信息能够表征转发器的能力、 性能及配置情况等属性, 包括但 不限于以下信息: 转发器的控制地址信息 (如 IP地址)、 物理端口地址、 带宽及与周 边网络的拓扑连接信息 (如连接对端的 IP/MAC地址)。

S302: 上述配置得到的虚拟转发器与控制器建立连接 ; 相应于图 1所示实施例, 本实施例中, 虚拟转发器即相当于图 1对应实施例中的 第一驱动器, 用于实现控制器与上述被控转发器之间的信令 格式转换。

由于上述驱动器被配置为虚拟转发器, 故其可以按照转发器的启动流程, 与控制 器建立连接, 该流程包括但不限于如下所述步骤: 虚拟转发器向控制器发送连接控制 信令, 当接收到控制器返回的应答消息时, 连接完成。

本实施例中, 通过步骤 S301中的虚拟化配置, 驱动器对控制器表现为一个转发 器, 即物理转发器对于控制器是不可见的, 也即能够实现对控制器屏蔽转发层的拓扑 样式、 不同物理转发器之间的差异性等, 从而当转发器发送动态增删或能力修改时, 只需要在驱动器处相应修改虚拟转发器的配置 ,就可以实现动态调整所服务的转发器 的配置情况。

S303 : 控制器根据转发规则生成第一转发控制信令;

S304:控制器将第一转发控制信令通过第一控 转发协议发送至第一驱动器(即 上述虚拟转发器); S305:第一驱动器将接收到的第一转发控制信令 换为符合第二控制转发协议的 格式要求的第二转发控制信令;

S306:第一驱动器与对应于上述转发规则的被控 发器连接, 并将所述第二转发 控制信令通过相应的第二控制转发协议发送至 被控转发器。

例如, 在上述虚拟转发器 R0与控制器 C1连接的前提下, 根据上述转发规则, 需要控制转发器 R1执行第一转发动作, 则控制器 C1生成对应于第一转发动作的第 一转发控制信令(相当于步骤 S303 ), 并将其通过协议 P1发送至虚拟转发器 R0 (相 当于步骤 S304); 虚拟转发器 R0接收到上述第一转发控制信令后, 根据该第一转发 控制信令中规定的被控转发器 R1的类型标识, 将第一转发控制信令转换为相应的符 合协议 P2.1的格式要求的第二转发控制信令(相当于 骤 S305 ), 并与转发器 R1连 接, 通过协议 P2.1 将转换得到的第二转发控制信令发送至转发器 R1 (相当于步骤 S306);从而转发器 R1即可在第二转发控制信令的控制下执行控制 C1要求的第一 转发动作。

由上述实施例三可见,本申请通过将驱动器配 置为与其服务的转发器相对应的虚 拟转发器, 一方面使得驱动器具有极高的复用率, 对 SDN网络及相关设备的改动量 小;另一方面,实现或部署控制器时,不需要 考虑下层转发器的拓扑样式及硬件差异, 同时实现或部署转发器时, 也不需要考虑上层控制器的差异性, 使得对控制器、转发 器乃至整个 SDN网络的部署更加灵活、 易实现。 同样的, 本实施例中, 不再需要控 制器支持内置插件机制, 可以应用于任意转发器, 应用范围大大增加。

可选的, 本申请实施例中, 驱动器执行转发控制信令的格式转换时, 根据相应的 第一控制转发协议和第二控制转发协议之间的 预设映射关系,对第一转发控制信令中 包含的转发控制流规则进行重新封装,从而得 到相应的第二转发控制信令。进一步的, 通过在驱动器中设置多种控制转发协议之间的 直接或间接映射关系,即可实现控制信 令格式的自由转换。

另外, 本申请实施例中, 虚拟转发器 R0除了根据第一转发控制信令中规定的多 种类型标识,将第一转发控制信令转换为符合 不同协议格式要求的第二转发控制信令 夕卜,还可以自动对第一转发控制信令进行分 解映射, 从而将第一转发控制信令规定的 多条报文的转发分配至多个转发器执行, 实现转发器的负载均衡, 提高转发效率。例 如, 控制器 C1 通过 OpenFlow协议向虚拟转发器发送如下控制信令 (即 Flow-mod 消息),表示将所有源 IP为 192.168.1.0-192.168.1.255的报文进行 VLAN( Virtual Local Area Network, 虚拟局域网) 封装, 并从虚拟转发器 R0端口 1转发出去: match(src IP = 192.168.1.0, mask = 255.255.255.0), actions(Push-tag[VLAN ID=l],output[l]) ;

虚拟转发器 R0将接收到的 Flow-mod消息映射到转发器 R1和 R2, 转换后的控 制信令及功能分别为:

对转发器 R1的控制信令:

match (src IP = 192.168.1.0, mask = 255.255.255.127), actions(Push-tag[VLAN ID=l],output[3]), 用于将所有源 IP为 192.168.1.0-192.168.1.127的报文进行 VLAN封 装, 并从转发器 R1端口 3转发出去;

对转发器 R2的控制信令:

match (src IP = 192.168.1.128, mask = 255.255.255.127), actions(Push-tag[VLAN

ID=l],output[2]),用于将所有源 IP为 192.168.1.128- 192.168.1.255的报文进行 VLAN 封装, 并从转发器 R2端口 2转发出去。

参见图 5, 本申请实施例四提供的另一种基于 SDN网络的转发控制方法, 除了 可以通过驱动器实现对静态的协议消息格式的 转换功能外,还可以实现对转发器的参 数配置、 修改、 查询, 以及根据转发器的参数信息判断控制器发送的 控制信令的有效 性等功能, 具体控制流程如下所述:

S401 : 驱动器接收并存储其服务的转发器的参数信息 ;

实际应用中, 转发器的参数信息包括转发器各端口的转发队 列带宽、 优先级、 DSCP (Differentiated services code point, 差分服务码), 是否开启 IP报文分片、重组、 GRE/VxLAN 隧道支持、 BFD/LLDP (Bidirectional Forwarding Detection/Link Layer Discovery Protocol, 双向转发检测 /链路层发现协议)支持等硬件能力; 逻辑端口与物 理端口之间的映射关系等; 其来源包括用户手动输入的参数信息、应用程 序自动输入 的参数信息等。

S402: 驱动器根据自身所存储的参数信息, 生成参数配置信令;

S403 : 驱动器将上述参数配置信令发送至相应的转发 器, 以实现对相应的转发器 的参数的配置或修改;

本实施例中, 对转发器的参数配置或修改, 可以是对每个转发器单独配置 /修改, 也可以是对所有转发器或同一型号的转发器同 一配置 /修改。

S404: 当控制器需要获取转发器的能力、性能等信息 时, 控制器生成相应的转发 参数查询信令, 并将其发送至驱动器;

S405: 驱动器根据接收到的转发参数查询信令, 查询自身存储的转发器的参数信 息, 将查询结果编辑为相应的转发参数应答信息, 反馈至控制器;

S406: 当控制器需要对转发器执行转发控制时, 生成相应的第一转发控制信令, 并将其发送至与其连接的驱动器;

S407: 驱动器根据自身存储的转发器的参数信息,判 断接收到的第一转发控制信 令所对应的转发规则是否符合相应转发器的功 能, 如果符合, 则执行步骤 S408, 否 则执行步骤 S409;

S408:驱动器将接收到的第一转发控制信令转换 符合第二控制转发协议的格式 要求的第二转发控制信令, 并将该第二转发控制信令发送至相应的转发器 ;

S409: 驱动器向控制器返回控制失败消息。

例如,控制器发送的第一转发控制信令要求转 发器执行 VxLAN( Virtual Extensible

LAN, 虚拟扩展局域网)隧道封装动作, 而驱动器根据其存储的相应转发器的参数信 息判断得知该转发器未开启 VxLAN隧道支持(即该转发器不支持 VxLAN隧道处理, 不能执行控制器要求的转发动作), 此时, 驱动器不再向转发器转发控制信令, 而是 向控制器返回控制失败消息, 以通知控制器相应转发器不能执行其要求的转 发动作。

由以上实施例四可见, 本申请在驱动器上存储转发器的参数信息 (步骤 S401 ) 后, 可以通过执行步骤 S402 S403 实现动态配置或修改转发器的参数, 通过执行步 骤 S404 S405实现控制器对转发器的参数查询, 通过执行步骤 S406 S409实现转发 控制信令可执行性判断,使得控制器能够及时 掌握其生成的第一控制信令是否被成功 执行, 以便合理安排相关的后续控制动作。 另外, 本申请实施例中, 当支持不同控制转发协议的多个控制器分别通 过一个驱 动器连接到同一个转发器时,连接于该转发器 的不同驱动器之间可以通过预设接口协 议互相发送控制信令, 实现不同驱动器之间的信息(如转发器的负载 信息、 统计信息 等) 共享。

以图 6A所示 SDN网络结构为例 (图 6A中, 控制器 C1通过驱动器 D1连接到 转发器 Rl、控制器 C2通过驱动器 D2连接到转发器 Rl, 且控制器 Cl、 C2和转发器 R1所支持的控制转发协议分别标号为 P1.1、 P1.2和 P2.1 ),在自身未存储某一转发器 参数(为便于描述, 假设该转发器参数为 X) 的情况下, 当驱动器 D1需要获取 X的 当前值时,可以生成对应的共享信息查询信令 , 并将素数共享信息查询信令发送至连 接于转发器 R1的其他驱动器 (即驱动器 D2); 驱动器 D2接收到上述共享信息查询 信令后, 如果自身存储有 X, 则生成包含有 X的当前值的信息查询应答消息, 并将 该信息查询应答消息返回至驱动器 Dl,从而实现了转发器参数 X在驱动器 Dl和 D2 之间的共享。

仍以图 6A所示 SDN网络结构为例, 本申请实施例五还提供了一种转发控制方 法,以阐述多个驱动器连接于同一转发器的情 况下需要修改该转发器参数时不同驱动 器之间的互通流程。 参见图 6B, 本实施例五提供的转发控制方法包括如下步骤 :

S501 : 当驱动器 D1对转发器 R1有参数修改需求时, 驱动器 D1根据该参数修 改需求生成对应的参数修改协商信令;

S502: 驱动器 D1与连接到转发器 R1上的其他驱动器(即驱动器 D2)通过相互 之间的协商接口建立连接, 并将上述参数修改协商信令发送至所述其他驱 动器(即驱 动器 D2);

S503 : 接收到上述参数修改协商信令的驱动器 D2, 判断是否允许该参数协商信 令所对应的参数修改, 如果允许, 则执行步骤 S504;

S504: 允许参数修改的驱动器生成用于表征允许参数 修改的协商应答消息, 反馈 至驱动器 D1 ;

例如, 驱动器 D2接收到上述参数修改协商信令后, 根据自身的配置等信息, 判 定允许参数修改, 则向驱动器 D1 返回协商应答消息, 以将该判定结果通知驱动器 Dl。

S505: 在接收到与转发器 R1连接的所有其他驱动器反馈的协商应答消息 , 驱 动器 D1根据上述参数修改需求生成相应的参数配置 令, 并将该参数配置信令发送 至转发器 Rl, 以控制转发器 R1执行相应的参数修改动作。

本申请实施例中, 对于驱动器 D1来说, 只存在一个其他驱动器, 即驱动器 D2, 故当 Dl接收到 D2返回的协商应答消息时, 就可以向转发器 R1发送参数配置信令。 另外, 如果上述 SDN网络中除 D1和 D2外, 还存在另一驱动器 D3与转发器 R1连 接, 即驱动器 D1来说, 存在两个其他驱动器, 即驱动器 D2和 D3 ; 这种情况下, D1向 D2和 D3发送参数修改协商信令后,只有在既接收到 D2返回的协商应答消息, 又接收到 D3返回的协商应答消息的情况下, D1才向转发器 R1发送参数配置信令, 如果 D1只接收到 D2返回的协商应答消息, 或只接收到 D3返回的协商应答消息, 则不向转发器 R1发送参数配置信令。

由上述技术方案可知, 本申请实施例中, 当且仅当与转发器 R1连接的所有驱动 器均允许参数修改时, 具有参数修改需求的驱动器 D1才通过向转发器 R1发送参数 配置信令, 来控制转发器 R1执行相应的参数修改动作, 可以避免参数的变化对某些 不允许修改的驱动器的影响。 可选的, 为实现将被修改的参数信息同步到 SDN网络中的其他设备上, 本实施 例在步骤 S504之后, 还包括以下步骤:

S506:允许参数修改的驱动器根据参数修改协商 令中规定的参数修改方式修改 自身存储的参数信息;

可选的, 本实施例还包括以下步骤:

S507: 在驱动器对自身存储的参数信息进行修改后, 向与其连接的控制器发送参 数修改通知。

例如, 允许相应的参数修改的驱动器 D2在执行步骤 S506后, 向控制器 C2发送 参数修改通知, 以告知控制器 C2相应的参数信息已被修改。

可见, 通过发送上述参数修改通知将被修改的参数信 息同步到每个控制器, 可以 保证同一参数在整个 SDN网络中所有设备上的一致性。 特别的, 如果接收到上述参数修改协商信令的驱动器不 允许驱动器 D1请求的参 数修改,则该驱动器可以不向驱动器 D1返回任何消息,或者该驱动器执行以下步骤:

S508: 不允许参数修改的驱动器向驱动器 D1返回修改失败消息。

例如, 驱动器 D2在接收到驱动器 D1发送的参数修改协商信令后, 根据自身的 相关配置信息, 判定不允许该参数修改协商信令中请求的参数 修改, 则驱动器 D2或 者不向驱动器 D1返回任何响应消息, 或者返回修改失败消息。 对于驱动器 Dl, 若 未接收到任何来自驱动器 D2的消息, 或者接收到来自驱动器 D2的修改失败消息, 则驱动器 D1可以判定驱动器 D2不允许参数修改。 进一步的, 与上述步骤 S505相对应的, 当具有参数修改需求的驱动器未接收到 与转发器 R1连接的所有其他驱动器反馈的协商应答消息 (即至少有一个其他驱动器 未返回消息, 或者返回修改失败消息) 时, 执行如下步骤:

具有参数修改需求的驱动器向其他驱动器发送 修改撤销信息,以禁止或撤销所述 其他驱动器修改自身存储的参数信息。

以连接于转发器 R1的 3个驱动器 Dl、 D2和 D3为例,对于驱动器 D1发送的参 数修改协商信令,驱动器 D2允许修改,并向 D1返回协商应答消息, D3不允许修改, 并向 D1返回修改失败消息; 则驱动器 D1至少向返回协商应答信息的 D2发送修改 撤销信息; 若驱动器 D2已执行步骤 S506, 则在接收到上述修改撤销信息后, 驱动器 D2将被修改的参数信息恢复为原参数信息, 同理, 若驱动器 D2已执行步骤 S507, 则在接收到上述修改撤销信息后, 驱动器 D2通过再次向控制器 C2发送通知信息, 以通知该控制器 C2被修改的参数信息恢复为原参数信息。

另外, 在本申请其他实施例中, 为减少驱动器对相关存储设备的数据读写次数 、 减轻驱动器的工作负担, 当且仅当具有参数修改需求的驱动器执行步骤 S505后, 通 过向每个其他驱动器发送修改触发消息, 来触发其执行步骤 S506和 S507, 从而可以 避免参数信息被修改后再撤销造成的驱动器负 担。

由上述实施例五可见, 本申请实施例, 一方面利用驱动器实现支持不同控制转发 协议的控制器和转发器之间的信令格式转换, 从而不再需要控制器支持内置插件机 制, 应用范围大大增加; 另一方面能够实现驱动器之间的, 提供对转发器参数配置、 修改、 查询、 共享等功能, 能够简化 SDN网络对转发器的能力要求, 易于转发器实 现, 利于对转发器的转发性能的优化。 另一方面,对应于上文方法实施例,本申请实 施例六还提供了一种软件定义网络

SDN, 如图 7所示的 SDN网络示意图, 该软件定义网络 SDN包括: 控制器 710、 转 发器 720和至少一个驱动器 730。 其中, 控制器 710用于: 根据转发规则生成第一转发控制信令, 并将第一转发控 制信令通过第一控制转发协议发送至驱动器 730中与控制器连接的第一驱动器。 驱动器 730用于: 在作为第一驱动器与控制器 710连接后,将接收到的第一转发 控制信令转换为符合第二控制转发协议的格式 要求的第二转发控制信令,并将所述第 二转发控制信令通过第二控制转发协议发送至 相应的转发器 720。 上述第一控制转发协议为控制器所支持的控制 转发协议;上述第二控制转发协议 为转发器所支持的控制转发协议。 由上述实施例六可见,对于实现通过同一个控 制器控制支持不同协议的不同转发 器,本申请实施例通过驱动器将控制器生成的 第一转发控制信令经过格式转换后,转 发至相应的转发器, 不再需要控制器支持内置插件机制, 因此, 本申请实施例可以应 用于任意类型的控制器与转发器之间的控制信 令转换, 应用范围大大增加。 另外, 本 申请实施例中, 通过改变不同类型的驱动器、 控制器和转发器三者之间的连接关系, 即可实现驱动器、转发器和控制器的复用, 不需要针对每一个控制器、 每一个转发器 设置一个驱动器, 对 SDN网络及相关设备的改动量小, 成本低。 在本申请一个可选的实施方式中,控制器 710还用于: 确定与对应于上述转发规 则的转发器的类型相匹配的至少一个驱动器作 为所述第一驱动器,并与所述第一驱动 器建立连接。 在本申请另一个可选的实施方式中,驱动器 730还用于: 根据其服务的转发器的 参数信息,将自身配置为与所述转发器相对应 的虚拟转发器, 并将所述虚拟转发器作 为所述第一驱动器与所述控制器建立连接。

在本申请另一个可选的实施方式中, 驱动器 730还用于: 根据其服务的转发器的 参数信息,将自身配置为与所述转发器相对应 的虚拟转发器, 并将所述虚拟转发器作 为所述第一驱动器与所述控制器建立连接。

在本申请另一个可选的实施方式中,在驱动器 730作为所述第一驱动器与控制器 710连接, 且该驱动器 730同时与多个转发器 720连接的情况下, 驱动器 730具体用 于: 根据第一控制转发协议和第二控制转发协议之 间的预设映射关系,将所述第一转 发控制信令转换为对应于不同转发器的多条第 二转发控制信令,并将其分别发送至相 应的转发器。 在本申请另一个可选的实施方式中,在驱动器 730作为所述第一驱动器与控制器 710连接的情况下, 驱动器 730还用于: 根据自身存储的转发器的参数信息, 判断接 收到的第一转发控制信令所对应的转发规则是 否符合相应转发器的功能;如果第一转 发控制信令所对应的转发规则不符合相应转发 器的功能,则向控制器返回控制失败消 息,否则执行所述将接收到的第一转发控制信 令转换为符合第二控制转发协议的格式 要求的第二转发控制信令。

在本申请另一个可选的实施方式中, 驱动器 730还用于: 根据自身存储的转发器 的参数信息生成参数配置信令, 并将所述参数配置信令发送至相应的转发器, 以配置 和 /或修改相应的转发器的参数。

在本申请另一个可选的实施方式中, 驱动器 730还用于: 当对其服务的转发器具 有参数修改需求时, 向与所述转发器连接的其他驱动器发送参数修 改协商信令, 并在 接收到其他驱动器返回的协商应答消息后,通 过向相应的转发器发送所述参数配置信 令来修改相应的参数。

在本申请另一个可选的实施方式中, 驱动器 730还用于: 当接收到控制器 710发 送的转发参数查询信令时,根据自身存储的转 发器的参数信息生成相应的转发参数应 答信息, 并将所述转发参数应答信息反馈至控制器 710。

本申请提供的 SDN网络实施例中, 驱动器既可以是控制器的远程设备, 也可以 是运行于控制器系统的本地模块。其中, 当驱动器采用远程设备时, 控制器可以通过 信令协商的方式与确定的第一驱动器控制器建 立连接, 其包括但不限于如下所述步 骤:控制器向第一驱动器发送连接控制信令, 当接收到第一驱动器返回的应答消息时, 连接完成。当驱动器采用控制器系统的本地模 块时, 则控制器可以通过模块加载的方 式, 将第一驱动器加载为控制器自身的内部模块, 实现控制器与第一驱动器的连接。 另一方面, 参见图 8, 本申请实施例七提供了另一种基于 SDN网络的转发控制 方法; 其中, 该 SDN网络至少包括: 实现报文转发的转发器、 对所述转发器进行转 发控制的控制器, 以及至少一个实现对转发器的驱动控制的驱动 器; 相应的, 该转发 控制方法包括如下步骤:

S801 :所述驱动器中与控制器连接的第一驱动器接 控制器通过第一控制转发协 议发送的第一转发控制信令;

S802:所述第一驱动器将接收到的第一转发控制 令转换为符合第二控制转发协 议的格式要求的第二转发控制信令;

S803:所述第一驱动器将所述第二转发控制信 通过第二控制转发协议发送至相 应的转发器。

其中, 所述第一控制转发协议为控制器所支持的控制 转发协议; 所述第二控制转 发协议为转发器所支持的控制转发协议。

由上述实施例七可见,本申请通过驱动器实现 控制器与转发器之间的信令格式转 换,在控制器不内置任何协议转换插件的情况 下, 就可以实现控制器与转发器之间的 多对多控制, 因此, 相对于现有技术, 本申请实施例的应用范围大大增加。 另外, 应 用本实施例, 通过改变不同类型的驱动器、控制器和转发器 三者之间的连接关系, 即 可实现驱动器、转发器和控制器的复用, 不需要针对每一个控制器、 每一个转发器设 置一个驱动器, 对 SDN网络及相关设备的改动量小, 成本低。 参见图 9, 本申请实施例八提供了另一种转发控制方法, 该方法基于一种具有控 制器、 转发器和驱动器的 SDN网络; 该方法至少包括如下步骤:

S901 : 驱动器根据其服务的转发器的参数信息,将自 身配置为与其服务的转发器 相对应的虚拟转发器,并将所述虚拟转发器作 为所述第一驱动器与所述控制器建立连 接; S902:所述驱动器中与控制器连接的第一驱动器 收控制器通过第一控制转发协 议发送的第一转发控制信令;

S903 :所述第一驱动器将接收到的第一转发控制信 转换为符合第二控制转发协 议的格式要求的第二转发控制信令;

S904:所述第一驱动器将所述第二转发控制信令 过第二控制转发协议发送至相 应的转发器。

上述实施例八中, 通过将驱动器被配置为虚拟转发器, 从而利用这一个驱动器就 可以实现多个控制器与多个转发器之间的信令 格式转换, 对 SDN网络及相关设备的 改动量小, 成本低。 另外, 被配置为虚拟转发器后, 该驱动器对控制器表现为一个转 发器,可以对控制器屏蔽下层转发器的拓扑样 式及硬件等方面的差异, 简化控制器的 控制流程; 同时, 还可以对转发器屏蔽上层控制器的差异性, 从而实现或部署转发器 时, 不需要考虑上层控制器的具体类型、 性能等属性, 降低 SDN网络对下层转发器 的基本性能要求, 便于实现转发器性能的优化和扩展。

参见图 10, 本申请实施例九提供的另一种转发控制方法, 同样基于一种具有控 制器、 转发器和驱动器的 SDN网络; 该方法至少包括如下步骤:

S1001 : 所述驱动器中与控制器连接的第一驱动器接收 控制器通过第一控制转发 协议发送的第一转发控制信令;

S1002: 所述第一驱动器根据自身存储的转发器的参数 信息, 判断接收到的第一 转发控制信令所对应的转发规则是否符合相应 转发器的功能, 如果符合, 则执行步骤 S1004, 否则执行步骤 S1003 ;

S1003 : 所述第一驱动器向控制器返回控制失败消息;

本实施例中, 在进行格式转换之前, 第一驱动器首先对第一转发控制信令的可执 行性进行判断, 并在判断结果为不可执行时, 向控制器返回控制失败消息, 以便控制 器合理安排相关的后续控制动作。

S1004: 所述第一驱动器将接收到的第一转发控制信令 转换为符合第二控制转发 协议的格式要求的第二转发控制信令;

可选的, 本申请实施例中, 第一驱动器根据第一控制转发协议和第二控制 转发协 议之间的预设映射关系,将第一转发控制信令 转换为对应的第二转发控制信令。实际 应用中,可以在一个驱动器中设置多种控制转 发协议之间的直接或间接映射关系, 从 而通过该驱动器实现多种控制信令之间的自由 转换。

S1005 : 所述第一驱动器将所述第二转发控制信令通过 第二控制转发协议发送至 相应的转发器。

进一步的, 对于一个驱动器或虚拟转发器同时服务多个转 发器、或者控制器发送 的第一转发控制信令需要同时控制多个转发器 等实际应用情况,本申请实施例中,第 一驱动器根据上述预设映射关系,将所述第一 转发控制信令转换为符合不同类型的第 二控制转发协议的格式要求的第二转发控制信 令, 并分别将其发送至对应的转发器。

可选的, 在上述实施例七〜九任一项的基础上, 还可通过如下步骤实现动态配置 或修改转发器的参数:

驱动器根据自身存储的转发器的参数信息生成 参数配置信令,并将所述参数配置 信令发送至相应的转发器, 以配置和 /或修改相应的转发器的参数。

特别的, 在多个驱动器服务于同一转发器的情况下, 当某个驱动器对其服务的转 发器具有参数修改需求时,该驱动器向连接于 同一转发器的其他驱动器发送参数修改 协商信令, 并在接收到所有其他驱动器返回的协商应答消 息后,通过向相应的转发器 发送所述参数配置信令来修改相应的参数; 相反的,若上述具有参数修改需求的驱动 器未接收到任何其他驱动器返回的协商应答消 息,或者只接收到部分其他转发器返回 的协商应答消息, 说明至少有一个其他驱动器不允许参数修改, 此时为保证 SDN网 络中相关参数信息的一致性,该具有参数修改 需求的驱动器不向转发器发送参数配置 信令。

可选的, 在上述实施例七〜九任一项的基础上, 还可通过如下步骤实现控制器对 转发器的参数查询:

驱动器接收控制器发送的转发参数查询信令, 并根据自身存储的转发器的参数信 息生成对应的转发参数应答信息, 将所述转发参数应答信息反馈至控制器。

上述参数查询过程不需要访问对应的转发器, 控制器只需与驱动器通信, 即可获 取到每个转发器的参数信息。 另一方面, 参见图 11, 本申请实施例十还提供了一种应用于软件定义 网络 S D 的驱动器; 其中, 该 SDN网络包括实现报文转发的转发器, 和根据转发规则对所述 转发器执行转发控制的控制器; 该驱动器至少包括:

信令接收单元 101, 用于当所述驱动器作为第一驱动器与控制器连 接时, 接收控 制器通过第一控制转发协议发送的第一转发控 制信令; 信令转换单元 102, 用于将信令接收单元 101接收到的第一转发控制信令转换为 符合第二控制转发协议的格式要求的第二转发 控制信令; 信令发送单元 103, 用于将所述第二转发控制信令通过第二控制转 发协议发送至 相应的转发器; 其中,所述第一控制转发协议为控制器所支持 的控制转发协议; 所述第二控制转 发协议为转发器所支持的控制转发协议。 在本申请一个可选的实施方式中,信令转换单 元 102具体用于: 根据第一控制转 发协议和第二控制转发协议之间的预设映射关 系,将所述第一转发控制信令转换为对 应于不同转发器的多条第二转发控制信令; 相应的, 信令发送单元 1032具体用于, 将所述信令转换单元生成的多条第二转 发控制信令分别通过相应的第二控制转发协议 发送至相应的转发器。 参见图 12, 本申请实施例十一提供的应用于软件定义网络 S D的驱动器, 除包 括如上文实施例十所述的信令接收单元 101、 信令转换单元 102和信令发送单元 103 夕卜, 还包括以下单元中的至少一个:

自我配置单元 104, 用于根据所述驱动器服务的转发器的参数信息 , 将自身配置 为与其服务的转发器相对应的虚拟转发器,并 将所述虚拟转发器作为所述第一驱动器 与所述控制器建立连接。

信令判断单元 105, 用于根据自身存储的转发器的参数信息, 判断接收到的第一 转发控制信令所对应的转发规则是否符合相应 转发器的功能;如果第一转发控制信令 所对应的转发规则不符合相应转发器的功能, 则向控制器返回控制失败消息; 否则, 触发所述信令转换单元和 /或信令发送单元。

参数配置单元 106, 用于根据自身存储的转发器的参数信息生成参 数配置信令, 并将所述参数配置信令发送至相应的转发器, 以配置和 /或修改相应的转发器的参数。

信令协商单元 107, 用于当所述驱动器对其服务的转发器具有参数 修改需求时, 向与所述转发器连接的其他驱动器发送参数修 改协商信令,并在接收到其他驱动器返 回的协商应答消息后, 触发所述参数配置单元, 以修改相应转发器的参数。

参数查询单元 108, 用于接收控制器发送的转发参数查询信令, 根据自身存储的 转发器的参数信息生成对应于所述转发参数查 询信令的转发参数应答信息,并将所述 转发参数应答信息反馈至控制器。

为了描述的方便, 描述以上驱动器时以功能分为各种单元分别描 述。 当然, 在实 施本发明时可以把各单元的功能在同一个或多 个软件和 /或硬件中实现。 参见图 13,本申请实施例十二还提供了一种应用于软 定义网络 S D的驱动器, 其包括: 处理器 201和存储器 202; 其中, 存储器 202中存储有处理器 201能够执行 的操作指令, 处理器 201读取存储器 202内的操作指令, 以实现以下功能: 与控制器 连接并接收控制器通过第一控制转发协议发送 的第一转发控制信令;将接收到的第一 转发控制信令转换为符合第二控制转发协议的 格式要求的第二转发控制信令;将所述 第二转发控制信令通过第二控制转发协议发送 至相应的转发器。

在一个可选的实施方式中,处理器 201还用于:根据所服务的转发器的参数信息, 将自身配置为与其服务的转发器相对应的虚拟 转发器, 以实现与所述控制器建立连 接。

在另一个可选的实施方式中,存储器 202还用于存储本驱动器所服务的转发器的 参数信息; 相应的, 处理器 201还用于: 根据存储器 202存储的转发器的参数信息, 判断接收到的第一转发控制信令所对应的转发 规则是否符合相应转发器的功能;如果 符合, 则执行上述将第一转发控制信令转换为第二转 发控制信令的功能, 否则向控制 器返回控制失败消息。

在另一个可选的实施方式中, 处理器 201还用于: 根据存储器 202存储的转发器 的参数信息生成参数配置信令, 并将所述参数配置信令发送至相应的转发器, 以配置 和 /或修改相应的转发器的参数。

在另一个可选的实施方式中, 处理器 201还用于: 当对其服务的转发器具有参数 修改需求时, 向与所述转发器连接的其他驱动器发送参数修 改协商信令, 并在接收到 其他驱动器返回的协商应答消息后, 生成并发送对应的参数配置信令, 以修改对应转 发器的参数。

在另一个可选的实施方式中, 处理器 201还用于: 接收控制器发送的转发参数查 询信令,根据自身存储的转发器的参数信息生 成对应于所述转发参数查询信令的转发 参数应答信息, 并将所述转发参数应答信息反馈至控制器。 本说明书中的各个实施例均采用递进的方式描 述,各个实施例之间相同相似的部 分互相参见即可, 每个实施例重点说明的都是与其他实施例的不 同之处。尤其, 对于 装置或系统实施例而言, 由于其基本相似于方法实施例, 所以描述得比较简单, 相关 之处参见方法实施例的部分说明即可。以上所 描述的装置及系统实施例仅仅是示意性 的,其中所述作为分离部件说明的单元可以是 或者也可以不是物理上分开的, 作为单 元显示的部件可以是或者也可以不是物理单元 , 即可以位于一个地方, 或者也可以分 布到多个网络单元上。可以根据实际的需要选 择其中的部分或者全部模块来实现本实 施例方案的目的。本领域普通技术人员在不付 出创造性劳动的情况下, 即可以理解并 实施。

本申请可以在由计算机执行的计算机可执行指 令的一般上下文中描述,例如程序 模块。 一般地, 程序模块包括执行特定任务或实现特定抽象数 据类型的例程、 程序、 对象、 组件、 数据结构等等。 也可以在分布式计算环境中实践本申请, 在这些分布式 计算环境中, 由通过通信网络而被连接的远程处理设备来执 行任务。在分布式计算环 境中, 程序模块可以位于包括存储设备在内的本地和 远程计算机存储介质中。

需要说明的是, 在本文中, 诸如 "第一 "和 "第二"等之类的关系术语仅仅用来 将一个实体或者操作与另一个实体或操作区分 开来,而不一定要求或者暗示这些实体 或操作之间存在任何这种实际的关系或者顺序 。 而且, 术语 "包括" 、 "包含"或者 其任何其他变体意在涵盖非排他性的包含, 从而使得包括一系列要素的过程、 方法、 物品或者设备不仅包括那些要素, 而且还包括没有明确列出的其他要素, 或者是还包 括为这种过程、 方法、 物品或者设备所固有的要素。 在没有更多限制的情况下, 由语 句 "包括一个…… " 限定的要素, 并不排除在包括所述要素的过程、 方法、物品或者 设备中还存在另外的相同要素。

以上所述仅是本申请的具体实施方式, 应当指出, 对于本技术领域的普通技术人 员来说, 在不脱离本申请原理的前提下, 还可以做出若干改进和润饰, 这些改进和润 饰也应视为本申请的保护范围。