CN105099725A - 边缘网络的组播实现方法和装置 - Google Patents
边缘网络的组播实现方法和装置 Download PDFInfo
- Publication number
- CN105099725A CN105099725A CN201510434429.6A CN201510434429A CN105099725A CN 105099725 A CN105099725 A CN 105099725A CN 201510434429 A CN201510434429 A CN 201510434429A CN 105099725 A CN105099725 A CN 105099725A
- Authority
- CN
- China
- Prior art keywords
- multicast group
- multicast
- network
- port
- edge network
- 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.)
- Pending
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种边缘网络的组播实现的方法,应用在所述边缘网络的SDN控制器上,包括:将网络设备上报的所述组播组的下行组播协议报文的入端口,作为所述组播组在所述网络设备上的上行端口;将网络设备上报的所述组播组的上行组播协议报文的入端口,作为所述组播组在所述网络设备上的下行端口;根据所述组播组在网络设备上的上行端口和下行端口、所述边缘网络的全局拓扑结构,生成所述组播组在边缘网络的拓扑结构,按照所述组播组在边缘网络的拓扑结构确定所述组播组边缘网络内的转发路径;向所述转发路径上的网络设备下发用于转发所述组播组流量的流表。通过本申请的技术方案,减轻了网络设备的处理器负荷,提高了网络设备的性能。
Description
技术领域
本申请涉及网络通信技术领域,尤其涉及一种边缘网络的组播实现方法和装置。
背景技术
组播技术是IP(InternetProtocol,互联网协议)网络数据传输三种方式之一。在组播方式中,信息的发送者为组播源,信息的接收者为同一组播组的成员,支持组播信息传输的路由器为组播路由器。组播源向某个组播组发送一份信息,由网络中的组播路由器根据该组播组中各成员的分布情况对该信息进行复制和转发,并最终到达组播组成员。
在组播流量从组播路由器到达组播组成员的转发路径上,所经过的网络设备通常要根据组播组成员接收或发送的组播协议报文,来维护组播控制平面信息,以便将组播流量转发到其成员主机。当组播组的数量较大时,侦听组播协议报文并维护组播转发表项给网络设备的CPU(CentralProcessUnit,中央处理器)带来了较重的负担,影响了网络设备的性能。
发明内容
有鉴于此,本申请提供一种边缘网络的组播实现的方法,应用在所述边缘网络的软件定义网络SDN控制器上,所述边缘网络通过至少一个网关连接组播组位于外部网络的组播源,所述方法包括:
将网络设备上报的所述组播组的下行组播协议报文的入端口,作为所述组播组在所述网络设备上的上行端口;
将网络设备上报的所述组播组的上行组播协议报文的入端口,作为所述组播组在所述网络设备上的下行端口;
根据所述组播组在网络设备上的上行端口和下行端口、所述边缘网络的全局拓扑结构,生成所述组播组在边缘网络的拓扑结构,按照所述组播组在边缘网络的拓扑结构确定所述组播组在边缘网络内的转发路径;
向所述转发路径上的网络设备下发用于转发所述组播组流量的流表。
本申请还提供了一种边缘网络的组播实现的装置,应用在所述边缘网络的软件定义网络SDN控制器上,所述边缘网络通过至少一个网关连接组播组位于外部网络的组播源,所述装置包括:
上行端口单元,用于将网络设备上报的所述组播组的下行组播协议报文的入端口,作为所述组播组在所述网络设备上的上行端口;
下行端口单元,用于将网络设备上报的所述组播组的上行组播协议报文的入端口,作为所述组播组在所述网络设备上的下行端口;
转发路径单元,用于根据所述组播组在网络设备上的上行端口和下行端口、所述边缘网络的全局拓扑结构,生成所述组播组在边缘网络的拓扑结构,按照所述组播组在边缘网络的拓扑结构确定所述组播组在边缘网络内的转发路径;
流表下发单元,用于向所述转发路径上的网络设备下发用于转发所述组播组流量的流表。
由以上技术方案可见,本申请的实施例由SDN控制器根据网络设备上报的组播协议报文及其入端口,来维护边缘网络中组播流量的转发路径,使得网络设备不再需要自行根据组播协议报文来维护组播流量的转发出口,减轻了网络设备的处理器负荷,提高了网络设备的性能。
附图说明
图1是一个例子中边缘网络的组网结构图;
图2是一个例子中SDN控制器所在设备的硬件架构示意图;
图3是一个例子中一种边缘网络的组播实现方法的流程图;
图4是一个例子中图1所示的边缘网络中组播组的拓扑结构示意图;
图5是一个例子中图1所示的边缘网络中组播组的转发路径示意图;
图6是一个例子中一种边缘网络的组播实现装置的逻辑结构图。
具体实施方式
组播协议包括组播组的成员主机与路由器之间的组成员关系协议和路由器与路由器之间的组播路由协议。组成员关系协议包括IGMP(InternetGroupManagementProtocol,互联网组管理协议)等,用来建立并且维护路由器直联网段的组播组成员关系信息。组播路由协议包括域内组播路由协议及域间组播路由协议,其中域内组播路由协议包括PIM-SM(ProtocolIndependentMulticast-SparseMode,稀疏模式独立组播协议)、PIM-DM(ProtocolIndependentMulticast-DenseMode,密集模式独立组播协议)、DVMRP(DistanceVectorMulticastRoutingProtocol,距离矢量组播路由选择协议)等,用来根据自治域内组播组成员关系信息,运用一定的组播路由算法构造组播分发树进行组播数据包转发;域间组播路由协议包括MBGP(MultiprotocolExtensionsforBorderGatewayProtocol,组播协议边界网关协议)、MSDP(MulticastSourceDiscoveryProtocol,组播源发现协议)等,用来在各自治域间发布具有组播能力的路由信息以及组播源信息,以使组播数据在域间进行转发。
在大多数的应用场景中,组播组的成员主机通常位于边缘网络中。边缘网络的至少一个网关连接到核心网络的边缘路由器,将边缘网络接入到核心网络。边缘网络中的网关、核心网络的边缘路由器均为组播路由器,网关与边缘路由器上运行组播路由协议,对边缘网络中主机所属的各个组播组,由边缘路由器将来自位于边缘网络外部的组播源的组播流量路由到网关上,由网关在边缘网络内部将流量分发给某个组播组的成员主机。
图1所示是一种边缘网络可能具有的组网结构,边缘网络通过网关21和网关22接入到核心网络中的路由器60,汇聚层交换机31和交换机32各自分别连接网关21和网关22,接入层交换机41和42各自分别连接汇聚层交换机21和交换机22,属于同一个组播组的主机51和主机52分别通过交换机41和交换机42接入网络。SDN(SoftwareDefinedNetwork,软件定义网络)控制器10通过逻辑通道与边缘网络中的所有网络设备连接,对这些网络设备进行集中控制。组播源70位于边缘网络外部,能够经过核心网络向边缘网络中的组播组成员主机51和主机52发送组播流量。
申请人知道的一种技术方案中,为了在边缘网络内部维护从网关到组播组成员之间的组播流量转发路径,在网关21、网关22、主机51和主机52上运行IGMP协议,通过收发IGMP协议报文来发现和维护组播组的成员关系;在交换机31、32、41和42上运行IGMPSnooping(窥探)协议,通过侦听网关21、22和主机51、52之间的IGMP协议报文,来维护组播组成员主机和交换机端口的对应关系,以便交换机根据该对应关系将收到组播流量转发给连接到成员主机的端口。对交换机31、32、41和42,侦听到的IGMP协议报文要上送CPU处理,当边缘网络中的组播组数量较大时,会给交换机的CPU带来相当大的负担,影响交换机的性能。
在本申请的一个例子中,运行在边缘网络SDN控制器上组播实现控制逻辑能够根据网络设备上报的组播协议报文来维护边缘网络中组播流量的转发路径,不再需要网络设备自行维护组播流量的转发出口,从而减轻网络设备的CPU负担。请参考图2,SDN控制器所在设备200可以包括处理器210、存储器220以及网络端口230,这些硬件通过内部总线240相互连接。处理器210在存储器220中运行组播实现控制逻辑,其运行流程如图3所示。
步骤310,将网络设备上报的组播组的下行组播协议报文的入端口,作为该组播组在该网络设备上的上行端口。
本例中,边缘网络通过一个到多个网关连接某个或某些组播组位于外部网络的组播源,在边缘网络内由网关作为组播路由器来运行组成员关系协议。SDN控制器的管理域包括该边缘网络。
组播组的下行组播协议报文是由组播路由器(本例中为网关)发送给该组播组成员主机的组成员关系协议报文。组播组的上行组播协议报文是由组播组的成员主机发送给组播路由器的组成员关系协议报文。根据所运行的组成员关系协议,可以将不同的协议报文用来作为下行组播协议报文和上行组播协议报文,例如,对IGMP协议而言,网关周期性的向成员主机发送的IGMP查询报文可以用来作为下行组播协议报文,成员主机对IGMP查询报文的响应将发送给网关,可以用来作为上行组播协议报文;此外,当成员主机加入组播组时,会向网关发送IGMP加入报文,该协议报文也可以作为上行组播协议报文。可以同时选择一种到多种协议报文来作为上行组播协议报文或下行组播协议报文,本例中不做限定。
SDN控制器可以指令边缘网络内所有的网络设备将收到的下行组播协议报文上报给SDN控制器。当网络设备收到下行组播协议报文后,将该协议报文封装后上送SDN控制器,并同时封装和上送该网络设备收到该下行组播协议报文的端口。下行组播协议报文中携带有所属组播组的地址,SDN控制器根据下行组播协议报文可以得知该协议报文所属的组播组,并将该网络设备接收该协议报文的端口(该协议报文的入端口)作为该组播组在该网络设备上的上行端口。
在下行组播协议报文从网关发送到成员主机的过程中,途经的所有网络设备都会将收到的下行组播协议报文和下行组播协议报文的入端口上报给SDN控制器。这样,SDN控制器可以收集到某个组播组在边缘网络中经过的所有网络设备的上行端口。
在一种实现方式中,可以在SDN控制器本地预置或在SDN控制器可访问的其他设备上预置被允许在该边缘网络中进行组播的组播组的地址,由SDN控制器从本地或通过网络获取被允许在该边缘网络内进行组播的组播组,当收到网络设备上传的下行组播协议报文后,提取该协议报文中的组播组地址,如果该组播组属于被允许在该边缘网络中进行组播的组播组,则将该协议报文在该网络设备上的入端口,作为该组播组在该网络设备上的上行端口;否则不做处理。现有技术中,边缘网络中的主机加入哪个组播组完全由主机自行决定,而这种实现方式中,能够由SDN控制器对进入边缘网络的组播流量进行集中控制,从而实现对主机的组播访问进行控制,提高了网络的安全性。
步骤320,将网络设备上报的所述组播组的上行组播协议报文的入端口,作为所述组播组在所述网络设备上的下行端口。
SDN控制器可以指令边缘网络内所有的网络设备将收到的上行组播协议报文上报给SDN控制器。当网络设备收到上行组播协议报文后,将该协议报文封装后上送SDN控制器,并同时封装和上送该网络设备收到该上行组播协议报文的端口。上行组播协议报文中携带有所属组播组的地址和发送该协议报文的成员主机的地址,SDN控制器根据上行组播协议报文可以得知该协议报文所属的组播组,并将该网络设备接收该协议报文的端口(该协议报文的入端口)作为该组播组在该网络设备上的下行端口。
在上行组播协议报文从成员主机发送网关到的过程中,途经的所有网络设备都会将收到的上行组播协议报文和上行组播协议报文的入端口上报给SDN控制器。这样,SDN控制器可以收集到某个组播组在边缘网络中经过的所有网络设备的下行端口。
在一种实现方式中,可以在SDN控制器本地预置或在SDN控制器可访问的其他设备上预置被允许接收某个组播组流量的成员主机的地址,由SDN控制器从本地或通过网络获取被允许接收某个组播组流量的成员主机,当收到网络设备上传的上行组播协议报文后,提取该协议报文中的组播组地址和成员主机的地址,如果该主机属于被允许接收该组播组流量的成员主机,则将该协议报文在该网络设备上的入端口,作为该组播组在该网络设备上的下行端口;否则不做处理。这种实现方式中,SDN控制器能够对哪些主机可以接收哪个组播组的流量进行集中控制,从而进一步加强对边缘网络的管理,提高边缘网络的安全性。
步骤330,根据某个组播组在网络设备上的上行端口和下行端口、边缘网络的全局拓扑结构,生成该组播组在边缘网络的拓扑结构,按照该组播组在边缘网络的拓扑结构确定该组播组在边缘网络内的转发路径。
SDN控制器上通常保存有其管理域内各个网络设备、主机以及其他被管理设备的信息,这些信息也可以保存在SDN控制器能够访问的云平台上。根据这些信息,SDN控制器能够生成并保存边缘网络中所有网络设备和主机的连接关系,即该边缘网络的全局拓扑结构。
以边缘网络的全局拓扑结构为基础,按照该组播组在网络设备上的上行端口和下行端口,对边缘网络的全局拓扑结构进行裁剪,即可得到该组播组在边缘网络中的拓扑结构。换言之,在边缘网络全局拓扑结构中,去除与该组播组无关的网络设备(不包括上行端口或下行端口的网络设备)和主机(非该组播组的成员主机)、去除与该组播组无关的网络设备上的端口(不是上行端口也不是下行端口的其他端口),即可得到该组播组在边缘网络中的拓扑结构。如果裁剪得到的该组播组的拓扑结构不存在冗余路径,则该拓扑结构即是该组播组在边缘网络内的转发路径。
如果裁剪得到的该组播组的拓扑结构存在冗余路径,则要去除该组播组在边缘网络的拓扑结构中从网关到成员主机的冗余路径,即可得到该组播组在边缘网络内的转发路径。去除冗余路径的具体方法可以参考各种路由协议来实现,在多条冗余路径中选择一条路径用于网关和成员主机之间的通信,本例中不做限定。由SDN控制器来确定某个组播组转发路径的方式,能够对边缘网络中的组播流量转发进行集中的控制,以全局的视野来将组播流量复制工作分配到不同的网络设备,实现工作负荷的灵活分配。
当边缘网络包括至少两个网关时,在去除从网关到成员主机的冗余路径时,可以先根据一定的负载分担算法确定一个网关作为该组播组的网关,来作为该组播组的网关,将其他网关作为冗余节点剔除掉。这样不仅可以简化确定转发路径的计算过程,并且能够由SDN控制器根据网关的具体情况进行流量分担,对负载进行合理分配。
可以采用等价路径树来确定组播组在边缘网络中的转发路径。根据该组播组在边缘网络的拓扑结构,以网关为根节点计算该组播组的等价路径树;计算等价路径树的具体方式请参见现有技术,不再赘述。
在得到等价路径树之后,在一种实现方式中,对该组播组在边缘网络的拓扑结构中除网关外的每一个网络设备,将等价路径树中距离网关最近的上行端口作为生效上行端口,将生效上行端口连接的对端网络设备的下行端口作为生效下行端口;将接入成员主机的网络设备的下行端口作为生效下行端口;这样,包括各个网络设备的生效下行端口的转发路径即为该组播组在边缘网络中的转发路径。
在另一种实现方式中,在得到等价路径树之后,将接入该组播组成员主机的网络设备的下行端口作为生效下行端口;以接入成员主机的网络设备作为初始的当前网络设备;将当前网络设备在等价路径树中距离网关最近的上行端口作为当前网络设备的生效上行端口,将当前网络设备的生效上行端口连接的对端网络设备的下行端口作为对端网络设备的生效下行端口;如果对端网络设备具有上行端口则将对端网络设备置为当前网络设备后设置其生效上行端口和新的对端网络设备的生效下行端口,直到对端网络设备上没有上行端口(即对端网络设备为网关);在以所有接入该组播组成员主机的网络设备为初始的当前网络设备重复上述过程后,包括各个网络设备的生效上行端口和生效下行端口的转发路径即为该组播组在边缘网络中的转发路径。
步骤340,向组播组在边缘网络中转发路径上的网络设备下发用于转发该组播组流量的流表。
在确定某个组播组在边缘网络中的转发路径后,SDN控制器向转发路径上的每个网络设备下发流表,将该组播组的流量沿所确定的转发路径从网关转发到成员主机。
在采用等价路径树来确定转发路径的实现方式中,SDN控制器在确定网络设备的生效下行端口,向所有包括生效下行端口的网络设备下发流表,该流表用于指令网络设备将该组播组的流量从生效下行端口转发。
如果边缘网络的网关与核心网络中的组播路由器之间运行组播路由协议,在SDN控制器向边缘网络中转发路径上的网络设备下发某个组播组的流量转发流表后,可以指令网关向该组播组在核心网络的组播路由器发送组播路由协议的加入请求,以便建立该组播组从组播源到边缘网络中成员主机的转发路径。
当SDN控制器获知组播组在边缘网络中的成员主机发生变化,或者获知边缘网络的拓扑发生变化后,SDN控制器根据更新后的所述组播组在边缘网络中网络设备上的上行端口和下行端口,重新确定转发路径和下发新的组播流量转发流表,以适应组播成员或网络的变化并将流量正确转发给成员主机。
本例中,由SDN控制器根据网络设备上报的组播协议报文及其入端口,来生成并维护组播组流量在边缘网络中的转发路径,这样网络设备不再需要自行根据组播协议报文来维护组播流量的转发出口,减轻了网络设备的CPU负担,提高了网络设备的性能。
在本申请的另一个例子中,SDN控制器通过OpenFlow(开放流)协议和NetConf(网络配置)协议来控制边缘网络中的网络设备,包括网关、汇聚交换机和接入交换机。SDN控制器通过Openflow承载的LLDP(LinkLayerDiscoveryProtocol,链路层发现协议)发现并保存边缘网络的全局拓扑结构。管理员在SDN控制器上配置在边缘网络中允许进行组播的组播组的地址,以及允许接收上述组播组流量的成员主机的地址。
边缘网络内,网关与组播组成员主机运行IGMP协议,网关周期性发送IGMP查询报文,接收到IGMP查询报文的组播组成员主机进行响应。当主机要加入某个组播组时,会主动向其要加入的组播组发送IGMP加入报文以声明加入。本例中,以IGMP查询报文作为下行组播协议报文,以IGMP加入报文作为上行组播协议报文。SDN控制器指令边缘网络中的所有网络设备上送收到的IGMP查询报文和IGMP加入报文。
当网关设备发送IGMP查询报文时,该查询报文携带组播组的地址,网关同时复制一份IGMP查询报文上送给SDN控制器。边缘网络中的其他网络设备,汇聚交换机和接入交换机在收到网关发送的IGMP查询报文时,也上送SDN控制器处理。根据OpenFlow协议,上送IGMP查询报文到SDN控制器时,会携带该报文在本网络设备上的入端口,由于网关是发送该IGMP查询报文的设备,在上送该报文时所携带的入端口为空。SDN控制器从IGMP查询报文中提取组播组的地址,判断是否属于管理员配置的在边缘网络中允许进行组播的组播组的地址,如果不属于则不做处理;如果属于,则以该入端口为该组播组在该网络设备上的上行端口,并在组播信息表中记录该组播组、该网络设备和上行端口的对应关系。
以图1所示的网络为例,在SDN收到各个网络设备上传的IGMP查询报文后,其记录的组播信息表如表1所示(设组播组的地址为229.0.0.1,并且属于允许在边缘网络中进行组播的组播组):
网络设备 | 组播组 | 上行端口 | 下行端口 |
网关21 | 229.0.0.1 | ||
网关22 | 229.0.0.1 | ||
交换机31 | 229.0.0.1 | 31-1,31-2 | |
交换机32 | 229.0.0.1 | 32-1,32-2 | |
交换机41 | 229.0.0.1 | 41-1,41-2 | |
交换机42 | 229.0.0.1 | 42-1,42-2 |
表1
当主机需要加入组播组时,会发送IGMP加入报文给网关,该加入报文携带要加入组播组的地址和主机的IP地址。收到该IGMP加入报文的网络设备将该报文上送SDN控制器。同样根据openflow协议,上送IGMP加入报文到SDN控制器时,会携带接收到该报文的入端口。SDN控制器从IGMP加入报文中提取组播组的地址和主机的地址,判断是否属于管理员配置的允许接收该组播组流量的成员主机的地址,如果不属于则不做处理;如果属于,则以该入端口为该组播组在该网络设备上的下行端口,并在组播信息表中记录该组播组、该网络设备和下行端口的对应关系。
以图1所示的网络为例,在SDN收到各个网络设备上传的IGMP加入报文后,其记录的组播信息表如表2所示(设主机51和53属于允许接收组播组229.0.0.1的成员主机):
网络设备 | 组播组 | 上行端口 | 下行端口 |
网关21 | 229.0.0.1 | 21-3,21-4 | |
网关22 | 229.0.0.1 | 22-3,22-4 | |
交换机31 | 229.0.0.1 | 31-1,31-2 | 31-3,31-4 |
交换机32 | 229.0.0.1 | 32-1,32-2 | 32-3,32-4 |
交换机41 | 229.0.0.1 | 41-1,41-2 | 41-3 |
交换机42 | 229.0.0.1 | 42-1,42-2 | 42-3 |
表2
当SDN控制器记录的组播信息表的内容发生变化或边缘网络的全局拓扑结构发生变化时,SDN控制器根据更新后的组播信息表确定组播流量在边缘网络中的转发路径并据此指导网络设备进行组播流量转发。其具体步骤如下:
A.根据组播信息表的内容,对SDN控制器保存的边缘网络的全局拓扑结构进行裁剪,即将全局拓扑结构中与组播信息表中内容无关的节点和端口剔除,生成对应于每个组播组的拓扑结构。以图1所示的网络为例,接入层交换机41所连接的不在组播组中的主机及接入该主机的端口将不再出现在组播组229.0.0.1的拓扑结构中;
B.如果边缘网络包括超过一个的网关,SDN控制器按照负载分担原理选定其中的一个作为某个组播组的网关,并将其他的网关视为冗余节点从组播组229.0.0.1的拓扑结构中去除。以图1所示的网络为例,SDN控制器将网关21作为组播组229.0.0.1的网关并剔除网关22后,组播组229.0.0.1在边缘网络中的拓扑结构如图4所示;
C.对某个组播组,以该组播组的网关为根节点进行SPF(ShortPathFirst,最短路径优先)计算,生成一颗以网关为根节点的等价路径树;
D.SDN控制器遍历该组播组在边缘网络中的拓扑结构中除网关外的每个网络设备,查询步骤C中生成的等价路径树,选择当前网络设备到网关最近的上行端口,作为该网络设备的生效上行端口,将与该生效上行端口连接的对端网络设备的下行端口作为对端网络设备的生效下行端口;将接入成员主机的下行端口作为生效下行端口;以图1所示的网络为例,由各个网络设备上生效下行端口所构成的组播组229.0.0.1的转发路径如图5所示。
E.SDN控制器遍历该组播组在边缘网络中的拓扑结构中每个包括生效下行端口的网络设备,将该网络设备的生效下行端口设置为该组播组的出接口,向该网络设备下发用于该组播组流量转发的流表,指示该网络设备将该组播组的流量从生效下行端口转发。如果该网络设备包括生效上行端口,可以将生效上行端口设置为该组播组的S端口,下发的流表中也可以包括该S端口,将来自S端口的该组播组流量从其出接口转发。
F.在向某个组播组转发路径上所有网络设备下发流表后,对于拥有生效下行端口的网关,SDN控制器指令该网关向核心网络的组播路由器发送PIM协议报文加入组播组。
当边缘网络的全局拓扑结构发生变化时,SDN控制器遍历所有组播组,更新每个组播组在边缘网络的拓扑结构,重新进行以上各个步骤来生成新的每个组播组的转发路径,并按照新的转发路径下发流表。
当某个组播组的成员发生变化时,组播信息表的内容发生变化,此时SDN控制器根据新的组播信息表更新该组播组在边缘网络的拓扑结构,重新进行以上各个步骤来生成新的该组播组的转发路径,并按照新的转发路径下发流表。
与上述流程实现对应,本申请还提供了边缘网络的组播实现装置,应用在SDN控制器上,该装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,可以通过图2中的处理器210在存储器220中运行组播实现控制逻辑而形成。
图6所示为本申请一个例子中的一种边缘网络的组播实现的装置,应用在所述边缘网络的SDN控制器上,所述边缘网络通过至少一个网关连接组播组位于外部网络的组播源,从功能上划分,包括上行端口单元、下行端口单元、转发路径单元和流表下发单元,其中:上行端口单元用于将网络设备上报的所述组播组的下行组播协议报文的入端口,作为所述组播组在所述网络设备上的上行端口;下行端口单元用于将网络设备上报的所述组播组的上行组播协议报文的入端口,作为所述组播组在所述网络设备上的下行端口;转发路径单元用于根据所述组播组在网络设备上的上行端口和下行端口、所述边缘网络的全局拓扑结构,生成所述组播组在边缘网络的拓扑结构,按照所述组播组在边缘网络的拓扑结构确定所述组播组在边缘网络内的转发路径;流表下发单元用于向所述转发路径上的网络设备下发用于转发所述组播组流量的流表。
所述装置还可以包括组播组获取单元,用于获取被允许在所述边缘网络内进行组播的组播组;此时,所述上行端口单元具体用于:当下行组播协议报文所属组播组被允许在所述边缘网络内进行组播时,将网络设备上报的所述组播组的下行组播协议报文的入端口,作为所述组播组在所述网络设备上的上行端口。
所述装置还可以包括成员主机单元,用于获取被允许接收所述组播组流量的成员主机;此时,所述下行端口单元具体用于:当发送上行组播协议报文的成员主机被允许接收所述组播组流量时,将网络设备上报的所述组播组的上行组播协议报文的入端口,作为所述组播组在所述网络设备上的下行端口。
所述装置还可以包括组播更新单元,用于当所述组播组在所述边缘网络中的成员主机发生变化、和/或所述边缘网络的拓扑发生变化时,根据更新后的所述组播组在边缘网络中网络设备上的上行端口和下行端口,重新确定转发路径并下发新的用于转发所述组播组流量的流表。
一个例子中,所述转发路径单元包括冗余路径去除模块,用于去除所述组播组在边缘网络的拓扑结构中从网关到成员主机的冗余路径,得到所述组播组在边缘网络内的转发路径。
上个例子中,所述冗余路径去除模块可以进一步包括等价路径树子模块和生效下行端口子模块,其中:等价路径树子模块用于根据所述组播组在边缘网络的拓扑结构,以网关为根节点计算所述组播组的等价路径树;生效下行端口子模块用于对所述组播组在边缘网络的拓扑结构中除网关外的每一个网络设备,将等价路径树中距离网关最近的上行端口作为生效上行端口,将所述生效上行端口连接的对端网络设备的下行端口作为生效下行端口;将接入成员主机的网络设备的下行端口作为生效下行端口;此时,所述流表下发单元具体用于:向每个包括生效下行端口的网络设备下发流表,所述流表用于:将所述组播组的流量从生效下行端口转发。
上个例子中,所述冗余路径去除模块可以包括网关选定子模块,用于当所述边缘网络包括至少两个网关时,根据一定的负载分担算法确定一个网关作为所述组播组的网关。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (15)
1.一种边缘网络的组播实现的方法,应用在所述边缘网络的软件定义网络SDN控制器上,所述边缘网络通过至少一个网关连接组播组位于外部网络的组播源,其特征在于,所述方法包括:
将网络设备上报的所述组播组的下行组播协议报文的入端口,作为所述组播组在所述网络设备上的上行端口;
将网络设备上报的所述组播组的上行组播协议报文的入端口,作为所述组播组在所述网络设备上的下行端口;
根据所述组播组在网络设备上的上行端口和下行端口、所述边缘网络的全局拓扑结构,生成所述组播组在边缘网络的拓扑结构,按照所述组播组在边缘网络的拓扑结构确定所述组播组在边缘网络内的转发路径;
向所述转发路径上的网络设备下发用于转发所述组播组流量的流表。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取被允许在所述边缘网络内进行组播的组播组;
所述将网络设备上报的所述组播组的下行组播协议报文的入端口,作为所述组播组在所述网络设备上上行端口,包括:当下行组播协议报文所属组播组被允许在所述边缘网络内进行组播时,将网络设备上报的所述组播组的下行组播协议报文的入端口,作为所述组播组在所述网络设备上的上行端口。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取被允许接收所述组播组流量的成员主机;
所述将网络设备上报的所述组播组的上行组播协议报文的入端口,作为所述组播组在所述网络设备上的下行端口,包括:当发送上行组播协议报文的成员主机被允许接收所述组播组流量时,将网络设备上报的所述组播组的上行组播协议报文的入端口,作为所述组播组在所述网络设备上的下行端口。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述组播组在所述边缘网络中的成员主机发生变化、和/或所述边缘网络的拓扑发生变化时,根据更新后的所述组播组在边缘网络中网络设备上的上行端口和下行端口,重新确定转发路径并下发新的用于转发所述组播组流量的流表。
5.根据权利要求1所述的方法,其特征在于,所述按照所述组播组在边缘网络的拓扑结构确定所述组播组在边缘网络内的转发路径,包括:去除所述组播组在边缘网络的拓扑结构中从网关到成员主机的冗余路径,得到所述组播组在边缘网络内的转发路径。
6.根据权利要求5所述的方法,其特征在于,所述去除所述组播组在边缘网络的拓扑结构中从网关到成员主机的冗余路径,得到所述组播组在边缘网络内的转发路径,包括:
根据所述组播组在边缘网络的拓扑结构,以网关为根节点计算所述组播组的等价路径树;
对所述组播组在边缘网络的拓扑结构中除网关外的每一个网络设备,将等价路径树中距离网关最近的上行端口作为生效上行端口,将所述生效上行端口连接的对端网络设备的下行端口作为生效下行端口;将接入成员主机的网络设备的下行端口作为生效下行端口;
所述向转发路径上的网络设备下发用于转发所述组播组流量的流表,包括:向每个包括生效下行端口的网络设备下发流表,所述流表用于:将所述组播组的流量从生效下行端口转发。
7.根据权利要求5所述的方法,其特征在于,所述去除所述组播组在边缘网络的拓扑结构中从网关到成员主机的冗余路径,包括:当所述边缘网络包括至少两个网关时,根据一定的负载分担算法确定一个网关作为所述组播组的网关。
8.根据权利要求1所述的方法,其特征在于,所述下行组播协议报文包括:互联网组管理协议IGMP查询报文;
所述上行组播协议报文包括:IGMP加入报文或IGMP查询响应报文。
9.一种边缘网络的组播实现的装置,应用在所述边缘网络的软件定义网络SDN控制器上,所述边缘网络通过至少一个网关连接组播组位于外部网络的组播源,其特征在于,所述装置包括:
上行端口单元,用于将网络设备上报的所述组播组的下行组播协议报文的入端口,作为所述组播组在所述网络设备上的上行端口;
下行端口单元,用于将网络设备上报的所述组播组的上行组播协议报文的入端口,作为所述组播组在所述网络设备上的下行端口;
转发路径单元,用于根据所述组播组在网络设备上的上行端口和下行端口、所述边缘网络的全局拓扑结构,生成所述组播组在边缘网络的拓扑结构,按照所述组播组在边缘网络的拓扑结构确定所述组播组在边缘网络内的转发路径;
流表下发单元,用于向所述转发路径上的网络设备下发用于转发所述组播组流量的流表。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:组播组获取单元,用于获取被允许在所述边缘网络内进行组播的组播组;
所述上行端口单元具体用于:当下行组播协议报文所属组播组被允许在所述边缘网络内进行组播时,将网络设备上报的所述组播组的下行组播协议报文的入端口,作为所述组播组在所述网络设备上的上行端口。
11.根据权利要求9所述的装置,其特征在于,所述装置还包括:成员主机单元,用于获取被允许接收所述组播组流量的成员主机;
所述下行端口单元具体用于:当发送上行组播协议报文的成员主机被允许接收所述组播组流量时,将网络设备上报的所述组播组的上行组播协议报文的入端口,作为所述组播组在所述网络设备上的下行端口。
12.根据权利要求9所述的装置,其特征在于,所述装置还包括:组播更新单元,用于当所述组播组在所述边缘网络中的成员主机发生变化、和/或所述边缘网络的拓扑发生变化时,根据更新后的所述组播组在边缘网络中网络设备上的上行端口和下行端口,重新确定转发路径并下发新的用于转发所述组播组流量的流表。
13.根据权利要求9所述的装置,其特征在于,所述转发路径单元包括:冗余路径去除模块,用于去除所述组播组在边缘网络的拓扑结构中从网关到成员主机的冗余路径,得到所述组播组在边缘网络内的转发路径。
14.根据权利要求13所述的装置,其特征在于,所述冗余路径去除模块包括:
等价路径树子模块,用于根据所述组播组在边缘网络的拓扑结构,以网关为根节点计算所述组播组的等价路径树;
生效下行端口子模块,用于对所述组播组在边缘网络的拓扑结构中除网关外的每一个网络设备,将等价路径树中距离网关最近的上行端口作为生效上行端口,将所述生效上行端口连接的对端网络设备的下行端口作为生效下行端口;将接入成员主机的网络设备的下行端口作为生效下行端口;
所述流表下发单元具体用于:向每个包括生效下行端口的网络设备下发流表,所述流表用于:将所述组播组的流量从生效下行端口转发。
15.根据权利要求13所述的装置,其特征在于,所述冗余路径去除模块包括:网关选定子模块,用于当所述边缘网络包括至少两个网关时,根据一定的负载分担算法确定一个网关作为所述组播组的网关。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510434429.6A CN105099725A (zh) | 2015-07-22 | 2015-07-22 | 边缘网络的组播实现方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510434429.6A CN105099725A (zh) | 2015-07-22 | 2015-07-22 | 边缘网络的组播实现方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105099725A true CN105099725A (zh) | 2015-11-25 |
Family
ID=54579354
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510434429.6A Pending CN105099725A (zh) | 2015-07-22 | 2015-07-22 | 边缘网络的组播实现方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105099725A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106357542A (zh) * | 2016-10-12 | 2017-01-25 | 华为技术有限公司 | 提供组播业务的方法和软件定义网络控制器 |
CN107580056A (zh) * | 2017-09-12 | 2018-01-12 | 深圳市盛路物联通讯技术有限公司 | 物联网通信方法及物联网网关 |
CN109120953A (zh) * | 2018-09-29 | 2019-01-01 | 北京邮电大学 | 基于sdn及ec技术的自适应流视频处理系统及方法 |
CN112134776A (zh) * | 2019-06-25 | 2020-12-25 | 华为技术有限公司 | 生成组播转发表项的方法和接入网关 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101013950A (zh) * | 2007-02-07 | 2007-08-08 | 杭州华为三康技术有限公司 | 实现组播虚拟专用网绑定的方法及设备 |
CN101106515A (zh) * | 2006-07-10 | 2008-01-16 | 华为技术有限公司 | 组播网络中的服务质量保证方法及系统 |
CN104022953A (zh) * | 2013-02-28 | 2014-09-03 | 杭州华三通信技术有限公司 | 基于开放流Openflow的报文转发方法和装置 |
CN104468371A (zh) * | 2014-11-28 | 2015-03-25 | 杭州华三通信技术有限公司 | 组播业务报文处理方法及装置 |
-
2015
- 2015-07-22 CN CN201510434429.6A patent/CN105099725A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101106515A (zh) * | 2006-07-10 | 2008-01-16 | 华为技术有限公司 | 组播网络中的服务质量保证方法及系统 |
CN101013950A (zh) * | 2007-02-07 | 2007-08-08 | 杭州华为三康技术有限公司 | 实现组播虚拟专用网绑定的方法及设备 |
CN104022953A (zh) * | 2013-02-28 | 2014-09-03 | 杭州华三通信技术有限公司 | 基于开放流Openflow的报文转发方法和装置 |
CN104468371A (zh) * | 2014-11-28 | 2015-03-25 | 杭州华三通信技术有限公司 | 组播业务报文处理方法及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106357542A (zh) * | 2016-10-12 | 2017-01-25 | 华为技术有限公司 | 提供组播业务的方法和软件定义网络控制器 |
WO2018068588A1 (zh) * | 2016-10-12 | 2018-04-19 | 华为技术有限公司 | 提供组播业务的方法和软件定义网络控制器 |
CN106357542B (zh) * | 2016-10-12 | 2019-10-18 | 华为技术有限公司 | 提供组播业务的方法和软件定义网络控制器 |
CN107580056A (zh) * | 2017-09-12 | 2018-01-12 | 深圳市盛路物联通讯技术有限公司 | 物联网通信方法及物联网网关 |
CN109120953A (zh) * | 2018-09-29 | 2019-01-01 | 北京邮电大学 | 基于sdn及ec技术的自适应流视频处理系统及方法 |
CN109120953B (zh) * | 2018-09-29 | 2020-10-02 | 北京邮电大学 | 基于sdn及ec技术的自适应流视频处理系统及方法 |
CN112134776A (zh) * | 2019-06-25 | 2020-12-25 | 华为技术有限公司 | 生成组播转发表项的方法和接入网关 |
EP3968580A4 (en) * | 2019-06-25 | 2022-07-06 | Huawei Technologies Co., Ltd. | METHOD OF CREATING A MULTICAST ROUTING TABLE ENTRY AND ACCESS GATEWAY |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | Routing algorithms for network function virtualization enabled multicast topology on SDN | |
US10454806B2 (en) | SDN controller, data center system, and routing connection method | |
US9900263B2 (en) | Non-overlay resource access in datacenters using overlay networks | |
US11190435B2 (en) | Control apparatus, communication system, tunnel endpoint control method, and program | |
EP2652922B1 (en) | Communication system, control apparatus, communication method, and program | |
US10645006B2 (en) | Information system, control apparatus, communication method, and program | |
CN104335537A (zh) | 用于层2多播多路径传送的系统和方法 | |
CN108243123B (zh) | 广播报文的处理方法、装置、控制器和交换机 | |
US9900238B2 (en) | Overlay network-based original packet flow mapping apparatus and method therefor | |
CN104106244A (zh) | 控制装置、通信系统、通信方法和程序 | |
US20140241349A1 (en) | Openflow switch and packet processing method thereof | |
CN104579894B (zh) | 分布式虚拟交换机系统的IGMP Snooping实现方法及装置 | |
KR101855742B1 (ko) | 소프트웨어 정의 네트워킹에서의 목적지 기반 패킷 전송 제어 방법 및 장치 | |
CN105099725A (zh) | 边缘网络的组播实现方法和装置 | |
CN104468371A (zh) | 组播业务报文处理方法及装置 | |
US10567180B2 (en) | Method for multicast packet transmission in software defined networks | |
WO2016019676A1 (zh) | 一种软件定义网络sdn中处理数据包的方法、装置及系统 | |
US9614758B2 (en) | Communication system, integrated controller, packet forwarding method and program | |
US10742539B2 (en) | Control apparatus, communication system, relay apparatus control method, and program | |
CN104885417A (zh) | 控制装置、通信系统、通信节点控制方法以及程序 | |
CN110351204A (zh) | 云数据中心网络资源动态分配的方法及系统 | |
KR102024545B1 (ko) | 오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 장치 및 그 방법 | |
KR101767439B1 (ko) | 소프트웨어 정의 네트워크에서 패킷의 경로를 설정하는 방법, 장치 및 컴퓨터 프로그램 | |
CN108696444B (zh) | 基于sdn网络的一对多数据流转发方法 | |
US11283639B2 (en) | Multicast flow anomaly identification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB03 | Change of inventor or designer information |
Inventor after: Qi Pujun Inventor before: Jia Tao |
|
COR | Change of bibliographic data | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151125 |
|
RJ01 | Rejection of invention patent application after publication |