者设备请求加入的组播目的地址,并将所述第二 OpenFlow网络设备收到所述IGMP加入报文的端口作为第二入端口,并利用所述组播目的 地址、第二OpenFlow网络设备和第二入端口创建所述组播目的地址对应的组播加入表项; 其中,所述组播加入表项中记录的内容包括所述第二OpenFlow网络设备、组播目的地址、 第二入端口。
6. 如权利要求5所述的方法,其特征在于,所述方法进一步包括: 所述OpenFlow控制器为所述组播加入表项启动第二老化定时器,且所述OpenFlow控 制器为所述第四流表项启动周期发送定时器; 在所述周期发送定时器超时时,所述OpenFlow控制器重新向所述第二OpenFlow网络 设备发送第四流表项,并重新启动所述周期发送定时器; 在所述第二老化定时器超时之前,如果所述OpenFlow控制器收到用于请求加入所述 组播目的地址的IGMP加入报文,则所述OpenFlow控制器刷新所述IGMP加入报文对应的组 播加入表项的第二老化定时器的老化时间; 在所述第二老化定时器超时时,所述OpenFlow控制器删除所述第二老化定时器对应 的所述组播加入表项。
7. 如权利要求5所述的方法,其特征在于,所述方法进一步包括: 所述OpenFlow控制器根据所述组播表项和组播加入表项,获得所述组播源设备发送 组播数据到所述接收者设备的转发路径,确定所述转发路径中各OpenFlow网络设备,向所 述转发路径中的各OpenFlow网络设备下发对应的流表项,以指导各OpenFlow网络设备基 于相应的流表项对所述组播数据进行转发。
8. 如权利要求7所述的方法,其特征在于,所述OpenFlow控制器获得所述组播源设备 发送组播数据到所述接收者设备的转发路径,具体包括: 所述OpenFlow控制器利用所述组播表项和组播加入表项生成组播转发表项,所述组 播转发表项包括组播目的地址、第一OpenFlow网络设备、第一入端口、第二OpenFlow网络 设备、第二入端口、所述第一OpenFlow网络设备与第二OpenFlow网络设备之间经过的各 OpenFlow网络设备以及端口; 所述OpenFlow控制器利用所述组播转发表项获得所述组播源设备发送组播数据到所 述接收者设备的转发路径。 9?一种OpenFlow控制器,应用于包括所述OpenFlow控制器、OpenFlow网络设备、组播 源设备以及接收者设备的网络中,其特征在于,所述OpenFlow控制器具体包括: 接收模块,用于接收第一OpenFlow网络设备上送的组播数据,其中,所述第一OpenFlow网络设备从与其对应的组播源设备接收所述组播数据; 维护模块,用于从所述组播数据中解析出组播目的地址,并在本OpenFlow控制器上没 有维护所述组播目的地址对应的组播表项时,创建所述组播目的地址对应的组播表项; 发送模块,用于向所述第一OpenFlow网络设备发送携带所述组播目的地址的第一流 表项,且所述第一流表项用于指示所述第一OpenFlow网络设备丢弃收到的目的IP地址为 所述组播目的地址的组播数据。
10.如权利要求9所述的OpenFlow控制器,其特征在于, 所述发送模块,还用于向所述组播源设备对应的第一OpenFlow网络设备发送第二流 表项;其中,所述第一流表项的优先级高于所述第二流表项的优先级,且所述第二流表项 用于指示所述第一OpenFlow网络设备将目的IP地址为组播地址的组播数据发送给所述 OpenFlow控制器。
11. 如权利要求9所述的OpenFlow控制器,其特征在于, 所述维护模块,具体用于将第一OpenFlow网络设备收到所述组播数据的端口作为第 一入端口,并利用所述组播目的地址、第一OpenFlow网络设备和第一入端口创建所述组播 目的地址对应的组播表项;其中,所述组播表项中记录的内容包括所述第一OpenFlow网络 设备、组播目的地址、第一入端口。
12. 如权利要求9、10或11所述的OpenFlow控制器,其特征在于, 所述维护模块,进一步用于为所述组播表项启动第一老化定时器;在所述第一老化定 时器超时之前,如果收到目的IP地址为所述组播目的地址的组播数据,则刷新所述组播数 据对应的组播表项的第一老化定时器的老化时间,并指示所述第一OpenFlow网络设备清 除所述第三流表项;在所述第一老化定时器超时时,删除所述第一老化定时器对应的所述 组播表项; 所述发送模块,还用于在所述第一老化定时器超时之前的预设时间时,向所述第一OpenFlow网络设备发送携带所述组播目的地址的第三流表项;其中,所述第三流表项的优 先级高于所述第一流表项的优先级,且所述第三流表项用于指示所述第一OpenFlow网络 设备将收到的目的IP地址为所述组播目的地址的组播数据发送给所述OpenFlow控制器。
13. 如权利要求9、10或11所述的OpenFlow控制器,其特征在于, 所述发送模块,还用于向所述接收者设备对应的第二OpenFlow网络设备发送第四流 表项以及第五流表项;其中,所述第四流表项用于指示所述第二OpenFlow网络设备向所述 接收者设备发送Internet组管理协议IGMP通用查询报文,所述第五流表项用于指示所述 第二OpenFlow网络设备将来自所述接收者设备的IGMP加入报文发送给所述OpenFlow控 制器; 所述接收模块,还用于接收来自所述第二OpenFlow网络设备的IGMP加入报文,所述IGMP加入报文中携带了接收者设备请求加入的组播目的地址; 所述维护模块,还用于从所述IGMP加入报文中解析出所述接收者设备请求加入的组 播目的地址,并将所述第二OpenFlow网络设备收到所述IGMP加入报文的端口作为第二入 端口,并利用所述组播目的地址、第二OpenFlow网络设备和第二入端口创建所述组播目的 地址对应的组播加入表项;其中,所述组播加入表项中记录的内容包括所述第二OpenFlow 网络设备、组播目的地址、第二入端口。
14. 如权利要求13所述的OpenFlow控制器,其特征在于, 所述维护模块,进一步用于为所述组播加入表项启动第二老化定时器,且为所述第四 流表项启动周期发送定时器; 所述发送模块,还用于在所述周期发送定时器超时时,重新向所述第二OpenFlow网络 设备发送第四流表项,并重新启动所述周期发送定时器; 所述维护模块,进一步用于在所述第二老化定时器超时之前,如果收到用于请求加入 所述组播目的地址的IGMP加入报文,则刷新所述IGMP加入报文对应的组播加入表项的第 二老化定时器的老化时间;在所述第二老化定时器超时时,删除所述第二老化定时器对应 的所述组播加入表项。
15. 如权利要求13所述的OpenFlow控制器,其特征在于, 所述发送模块,还用于根据所述组播表项和组播加入表项,获得所述组播源设备发送 组播数据到所述接收者设备的转发路径,确定所述转发路径中各OpenFlow网络设备,向所 述转发路径中的各OpenFlow网络设备下发对应的流表项,以指导各OpenFlow网络设备基 于相应的流表项对所述组播数据进行转发。
16. 如权利要求15所述的OpenFlow控制器,其特征在于, 所述维护模块,还用于利用所述组播表项和组播加入表项生成组播转发表项,所述组 播转发表项包括组播目的地址、第一OpenFlow网络设备、第一入端口、第二OpenFlow网络 设备、第二入端口、所述第一OpenFlow网络设备与第二OpenFlow网络设备之间经过的各 OpenFlow网络设备以及端口; 所述发送模块,进一步用于利用所述组播转发表项获得所述组播源设备发送组播数据 到所述接收者设备的转发路径,并向所述转发路径中的各OpenFlow网络设备下发对应的 流表项,以指导各OpenFlow网络设备基于相应的流表项对所述组播数据进行转发。
【专利摘要】本发明公开了一种组播数据传输方法和设备,该方法包括:OpenFlow控制器接收第一OpenFlow网络设备上送的组播数据,并从所述组播数据中解析出组播目的地址;在所述OpenFlow控制器上没有维护所述组播目的地址对应的组播表项时,所述OpenFlow控制器创建所述组播目的地址对应的组播表项;所述OpenFlow控制器向所述第一OpenFlow网络设备发送携带所述组播目的地址的第一流表项,且所述第一流表项用于指示所述第一OpenFlow网络设备丢弃收到的目的IP地址为所述组播目的地址的组播数据。本发明实施例中,可以避免第一OpenFlow网络设备将所有组播数据转发到OpenFlow控制器,提高OpenFlow控制器的处理性能。
【IPC分类】H04L12-741, H04L12-761
【公开号】CN104796340
【申请号】CN201410029674
【发明人】王海, 王伟, 樊超
【申请人】杭州华三通信技术有限公司
【公开日】2015年7月22日
【申请日】2014年1月22日