组播业务报文处理方法及装置制造方法

文档序号:7821529阅读:152来源:国知局
组播业务报文处理方法及装置制造方法
【专利摘要】本申请提供一种组播业务报文处理方法以及装置,应用于SDN中的控制器,该方法包括:接收源交换机上送的流表项请求报文,所述流表项请求报文中携带源主机发送的组播业务报文;从所述组播业务报文中获取组播组的网际协议IP地址;根据所述组播组的IP地址,确定所述组播组的目的交换机;根据所述源交换机的位置信息与所述组播组的目的交换机的位置信息计算所述组播业务报文的组播路径;向所述组播路径中的交换机下发流表项,以使所述组播路径中的交换机按照所述流表项处理所述组播业务报文。本申请实现了SDN网络中的组播业务报文处理,避免了不必要的网络资源浪费。
【专利说明】组播业务报文处理方法及装置

【技术领域】
[0001] 本申请涉及网络通信【技术领域】,尤其涉及一种组播业务报文处理方法及装置。

【背景技术】
[0002] SDN(Software Defined Network,软件定义网络)是一种新型网络创新架构,其核 心思想是将网络设备的控制层面与转发层面分离,以实现对网络流量的灵活控制。SDN网络 主要由控制器、交换机以及主机组成,其中,控制器负责收集网络拓扑信息,计算主机所产 生的业务报文的转发路径,并生成转发流表,交换机根据SDN控制器下发的流表进行业务 报文的转发。
[0003]目前,SDN网络中的业务报文主要以单播形式进行转发,对于有组播需求的业务报 文只能通过广播转发,由此造成网络带宽的浪费,同时,容易产生广播风暴,影响网络的稳 定性。


【发明内容】

[0004] 有鉴于此,本申请提供了一种组播业务报文处理方法,应用于软件定义网络SDN 中的控制器,该方法包括:
[0005] 接收源交换机上送的流表项请求报文,所述流表项请求报文中携带源主机发送的 组播业务报文;
[0006] 从所述组播业务报文中获取组播组的网际协议IP地址;
[0007] 根据所述组播组的IP地址,确定所述组播组的目的交换机;
[0008] 根据所述源交换机的位置信息与所述组播组的目的交换机的位置信息计算所述 组播业务报文的组播路径;
[0009] 向所述组播路径中的交换机下发流表项,以使所述组播路径中的交换机按照所述 流表项处理所述组播业务报文。
[0010] 本申请还提供了一种组播业务报文处理装置,应用于软件定义网络SDN中的控制 器,该装置包括:
[0011] 接收单元,用于接收源交换机上送的流表项请求报文,所述流表项请求报文中携 带源主机发送的组播业务报文;
[0012] 获取单元,用于从所述组播业务报文中获取组播组的网际协议IP地址;
[0013] 确定单元,用于根据所述组播组的IP地址,确定所述组播组的目的交换机;
[0014] 计算单元,用于根据所述源交换机的位置信息与所述组播组的目的交换机的位置 信息计算所述组播业务报文的组播路径;
[0015] 下发单元,用于向所述组播路径中的交换机下发流表项,以使所述组播路径中的 交换机按照所述流表项处理所述组播业务报文。
[0016] 在本申请中,控制器接收源交换机上送的携带组播业务报文的流表项请求报文, 根据从组播业务报文中获取的组播组IP地址找到组播组的目的交换机,进而根据源交换 机的位置信息和目的交换机的位置信息,计算组播业务报文的组播路径并生成流表项,将 流表项下发给组播路径中的交换机,以实现SDN网络中的组播业务报文处理。本申请实现 了SDN网络中的组播业务报文处理,避免了不必要的网络资源浪费。

【专利附图】

【附图说明】
[0017] 图1是SDN网络结构示意图;
[0018] 图2是本申请一种实施例中组播业务报文处理方法的处理流程图;
[0019] 图3-1是本申请一种实施例中第一单播路径示意图;
[0020] 图3_2是本申请一种实施例中组播路径7]^意图;
[0021] 图4是本申请一种实施例中组播业务报文处理装置的基础硬件示意图;
[0022] 图5-1是本申请一种实施例中组播业务报文处理装置的结构示意图;
[0023] 图5-2是本申请另一种实施例中组播业务报文处理装置的结构示意图;
[0024] 图5-3是本申请另一种实施例中组播业务报文处理装置的结构示意图。

【具体实施方式】
[0025] 为使本申请的目的、技术方案及优点更加清楚明白,以下参照附图对本申请所述 方案作进一步地详细说明。
[0026] 图1所示为SDN网络结构示意图。该SDN网络由控制器、交换机(SW1?SW6)以 及主机(PC11、PC51、PC52以及PC61)组成。控制器负责网络拓扑的收集和路径计算,并生 成流表项下发给路径中的交换机,交换机根据流表项进行业务报文转发。
[0027]目前,SDN网络中大量的业务报文以单播形式转发,而组播业务报文则以广播形式 转发,造成网络资源的浪费。
[0028] 针对上述问题,本申请实施例提出一种组播业务报文处理方法。在该方法中,控制 器接收源交换机上送的携带组播业务报文的流表项请求报文,根据从组播业务报文中获取 的组播组IP地址找到组播组的目的交换机,进而根据源交换机的位置信息和目的交换机 的位置信息,计算组播业务报文的组播路径并生成流表项,将流表项下发给组播路径中的 交换机,以实现SDN网络中的组播业务报文处理。
[0029] 参见图2,为本申请组播业务报文处理方法的一个实施例流程图,该实施例对组播 业务报文的处理过程进行描述。
[0030] 步骤210,接收源交换机上送的流表项请求报文,所述流表项请求报文中携带源主 机发送的组播业务报文。
[0031] 在SDN网络中,源交换机接收源主机发送的组播业务报文后,查询本地是否有该 组播业务报文的流表项。若无对应的流表项,则将该组播业务报文进行管理协议(控制器 与交换机之间的交互协议,例如,开放流OpenFlow协议)封装,并将封装后的报文上送控制 器。为了便于后续描述,将源交换机封装后的报文称为流表项请求报文。控制器接收该流 表项请求报文后,进行后续处理。
[0032] 步骤220,从所述组播业务报文中获取组播组的网际协议IP地址。
[0033] 控制器从流表项请求报文中获取源主机发送的组播业务报文,该组播业务报文中 包括组播组的IP地址。
[0034] 步骤230,根据所述组播组的IP地址,确定所述组播组的目的交换机。
[0035] 控制器根据组播组的IP地址,查询本地保存的组播组成员列表,从组播组成员列 表中获取组播组的目的交换机的标识,从而确定属于该组播组的目的交换机。
[0036] 需要说明的是,组播组成员列表中保存的目的交换机是在目的主机向控制器发送 组播组加入报文时获取,具体获取过程如下:
[0037]目的主机发送组播组加入报文,请求加入某组播组。与该目的主机相连的目的交 换机将该组播组加入报文进行管理协议封装,并将封装后的报文上送控制器。为了便于后 续描述,将目的交换机封装后的报文称为组播组成员报文。
[0038] 控制器接收目的交换机发送的组播组成员报文后,从组播组成员报文中获取组播 组加入报文,该组播组加入报文中包含组播组的IP地址。控制器根据该组播组的IP地址, 找到对应的组播组成员列表,将发送组播组成员报文的目的交换机的标识加入到组播组成 员列表中。
[0039] 步骤240,根据所述源交换机的位置信息与所述组播组的目的交换机的位置信息 计算所述组播业务报文的组播路径。
[0040] 由于控制器负责SDN网络的拓扑信息收集,并生成网络拓扑图,因此,控制器可以 根据源交换机的位置信息以及目的交换机的位置信息计算组播业务报文的组播路径,计算 过程如下:
[0041] 从组播组成员列表中选择第一目的交换机,该第一目的交换机为首个参与组播路 径计算的交换机。按照单播路径的生成规则,生成源交换机与第一目的交换机之间的第一 单播路径,单播路径的计算过程为现有技术,在此不再赘述。将上述计算的第一单播路径作 为后续计算的中间组播路径。
[0042] 从组播组成员列表中顺序选择第二目的交换机,该第二目的交换机为该组播组中 未参与组播路径计算的交换机。根据当前中间组播路径中的每一个交换机的位置信息分别 与第二目的交换机的位置信息计算第二单播路径。从计算得到的第二单播路径中选择路径 最短的第二单播路径与中间组播路径生成新的中间组播路径。当存在多个路径最短的第二 单播路径时,可以选择负载最低的第二单播路径与中间组播路径生成新的中间组播路径。 [0043] 在每执行一次上述中间组播路径计算后,判断组播组成员列表中的目的交换机是 否均已参与组播路径计算,若仍有未参与计算的目的交换机,则继续执行上述中间组播路 径的计算;若所有目的交换机均已参与组播路径计算,则将最后一个中间组播路径作为该 组播组的组播路径。
[0044] 在上述组播路径的计算过程中,组播业务报文在目的交换机上的出端口可以从控 制器中保存的目的交换机的组播组成员端口列表中获得。该组播组成员端口列表是控制器 接收目的交换机发送的组播组成员报文时生成,具体生成过程如下:
[0045] 控制器从组播组成员报文中获取目的交换机的成员端口的成员端口号,该成员端 口为接收目的主机发送的组播组加入报文的端口,表明该成员端口下有接收该组播业务报 文的目的主机。由于目的交换机的同一端口下可能包括不同组播组的目的主机,因此,控制 器根据组播组IP地址与成员端口号的对应关系生成目的交换机的组播组成员端口列表。 [0046] 控制器在获取到组播业务报文后,根据组播业务报文中的组播组IP地址,找到该 组播组的成员列表,在确定目的交换机后,查询目的交换机的组播组成员端口列表,根据组 播组IP地址找到组播组成员端口列表中的成员端口号,从而确定组播业务报文在目的交 换机上的出端口。
[0047]步骤250,向所述组播路径中的交换机下发流表项,以使所述组播路径中的交换机 按照所述流表项处理所述组播业务报文。
[0048]在生成组播路径后,控制器向组播路径中的交换机下发对应的流表项,该流表项 中包括交换机接收组播业务报文的入端口、组播组的IP地址以及交换机发送组播业务报 文的出端口列表,以使组播路径中交换机按照下发的流表项对组播业务报文进行处理。
[0049] 在SDN网络运行过程中,控制器会以预设的查询时间间隔向组播组中目的交换机 的成员端口发送组播查询报文,以确定该成员端口下是否还有接收者(组播组的目的主 机)。当在查询时间间隔内未接收到目的主机发送的组播组加入报文时,说明该成员端口下 已无该组播组的接收者,因此,将该成员端口从目的交换机的组播组成员端口列表中删除。
[0050] 当目的交换机的组播组成员端口列表中不存在组播组的成员端口号时,说明该目 的交换机下没有该组播组的目的主机,继续判断该目的交换机是否为组播路径中的末端交 换机,如果该目的交换机为组播路径中的末端交换机,即该目的交换机不需要向其它交换 机转发组播业务报文,则将该目的交换机从组播路径中删除。
[0051] 当源主机发生迁移时,如果只在源交换机内迁移,无需重新计算组播路径;如果在 交换机之间迁移,则需重新计算组播路径,删除原有组播路径。同样,当SDN网络的网络拓 扑发生变化时,也需要重新计算组播路径。
[0052] 现仍以图1所示SDN网络为例,介绍组播业务报文处理过程。
[0053] 假设PC11发送组播业务报文,该组播业务报文的组播组IP地址为225. 1. 1.USW1 接收到该组播业务报文后,查询本地流表项,当未找到该组播业务报文的流表项时,将该组 播业务报文封装在packetin报文中,上送控制器。
[0054] 控制器接收到packetin报文后,从携带的组播业务报文中获取组播组IP地址 225. 1. 1. 1,根据该组播组IP地址查询本地保存的组播组成员列表。该组播组成员列表是 目的主机在申请加入组播组225. 1. 1. 1时生成。例如,PC51发送组播组加入报文,请求加 入组播组225. 1. 1. 1,SW5通过packetin报文将该组播组加入报文转发给控制器,因此,控 制器知道SW5为组播组225. 1. 1. 1的目的交换机,将SW5添加到组播组的成员列表中。同 理,PC61发送组播组加入报文,请求加入组播组225. 1. 1. 1,控制器将SW6添加到组播组的 成员列表中,如表1所不。
[0055]

