CN105814838B - 一种软件定义网络的多播方法、装置及系统 - Google Patents
一种软件定义网络的多播方法、装置及系统 Download PDFInfo
- Publication number
- CN105814838B CN105814838B CN201480066067.3A CN201480066067A CN105814838B CN 105814838 B CN105814838 B CN 105814838B CN 201480066067 A CN201480066067 A CN 201480066067A CN 105814838 B CN105814838 B CN 105814838B
- Authority
- CN
- China
- Prior art keywords
- multicast
- group
- sdn controller
- sdn
- sending device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/185—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/48—Routing tree calculation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5069—Address allocation for group communication, multicast communication or broadcast communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1046—Joining mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种软件定义网络的多播方法、装置及系统,该方法包括:多播发送设备创建多播组;多播发送设备管理多播组成员;设置在多播发送设备或软件定义网络SDN控制器的多播路由树管理服务模块完成多播路由树的规划,将多播路由树的规划转换为SDN控制器可执行的流表项修改指令,以使得SDN控制器执行流表项修改指令,并通过南向应用程序编程接口API指令SDN交换机根据修改后的流表项执行多播任务。本发明的实施例通过多播发送设备和SDN网络的相互配合完成多播,极大降低了多播配置的复杂度,同时可以降低网络的建设成本。
Description
技术领域
本发明实施例涉及通信业务领域,具体涉及一种软件定义网络的多播方法、装置及系统。
背景技术
多播技术是一台主机一次性发送单一数据包到多台特定主机的网络技术。多播是互联网的基本通讯模式之一,作为单点对多点的通信,也是节省网络带宽的非常有效的方法。
多点视频会议系统是常见的多播技术应用场景,视频会议系统的多点控制单元(Multipoint Control Unit,MCU)可以看作是一种特殊用途的服务器。在多方会议中,各个会议参与方都与MCU连接。音视频发送设备把自己的音视频流发送给MCU,MCU把音视频流复制后,分发给各个接收设备。因此,音视频发送设备只需发送一份音视频流即可。MCU完成会议各方的星形或树形组网,某种意义上,MCU同时可以看作是针对视频会议业务的、具备特殊功能的交换机。利用MCU实现多点视频会议系统的缺点在于,MCU组网需要大量的专用设备,组网成本较高,并且网络拓展不方便。
发明内容
本发明实施例的目的是提供一种在软件定义网络(Software Defined Network,SDN)中实现组网成本较低而且拓展方便的多播方法、装置及系统。
第一方面,提供一种软件定义网络的多播方法,包括以下步骤:
多播发送设备创建多播组;
多播发送设备管理多播组成员;
设置在多播发送设备或软件定义网络SDN控制器的多播路由树管理服务模块完成多播路由树的规划,将多播路由树的规划转换为SDN控制器可执行的流表项修改指令,以使得SDN控制器执行流表项修改指令,并通过南向应用程序编程接口API指令SDN交换机根据修改后的流表项执行多播任务。
结合第一方面,在第一方面的第一种可能的实现方式中,所述多播发送设备创建多播组的步骤具体为:
多播发送设备的组管理服务模块通过SDN控制器的北向API向SDN控制器申请多播IP或SDN控制器自己定义的组ID;
接收SDN控制器通过北向API返回的多播IP或者SDN控制器自己定义的组ID。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述多播发送设备管理多播组成员的步骤具体为:
多播发送设备的组管理服务模块接收多播接收设备发送的加入多播组的申请;
组管理服务模块获取多播接收设备的公网IP地址;
组管理服务模块获取多播接收设备的在线状态信息,并根据在线状态信息维护多播接收设备的信息。
结合第一方面以及第一方面的第一种至第二种中的任一种可能的实现方式,在第一方面的第三种可能的实现方式中,在所述多播路由树管理服务模块完成多播路由树的规划的步骤之后,进一步包括:
当多播路由树管理服务模块设置在多播发送设备时,多播路由树管理服务模块通过SDN控制器的北向API将流表项修改指令发送给SDN控制器。
结合第一方面的第二种可能,在第一方面的第四种可能的实现方式中,所述组管理服务模块接收多播接收设备发送的加入多播组的申请的步骤具体为:组管理服务模块接收多播接收设备直接或者通过信令服务器间接发送的加入多播组的申请;
所述组管理服务模块获取多播接收设备的公网IP地址的步骤具体为:当多播接收设备具有公网IP地址时,多播接收设备直接将自己的公网IP地址发送给组管理服务模块;或者当多播接收设备没有公网IP地址时,多播接收设备通过NAT服务器获取自己的公网IP地址和端口,并通过信令服务器发送给组管理服务模块。
第二方面,提供一种SDN网络的应用端,其特征在于,包括:
组管理服务模块,用于创建多播组并对创建的多播组成员进行管理;
多播路由树管理服务模块,用于根据所述多播组完成多播路由树的规划,然后将多播路由树的规划转换为SDN控制器可执行的流表项修改指令,以使得SDN控制器执行流表项修改指令,并通过南向应用程序编程接口API指令SDN交换机根据修改后的流表项执行多播任务。
结合第二方面,在第二方面的第一种可能的实现方式中,所述创建多播组具体为:
组管理服务模块通过SDN控制器的北向API向SDN控制器申请多播IP或SDN控制器自己定义的组ID;
接收SDN控制器通过北向API返回的多播IP或者SDN控制器自己定义的组ID。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二
种可能的实现方式中,所述对创建的多播组成员进行管理具体为:
组管理服务模块接收多播接收设备发送的加入多播组的申请;
组管理服务模块获取所述加入多播组的多播接收设备的公网IP地址;
组管理服务模块获取所述加入多播组的多播接收设备的在线状态信息,并根据在线状态信息维护多播接收设备的信息。
第三方面,提供一种SDN控制器,其特征在于,包括:
接收单元,用于接收多播发送设备发送的申请多播IP或SDN控制器自己定义的组ID的请求;
发送单元,用于向多播发送设备发送多播IP或者SDN控制器自己定义的组ID,以及向SDN交换机发送流表项;
多播路由树管理服务模块,用于获取网络中现有的单播路由信息,并根据所述单播路由信息完成多播路由树的规划,然后将所述多播路由树的规划转换为SDN控制器可执行的流表项修改指令,以使得SDN控制器根据所述指令修改流表项,并通过所述发送单元向SDN交换机发送流表项。
第四方面,提供一种SDN网络的多播系统,其特征在于,包括:
多播发送设备,进一步包括组管理服务模块,用于创建多播组;
多播路由树管理服务模块,设置在所述多播发送设备或SDN控制器,用于根据所述多播组完成多播路由树的规划;
SDN控制器,用于通过API指令SDN交换机执行多播任务;
SDN交换机,用于根据SDN控制器的指令执行多播任务;
多播接收设备,用于接收多播发送设备发送的数据。
结合第四方面,在第四方面的第一种可能的实现方式中,所述创建多播组具体为:
多播发送设备的组管理服务模块通过SDN控制器的北向API向SDN控制器申请多播IP或SDN控制器自己定义的组ID;
接收SDN控制器通过北向API返回的多播IP或者SDN控制器自己定义的组ID。
结合第四方面或第四方面的第一种可能的实现方式,在第五方面的第二种可能的实现方式中,所述根据所述多播路由树管理服务模块还用于:将多播路由树的规划转换为SDN控制器可执行的流表项修改指令。
结合第四方面以及第四方面的第一种至第二种中的任一种可能的实现方式,在第四方面的第三种可能的实现方式中,还包括:信令服务器,用于多播接收设备通过信令服务器间接向应用端的组管理服务模块发出加入多播组的申请。
结合第四方面以及第四方面的第一种至第三种中的任一种可能的实现方式,在第四方面的第四种可能的实现方式中,还包括:NAT服务器,用于当多播接收设备没有公网IP地址时,多播接收设备通过NAT服务器获取自己的公网IP地址和端口。
本发明的有益效果是:应用端完成多播组的创建和管理,SDN控制器根据多播路由树的规划,通过API指令SDN交换机执行多播任务。通过应用端和SDN网络的相互配合完成多播,极大降低了多播配置的复杂度。另外,本发明不需要另外部署专门的MCU,就能够实现音视频会议,可以显著降低网络成本。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例的SDN网络的多播系统的架构示意图;
图2是本发明实施例的第一应用端的组成示意图;
图3是本发明实施例的多播路由树管理服务模块的组成示意图;
图4是本发明实施例的SDN控制器的组成示意图;
图5是本发明实施例的流程图;
图6是本发明实施例的网元交互的流程示意图;
图7是本发明的第二实施例的示意图;
图8是本发明的第三实施例的示意图;
图9是本发明的第四实施例的示意图。
具体实施方式
参阅图1,本发明实施例的一种软件定义网络(Software Defined Network,SDN)的多播系统,包括第一会议服务器或应用端、SDN设备、信令服务器、NAT服务器以及第二会议服务器或应用端、第三会议服务器或应用端、第N会议服务器或应用端。其中,第一会议服务器或应用端为多播发送设备,第二会议服务器或应用端、第三会议服务器或应用端和第N会议服务器或应用端为多播接收设备,多播发送设备发送的数据经过SDN设备复制,然后转发给若干个多播接收设备。
如图2所示,第一应用端进一步包括组管理服务模块和多播路由树管理服务模块。组管理服务模块用于根据申请的多播IP或SDN控制器自己定义的组ID创建多播组,并对多播组的成员进行管理,包括多播组成员的加入和退出、多播组成员的在线状态的维护等。当然,组管理服务模块的功能也可以由专门的服务器完成。
如图3所示,多播路由树管理服务模块进一步包括单播路由获取单元、多播路由树规划单元以及转换单元。其中,单播路由获取单元,用于获取网络中现有的单播路由信息;多播路由树规划单元,用于根据所述单播路由信息完成多播路由树的规划;转换单元,用于将多播路由树的规划转换为SDN控制器执行的流表项修改指令。
多播路由树管理服务模块通过SDN控制器的北向API(Application ProgrammingInterface,应用程序编程接口),把流表项修改指令发送给SDN控制器。当然,多播路由树管理服务模块也可以设置在SDN控制器或其它服务器完成。
SDN设备包括SDN控制器和SDN交换机,如图4所示,SDN控制器进一步包括:接收单元,用于接收多播发送设备发送的申请多播IP或SDN控制器自己定义的组ID的请求;发送单元,用于向多播发送设备发送多播IP或者SDN控制器自己定义的组ID,以及向SDN交换机发送流表项。SDN控制器可以执行流表项(Flow Table,“流表项”与现有交换机的“路由表项”的功能类似)修改指令,并通过南向API向SDN交换机发送流表项,指令SDN交换机按照修改后的流表项执行数据转发任务。同时,SDN控制器还向第一应用端开放北向API,使得应用端可以通过北向API调用SDN控制器的服务。SDN交换机是按照流表项进行数据转发的交换机。
信令服务器,分别连接第一会议服务器或应用端(多播发送设备)与第N会议服务器或应用端(多播接收设备),用于多播发送设备和多播接收设备之间传递信令,NAT(Network Address Translation,网络地址转换)服务器则可以把局域网IP地址转换成公网IP地址。多播接收设备可以在公网或局域网内,局域网内的多播接收设备经过代理服务器向外发送信息时,代理服务器会把多播接收设备的客户端的通信端口映射到自己的某个公网IP地址和端口,NAT服务器则可以找出映射后的公网IP地址和端口。之后,多播发送设备向多播接收设备的经过代理服务器映射后的公网IP地址和端口发送数据即可。
请结合参照图5及图6,本发明实施例的SDN网络的多播方法主要包括以下步骤:
S102,创建多播组,具体包括:设置在多播发送设备(应用端或会议服务器)的组管理服务模块通过SDN控制器的北向API向SDN控制器申请多播IP或SDN控制器自己定义的组ID(Identification);SDN控制器通过北向API向组管理服务模块返回多播IP或者SDN控制器自己定义的组ID。
S104,管理多播组成员,具体包括:
(1)、多播发送设备的组管理服务模块直接或者通过信令服务器间接地接收多播接收设备发送的加入多播组的申请,然后同意或者拒绝该申请;
例如,IPTV(Internet Protocol Television,网络协定电视)是一种服务器端到客户端的多播通信,服务器具有公网IP地址。组成员管理服务模块设置在服务器端,客户端作为多播接收设备通过http协议和服务器端的组成员管理服务模块直接传输信令,因此不需要信令服务器和NAT服务器。
(2)、组管理服务模块获取加入多播组的多播接收设备的公网IP地址,具体为:当多播接收设备具有公网IP地址时,多播接收设备直接将自己的公网IP地址发送给组管理服务模块;当多播接收设备没有公网IP地址时,例如,基于Web RTC(Web Real-TimeCommunication)的多方会议是客户端到客户端的多播通信,一般通信双方都没有公网IP地址,多播接收设备就需要通过NAT服务器获取自己的公网IP地址和端口,并通过信令服务器发送给组管理服务模块。
(3)、组管理服务模块获取加入多播组的多播接收设备的在线状态信息,并根据在线状态信息维护多播接收设备的信息。维护多播接收设备的信息具体包括成员的新增或修改,已有成员掉线、主动退出成员的删除等。
S106,规划及转换多播路由树。多播路由树是数据包从多播发送设备经过交换机传输到多播接收设备的“路径树”,多播路由树的根节点即为多播发送设备,多播路由树的多个叶子节点即各个多播接收设备。规划多播路由树具体为:设置在多播发送设备或者SDN控制器的多播路由树管理服务模块获取由多播发送设备到多播接收设备的路由路径,完成多播路由树的规划。
然后将多播路由树的规划转换为SDN控制器可执行的流表项修改指令。
当多播路由树管理服务模块设置在多播发送设备时,多播路由树管理服务模块通过SDN控制器的北向API将流表项修改指令发送给SDN控制器。
当多播路由树管理模块设置在多播发送设备时,多播路由树管理模块可以通过以下两种方法需获取SDN网络中的现有单播路由信息:(1)如图7所示,利用现有的系统接口,如tracert命令完成路由跟踪的功能,从而获取多播发送设备到多播接收设备的路由信息;如图,假设多播接收设备为10.71.146.30,则在多播发送设备执行“tracert10.71.146.30”命令,图中该命令的返回结果表明,多播发送设备依次经过10.66.92.1、10.66.0.13、10.71.255.26、10.71.255.25四跳路由,最终达到了多播接收设备10.71.146.30,因此该命令得到了由多播发送设备到达多播接收设备的完整的路由信息。(2)利用SDN控制器的北向API从SDN控制器获取。当多播路由树管理模块设置在SDN控制器时,SDN控制器可以直接获取现有单播路由信息。
另外,为了保持多播路由树信息的准确性,每次多播组成员发生变化时,都需更新多播路由树。
S108,多播数据包发送及转发,具体包括:多播发送设备向步骤S102中申请的多播IP或组ID发送数据包(或者在多播数据包中携带多播IP)。SDN控制器执行流表项修改指令,并通过南向API指令SDN交换机根据修改后的流表项执行数据转发任务,必要时可以修改数据包的内容,把数据包的多播IP修改成接收设备的IP地址。
具体的,如图8所示,SDN交换机把发向多播IP 2.2.2.100的数据包复制后发给IP地址为2.2.2.100和2.2.2.102两个接收设备客户端。本实施例需要在符合openflow1.0标准的SDN控制器上执行的流表项修改指令具体如下:
ovs-ofctl add-flow br0
idle_timeout=0,dl_type=0x0800,nw_dst=2.2.2.102,actions=mod_dl_dst:28:6e:d4:07:1a:dc,mod_nw_dst=2.2.2.102,output:4,mod_dl_dst:00:25:9e:cb:70:0d,mod_nw_dst=2.2.2.100,output:2
可选的,当多播数据包发送完成后,不再需要保留该多播组时,多播发送设备可以通知SDN控制器释放该多播IP或组ID,SDN控制器进一步指示SDN交换机还原路由规则。
请参阅图9,图9为本发明的又一个实施方式的结构示意图,SDN多播系统20包括处理器51、接收器52、发送器53、随机存取存储器54、只读存储器55、总线56以及网络接口单元57。其中,处理器51通过总线56分别耦接接收器52、发送器53、随机存取存储器54、只读存储器55以及网络接口单元57。其中,当需要运行SDN多播系统时,通过固化在只读存储器55中的基本输入输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导SDN多播系统进入正常运行状态。在SDN多播系统进入正常运行状态后,在随机存取存储器54中运行应用程序和操作系统,从网络接收数据或者向网络发送数据,使得:
接收器52,用于接收多播数据包;
处理器51,用于指令应用端创建多播组并管理多播组成员,并指令应用端或SDN控制器根据多播组完成多播路由树的规划;
发送器53,用于根据多播路由树的规划转发多播数据包。
本实施方式中,处理器51可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本申请实施方式的一个或多个集成电路。
上述技术方案,通过多播发送设备和SDN网络相互配合完成多播,极大降低了多播配置的复杂度。不仅可以实现服务器到客户端的多播,还可以实现客户端到客户端的SDN多播。另外,本发明不需要另外部署专门的MCU就可以实现音视频会议,可以显著降低网络成本。
在本申请所提供的几个实施方式中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (14)
1.一种软件定义网络的多播方法,其特征在于,包括以下步骤:
多播发送设备创建多播组;
多播发送设备管理多播组成员;
设置在多播发送设备或软件定义网络SDN控制器的多播路由树管理服务模块根据单播路由信息完成多播路由树的规划,将多播路由树的规划转换为SDN控制器可执行的流表项修改指令,以使得SDN控制器执行流表项修改指令,并通过南向应用程序编程接口API指令SDN交换机根据修改后的流表项执行多播任务。
2.根据权利要求1所述的方法,其特征在于,所述多播发送设备创建多播组的步骤包括:
多播发送设备的组管理服务模块通过SDN控制器的北向API向SDN控制器申请多播IP或SDN控制器自己定义的组ID;
接收SDN控制器通过北向API返回的多播IP或者SDN控制器自己定义的组ID。
3.根据权利要求1或2所述的方法,其特征在于,所述多播发送设备管理多播组成员的步骤包括:
多播发送设备的组管理服务模块接收多播接收设备发送的加入多播组的申请,并同意或者拒绝该申请;
组管理服务模块获取多播接收设备的公网IP地址;
组管理服务模块获取多播接收设备的在线状态信息,并根据在线状态信息维护多播接收设备的信息。
4.根据权利要求1或2所述的方法,其特征在于,在所述多播路由树管理服务模块完成多播路由树的规划的步骤之后,进一步包括:
当多播路由树管理服务模块设置在多播发送设备时,多播路由树管理服务模块通过SDN控制器的北向API将流表项修改指令发送给SDN控制器。
5.根据权利要求3所述的方法,其特征在于:
所述组管理服务模块接收多播接收设备发送的加入多播组的申请的步骤具体为:组管理服务模块接收多播接收设备直接或者通过信令服务器间接发送的加入多播组的申请;
所述组管理服务模块获取多播接收设备的公网IP地址的步骤具体为:当多播接收设备具有公网IP地址时,多播接收设备直接将自己的公网IP地址发送给组管理服务模块;或者当多播接收设备没有公网IP地址时,多播接收设备通过NAT服务器获取自己的公网IP地址和端口,并通过信令服务器发送给组管理服务模块。
6.一种SDN网络的应用端,其特征在于,包括:
组管理服务模块,用于创建多播组并对创建的多播组成员进行管理;
多播路由树管理服务模块,用于根据所述多播组和单播路由信息完成多播路由树的规划,然后将多播路由树的规划转换为SDN控制器可执行的流表项修改指令,以使得SDN控制器执行流表项修改指令,并通过南向应用程序编程接口API指令SDN交换机根据修改后的流表项执行多播任务。
7.根据权利要求6所述的应用端,其特征在于,所述创建多播组具体为:
组管理服务模块通过SDN控制器的北向API向SDN控制器申请多播IP或SDN控制器自己定义的组ID;
接收SDN控制器通过北向API返回的多播IP或者SDN控制器自己定义的组ID。
8.根据权利要求6或7所述的应用端,其特征在于,所述对创建的多播组成员进行管理具体为:
组管理服务模块接收多播接收设备发送的加入多播组的申请,并同意或者拒绝该申请;
组管理服务模块获取所述加入多播组的多播接收设备的公网IP地址;
组管理服务模块获取所述加入多播组的多播接收设备的在线状态信息,并根据在线状态信息维护多播接收设备的信息。
9.一种SDN控制器,其特征在于,包括:
接收单元,用于接收多播发送设备发送的申请多播IP或SDN控制器自己定义的组ID的请求;
发送单元,用于向多播发送设备发送多播IP或者SDN控制器自己定义的组ID,以及向SDN交换机发送流表项;
多播路由树管理服务模块,用于获取网络中现有的单播路由信息,并根据所述单播路由信息完成多播路由树的规划,然后将所述多播路由树的规划转换为SDN控制器可执行的流表项修改指令,以使得SDN控制器根据所述指令修改流表项,并通过所述发送单元向SDN交换机发送流表项。
10.一种SDN网络的多播系统,其特征在于,包括:
多播发送设备,进一步包括组管理服务模块,用于创建多播组;
多播路由树管理服务模块,设置在所述多播发送设备或SDN控制器,用于根据所述多播组和单播路由信息完成多播路由树的规划;
SDN控制器,用于通过API指令SDN交换机执行多播任务;
SDN交换机,用于根据SDN控制器的指令执行多播任务;
多播接收设备,用于接收多播发送设备发送的数据。
11.根据权利要求10所述的系统,其特征在于,所述创建多播组具体为:
多播发送设备的组管理服务模块通过SDN控制器的北向API向SDN控制器申请多播IP或SDN控制器自己定义的组ID;
接收SDN控制器通过北向API返回的多播IP或者SDN控制器自己定义的组ID。
12.根据权利要求10或11所述的系统,其特征在于:所述根据所述多播路由树管理服务模块还用于:将多播路由树的规划转换为SDN控制器可执行的流表项修改指令。
13.根据权利要求10或11所述的系统,其特征在于,还包括:
信令服务器,用于多播接收设备通过信令服务器间接向应用端的组管理服务模块发出加入多播组的申请。
14.根据权利要求10或11所述的系统,其特征在于,还包括:
NAT服务器,用于当多播接收设备没有公网IP地址时,多播接收设备通过NAT服务器获取自己的公网IP地址和端口。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2014/080609 WO2015196361A1 (zh) | 2014-06-24 | 2014-06-24 | 一种软件定义网络的多播方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105814838A CN105814838A (zh) | 2016-07-27 |
CN105814838B true CN105814838B (zh) | 2019-06-21 |
Family
ID=54936435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480066067.3A Active CN105814838B (zh) | 2014-06-24 | 2014-06-24 | 一种软件定义网络的多播方法、装置及系统 |
Country Status (7)
Country | Link |
---|---|
US (1) | US10218522B2 (zh) |
EP (1) | EP3148113B1 (zh) |
JP (1) | JP6463783B2 (zh) |
CN (1) | CN105814838B (zh) |
BR (1) | BR112016030177B1 (zh) |
RU (1) | RU2645280C1 (zh) |
WO (1) | WO2015196361A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106549793B (zh) * | 2015-09-23 | 2020-08-07 | 华为技术有限公司 | 流量控制方法及设备 |
US10264040B2 (en) * | 2016-08-03 | 2019-04-16 | Big Switch Networks, Inc. | Systems and methods to manage multicast traffic |
CN107809495B (zh) * | 2016-09-09 | 2021-06-22 | 华为技术有限公司 | 地址管理方法及装置 |
JP6885157B2 (ja) * | 2017-03-31 | 2021-06-09 | 日本電気株式会社 | 通信処理システム、ネットワーク設定方法、通信処理装置、通信処理方法および通信処理プログラム |
JP6861102B2 (ja) * | 2017-06-02 | 2021-04-21 | 日本放送協会 | データ配信装置及びプログラム |
KR102519418B1 (ko) | 2017-08-23 | 2023-04-07 | 삼성전자주식회사 | 통신 시스템에서 멀티캐스트를 위한 방법 및 장치 |
US10771336B2 (en) * | 2017-09-22 | 2020-09-08 | Futurewei Technologies, Inc. | Topology-aware controller associations in software-defined networks |
US10554500B2 (en) | 2017-10-04 | 2020-02-04 | Futurewei Technologies, Inc. | Modeling access networks as trees in software-defined network controllers |
CN109962851B (zh) * | 2017-12-25 | 2021-08-31 | 浙江宇视科技有限公司 | 一种实时控制组播源接入的方法及系统 |
CN110351194B (zh) * | 2018-04-04 | 2021-03-30 | 华为技术有限公司 | 一种组播组创建、组播组加入方法及装置 |
TWI662853B (zh) | 2018-04-20 | 2019-06-11 | 國立交通大學 | 通訊系統及通訊傳輸方法 |
US10993110B2 (en) * | 2018-07-13 | 2021-04-27 | Nvidia Corp. | Connectionless fast method for configuring Wi-Fi on displayless Wi-Fi IoT device |
CN109168050B (zh) * | 2018-09-30 | 2020-12-25 | 电子科技大学 | 一种基于sdn的视频组播方法 |
US10680842B2 (en) * | 2018-11-01 | 2020-06-09 | Vmware, Inc. | Parallel execution of services of a serial service chain on packets using multicast-based service insertion |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101087246A (zh) * | 2006-06-08 | 2007-12-12 | 中国电信股份有限公司 | 一种实现网络层组播业务及业务管理的系统与方法 |
CN101242342A (zh) * | 2007-02-05 | 2008-08-13 | 华为技术有限公司 | 组播方法及组播路由方法 |
CN103346969A (zh) * | 2013-07-05 | 2013-10-09 | 中国科学院计算机网络信息中心 | 基于OpenFlow实现动态组播生成树路径调整的方法 |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9258765B1 (en) * | 2003-05-08 | 2016-02-09 | Dynamic Mesh Networks, Inc. | Chirp networks |
JP4808368B2 (ja) * | 2003-07-23 | 2011-11-02 | 株式会社エヌ・ティ・ティ・ドコモ | マルチキャストコンテンツ配信システム及び配信制御方法 |
JP4514648B2 (ja) | 2005-05-18 | 2010-07-28 | 富士通株式会社 | 管理サーバによる情報処理方法及びルータ |
JP4809820B2 (ja) * | 2007-10-05 | 2011-11-09 | 日本電信電話株式会社 | 配信予約方法及び予約管理装置及び配信予約プログラム |
JP5364427B2 (ja) * | 2009-04-16 | 2013-12-11 | 日本電信電話株式会社 | ネットワーク接続装置とその制御方法 |
JP5465328B2 (ja) * | 2010-06-28 | 2014-04-09 | 株式会社日立国際電気 | 無線通信装置および無線通信方法 |
CN102624604B (zh) * | 2011-02-01 | 2015-01-07 | 华为技术有限公司 | 一种组播控制方法、路由设备及组播系统 |
US9167501B2 (en) * | 2011-08-29 | 2015-10-20 | Telefonaktiebolaget L M Ericsson (Publ) | Implementing a 3G packet core in a cloud computer with openflow data and control planes |
JP6123209B2 (ja) * | 2011-12-09 | 2017-05-10 | キヤノンマーケティングジャパン株式会社 | ウェブ会議システム、情報処理装置、制御方法およびプログラム |
US8711860B2 (en) * | 2011-12-22 | 2014-04-29 | Telefonaktiebolaget L M Ericsson (Publ) | Controller for flexible and extensible flow processing in software-defined networks |
WO2013145522A1 (ja) * | 2012-03-28 | 2013-10-03 | ソニー株式会社 | 情報処理装置、情報処理方法及びプログラム |
US9331938B2 (en) * | 2012-04-13 | 2016-05-03 | Nicira, Inc. | Extension of logical networks across layer 3 virtual private networks |
US9584568B2 (en) | 2012-05-09 | 2017-02-28 | Nec Corporation | Signal processing apparatus and signal processing method thereof for implementing a broadcast or a multicast communication |
US10225094B2 (en) * | 2012-05-29 | 2019-03-05 | Futurewei Technologies, Inc. | SDN facilitated multicast in data center |
US9064216B2 (en) * | 2012-06-06 | 2015-06-23 | Juniper Networks, Inc. | Identifying likely faulty components in a distributed system |
US9100289B2 (en) * | 2012-11-02 | 2015-08-04 | Juniper Networks, Inc. | Creating searchable and global database of user visible process traces |
US8855118B2 (en) * | 2012-07-30 | 2014-10-07 | Hewlett-Packard Development Company, L.P. | Source discovery for non-flooding multicast using openflow |
US8831000B2 (en) * | 2012-10-10 | 2014-09-09 | Telefonaktiebolaget L M Ericsson (Publ) | IP multicast service join process for MPLS-based virtual private cloud networking |
US8931046B2 (en) * | 2012-10-30 | 2015-01-06 | Stateless Networks, Inc. | System and method for securing virtualized networks |
US20140153443A1 (en) * | 2012-11-30 | 2014-06-05 | International Business Machines Corporation | Per-Address Spanning Tree Networks |
CN103067534B (zh) * | 2012-12-26 | 2016-09-28 | 中兴通讯股份有限公司 | 一种NAT实现系统、方法及Openflow交换机 |
US9094285B2 (en) * | 2013-01-25 | 2015-07-28 | Argela Yazilim ve Bilisim Teknolojileri San. ve Tic. A.S. | Automatic discovery of multiple controllers in Software Defined Networks (SDNs) |
US9774401B1 (en) * | 2013-07-15 | 2017-09-26 | Paul Borrill | Entangled links, transactions and trees for distributed computing systems |
US9231848B2 (en) * | 2013-11-18 | 2016-01-05 | Futurewei Technologies, Inc. | Method and system for an overlay management control network |
US9288138B2 (en) * | 2013-12-27 | 2016-03-15 | Dell Products L.P. | N-node virtual link trunking (VLT) systems and methods |
US9979564B2 (en) * | 2014-03-20 | 2018-05-22 | Cox Communications, Inc. | Virtual customer networks and decomposition and virtualization of network communication layer functionality |
US10177936B2 (en) * | 2014-03-28 | 2019-01-08 | International Business Machines Corporation | Quality of service (QoS) for multi-tenant-aware overlay virtual networks |
US9871691B2 (en) * | 2014-09-16 | 2018-01-16 | CloudGenix, Inc. | Methods and systems for hub high availability and network load and scaling |
EP3207667B1 (en) * | 2014-10-14 | 2021-09-29 | Sony Semiconductor Solutions Corporation | System and method for distributed flow state p2p setup in virtual networks |
US10637889B2 (en) * | 2015-07-23 | 2020-04-28 | Cisco Technology, Inc. | Systems, methods, and devices for smart mapping and VPN policy enforcement |
US20180069749A1 (en) * | 2016-09-07 | 2018-03-08 | Netscout Systems, Inc | Systems and methods for performing computer network service chain analytics |
-
2014
- 2014-06-24 RU RU2017101983A patent/RU2645280C1/ru active
- 2014-06-24 EP EP14896113.9A patent/EP3148113B1/en active Active
- 2014-06-24 WO PCT/CN2014/080609 patent/WO2015196361A1/zh active Application Filing
- 2014-06-24 JP JP2016573612A patent/JP6463783B2/ja active Active
- 2014-06-24 BR BR112016030177-3A patent/BR112016030177B1/pt active IP Right Grant
- 2014-06-24 CN CN201480066067.3A patent/CN105814838B/zh active Active
-
2016
- 2016-12-21 US US15/386,401 patent/US10218522B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101087246A (zh) * | 2006-06-08 | 2007-12-12 | 中国电信股份有限公司 | 一种实现网络层组播业务及业务管理的系统与方法 |
CN101242342A (zh) * | 2007-02-05 | 2008-08-13 | 华为技术有限公司 | 组播方法及组播路由方法 |
CN103346969A (zh) * | 2013-07-05 | 2013-10-09 | 中国科学院计算机网络信息中心 | 基于OpenFlow实现动态组播生成树路径调整的方法 |
Also Published As
Publication number | Publication date |
---|---|
RU2645280C1 (ru) | 2018-02-19 |
US10218522B2 (en) | 2019-02-26 |
JP6463783B2 (ja) | 2019-02-06 |
WO2015196361A1 (zh) | 2015-12-30 |
CN105814838A (zh) | 2016-07-27 |
EP3148113A4 (en) | 2017-07-19 |
EP3148113A1 (en) | 2017-03-29 |
US20170099156A1 (en) | 2017-04-06 |
BR112016030177B1 (pt) | 2023-04-11 |
EP3148113B1 (en) | 2020-03-25 |
JP2017519446A (ja) | 2017-07-13 |
BR112016030177A2 (pt) | 2018-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105814838B (zh) | 一种软件定义网络的多播方法、装置及系统 | |
EP2154821B1 (en) | Method and apparatus for sending and receiving multicast packets | |
US7936752B2 (en) | Source specific multicast group to source mapping | |
US9871718B2 (en) | Method and device for registering multicast source and establishing multicast path | |
CN100454893C (zh) | 一种快速组播的实现方法 | |
US9559855B2 (en) | System and method for providing multicast delivery in a network environment | |
US20090059923A1 (en) | Multicast method and multicast routing method | |
US9462018B2 (en) | Multiway peer-to-peer media streaming | |
JP2004208302A (ja) | 通信ネットワークにおける異なるマルチキャストプロトコル間で要求を変換するシステムおよび方法 | |
JP2004179811A (ja) | パケット中継装置 | |
CN102316030A (zh) | 一种实现数据中心二层互联的方法和装置 | |
CN100477635C (zh) | 一种域间组播的传输方法及边缘设备 | |
CN106411750B (zh) | 数据分发方法及系统 | |
KR20110027683A (ko) | 단말기의 멀티캐스트 상태를 얻기 위한 방법 | |
US10225091B2 (en) | Method for implementing point-to-multipoint multicast, network node, and system | |
WO2008031342A1 (fr) | Procédé, système et équipement couche 2 pour la mise en oeuvre de convergence rapide de trajet de relais multidiffusion en couche 2 | |
CN102316083B (zh) | 一种在ip网络中实现组播业务的方法和装置 | |
CN109218191B (zh) | 使群播封包得以穿越非群播网络的系统及方法 | |
CN102025517B (zh) | 一种组播数据的传输方法及装置 | |
US10764337B2 (en) | Communication system and communication method | |
CN110324247A (zh) | 三层组播网络中的组播转发方法、设备及存储介质 | |
Kim et al. | Multi-view 3D video transport using application layer multicast with view switching delay constraints | |
JP5574383B2 (ja) | 受信状況推定方法、受信側多地点配信装置及びプログラム | |
CN104079418B (zh) | 一种简化组播报文的处理方法 | |
JP4549782B2 (ja) | マルチキャスト制御方法、マルチキャスト制御装置、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |