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

文档序号:8475061阅读:来源:国知局
第一 OpenFlow网络设备上送的组播数据,其中,所述第 一 OpenFlow网络设备从与其对应的组播源设备接收所述组播数据;维护模块,用于从所 述组播数据中解析出组播目的地址,并在本OpenFlow控制器上没有维护所述组播目的地 址对应的组播表项时,创建所述组播目的地址对应的组播表项;发送模块,用于向所述第一 OpenFlow网络设备发送携带所述组播目的地址的第一流表项,且所述第一流表项用于指示 所述第一 OpenFlow网络设备丢弃收到的目的IP地址为所述组播目的地址的组播数据。
[0016] 所述发送模块,还用于向所述组播源设备对应的第一 OpenFlow网络设备发送第 二流表项;其中,所述第一流表项的优先级高于所述第二流表项的优先级,且所述第二流表 项用于指示所述第一 OpenFlow网络设备将目的IP地址为组播地址的组播数据发送给所述 OpenFlow控制器。
[0017] 所述维护模块,具体用于将第一 OpenFlow网络设备收到所述组播数据的端口作 为第一入端口,并利用所述组播目的地址、第一 OpenFlow网络设备和第一入端口创建所述 组播目的地址对应的组播表项;其中,所述组播表项中记录的内容包括所述第一 OpenFlow 网络设备、组播目的地址、第一入端口。
[0018] 所述维护模块,进一步用于为所述组播表项启动第一老化定时器;在所述第一老 化定时器超时之前,如果收到目的IP地址为所述组播目的地址的组播数据,则刷新所述组 播数据对应的组播表项的第一老化定时器的老化时间,并指示所述第一 OpenFlow网络设 备清除所述第三流表项;在所述第一老化定时器超时时,删除所述第一老化定时器对应的 所述组播表项;所述发送模块,还用于在所述第一老化定时器超时之前的预设时间时,向所 述第一 OpenFlow网络设备发送携带所述组播目的地址的第三流表项;其中,所述第三流表 项的优先级高于所述第一流表项的优先级,且所述第三流表项用于指示所述第一 OpenFlow 网络设备将收到的目的IP地址为所述组播目的地址的组播数据发送给所述OpenFlow控制 器。
[0019] 所述发送模块,还用于向所述接收者设备对应的第二OpenFlow网络设备发送第 四流表项以及第五流表项;其中,所述第四流表项用于指示所述第二OpenFlow网络设备向 所述接收者设备发送Internet组管理协议IGMP通用查询报文,所述第五流表项用于指示 所述第二OpenFlow网络设备将来自所述接收者设备的IGMP加入报文发送给所述OpenFlow 控制器;所述接收模块,还用于接收来自所述第二OpenFlow网络设备的IGMP加入报文,所 述IGMP加入报文中携带了接收者设备请求加入的组播目的地址;所述维护模块,还用于 从所述IGMP加入报文中解析出所述接收者设备请求加入的组播目的地址,并将所述第二 OpenFlow网络设备收到所述IGMP加入报文的端口作为第二入端口,并利用所述组播目的 地址、第二OpenFlow网络设备和第二入端口创建所述组播目的地址对应的组播加入表项; 其中,所述组播加入表项中记录的内容包括所述第二OpenFlow网络设备、组播目的地址、 第二入端口。
[0020] 所述维护模块,进一步用于为所述组播加入表项启动第二老化定时器,且为所述 第四流表项启动周期发送定时器;所述发送模块,还用于在所述周期发送定时器超时时,重 新向所述第二OpenFlow网络设备发送第四流表项,并重新启动所述周期发送定时器;所述 维护模块,进一步用于在所述第二老化定时器超时之前,如果收到用于请求加入所述组播 目的地址的IGMP加入报文,则刷新所述IGMP加入报文对应的组播加入表项的第二老化定 时器的老化时间;在所述第二老化定时器超时时,删除所述第二老化定时器对应的所述组 播加入表项。
[0021] 所述发送模块,还用于根据所述组播表项和组播加入表项,获得所述组播源设备 发送组播数据到所述接收者设备的转发路径,确定所述转发路径中各OpenFlow网络设备, 向所述转发路径中的各OpenFlow网络设备下发对应的流表项,以指导各OpenFlow网络设 备基于相应的流表项对所述组播数据进行转发。
[0022] 所述维护模块,还用于利用所述组播表项和组播加入表项生成组播转发表项,所 述组播转发表项包括组播目的地址、第一 OpenFlow网络设备、第一入端口、第二OpenFlow 网络设备、第二入端口、所述第一 OpenFlow网络设备与第二OpenFlow网络设备之间经过的 各OpenFlow网络设备以及端口;
[0023] 所述发送模块,进一步用于利用所述组播转发表项获得所述组播源设备发送组播 数据到所述接收者设备的转发路径,并向所述转发路径中的各OpenFlow网络设备下发对 应的流表项,以指导各OpenFlow网络设备基于相应的流表项对所述组播数据进行转发。
[0024] 与现有技术相比,本发明实施例至少具有以下优点:本发明实施例中,在没有接收 者设备相关信息的情况下,OpenFlow控制器能够生成组播源设备发送的组播数据中携带的 组播目的地址对应的组播表项,并向组播源设备对应的第一 OpenFlow网络设备发送携带 该组播目的地址的第一流表项,以通过第一流表项指导第一 OpenFlow网络设备丢弃收到 的目的IP地址为该组播目的地址的所有组播数据,从而避免第一 OpenFlow网络设备将所 有的组播数据均转发到OpenFlow控制器进行处理,提高了 OpenFlow控制器的处理性能。
【附图说明】
[0025] 图1是现有技术中OpenFlow网络的组网示意图;
[0026] 图2是本发明实施例的应用场景示意图
[0027] 图3和图4是本发明实施例提供的一种组播数据传输方法流程示意图;
[0028] 图5是本发明实施例提供的一种OpenFlow控制器的结构示意图。
【具体实施方式】
[0029] 针对现有技术中存在的问题,本发明实施例提供一种组播数据传输方法,该方 法应用于包括OpenFlow控制器、OpenFlow网络设备、组播源设备以及接收者设备的网络 中,以图2为本发明实施例的应用场景示意图,OpenFlow网络设备1和组播源设备连接, OpenFlow网络设备2和接收者设备连接。
[0030] 如图3所示,本发明实施例中提出的组播数据传输方法包括以下步骤:
[0031] 步骤301,OpenFlow控制器接收第一 OpenFlow网络设备上送的组播数据,并从该 组播数据中解析出组播目的地址,其中,所述第一 OpenFlow网络设备从与其对应的组播源 设备接收所述组播数据。
[0032] 步骤302,在OpenFlow控制器上没有维护该组播目的地址对应的组播表项时, OpenFlow控制器创建该组播目的地址对应的组播表项。
[0033] 步骤303, OpenFlow控制器向第一 OpenFlow网络设备发送携带该组播目的地址的 第一流表项;其中,该第一流表项用于指示该第一 OpenFlow网络设备丢弃收到的目的IP地 址为该组播目的地址的组播数据。
[0034] OpenFlow控制器通过向第一 OpenFlow网络设备发送第一流表项,以通过第一流 表项指导第一 OpenFlow网络设备丢弃收到的目的IP地址为相应组播目的地址的组播数 据,从而在没有接收者设备相关信息,也即没有组播用户加入组播源的情况下,OpenFlow 控制器会在第一 OpenFlow网络设备上下发第一流表项,使得第一 OpenFlow网络设备在收 到组播数据时,基于第一流表项丢弃收到的目的IP地址为相应组播目的地址的组播数据, 避免第一 OpenFlow网络设备将所有组播数据均转发到OpenFlow控制器进行处理,提高了 OpenFlow控制器的处理性能。
[0035] 以下结合图2所示的应用场景,对本发明实施例提出的组播数据传输方法进行进 一步的说明。如图4所示,该组播数据传输方法包括以下步骤:
[0036] 步骤401,0penFlow控制器向组播源设备对应的第一 OpenFlow网络设备发送第二 流表项;其中,该第二流表项用于指示第一 OpenFlow网络设备将目的IP地址为组播地址的 组播数据发送给OpenFlow控制器。
[0037] 在存在组播源设备和接收者设备的OpenFlow网络中,OpenFlow控制器通 过OpenFlow通道分别与所有的OpenFlow网络设备连接,且OpenFlow控制器能够获知 OpenFlow网络的拓扑情况,基于此,OpenFlow控制器可以向所有边缘的OpenFlow网络设 备发送第二流表项;由于这些边缘的OpenFlow网络设备中包括组播源设备对应的第一 OpenFlow网络设备,因此第一 OpenFlow网络设备能够收到来自OpenFlow控制器的第二流 表项。
[0038] 在图2所示的应用场景下,与
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1