一种组播数据传输方法和设备的制造方法

文档序号:8475061阅读:218来源:国知局
一种组播数据传输方法和设备的制造方法
【技术领域】
[0001] 本发明涉及通信技术领域,尤其涉及一种组播数据传输方法和设备。
【背景技术】
[0002] OpenFlow作为新型网络交换模型,是SDN (Software Defined Network,软件定义 网络)架构中定义的一个控制器与转发层之间的通信接口标准,其基本思想具体为:分离控 制平面和数据平面,二者之间使用标准协议通信,且数据平面采用基于流的方式进行转发。 如图1所示,为OpenFlow网络的组网示意图,在OpenFlow网络中,具体包括OpenFlow网络 设备(如 OpenFlow 交换机)、OpenFlow 控制器(OpenFlow Controller)以及 OpenFlow 通道 等。
[0003] 其中,OpenFlow通道位于OpenFlow网络设备和OpenFlow控制器之间,通过预先配 置的安全通道(基于SSL (Secure Sockets Layer,安全套接层))进行安全通信。OpenFlow 控制器为OpenFlow网络的控制中心,其可能运行实验程序或第三方开发软件,并用于对流 表进行操作,根据用户配置或者动态运行协议生成流表,并将流表发送到OpenFlow网络设 备。OpenFlow网络设备用于接收OpenFlow控制器下发的流表,并根据流表指导报文处理; 其中,流表中包含一系列用于匹配报文的流表项,对于进入OpenFlow网络设备的报文需要 进行流表项的匹配;如果匹配成功则进行相应动作处理,如转发到多个端口或者丢弃;如 果匹配不成功则通过OpenFlow通道转发到OpenFlow控制器,由OpenFlow控制器进行处 理;另一方面,OpenFlow网络设备主动向OpenFlow控制器上报自身的状态和事件,如端口 UP (正常)/DOWN (故障)。
[0004] 例如,OpenFlow控制器在OpenFlow网络设备上创建流表项如下:[目的 IP5. 6. 7. 8,转发至portl];基于此流表项,OpenFlow网络设备在收到目的IP地址为 5. 6. 7. 8的数据流量时,能够匹配到上述流表项,并将数据流量转发至portl。
[0005] 现有技术中,对于组播数据,OpenFlow控制器会在OpenFlow网络设备上创建流 表项,该流表项中存在组播源设备相关信息以及接收者设备相关信息,在没有接收者设 备相关信息的情况下,OpenFlow控制器不会在OpenFlow网络设备上下发流表项,此时, OpenFlow网络设备在收到组播数据时,无法匹配到对应的流表项,OpenFlow网络设备需要 通过OpenFlow通道将收到的组播数据均转发到OpenFlow控制器,所有组播数据均转发到 OpenFlow控制器进行处理,对OpenFlow控制器造成较大的冲击,降低了 OpenFlow控制器的 处理性能。

【发明内容】