【权利要求】
1. 一种组播业务报文处理方法,应用于软件定义网络SDN中的控制器,其特征在于,该 方法包括: 接收源交换机上送的流表项请求报文,所述流表项请求报文中携带源主机发送的组播 业务报文; 从所述组播业务报文中获取组播组的网际协议IP地址; 根据所述组播组的IP地址,确定所述组播组的目的交换机; 根据所述源交换机的位置信息与所述组播组的目的交换机的位置信息计算所述组播 业务报文的组播路径; 向所述组播路径中的交换机下发流表项,W使所述组播路径中的交换机按照所述流表 项处理所述组播业务报文。
2. 如权利要求1所述的方法,其特征在于,所述根据所述源交换机的位置信息与所述 组播组的目的交换机的位置信息计算所述组播业务报文的组播路径,包括: 根据所述源交换机的位置信息与第一目的交换机的位置信息计算得到第一单播路径, 将所述第一单播路径作为中间组播路径,所述第一目的交换机为所述组播组中首个进行组 播路径计算的交换机; 执行如下中间组播路径计算操作:从所述组播组中顺序获取一个未参与组播路径计算 的第二目的交换机,根据中间组播路径中的每一个交换机的位置信息分别与获取的第二目 的交换机的位置信息计算第二单播路径,从计算得到的第二单播路径中选择路径最短的第 二单播路径和中间组播路径组成新的中间组播路径; 判断所述组播组中的每一个目的交换机是否均已参与所述中间组播路径计算操作,若 是,则将最后一个中间组播路径作为所述组播路径;否则,返回所述执行中间组播路径计算 操作。
3. 如权利要求1所述的方法,其特征在于,所述方法还包括: 接收所述目的交换机发送的组播组成员报文携带目的主机发送的组播组加入报文; 从所述组播组加入报文中获取所述组播组的IP地址; 根据所述组播组的IP地址将所述目的交换机的标识添加到所述组播组的成员列表 中; 所述根据所述组播组的IP地址,确定所述组播组的目的交换机,具体包括: 根据所述组播组的IP地址,查询所述组播组的成员列表; 从所述组播组成员列表中获取所述组播组的目的交换机的标识,W确定所述组播组的 目的交换机。
4. 如权利要求3所述的方法,其特征在于,所述方法还包括: 从所述组播组成员报文中获取所述目的交换机的成员端口的成员端口号,所述成员端 口为接收到所述组播组加入报文的端口; 将所述组播组的IP地址与所述成员端口号的对应关系添加到所述目的交换机的组播 组成员端口列表中; 所述根据所述源交换机的位置信息与所述组播组的目的交换机的位置信息计算所述 组播业务报文的组播路径,还包括: 根据所述组播组的IP地址,从所述组播组成员端口列表中获取所述成员端口号; 根据所述成员端口号确定所述组播业务报文在所述目的交换机上的出端口。
5. 如权利要求4所述的方法,其特征在于,所述方法还包括: 当所述目的交换机的组播组成员端口列表中不存在所述组播组的成员端口号时,判断 所述目的交换机是否为所述组播路径中的末端交换机;当所述目的交换机为所述组播路径 中的末端交换机时,从所述组播路径中删除所述目的交换机。
6. -种组播业务报文处理装置,应用于软件定义网络SDN中的控制器,其特征在于,该 装置包括: 接收单元,用于接收源交换机上送的流表项请求报文,所述流表项请求报文中携带源 主机发送的组播业务报文; 获取单元,用于从所述组播业务报文中获取组播组的网际协议IP地址; 确定单元,用于根据所述组播组的IP地址,确定所述组播组的目的交换机; 计算单元,用于根据所述源交换机的位置信息与所述组播组的目的交换机的位置信息 计算所述组播业务报文的组播路径; 下发单元,用于向所述组播路径中的交换机下发流表项,W使所述组播路径中的交换 机按照所述流表项处理所述组播业务报文。
7. 如权利要求6所述的装置,其特征在于,所述计算单元,包括: 第一路径计算模块,用于根据所述源交换机的位置信息与第一目的交换机的位置信息 计算得到第一单播路径,将所述第一单播路径作为中间组播路径,所述第一目的交换机为 所述组播组中首个进行组播路径计算的交换机; 中间路径计算模块,用于执行如下中间组播路径计算操作;从所述组播组中顺序获取 一个未参与组播路径计算的第二目的交换机,根据中间组播路径中的每一个交换机的位置 信息分别与获取的第二目的交换机的位置信息计算第二单播路径,从计算得到的第二单播 路径中选择路径最短的第二单播路径和中间组播路径组成新的中间组播路径; 组播路径确定模块,用于判断所述组播组中的每一个目的交换机是否均已参与所述中 间组播路径计算操作,若是,则将最后一个中间组播路径作为所述组播路径;否则,返回所 述执行中间组播路径计算操作。
8. 如权利要求6所述的装置,其特征在于,所述装置还包括: 所述接收单元,还用于接收所述目的交换机发送的组播组成员报文,所述组播组成员 报文携带目的主机发送的组播组加入报文; 所述获取单元,还用于从所述组播组加入报文中获取所述组播组的IP地址; 添加单元,用于根据所述组播组的IP地址将所述目的交换机的标识添加到所述组播 组的成员列表中; 所述确定单元,具体用于根据所述组播组的IP地址,查询所述组播组的成员列表;从 所述组播组成员列表中获取所述组播组的目的交换机的标识,W确定所述组播组的目的交 换机。
9. 如权利要求8所述的装置,其特征在于,所述装置还包括: 所述获取单元,还用于从所述组播组成员报文中获取所述目的交换机的成员端口的成 员端口号,所述成员端口为接收到所述组播组加入报文的端口; 所述添加单元,还用于将所述组播组的IP地址与所述成员端口号的对应关系添加到 所述目的交换机的组播组成员端口列表中; 所述计算单元,还用于根据所述组播组的IP地址,从所述组播组成员端口列表中获取 所述成员端口号;根据所述成员端口号确定所述组播业务报文在所述目的交换机上的出端 n。
10.如权利要求9所述的装置,其特征在于,所述装置还包括: 删除单元,用于当所述目的交换机的组播组成员端口列表中不存在所述组播组的成员 端口号时,判断所述目的交换机是否为所述组播路径中的末端交换机;当所述目的交换机 为所述组播路径中的末端交换机时,从所述组播路径中删除所述目的交换机。
【文档编号】H04L12/761GK104468371SQ201410714240
【公开日】2015年3月25日 申请日期:2014年11月28日 优先权日:2014年11月28日
【发明者】宋小恒, 王 锋 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1