软件定义网络连接建立控制方法及装置制造方法

文档序号:7809591阅读:108来源:国知局
软件定义网络连接建立控制方法及装置制造方法
【专利摘要】本申请提出软件定义网络连接建立控制方法及装置。方法包括:SDN的控制器集群内的Leader接收交换机发来的SDN连接建立请求消息,该消息的目的地址为控制器集群的集群IP地址,且该消息携带用于唯一标识本次SDN连接建立请求的事件ID;Leader将该SDN连接建立请求消息同步到控制器集群内的控制器,并按照预设指定原则在控制器集群内为所述交换机选择指定控制器,通知所述指定控制器携带所述事件ID与所述交换机建立SDN连接。本申请简化了网络配置,实现了控制器与交换机的自动连接,且做到了集群内的负载均衡。
【专利说明】软件定义网络连接建立控制方法及装置

【技术领域】
[0001] 本申请涉及SDN(Software Defined Network,软件定义网络)【技术领域】,尤其涉及 SDN连接建立控制方法及装置。

【背景技术】
[0002] SDN是一种新型网络创新架构,其核心思想是将网络设备的控制层面与转发层面 分离,以实现对网络流量的灵活控制,为核心网络及应用的创新提供良好的平台。
[0003] 为了提升SDN的稳定性,引入了控制器集群的概念,在该网络中多个控制器组成 一个控制器集群,控制器集群的每个成员共同控制网络中的交换机。每个成员连接若干数 量的交换机,并将这些交换机的属性信息同步到集群内的所有控制器上,交换机上接入的 主机信息也在集群内同步,与转发相关的流表信息则根据需要在某些成员上同步,集群内 的数据同步策略可以根据需要进行调整以确保效率和数据一致性。
[0004] 现有的SDN控制器集群技术在交换机和控制器的连接建立上通常使用静态设置 的方式,即,预先设置一个交换机与哪一个控制器建立连接,静态为交换机配置控制器的IP 地址,该IP地址可以为多个,每个IP地址都实际代表一个控制器。


【发明内容】

[0005] 本申请提供SDN连接建立控制方法及装置。
[0006] 本申请的技术方案是这样实现的:
[0007] -种SDN连接建立控制方法,该方法包括:
[0008] SDN的控制器集群内的Leader接收交换机发来的SDN连接建立请求消息,该消息 的目的地址为控制器集群的集群IP地址,且该消息携带用于唯一标识本次SDN连接建立请 求的事件ID ;其中,所述集群IP地址配置在控制器集群内的所有控制器上,但只在Leander 上生效;
[0009] Leader将该SDN连接建立请求消息同步到控制器集群内的控制器,并按照预设指 定原则在控制器集群内为所述交换机选择指定控制器,通知所述指定控制器携带所述事件 ID与所述交换机建立SDN连接。
[0010] 一种SDN连接建立控制方法,该方法包括:
[0011] 交换机向控制器集群内的Leader发起SDN连接建立请求消息,以使得:所述 Leader在控制器集群内为本交换机选择指定控制器,其中,所述SDN连接建立请求消息的 目的地址为控制器集群的集群IP地址,同时,该消息中携带用于唯一标识本次SDN连接建 立请求的事件ID,所述集群IP地址配置在控制器集群内的所有控制器上,但只在Leander 上生效;
[0012] 交换机接收所述指定控制器发来的SDN连接建立请求消息,将该消息中的事件ID 与自身发出的所述SDN连接建立请求消息中的事件ID进行比较,若两者相同,则与所述指 定控制器建立SDN连接;否则,拒绝与所述指定控制器建立SDN连接。
[0013] 一种SDN连接建立控制装置,位于SDN的控制器集群内的Leader上,该装置包括: [0014] 连接消息接收模块:接收交换机发来的SDN连接建立请求消息,该消息的目的地 址为控制器集群的集群IP地址,且该消息携带用于唯一标识本次SDN连接建立请求的事件 ID ;其中,所述集群IP地址配置在控制器集群内的所有控制器上,但只在Leander上生效;
[0015] 控制器指定模块,将连接消息接收模块接收到的SDN连接建立请求消息同步到控 制器集群内的控制器,并按照预设指定原则在控制器集群内为所述交换机选择指定控制 器,通知所述指定控制器携带所述事件ID与所述交换机建立SDN连接。
[0016] 一种SDN连接建立控制装置,该装置位于SDN内的交换机上,该装置包括:
[0017] SDN连接发起模块,向控制器集群内的领导者Leader发起SDN连接建立请求消息, 以使得:所述Leader在控制器集群内为本交换机选择指定控制器,其中,所述SDN连接建立 请求消息的目的地址为控制器集群的集群IP地址,同时,该消息中携带用于唯一标识本次 SDN连接建立请求的事件ID,所述集群IP地址配置在控制器集群内的所有控制器上,但只 在Leander上生效;
[0018] SDN连接建立模块:接收所述指定控制器发来的SDN连接建立请求消息,将该消息 中的事件ID与SDN连接发起模块发出的所述SDN连接建立请求消息中的事件ID进行比较, 若两者相同,则与所述指定控制器建立SDN连接;否则,拒绝与所述指定控制器建立SDN连 接。
[0019] 可见,本申请中,由控制器集群内的Leader根据交换机发起SDN连接建立请求,为 交换机指定控制器,简化了网络配置,实现了控制器与交换机的自动连接,且做到了集群内 的负载均衡。