[0006] 本发明实施例提供一种组播数据传输方法和设备,以避免将所有的组播数据均转 发到OpenFlow控制器进行处理,提高OpenFlow控制器的处理性能。
[0007] 为了达到上述目的,本发明实施例提供一种组播数据传输方法,应用于包括 OpenFlow控制器、OpenFlow网络设备、组播源设备以及接收者设备的网络中,所述方法包 括:所述OpenFlow控制器接收第一 OpenFlow网络设备上送的组播数据,并从所述组播数据 中解析出组播目的地址,其中,所述第一 OpenFlow网络设备从与其对应的组播源设备接收 所述组播数据;在所述OpenFlow控制器上没有维护所述组播目的地址对应的组播表项时, 所述OpenFlow控制器创建所述组播目的地址对应的组播表项;所述OpenFlow控制器向所 述第一 OpenFlow网络设备发送携带所述组播目的地址的第一流表项,且所述第一流表项 用于指示所述第一 OpenFlow网络设备丢弃收到的目的IP地址为所述组播目的地址的组播 数据。
[0008] 所述OpenFlow控制器接收第一 OpenFlow网络设备上送的组播数据之前,所述方 法还包括:所述OpenFlow控制器向所述组播源设备对应的第一 OpenFlow网络设备发送第 二流表项;其中,所述第一流表项的优先级高于所述第二流表项的优先级,且所述第二流表 项用于指示所述第一 OpenFlow网络设备将目的IP地址为组播地址的组播数据发送给所述 OpenFlow控制器。
[0009] 所述OpenFlow控制器创建所述组播目的地址对应的组播表项的过程,具体包括: OpenFlow控制器将所述第一 OpenFlow网络设备收到所述组播数据的端口作为第一入端 口,并利用所述组播目的地址、第一 OpenFlow网络设备和第一入端口创建所述组播目的地 址对应的组播表项;其中,所述组播表项中记录的内容包括所述第一 OpenFlow网络设备、 组播目的地址、第一入端口。
[0010] 所述方法进一步包括:所述OpenFlow控制器为所述组播表项启动第一老化定 时器;在所述第一老化定时器超时之前的预设时间时,所述OpenFlow控制器向所述第一 OpenFlow网络设备发送携带所述组播目的地址的第三流表项;其中,所述第三流表项的优 先级高于所述第一流表项的优先级,且所述第三流表项用于指示所述第一 OpenFlow网络 设备将收到的目的IP地址为所述组播目的地址的组播数据发送给所述OpenFlow控制器; 在所述第一老化定时器超时之前,如果所述OpenFlow控制器收到目的IP地址为所述组播 目的地址的组播数据,所述OpenFlow控制器刷新所述组播数据对应的组播表项的第一老 化定时器的老化时间,并指示所述第一 OpenFlow网络设备清除所述第三流表项;在所述第 一老化定时器超时时,所述OpenFlow控制器删除所述第一老化定时器对应的所述组播表 项。
[0011] 所述方法进一步包括:所述OpenFlow控制器向所述接收者设备对应的第二 OpenFlow网络设备发送第四流表项以及第五流表项;其中,所述第四流表项用于指示所述 第二OpenFlow网络设备向所述接收者设备发送Internet组管理协议IGMP通用查询报文, 所述第五流表项用于指示所述第二OpenFlow网络设备将来自所述接收者设备的IGMP加入 报文发送给所述OpenFlow控制器;所述OpenFlow控制器接收来自所述第二OpenFlow网 络设备的IGMP加入报文,从所述IGMP加入报文中解析出所述接收者设备请求加入的组播 目的地址,并将所述第二OpenFlow网络设备收到所述IGMP加入报文的端口作为第二入端 口,并利用所述组播目的地址、第二OpenFlow网络设备和第二入端口创建所述组播目的地 址对应的组播加入表项;其中,所述组播加入表项中记录的内容包括所述第二OpenFlow网 络设备、组播目的地址、第二入端口。
[0012] 所述方法进一步包括:所述OpenFlow控制器为所述组播加入表项启动第二老化 定时器,且所述OpenFlow控制器为所述第四流表项启动周期发送定时器;在所述周期发送 定时器超时时,所述OpenFlow控制器重新向所述第二OpenFlow网络设备发送第四流表项, 并重新启动所述周期发送定时器;在所述第二老化定时器超时之前,如果所述OpenFlow控 制器收到用于请求加入所述组播目的地址的IGMP加入报文,则所述OpenFlow控制器刷新 所述IGMP加入报文对应的组播加入表项的第二老化定时器的老化时间;在所述第二老化 定时器超时时,所述OpenFlow控制器删除所述第二老化定时器对应的所述组播加入表项。
[0013] 所述方法进一步包括:所述OpenFlow控制器根据所述组播表项和组播加入表项, 获得所述组播源设备发送组播数据到所述接收者设备的转发路径,确定所述转发路径中各 OpenFlow网络设备,向所述转发路径中的各OpenFlow网络设备下发对应的流表项,以指导 各OpenFlow网络设备基于相应的流表项对所述组播数据进行转发。
[0014] 所述OpenFlow控制器获得所述组播源设备发送组播数据到所述接收者设备的转 发路径,具体包括:所述OpenFlow控制器利用所述组播表项和组播加入表项生成组播转 发表项,所述组播转发表项包括组播目的地址、第一 OpenFlow网络设备、第一入端口、第二 OpenFlow网络设备、第二入端口、所述第一 OpenFlow网络设备与第二OpenFlow网络设备之 间经过的各OpenFlow网络设备以及端口;所述OpenFlow控制器利用所述组播转发表项获 得所述组播源设备发送组播数据到所述接收者设备的转发路径。
[0015] 本发明实施例提供一种OpenFlow控制器,应用于包括所述OpenFlow控制器、 OpenFlow网络设备、组播源设备以及接收者设备的网络中,其特征在于,所述OpenFlow控 制器具体包括:接收模块,用于接收
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1