【专利附图】

【附图说明】
[0020] 图1为本申请实施例提供的SDN连接建立控制方法流程图;
[0021] 图2为本申请又一实施例提供的SDN连接建立控制方法流程图;
[0022] 图3为本申请又一实施例提供的SDN连接建立控制方法流程图;
[0023] 图4为本申请实施例提供的SDN连接建立控制装置的组成示意图;
[0024] 图5为本申请又一实施例提供的SDN连接建立控制装置的组成示意图。

【具体实施方式】
[0025] 现有的SDN控制器集群技术在交换机和控制器的连接建立上使用静态设置的方 式,这样,一方面浪费配置资源,另一方面在控制器故障的情况下需要修改原有的静态配 置,影响保护切换的性能。
[0026] 图1为本申请实施例提供的SDN连接建立控制方法流程图,其具体步骤如下:
[0027] 步骤101 :SDN的控制器集群内的Leader接收交换机发来的SDN连接建立请求消 息,该消息的目的地址为控制器集群的集群IP地址,且该消息携带用于唯一标识本次SDN 连接建立请求的事件ID (Transaction ID);其中,所述集群IP地址配置在控制器集群内的 所有控制器上,但只在Leander上生效。
[0028] 步骤102 leader将该SDN连接建立请求消息同步到控制器集群内的控制器,并按 照预设指定原则在控制器集群内为所述交换机选择指定控制器,通知所述指定控制器携带 所述事件ID与所述交换机建立SDN连接。
[0029] 本步骤中,Leader可将交换机发来的SDN连接建立请求消息同步到控制器集群内 的所有控制器;或者,按照集群内控制器的负载、属性、静态配置的指定控制器范围等,只将 该SDN连接建立请求消息同步到控制器集群内的部分控制器,例如:只将该SDN连接建立请 求消息同步到负载小于预设阈值的控制器,或者只将该SDN连接建立请求消息同步到属性 与该交换机匹配的控制器,或者只将该SDN连接建立请求消息同步到位于静态配置的指定 控制器范围内的控制器上。
[0030] 其中,预设指定原则可为如下之一:
[0031] 1)将控制器集群内当前连接交换机数量最小的控制器作为所述交换机的指定控 制器;
[0032] 2)将控制器集群内优先级最高的控制器作为所述交换机的指定控制器;
[0033] 3)将控制器集群内与所述交换机的属性匹配的控制器作为所述交换机的指定控 制器;
[0034] 4)当本Leader上静态配置了所述交换机的指定控制器信息时,根据该信息为所 述交换机选择指定控制器。
[0035] 其中,步骤102中,Leader通知所述指定控制器携带所述事件ID与所述交换机建 立SDN连接可通过如下两种方式实现:
[0036] -)Leader向所述指定控制器发送控制器指定消息,该消息携带所述交换机的地 址,以使得:所述指定控制器根据所述交换机的地址查找到所述交换机发来的SDN连接建 立请求消息,并根据该请求消息向所述交换机发起SDN连接建立请求消息,其中,指定控制 器发起的SDN连接建立请求消息中的事件ID与所述交换机发来的SDN连接建立请求消息 中的事件ID相同。
[0037] 二)Leader向所述指定控制器发送控制器指定消息,该消息携带所述交换机的地 址,同时携带所述交换机发来的SDN连接建立请求消息中的事件ID,以使得:所述指定控制 器根据所述交换机的地址和事件ID查找到所述交换机发来的SDN连接建立请求消息,并根 据该请求消息向所述交换机发起携带所述事件ID的SDN连接建立请求消息,其中,指定控 制器发起的SDN连接建立请求消息中的事件ID与所述交换机发来的SDN连接建立请求消 息中的事件ID相同。
[0038] 其中,步骤102中,Leader通知所述指定控制器与所述交换机建立SDN连接之后 进一步包括:当Leader接收到所述指定控制器返回的指示接受指定的应答消息时,记录所 述交换机与所述指定控制器之间的对应关系;当Leader接收到所述指定控制器返回的指 示拒绝指定的应答消息时,返回所述按照预设指定原则在控制器集群内为所述交换机选择 指定控制器的动作。
[0039] 其中,步骤102中,Leader按照预设指定原则在控制器集群内为所述交换机选择 指定控制器为:按照预设指定原则在控制器集群内选择一个控制器作为所述交换机的主指 定控制器,选择至少一个控制器作为所述交换机的备指定控制器;
[0040] 同时,步骤102中,Leader通知所述指定控制器与所述交换机建立SDN连接为: Leader通知所述主指定控制器与所述交换机建立SDN连接,并将所有备指定控制器的地址 通知所述主指定控制器,以使得:所述主指定控制器与所述交换机建立SDN连接后,将所述 交换机的转发流表同步到所有备指定控制器上;
[0041] 同时,步骤102中,Leader通知所述主指定控制器与所述交换机建立SDN连接之 后进一步包括leader发现所述主指定控制器故障,则在所述交换机的所有备指定控制器 中选择一个作为所述交换机的新主指定控制器,通知所述新主指定控制器与所述交换机建 立SDN连接,并将所述交换机的所有新备指定控制器的地址通知所述新主指定控制器,以 使得:所述新主指定控制器与所述交换机建立SDN连接后,将所述交换机的转发流表同步 到所有新备指定控制器上。
[0042] 图2为本申请又一实施例提供的SDN连接建立控制方法流程图,其具体步骤如 下:
[0043] 步骤201 :交换机向控制器集群内的Leader发起SDN连接建立请求消息,以使得: 所述Leader在控制器集群内为本交换机选择指定控制器,其中,SDN连接建立请求消息的 目的地址为控制器集群的集群IP地址,同时,该消息中携带用于唯一标识本次SDN连接建 立请求的事件ID,所述集群IP地址配置在控制器集群内的所有控制器上,但只在Leander 上生效。
[0044] 步骤202 :交换机接收所述指定控制器发来的SDN连接建立请求消息,将该消息中 的事件ID与自身发出的所述SDN连接建立请求消息中的事件ID进行比较,若两者相同,则 与所述指定控制器建立SDN连接;否则,拒绝与所述指定控制器建立SDN连接。
[0045] 其中,交换机上预先配置了控制器地址的网段范围,所述指定控制器发来的SDN 连接建立请求消息的源地址为该指定控制器的独立地址,该独立地址用于唯一标识该指定 控制器;且,步骤202中,交换机将该消息中的事件ID与自身发出的所述SDN连接建立请求 消息中的事件ID进行比较进一步包括:
[0046] 交换机判断所述指定控制器发来的SDN连接建立请求消息中的源IP地址是否位 于自身配置的控制器地址的网段范围内,若位于且确定所述指定控制器发来的SDN连接建 立请求消息中的事件ID与本交换机发出的所述SDN连接建立请求消息中的事件ID相同, 则执行所述与所述指定控制器建立SDN连接的动作;否则,执行所述拒绝与所述指定控制 器建立SDN连接的动作。。
[0047] 图3为本申请又一实施例提供的SDN连接建立控制方法流程图,其具体步骤如 下:
[0048] 步骤300 :对于SDN中的控制器集群,为控制器集群内的每个控制器分别配置一个 集群IP地址和一个独立IP地址;在SDN内的每个交换机上配置该控制器集群的集群IP地 址和控制器地址的网段范围。其中,作为Leader的控制器上配置的集群IP地址的状态为 生效,非Leader控制器上配置的集群IP地址的状态为失效。
[0049] 其中,集群IP地址即为该控制器集群的IP地址,用于唯一地标识一个控制器集 群,而独立IP地址用于唯一地标识一个控制器;也就是说,控制器集群内的不同控制器上 配置的集群IP地址相同,而不同控制器上配置的独立IP地址互不相同,独立IP地址是始 终生效的。
[0050] 本申请实施例中,并不限定Leader的确定方式,例如:可由管理员等预先设定,也 可根据预设的选举规则而选举出。
[0051] 交换机上配置的控制器地址的网段范围用于告知交换机可以与之建立SDN连接 的控制器的地址的网段范围,即,交换机只能与地址在该网段范围内的控制器建立SDN连 接,若有地址在该网段范围外的控制器向交换机发起SDN连接则交换机不会接受。
[0052] 步骤301 :任一交换机,设为交换机a,根据自身配置的控制器集群IP地址,发起 OpenFlow Hello消息,消息的目的IP地址为该集群IP地址,且消息中携带用于唯一标识本 次连接的Transaction ID(事件ID)。
[0053] Transaction ID用于标识交换机发起的OpenFlow连接,交换机每次发起 OpenFlow 连接前,随机生成一个 Transaction ID,将该 Transaction ID 携带在 OpenFlow Hello消息中。
[0054] 步骤302 :控制器集群内的Leader接收该OpenFlow Hello消息,根据自身维护的 上线交换机列表,判断发来该消息的交换机a是否未上线,若是,执行步骤303 ;否则,不作 进一步处理,本流程结束。
[0055] 上线交换机列表中包含了所有上线的交换机的IP地址。
[0056] 由于控制器集群IP地址只在Leader上生效,因此,交换机a发出的以控制器集群 IP地址为目的IP地址的OpenFlow Hello消息只会被Leader接收到。
[0057] 步骤303 :Leader向控制器集群内的其它控制器通告该OpenFlow Hello消息,并 在控制器集群内为交换机a指定一个控制器,设为控制器A,向控制器A发送控制器指定消 息,该消息携带交换机a的IP地址和控制器指定信息。
[0058] Leader可采用如下方式之一为交换机a指定控制器:
[0059] 1)将当前连接交换机数量最小的控制器指定为交换机a的控制器;
[0060] 此时,需要Leader遍历集群内的控制器,获取每个控制器连接的交换机数量。
[0061] 若当前连接交换机数量最小的控制器有多台,则可任选一台指定为交换机a的控 制器。
[0062] 2)将优先级最高的控制器指定为交换机a的控制器;
[0063] 此时,需要预先为集群内的控制器配置优先级。
[0064] 若优先级最高的控制器有多台,贝U可任选一台指定为交换机a的控制器。
[0065] 3)将与交换机a的属性匹配的控制器指定为交换机a的控制器。
[0066] 例如:物理交换机与虚拟交换机承载的业务是不同的,不同控制器支持的业务也 可能不同,因此,可根据交换机的物理、虚拟属性,来为交换机指定与其属性匹配的控制器。 [0067] 若与交换机a的属性匹配的控制器有多台,则可任选一台指定为交换机a的控制 器。
[0068] 另外,考虑到种种原因,例如:控制器集群内可能存在性能较高的控制器、或者某 些交换机由于其特定配置而只能选择与该配置匹配的控制器,等等,管理员等可以预先在 Leader上为某些交换机静态指定优先连接的控制器,这样,本步骤303中,Leader在为交换 机a指定控制器时,先查看自身是否存在针对交换机a的静态指定控制器,若存在,则在该 静态指定控制器中为交换机a选择一个控制器;否则,采用预设指定方式,如上述1)、2)或 3)为交换机a指定控制器。
[0069] 步骤304 :控制器A接收该控制器指定消息,判断是否接受Leader的指定,若是, 执行步骤305 ;否则,执行步骤310。
[0070] 控制器A可根据自身的负载等确定是否接受Leader的指定。
[0071] 步骤305 :控制器A向Leader返回指示接受指定的应答消息,并向交换机a发起 OpenFlow Hello消息,该Hello消息的源IP地址为控制器A的独立IP地址,且消息中的 Transaction ID 与交换机 a 发来的 OpenFlow Hello 消息中的 Transaction ID -致。
[0072] 在步骤304中,控制器A在接收到Leader发来的控制器指定消息并确定接受 Leader的指定后,会根据消息中的交换机a的IP地址查找到交换机a发来的OpenFlow Hello消息,步骤305中,控制器A会根据交换机a发来的OpenFlow Hello消息构造本控制 器向交换机a发出的OpenFlow Hello消息,该两消息中的Transaction ID必须相同。
[0073] 在实际应用中,步骤303中,Leader发出的控制器指定消息中可进一步携带交换 机a发来的OpenFlow Hello消息中的Transaction ID,这样,步骤304中,控制器A在接 收到Leader发来的控制器指定消息并确定接受Leader的指定后,会根据消息中的交换 机a的IP地址和Transaction ID查找到交换机a发来的OpenFlow Hello消息,步骤305 中,控制器A会根据交换机a发来的OpenFlow Hello消息构造本控制器向交换机a发出的 OpenFlow Hello消息,该两消息中的Transaction ID必须相同。
[0074] Leader接收到控制器A返回的指示接受指定的应答消息后,要记录交换机a的IP 地址与控制器A的独立IP地址的对应关系。
[0075] 步骤306 :交换机a接收到该OpenFlow Hello消息,对该消息进行合法性检 查,包括:检查消息中的Transaction ID是否与自身发出的OpenFlow Hello消息中的 Transaction ID -致,以及检查消息的源IP地址是否在自身配置的控制器地址的网段范 围内。
[0076] 步骤307 :交换机a判断是否检查通过,若是,执行步骤308 ;否则,执行步骤309。
[0077] 步骤308 :交换机a与控制器A进入OpenFlow握手过程,握手完成,控制器A将在 握手过程中获取的交换机a的属性信息以及交换机上线事件同步到集群内的其它控制器 上,集群内的所有控制器将交换机a的IP地址和属性信息添加到本地上线交换机列表中, 同时记录交换机a的IP地址与控制器A的独立IP地址的对应关系,本流程结束。
[0078] 步骤309 :交换机a丢弃该OpenFlow消息,并在一个等待周期后返回步骤301,即 向Leader发起新的OpenFlow Hello消息。
[0079] 这里,发起新的OpenFlow Hello消息之前,要先产生一个唯一标识本次发起的 OpenFlow 连接的 Transaction ID,将该 Transaction ID 放入发起的新 OpenFlow Hello 消 息中。
[0080] 步骤310 :控制器A向Leader返回指示拒绝指定的应答消息,Leader接收到该应 答消息,为交换机a重新指定一个控制器。
[0081] 重新指定控制器后的处理步骤与指定控制器a后的处理步骤相同,直至指定成功 Leader才会停止指定。
[0082] 交换机与指定控制器建立OpenFlow连接后,会监测该连接,当发现连接中断后, 交换机会返回步骤301,向Leader发起新的OpenFlow Hello消息。
[0083] 为了防止交换机与指定控制器的连接断开后导致的流量丢失,本申请实施例给出 如下优化方案:
[0084] 步骤303中,Leader在控制器集群内为交换机a指定多个控制器,并设定其中一 个控制器A为主控制器,其它控制器为备控制器,向主、备控制器发送的控制器指定消息中 携带交换机a的IP地址、为交换机a指定的所有控制器的IP地址、以及每个控制器为主还 是备的指不?目息。
[0085] 主控制器和备控制器收到Leader发来的控制器指定消息后,都会执行步骤304, 但是,只有主控制器A在接受指定后会向交换机a发起OpenFlow Hello消息,备控制器则 不会。
[0086] 且,步骤310中,当主控制器A向Leader返回指示拒绝指定的Http应答消息时, Leader接收到该应答消息,为交换机a重新指定一个主控制器。
[0087] 同时,主控制器A会将自身维护的交换a的转发流表同步到所有交换机a的指定 备控制器上。
[0088] Leader会监测主控制器A的状态,例如:定时向主控制器A发送探测报文,当发现 主控制器A故障后,在交换机a的备控制器中选择一个(设选择了控制器B)作为新的主控 制器,向控制器B发送控制器指定消息,消息中携带交换机a的IP地址、为交换机a指定的 所有控制器的IP地址、以及每个控制器为主还是备的指示信息,控制器B收到该消息后,进 入步骤304。
[0089] 本申请实施例可带来如下有益效果:
[0090] 可将控制器集群内数量众多的交换机分担到不同的控制器上,使得每个控制器都 管理一定数量的交换机,简化了网络配置,实现了控制器与交换机的自动连接,且做到了集 群内的负载均衡;另外,交换机通过Transaction ID和控制器地址的网段范围,对控制器 进行合法性检查,提高了网络的可靠性。
[0091] 图4为本申请实施例提供的SDN连接建立控制装置的组成示意图,该装置位于SDN 的控制器集群内的Leader上,该装置主要包括:
[0092] 连接消息接收模块:接收交换机发来的SDN连接建立请求消息,该消息的目的地 址为控制器集群的集群IP地址,且该消息携带用于唯一标识本次SDN连接建立请求的事件 ID ;其中,所述集群IP地址配置在控制器集群内的所有控制器上,但只在Leander上生效。
[0093] 控制器指定模块:将连接消息接收模块接收到的SDN连接建立请求消息同步到 控制器集群内的控制器,并按照预设指定原则在控制器集群内为所述交换机选择指定控制 器,通知所述指定控制器携带所述事件ID与所述交换机建立SDN连接。
[0094] 其中,控制器指定模块通知所述指定控制器携带所述事件ID与所述交换机建立 SDN连接包括:向所述指定控制器发送控制器指定消息,该消息携带所述交换机的地址,以 使得:所述指定控制器根据所述交换机的地址查找到所述交换机发来的SDN连接建立请求 消息,并根据该请求消息向所述交换机发起SDN连接建立请求消息,其中,指定控制器发起 的SDN连接建立请求消息中的事件ID与所述交换机发来的SDN连接建立请求消息中的事 件ID相同;
[0095] 或者,向所述指定控制器发送控制器指定消息,该消息携带所述交换机的地址,同 时携带所述交换机发来的SDN连接建立请求消息中的事件ID,以使得:所述指定控制器根 据所述交换机的地址和事件ID查找到所述交换机发来的SDN连接建立请求消息,并根据该 请求消息向所述交换机发起携带所述事件ID的SDN连接建立请求消息,其中,指定控制器 发起的SDN连接建立请求消息中的事件ID与所述交换机发来的SDN连接建立请求消息中 的事件ID相同。
[0096] 其中,控制器指定模块通知所述指定控制器与所述交换机建立SDN连接之后进一 步包括:当接收到所述指定控制器返回的指示接受指定的应答消息时,记录所述交换机与 所述指定控制器之间的对应关系;当接收到所述指定控制器返回的指示拒绝指定的应答消 息时,返回所述按照预设指定原则在控制器集群内为所述交换机选择指定控制器的动作。
[0097] 其中,控制器指定模块按照预设指定原则在控制器集群内为所述交换机选择指定 控制器为:按照预设指定原则在控制器集群内选择一个控制器作为所述交换机的主指定控 制器,选择至少一个控制器作为所述交换机的备指定控制器;
[0098] 且,控制器指定模块通知所述指定控制器与所述交换机建立SDN连接为:通知所 述主指定控制器与所述交换机建立SDN连接,并将所有备指定控制器的地址通知所述主指 定控制器,以使得:所述主指定控制器与所述交换机建立SDN连接后,将所述交换机的转发 流表同步到所有备指定控制器上;
[0099] 且,控制器指定模块进一步用于,当发现所述主指定控制器故障时,在所述交换机 的所有备指定控制器中选择一个作为所述交换机的新主指定控制器,通知所述新主指定控 制器与所述交换机建立SDN连接,并将所述交换机的所有新备指定控制器的地址通知所述 新主指定控制器,以使得:所述新主指定控制器与所述交换机建立SDN连接后,将所述交换 机的转发流表同步到所有新备指定控制器上。
[0100] 图5为本申请又一实施例提供的SDN连接建立控制装置的组成示意图,该装置位 于SDN内的交换机上,该装置主要包括:
[0101] SDN连接发起模块:向控制器集群内的Leader发起SDN连接建立请求消息,以使 得:所述Leader在控制器集群内为本交换机选择指定控制器,其中,所述SDN连接建立请求 消息的目的地址为控制器集群的集群IP地址,同时,该消息中携带用于唯一标识本次SDN 连接建立请求的事件ID,所述集群IP地址配置在控制器集群内的所有控制器上,但只在 Leander上生效。
[0102] SDN连接建立模块:接收所述指定控制器发来的SDN连接建立请求消息,将该消息 中的事件ID与SDN连接发起模块发出的所述SDN连接建立请求消息中的事件ID进行比较, 若两者相同,则与所述指定控制器建立SDN连接;否则,拒绝与所述指定控制器建立SDN连 接。
[0103] 其中,交换机上预先配置了控制器地址的网段范围,SDN连接建立模块接收到的指 定控制器发来的SDN连接建立请求消息的源地址为该指定控制器的独立地址,该独立地址 用于唯一标识该指定控制器;SDN连接建立模块将该消息中的事件ID与SDN连接发起模块 发出的所述SDN连接建立请求消息中的事件ID进行比较进一步包括:判断所述指定控制器 发来的SDN连接建立请求消息中的源IP地址是否位于自身配置的控制器地址的网段范围 内,若位于且确定所述指定控制器发来的SDN连接建立请求消息中的事件ID与SDN连接发 起模块发出的所述SDN连接建立请求消息中的事件ID相同,则执行所述与所述指定控制器 建立SDN连接的动作;否则,执行所述拒绝与所述指定控制器建立SDN连接的动作。
[0104] 以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精 神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
【权利要求】
1. 一种软件定义网络SDN连接建立控制方法,其特征在于,该方法包括: SDN的控制器集群内的领导者Leader接收交换机发来的SDN连接建立请求消息,该 消息的目的地址为控制器集群的集群IP地址,且该消息携带用于唯一标识本次SDN连接 建立请求的事件ID ;其中,所述集群IP地址配置在控制器集群内的所有控制器上,但只在 Leander上生效; Leader将该SDN连接建立请求消息同步到控制器集群内的控制器,并按照预设指定 原则在控制器集群内为所述交换机选择指定控制器,通知所述指定控制器携带所述事件ID 与所述交换机建立SDN连接。
2. 根据权利要求1所述的方法,其特征在于,所述Leader通知所述指定控制器携带所 述事件ID与所述交换机建立SDN连接包括: Leader向所述指定控制器发送控制器指定消息,该消息携带所述交换机的地址,以使 得:所述指定控制器根据所述交换机的地址查找到所述交换机发来的SDN连接建立请求消 息,并根据该请求消息向所述交换机发起SDN连接建立请求消息,其中,指定控制器发起的 SDN连接建立请求消息中的事件ID与所述交换机发来的SDN连接建立请求消息中的事件 ID相同; 或者,Leader向所述指定控制器发送控制器指定消息,该消息携带所述交换机的地址, 同时携带所述交换机发来的SDN连接建立请求消息中的事件ID,以使得:所述指定控制器 根据所述交换机的地址和事件ID查找到所述交换机发来的SDN连接建立请求消息,并根据 该请求消息向所述交换机发起携带所述事件ID的SDN连接建立请求消息,其中,指定控制 器发起的SDN连接建立请求消息中的事件ID与所述交换机发来的SDN连接建立请求消息 中的事件ID相同。
3. 根据权利要求1所述的方法,其特征在于,所述预设指定原则为: 将控制器集群内当前连接交换机数量最小的控制器作为所述交换机的指定控制器;或 者, 将控制器集群内优先级最高的控制器作为所述交换机的指定控制器;或者, 将控制器集群内与所述交换机的属性匹配的控制器作为所述交换机的指定控制器;或 者, 当本Leader上静态配置了所述交换机的指定控制器信息时,根据该信息为所述交换 机选择指定控制器。
4. 根据权利要求1所述的方法,其特征在于,所述Leader通知所述指定控制器与所述 交换机建立SDN连接之后进一步包括: 当Leader接收到所述指定控制器返回的指示接受指定的应答消息时,记录所述交换 机与所述指定控制器之间的对应关系; 当Leader接收到所述指定控制器返回的指示拒绝指定的应答消息时,返回所述按照 预设指定原则在控制器集群内为所述交换机选择指定控制器的动作。
5. 根据权利要求1所述的方法,其特征在于,所述按照预设指定原则在控制器集群内 为所述交换机选择指定控制器为: 按照预设指定原则在控制器集群内选择一个控制器作为所述交换机的主指定控制器, 选择至少一个控制器作为所述交换机的备指定控制器; 所述Leader通知所述指定控制器与所述交换机建立SDN连接为: Leader通知所述主指定控制器与所述交换机建立SDN连接,并将所有备指定控制器的 地址通知所述主指定控制器,以使得:所述主指定控制器与所述交换机建立SDN连接后,将 所述交换机的转发流表同步到所有备指定控制器上; 所述Leader通知所述主指定控制器与所述交换机建立SDN连接之后进一步包括: Leader发现所述主指定控制器故障,则在所述交换机的所有备指定控制器中选择一 个作为所述交换机的新主指定控制器,通知所述新主指定控制器与所述交换机建立SDN连 接,并将所述交换机的所有新备指定控制器的地址通知所述新主指定控制器,以使得:所述 新主指定控制器与所述交换机建立SDN连接后,将所述交换机的转发流表同步到所有新备 指定控制器上。
6. -种软件定义网络SDN连接建立控制方法,其特征在于,该方法包括: 交换机向控制器集群内的领导者Leader发起SDN连接建立请求消息,以使得:所述 Leader在控制器集群内为本交换机选择指定控制器,其中,所述SDN连接建立请求消息的 目的地址为控制器集群的集群IP地址,同时,该消息中携带用于唯一标识本次SDN连接建 立请求的事件ID,所述集群IP地址配置在控制器集群内的所有控制器上,但只在Leander 上生效; 交换机接收所述指定控制器发来的SDN连接建立请求消息,将该消息中的事件ID与自 身发出的所述SDN连接建立请求消息中的事件ID进行比较,若两者相同,则与所述指定控 制器建立SDN连接;否则,拒绝与所述指定控制器建立SDN连接。
7. 根据权利要求6所述的方法,其特征在于,所述交换机上预先配置了控制器地址的 网段范围, 所述指定控制器发来的SDN连接建立请求消息的源地址为该指定控制器的独立地址, 该独立地址用于唯一标识该指定控制器; 所述交换机将该消息中的事件ID与自身发出的所述SDN连接建立请求消息中的事件 ID进行比较进一步包括: 交换机判断所述指定控制器发来的SDN连接建立请求消息中的源IP地址是否位于自 身配置的控制器地址的网段范围内,若位于且确定所述指定控制器发来的SDN连接建立请 求消息中的事件ID与本交换机发出的所述SDN连接建立请求消息中的事件ID相同,则执 行所述与所述指定控制器建立SDN连接的动作;否则,执行所述拒绝与所述指定控制器建 立SDN连接的动作。
8. -种软件定义网络SDN连接建立控制装置,位于SDN的控制器集群内的领导者 Leader上,其特征在于,该装置包括: 连接消息接收模块:接收交换机发来的SDN连接建立请求消息,该消息的目的地址为 控制器集群的集群IP地址,且该消息携带用于唯一标识本次SDN连接建立请求的事件ID ; 其中,所述集群IP地址配置在控制器集群内的所有控制器上,但只在Leander上生效; 控制器指定模块,将连接消息接收模块接收到的SDN连接建立请求消息同步到控制器 集群内的控制器,并按照预设指定原则在控制器集群内为所述交换机选择指定控制器,通 知所述指定控制器携带所述事件ID与所述交换机建立SDN连接。
9. 根据权利要求8所述的装置,其特征在于,所述控制器指定模块通知所述指定控制 器携带所述事件ID与所述交换机建立SDN连接包括: 向所述指定控制器发送控制器指定消息,该消息携带所述交换机的地址,以使得:所述 指定控制器根据所述交换机的地址查找到所述交换机发来的SDN连接建立请求消息,并根 据该请求消息向所述交换机发起SDN连接建立请求消息,其中,指定控制器发起的SDN连接 建立请求消息中的事件ID与所述交换机发来的SDN连接建立请求消息中的事件ID相同; 或者,向所述指定控制器发送控制器指定消息,该消息携带所述交换机的地址,同时携 带所述交换机发来的SDN连接建立请求消息中的事件ID,以使得:所述指定控制器根据所 述交换机的地址和事件ID查找到所述交换机发来的SDN连接建立请求消息,并根据该请求 消息向所述交换机发起携带所述事件ID的SDN连接建立请求消息,其中,指定控制器发起 的SDN连接建立请求消息中的事件ID与所述交换机发来的SDN连接建立请求消息中的事 件ID相同。
10. 根据权利要求8所述的装置,其特征在于,所述控制器指定模块通知所述指定控制 器与所述交换机建立SDN连接之后进一步包括 : 当接收到所述指定控制器返回的指示接受指定的应答消息时,记录所述交换机与所述 指定控制器之间的对应关系; 当接收到所述指定控制器返回的指示拒绝指定的应答消息时,返回所述按照预设指定 原则在控制器集群内为所述交换机选择指定控制器的动作。
11. 根据权利要求8所述的装置,其特征在于,所述控制器指定模块按照预设指定原则 在控制器集群内为所述交换机选择指定控制器为 : 按照预设指定原则在控制器集群内选择一个控制器作为所述交换机的主指定控制器, 选择至少一个控制器作为所述交换机的备指定控制器; 且,所述控制器指定模块通知所述指定控制器与所述交换机建立SDN连接为: 通知所述主指定控制器与所述交换机建立SDN连接,并将所有备指定控制器的地址通 知所述主指定控制器,以使得:所述主指定控制器与所述交换机建立SDN连接后,将所述交 换机的转发流表同步到所有备指定控制器上; 所述控制器指定模块进一步用于, 当发现所述主指定控制器故障时,在所述交换机的所有备指定控制器中选择一个作为 所述交换机的新主指定控制器,通知所述新主指定控制器与所述交换机建立SDN连接,并 将所述交换机的所有新备指定控制器的地址通知所述新主指定控制器,以使得:所述新主 指定控制器与所述交换机建立SDN连接后,将所述交换机的转发流表同步到所有新备指定 控制器上。
12. -种软件定义网络SDN连接建立控制装置,该装置位于SDN内的交换机上,其特征 在于,该装置包括: SDN连接发起模块,向控制器集群内的领导者Leader发起SDN连接建立请求消息,以 使得:所述Leader在控制器集群内为本交换机选择指定控制器,其中,所述SDN连接建立 请求消息的目的地址为控制器集群的集群IP地址,同时,该消息中携带用于唯一标识本次 SDN连接建立请求的事件ID,所述集群IP地址配置在控制器集群内的所有控制器上,但只 在Leander上生效; SDN连接建立模块:接收所述指定控制器发来的SDN连接建立请求消息,将该消息中的 事件ID与SDN连接发起模块发出的所述SDN连接建立请求消息中的事件ID进行比较,若 两者相同,则与所述指定控制器建立SDN连接;否则,拒绝与所述指定控制器建立SDN连接。
13.根据权利要求12所述的装置,其特征在于,所述交换机上预先配置了控制器地址 的网段范围, 所述SDN连接建立模块接收到的指定控制器发来的SDN连接建立请求消息的源地址为 该指定控制器的独立地址,该独立地址用于唯一标识该指定控制器; 所述SDN连接建立模块将该消息中的事件ID与SDN连接发起模块发出的所述SDN连 接建立请求消息中的事件ID进行比较进一步包括: 判断所述指定控制器发来的SDN连接建立请求消息中的源IP地址是否位于自身配置 的控制器地址的网段范围内,若位于且确定所述指定控制器发来的SDN连接建立请求消息 中的事件ID与SDN连接发起模块发出的所述SDN连接建立请求消息中的事件ID相同,则 执行所述与所述指定控制器建立SDN连接的动作;否则,执行所述拒绝与所述指定控制器 建立SDN连接的动作。
【文档编号】H04L29/08GK104092774SQ201410353637
【公开日】2014年10月8日 申请日期:2014年7月23日 优先权日:2014年7月23日
【发明者】宋小恒 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1