CN109981306B - 组播数据处理方法、装置、设备及机器可读存储介质 - Google Patents
组播数据处理方法、装置、设备及机器可读存储介质 Download PDFInfo
- Publication number
- CN109981306B CN109981306B CN201910231468.4A CN201910231468A CN109981306B CN 109981306 B CN109981306 B CN 109981306B CN 201910231468 A CN201910231468 A CN 201910231468A CN 109981306 B CN109981306 B CN 109981306B
- Authority
- CN
- China
- Prior art keywords
- multicast
- information
- interface
- receiver
- link state
- 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
Images
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
-
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/123—Evaluation of link metrics
-
- 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/16—Multipoint routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供一种组播数据处理方法、装置、设备及机器可读存储介质,该方法包括:获取组播源信息、组播组信息、接收者信息、链路状态信息;根据所述组播源信息、所述组播组信息、所述接收者信息和所述链路状态信息,生成组播表项;所述组播表项的键值包括所述组播源信息和所述组播组信息,所述组播表项的内容包括上行接口和下行接口;在接收到与所述组播源信息和所述组播组信息匹配的组播数据后,则利用所述上行接口和所述下行接口处理所述组播数据。通过本公开的技术方案,可以提高收敛速度,提高业务体验。
Description
技术领域
本公开涉及通信技术领域,尤其是涉及一种组播数据处理方法、装置、设备及机器可读存储介质。
背景技术
组播技术是实现单点发送多点接收的高效传输技术,在组播技术中,发送组播数据的主机称为组播源,接收组播数据的主机称为接收者。为了传输组播数据,需要在各网络设备(如路由器)建立组播表项,组播表项以组播源的IP地址和组播组的IP地址为索引,通过组播表项指导组播数据的传输。
为了建立组播表项,网络设备需要支持组播路由协议,如PIM-DM(ProtocolIndependent Multicast-Dense-mode,协议无关组播-密集模式)协议、PIM-SM(ProtocolIndependent Multicast-Sparse Mode,协议无关组播-稀疏模式)协议等,并基于组播路由协议建立组播表项,继而利用该组播表项传输组播数据。
以PIM-SM协议为例,与接收者连接的网络设备向RP(Rendezvous Point,汇集点)发送加入报文,该加入报文被逐跳发送至RP,所经过的路径就形成了RPT(RendezvousPoint Tree,共享树)。与组播源连接的网络设备向RP发送注册报文,注册报文到达RP后触发建立SPT(Shortest Path Tree,最短路径树)。组播源将组播数据沿着SPT发向RP,RP将组播数据沿着RPT发送给接收者。
发明内容
本公开提供一种组播数据处理方法,应用于网络设备,所述方法包括:
获取组播源信息、组播组信息、接收者信息、链路状态信息;
根据所述组播源信息、所述组播组信息、所述接收者信息和所述链路状态信息,生成组播表项;其中,所述组播表项的键值包括所述组播源信息和所述组播组信息,所述组播表项的内容包括上行接口和下行接口;
在接收到与所述组播源信息和所述组播组信息匹配的组播数据后,则利用所述上行接口和所述下行接口处理所述组播数据。
本公开提供一种组播数据处理装置,应用于网络设备,所述装置包括:
获取模块,用于获取组播源信息、组播组信息、接收者信息、链路状态信息;
生成模块,用于根据所述组播源信息、所述组播组信息、所述接收者信息和所述链路状态信息,生成组播表项;其中,所述组播表项的键值包括所述组播源信息和所述组播组信息,所述组播表项的内容包括上行接口和下行接口;
处理模块,用于在接收到与所述组播源信息和所述组播组信息匹配的组播数据后,则利用所述上行接口和所述下行接口处理所述组播数据。
本公开提供一种电子设备,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令,以实现上述的组播数据处理方法。
本公开提供一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现上述的组播数据处理方法。
基于上述技术方案,本公开实施例中,可以根据组播源信息、组播组信息、接收者信息、链路状态信息,生成组播表项,并利用该组播表项处理组播数据,也就是说,可以基于链路状态信息生成组播表项,不需要额外的组播路由协议,从而解决组播表项建立时间较长、实现方式复杂等问题,可以提高收敛速度,降低了实现复杂度,在网络震荡时的可靠性大大提高,提高业务体验。
附图说明
为了更加清楚地说明本公开实施例或者现有技术中的技术方案,下面将对本公开实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本公开实施例的这些附图获得其他的附图。
图1是本公开一种实施方式中的应用场景示意图;
图2是本公开一种实施方式中的组播数据处理方法的流程图;
图3是本公开一种实施方式中的组播数据处理装置的结构图;
图4是本公开一种实施方式中的网络设备的硬件结构图。
具体实施方式
在本公开实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本公开。本公开和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在PIM-SM协议中,构造RPT、SPT的过程,就是在各个网络设备建立组播表项的过程。此外,组播数据沿着SPT发向RP、组播数据沿着RPT发送给接收者的过程,就是各个网络设备利用组播表项传输组播数据的过程。
但是,在基于组播路由协议建立组播表项时,存在组播表项建立时间较长,实现方式复杂等问题。例如,需要在网络设备之间交互加入报文、注册报文等,并利用这些报文建立RPT、SPT等,需要耗费的时间比较长。各网络设备均需要支持PIM-SM协议,并基于PIM-SM协议建立组播表项,实现方式复杂。
针对上述问题,本公开提出一种组播数据处理方法,应用于组播网络,即采用组播技术传输组播数据的网络。在组播网络中,可以包括组播源、接收者(如一个或者多个接收者)、多个网络设备(如路由器、交换机等)。参见图1所示,为本公开实施例的应用场景示意图,主机111为组播源,主机112和主机113为接收者,网络设备121-网络设备125是组播源与接收者之间的网络设备,组播源将组播数据传输给网络设备,网络设备将组播数据传输给接收者。
为了实现组播数据的传输,则需要在各网络设备生成组播表项,并基于组播表项传输组播数据,以下对组播表项的生成、组播数据的传输进行说明。
参见图2所示,为组播数据处理方法的流程图,该方法可以包括:
步骤201,网络设备获取组播源信息、组播组信息、接收者信息。
在一个例子中,针对组播源和接收者均固定的组播网络,可以预先在每个网络设备静态配置组播源信息、组播组信息、接收者信息。在此基础上,则网络设备可以获取静态配置的组播源信息、组播组信息、接收者信息。
例如,在某些应用场景下,为了网络稳定和实现简单,可以将组播源和接收者固定,即组播源和接收者均为固定,且组播组也固定,而不是按需动态创建组播源、组播组和接收者。假设主机111固定为组播源,即组播源不会发生变化,主机112和主机113固定为接收者,即接收者不会发生变化。
在这种应用场景下,组播源信息、组播组信息、接收者信息均为已知,用户可以获知组播源信息、组播组信息、接收者信息,并将组播源信息、组播组信息、接收者信息保存在每个网络设备。基于此,针对每个网络设备来说,均可以从本设备获取静态配置的组播源信息、组播组信息、接收者信息。
在另一例子中,由控制设备(如图1的任意网络设备,或图1未示出的其它设备)收集组播网络的组播源信息、组播组信息、接收者信息,对此收集过程不做限制,如组播源和接收者可以将自身信息通知给控制设备。然后,控制设备将组播源信息、组播组信息、接收者信息发送给每个网络设备。针对每个网络设备来说,可以从控制设备获取组播源信息、组播组信息、接收者信息。
在三层组播网络中,组播源信息可以为组播源的IP地址(即组播源S,如主机111的IP地址),组播组信息可以为组播组的IP地址(即组播组G),接收者信息可以为接收者的IP地址(如主机112和IP地址和主机113的IP地址)。
此外,在二层组播网络中,组播源信息可以为组播源的MAC(Media AccessControl,介质访问控制)地址(如主机111的MAC地址),组播组信息可以为组播组的VLAN(Virtual Local Area Network,虚拟局域网),接收者信息可以为接收者的MAC地址(如主机112和MAC地址和主机113的MAC地址)。
为了方便描述,在后续实施例中,以组播源的IP地址、组播组的IP地址、接收者的IP地址为例进行说明,针对二层组播网络的场景,其实现过程类似。
步骤202,网络设备获取链路状态信息,即组播网络的链路状态信息。
具体的,网络设备可以获取本设备的链路状态信息,并接收该组播网络中其它网络设备发送的链路状态报文(如LSA(Link-State Advertisement,链路状态广播)报文),并根据该链路状态报文获取其它网络设备的链路状态信息。
进一步的,网络设备可以利用这些链路状态信息生成组播网络的链路状态拓扑,也就是说,参见图1所示的网络拓扑,就是组播网络的链路状态拓扑。
例如,假设网络设备121的设备标识为aaa,网络设备122的设备标识为bbb,网络设备123的设备标识为ccc,网络设备124的设备标识为ddd,网络设备125的设备标识为eee,主机111的设备标识为fff,主机112的设备标识为ggg,主机113的设备标识为hhh。设备标识均具有唯一性,针对每个主机来说,在三层组播网络中,设备标识可以为本机IP地址,在二层组播网络中,设备标识可以为本机MAC地址。针对每个网络设备来说,在三层组播网络中,设备标识可以为Router-ID(如IP地址),在二层组播网络中,设备标识可以为桥MAC地址。
网络设备121的接口1211的IP地址为2.1.1.1/24,与接口1211连接的主机111的IP地址为2.1.1.2/24,上述组播源信息可以包括IP地址2.1.1.2/24。
接口1212的IP地址为3.1.1.1/24,接口1221的IP地址为3.1.1.2/24。
接口1213的IP地址为4.1.1.1/24,接口1231的IP地址为4.1.1.2/24。
接口1222的IP地址为5.1.1.1/24,接口1241的IP地址为5.1.1.2/24。
接口1232的IP地址为6.1.1.1/24,接口1251的IP地址为6.1.1.2/24。
接口1242的IP地址为7.1.1.1/24,接口1252的IP地址为7.1.1.2/24。
网络设备124的接口1243的IP地址为8.1.1.1/24,与接口1243连接的主机112的IP地址为8.1.1.2/24,上述接收者信息可以包括IP地址8.1.1.2/24。
网络设备125的接口1253的IP地址为9.1.1.1/24,与接口1253连接的主机113的IP地址为9.1.1.2/24,上述接收者信息可以包括IP地址9.1.1.2/24。
在上述应用场景下,每个网络设备均可以收集链路状态信息,如接口IP地址、接口所在设备的设备标识等。具体的,每个网络设备均可以采用广播方式发送链路状态报文,该链路状态报文携带链路状态信息,基于链路状态报文携带的链路状态信息,每个网络设备均可以得到所有网络设备的链路状态信息。
基于这些链路状态信息,针对每个网络设备来说,均可以确定组播网络的链路状态拓扑。例如,设备标识为aaa的网络设备121可以包括接口1211、接口1212、接口1213,接口1211的IP地址为2.1.1.1/24,接口1211与主机111连接,接口1212的IP地址为3.1.1.1/24,接口1212与网络设备122的接口1221连接,接口1213的IP地址为4.1.1.1/24,接口1213与网络设备123的接口1231连接,以此类推。最终,每个网络设备均可以得到图1所示的链路状态拓扑。
当然,上述只是获取链路状态信息,并基于链路状态信息确定链路状态拓扑的一个示例,对此不做限制,所有获取链路状态信息,并基于链路状态信息确定链路状态拓扑的实现方式,均在本公开实施例的保护范围之内。
步骤203,网络设备根据该组播源信息、该组播组信息、该接收者信息和该链路状态信息,生成组播表项。其中,该组播表项的键值可以包括该组播源信息和该组播组信息,该组播表项的内容可以包括上行接口和下行接口。
其中,上行接口的数量可以为一个,下行接口的数量可以为一个或者多个。
在一个例子中,网络设备根据该组播源信息、该组播组信息、该接收者信息和该链路状态信息,生成组播表项,可以包括但不限于:将该组播源信息和该组播组信息确定为该组播表项的键值;根据该组播源信息、该接收者信息和该链路状态信息,确定组播源到达本设备的上行接口以及本设备到达接收者的下行接口;将该上行接口和该下行接口确定为该组播表项的内容。
以下结合两个具体实现方式,对生成组播表项的过程进行说明。
方式一、将该组播源信息和该组播组信息确定为组播表项的键值。根据该组播源信息和该链路状态信息,确定组播源到本设备的第一最优路径,并将第一最优路径在本设备的接口确定为上行接口;根据该接收者信息和该链路状态信息,确定本设备到接收者的第二最优路径,并将第二最优路径在本设备的接口确定为下行接口。将该上行接口和该下行接口确定为组播表项的内容。
其中,针对每个网络设备来说,根据该组播源信息和该链路状态信息,确定组播源到本设备的第一最优路径,可以包括:利用该链路状态信息确定链路状态拓扑,具体方式参见上述实施例。然后,基于该链路状态拓扑,采用最短路径算法确定组播源到本设备的最优路径,为了区分方便,将该最优路径称为第一最优路径,第一最优路径包括从组播源到本设备经过的网络设备的接口。
最短路径算法(Shortest Path Algorithm)可以包括但不限于:Dijkstra(迪杰斯特拉)算法、Bellman-Ford(贝尔曼-福特)算法、Floyd(弗洛伊德)算法或SPF(ShortestPath Faster,最短路径优先)算法,对此最短路径算法不做限制。
每个网络设备采用的最短路径算法可以相同,如每个网络设备均采用SPF算法。而且,每个网络设备在采用最短路径算法选择最优路径时,采用的策略可以相同。例如,优先选择链路开销值最小的路径作为最短路径。若链路开销值最小的路径为多个,即多个路径的链路开销值相同,则将设备标识最小(或者设备标识最大)的路径作为最短路径。若设备标识最小的路径也为多个,即多个路径的设备标识也相同,则可以将接口地址最小(或者接口地址最大)的路径作为最短路径。当然,上述只是最短路径的选择示例,对此不做限制。
其中,在确定组播源到本设备的第一最优路径之后,就可以将第一最优路径在本设备的接口确定为上行接口,且上行接口的数量可以为一个。
其中,针对每个网络设备来说,根据该接收者信息和该链路状态信息,确定本设备到接收者的第二最优路径,可以包括:利用该链路状态信息确定链路状态拓扑,具体方式参见上述实施例。然后,基于该链路状态拓扑,采用最短路径算法确定本设备到接收者的最优路径,为了区分方便,将该最优路径称为第二最优路径,第二最优路径包括从本设备到接收者经过的网络设备的接口。
参见上述的实施例,该最短路径算法可以包括但不限于:Dijkstra算法、Bellman-Ford算法、Floyd算法或SPF算法,对此不做限制。而且,每个网络设备采用的最短路径算法可以相同,如每个网络设备均采用SPF算法。此外,每个网络设备在采用最短路径算法选择最优路径时,采用的策略可以相同。
其中,在确定本设备到接收者的第二最优路径之后,就可以将第二最优路径在本设备的接口确定为下行接口,且下行接口的数量可以为一个或多个。
进一步的,在将第二最优路径在本设备的接口确定为下行接口时,先判断第二最优路径在本设备的接口是否已经被确定为上行接口。如果否,则可以将这个接口确定为下行接口;如果是,则不将这个接口确定为下行接口。
当然,上述方式只是确定下行接口的示例,还可以采用其它方式确定下行接口,对此不做限制。例如,查找本设备到接收者的单播路由(每个网络设备均有路由表,路由表包括本设备到其它设备的单播路由,对路由表的生成过程、路由表的内容不做限制),然后,将单播路由的出接口确定为下行接口。
以下结合图1所示的应用场景,对方式一进行详细说明。本应用场景中,以网络设备124为例进行说明,其它网络设备的实现与网络设备124类似。
首先,网络设备124可以将组播源信息(如主机111的IP地址为2.1.1.2/24)和组播组信息(如组播组地址224.0.0.1)确定为组播表项的键值。
然后,网络设备124基于链路状态拓扑,采用最短路径算法确定主机111到本设备的第一最优路径,对此确定方式不做限制。例如,参见图1所示,第一最优路径可以包括:网络设备121的接口1211-网络设备121的接口1212-网络设备122的接口1221-网络设备122的接口1222-网络设备124的接口1241。
然后,由于第一最优路径在网络设备124的接口为接口1241,因此,网络设备124将接口1241确定为上行接口,并将上行接口确定为组播表项的内容。
然后,网络设备124基于链路状态拓扑,采用最短路径算法确定本设备到主机112的第二最优路径。例如,参见图1所示,第二最优路径可以包括:网络设备124的接口1243。由于第二最优路径在网络设备124的接口为接口1243,因此,将接口1243确定为下行接口,并将下行接口确定为组播表项的内容。
此外,网络设备124基于链路状态拓扑,采用最短路径算法确定本设备到主机113的第二最优路径。例如,参见图1所示,第二最优路径可以包括:网络设备124的接口1242-网络设备125的接口1252-网络设备125的接口1253。由于第二最优路径在网络设备124的接口为接口1242,因此,网络设备124可以将接口1242确定为下行接口,并将下行接口确定为组播表项的内容。
综上所述,网络设备124可以生成表1所示的组播表项。
表1
键值 | 上行接口 | 下行接口 |
2.1.1.2/24、224.0.0.1 | 接口1241 | 接口1243、接口1242 |
… | … | … |
方式二、将该组播源信息和该组播组信息确定为组播表项的键值。根据该组播源信息、该接收者信息和该链路状态信息,确定组播源到接收者的第三最优路径,并判断第三最优路径是否经过本设备;如果是,则将第三最优路径在本设备的入接口确定为上行接口,将第三最优路径在本设备的出接口确定为下行接口。将该上行接口和该下行接口确定为该组播表项的内容。如果第三最优路径不经过本设备,则本设备不生成针对该组播源到该接收者的组播表项。
针对每个网络设备来说,根据组播源信息、接收者信息和链路状态信息,确定组播源到接收者的第三最优路径,可以包括:利用链路状态信息确定链路状态拓扑,具体方式参见上述实施例。然后,基于该链路状态拓扑,采用最短路径算法确定组播源到接收者的最优路径,为了区分方便,将该最优路径称为第三最优路径,第三最优路径包括从组播源到接收者经过的网络设备的接口。
参见上述的实施例,该最短路径算法可以包括但不限于:Dijkstra算法、Bellman-Ford算法、Floyd算法或SPF算法,对此不做限制。而且,每个网络设备采用的最短路径算法可以相同,如每个网络设备均采用SPF算法。此外,每个网络设备在采用最短路径算法选择最优路径时,采用的策略可以相同。
在确定组播源到接收者的第三最优路径之后,可以判断第三最优路径是否经过本设备。如果否,则不需要生成组播表项。如果是,则可以将第三最优路径在本设备的入接口确定为上行接口,上行接口的数量可以为一个;将第三最优路径在本设备的出接口确定为下行接口,下行接口的数量可以为一个或多个。
以下结合图1所示的应用场景,对方式二进行详细说明。本应用场景中,以网络设备124为例进行说明,其它网络设备的实现与网络设备124类似。
首先,网络设备124可以将组播源信息(如主机111的IP地址为2.1.1.2/24)和组播组信息(如组播组地址224.0.0.1)确定为组播表项的键值。
然后,网络设备124基于链路状态拓扑,采用最短路径算法确定主机111到主机112的第三最优路径,对此确定方式不做限制。例如,参见图1所示,第三最优路径可以包括:网络设备121的接口1211-网络设备121的接口1212-网络设备122的接口1221-网络设备122的接口1222-网络设备124的接口1241-网络设备124的接口1243。由于第三最优路径经过本设备(即网络设备124),因此,将第三最优路径在本设备的入接口(即接口1241)确定为上行接口,并将上行接口确定为组播表项的内容,以及,将第三最优路径在本设备的出接口(即接口1243)确定为下行接口,并将下行接口确定为组播表项的内容。
此外,网络设备124基于链路状态拓扑,采用最短路径算法确定主机111到主机113的第三最优路径,对此确定方式不做限制。例如,参见图1所示,第三最优路径可以包括:网络设备121的接口1211-网络设备121的接口1213-网络设备123的接口1231-网络设备123的接口1232-网络设备125的接口1251-网络设备125的接口1253。由于第三最优路径不经过本设备(即网络设备124),因此,针对主机111到主机113的第三最优路径,不再生成组播表项。
综上所述,网络设备124可以生成表2所示的组播表项。
表2
键值 | 上行接口 | 下行接口 |
2.1.1.2/24、224.0.0.1 | 接口1241 | 接口1243 |
… | … | … |
综上所述,采用上述方式一或者方式二,各网络设备均可以生成组播表项,然后,可以基于组播表项指导组播数据的传输,具体过程参见后续步骤。
步骤204,网络设备在接收到与该组播源信息和该组播组信息匹配的组播数据后,则利用该上行接口和该下行接口处理该组播数据。
具体的,利用该上行接口和该下行接口处理该组播数据,可以包括:获取该组播数据在本设备上的接收接口;若该接收接口是该上行接口,则通过该下行接口发送组播数据;若该接收接口不是该上行接口,则丢弃组播数据。
例如,针对组播源(即主机111)发送的组播数据,假设组播数据的源地址为主机111的IP地址2.1.1.2/24,组播数据的组播组地址为224.0.0.1。
假设网络设备124采用方式一生成表1所示的组播表项,网络设备124在接收到该组播数据后,由于组播数据的IP地址2.1.1.2/24和组播组地址224.0.0.1与表1所示的组播表项匹配,因此,若网络设备124通过接口1241接收到该组播数据,则组播数据在本设备上的接收接口为接口1241,由于接口1241是组播表项中的上行接口,因此,网络设备124可以通过组播表项中的下行接口(接口1243和接口1242)发送组播数据。此外,若网络设备124通过接口1242接收到该组播数据,则组播数据在本设备上的接收接口为接口1242,由于接口1242不是组播表项中的上行接口,因此,网络设备124可以丢弃该组播数据。
此外,假设网络设备124采用方式二生成表2所示的组播表项,网络设备124在接收到该组播数据后,由于组播数据的IP地址2.1.1.2/24和组播组地址224.0.0.1与表2所示的组播表项匹配,因此,若网络设备124通过接口1241接收到该组播数据,则组播数据在本设备上的接收接口为接口1241,由于接口1241是组播表项中的上行接口,因此,网络设备124可以通过组播表项中的下行接口(接口1243)发送组播数据。此外,若网络设备124通过接口1242接收到该组播数据,则组播数据在本设备上的接收接口为接口1242,由于接口1242不是组播表项中的上行接口,因此,网络设备124可以丢弃该组播数据。
基于上述技术方案,本公开实施例中,可以根据组播源信息、组播组信息、接收者信息、链路状态信息,生成组播表项,并利用该组播表项处理组播数据,也就是说,可以基于链路状态信息生成组播表项,不需要额外的组播路由协议,从而解决组播表项建立时间较长、实现方式复杂等问题,可以提高收敛速度,降低了实现复杂度,在网络震荡时的可靠性大大提高,提高业务体验。
基于与上述方法同样的构思,本公开实施例还提出一种组播数据处理装置,所述组播数据处理装置应用于网络设备,参见图3所示,所述装置包括:
获取模块31,用于获取组播源信息、组播组信息、接收者信息、链路状态信息;
生成模块32,用于根据所述组播源信息、所述组播组信息、所述接收者信息和所述链路状态信息,生成组播表项;其中,所述组播表项的键值包括所述组播源信息和所述组播组信息,所述组播表项的内容包括上行接口和下行接口;
处理模块33,用于在接收到与所述组播源信息和所述组播组信息匹配的组播数据后,则利用所述上行接口和所述下行接口处理所述组播数据。
所述生成模块32根据所述组播源信息、所述组播组信息、所述接收者信息和所述链路状态信息,生成组播表项时具体用于:
将所述组播源信息和所述组播组信息确定为所述组播表项的键值;
根据所述组播源信息、所述接收者信息和所述链路状态信息,确定组播源到达本设备的上行接口以及本设备到达接收者的下行接口;
将所述上行接口和所述下行接口确定为所述组播表项的内容。
所述生成模块32根据所述组播源信息、所述接收者信息和所述链路状态信息,确定组播源到达本设备的上行接口以及本设备到达接收者的下行接口时具体用于:根据所述组播源信息和所述链路状态信息,确定组播源到本设备的第一最优路径,并将所述第一最优路径在本设备的接口确定为所述上行接口;
根据所述接收者信息和所述链路状态信息,确定本设备到接收者的第二最优路径,并将所述第二最优路径在本设备的接口确定为所述下行接口。
所述生成模块32根据所述组播源信息、所述接收者信息和所述链路状态信息,确定组播源到达本设备的上行接口以及本设备到达接收者的下行接口时具体用于:根据所述组播源信息、所述接收者信息和所述链路状态信息,确定组播源到接收者的第三最优路径,并判断所述第三最优路径是否经过本设备;
如果是,则将所述第三最优路径在本设备的入接口确定为所述上行接口,将所述第三最优路径在本设备的出接口确定为所述下行接口。
所述处理模块33利用所述上行接口和所述下行接口处理所述组播数据时具体用于:获取所述组播数据在本设备上的接收接口;
若所述接收接口是所述上行接口,则通过所述下行接口发送所述组播数据;
若所述接收接口不是所述上行接口,则丢弃所述组播数据。
本公开实施例提供的电子设备(如上述网络设备),从硬件层面而言,硬件架构示意图具体可以参见图4所示,可以包括:机器可读存储介质和处理器,其中:所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器与机器可读存储介质通信,读取和执行机器可读存储介质中存储的所述指令代码,以实现上述组播数据处理方法。
本公开实施例提供一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现上述组播数据处理方法。
这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本公开时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本公开的实施例而已,并不用于限制本公开。对于本领域技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的权利要求范围之内。
Claims (8)
1.一种组播数据处理方法,其特征在于,应用于网络设备,所述方法包括:
获取组播源信息、组播组信息、接收者信息、链路状态信息;
根据所述组播源信息、所述组播组信息、所述接收者信息和所述链路状态信息,生成组播表项;其中,所述组播表项的键值包括所述组播源信息和所述组播组信息,所述组播表项的内容包括上行接口和下行接口;
在接收到与所述组播源信息和所述组播组信息匹配的组播数据后,则利用所述上行接口和所述下行接口处理所述组播数据;
其中,根据所述组播源信息、所述组播组信息、所述接收者信息和所述链路状态信息,生成组播表项,包括:将所述组播源信息和所述组播组信息确定为所述组播表项的键值;根据所述组播源信息、所述接收者信息和所述链路状态信息,确定组播源到达本设备的上行接口以及本设备到达接收者的下行接口;将所述上行接口和所述下行接口确定为所述组播表项的内容;
其中,根据所述组播源信息、所述接收者信息和所述链路状态信息,确定组播源到达本设备的上行接口以及本设备到达接收者的下行接口,包括:
根据所述组播源信息和所述链路状态信息,确定组播源到本设备的第一最优路径,并将所述第一最优路径在本设备的接口确定为所述上行接口;
根据所述接收者信息和所述链路状态信息,确定本设备到接收者的第二最优路径,并将所述第二最优路径在本设备的接口确定为所述下行接口。
2.根据权利要求1所述的方法,其特征在于,
根据所述组播源信息、所述接收者信息和所述链路状态信息,确定组播源到达本设备的上行接口以及本设备到达接收者的下行接口,还包括:
根据所述组播源信息、所述接收者信息和所述链路状态信息,确定组播源到接收者的第三最优路径,并判断所述第三最优路径是否经过本设备;
如果是,则将所述第三最优路径在本设备的入接口确定为所述上行接口,将所述第三最优路径在本设备的出接口确定为所述下行接口。
3.根据权利要求1所述的方法,其特征在于,
利用所述上行接口和所述下行接口处理所述组播数据,包括:
获取所述组播数据在本设备上的接收接口;
若所述接收接口是所述上行接口,则通过所述下行接口发送所述组播数据;
若所述接收接口不是所述上行接口,则丢弃所述组播数据。
4.根据权利要求1所述的方法,其特征在于,
所述方法应用于组播源和接收者均固定的组播网络中;
获取组播源信息、组播组信息、接收者信息、链路状态信息,包括:
获取静态配置的组播源信息、组播组信息、接收者信息;
获取本设备的链路状态信息,接收所述组播网络中其它网络设备发送的链路状态报文,根据所述链路状态报文获取其它网络设备的链路状态信息。
5.根据权利要求1-4任一所述的方法,其特征在于,所述组播源信息为组播源的IP地址,所述组播组信息为组播组的IP地址,所述接收者信息为接收者的IP地址;或者,所述组播源信息为组播源的介质访问控制MAC地址,所述组播组信息为组播组的VLAN,所述接收者信息为接收者的MAC地址。
6.一种组播数据处理装置,其特征在于,应用于网络设备,所述装置包括:
获取模块,用于获取组播源信息、组播组信息、接收者信息、链路状态信息;
生成模块,用于根据所述组播源信息、所述组播组信息、所述接收者信息和所述链路状态信息,生成组播表项;其中,所述组播表项的键值包括所述组播源信息和所述组播组信息,所述组播表项的内容包括上行接口和下行接口;
处理模块,用于在接收到与所述组播源信息和所述组播组信息匹配的组播数据后,则利用所述上行接口和所述下行接口处理所述组播数据;
其中,根据所述组播源信息、所述组播组信息、所述接收者信息和所述链路状态信息,生成组播表项,包括:将所述组播源信息和所述组播组信息确定为所述组播表项的键值;根据所述组播源信息、所述接收者信息和所述链路状态信息,确定组播源到达本设备的上行接口以及本设备到达接收者的下行接口;将所述上行接口和所述下行接口确定为所述组播表项的内容;
其中,根据所述组播源信息、所述接收者信息和所述链路状态信息,确定组播源到达本设备的上行接口以及本设备到达接收者的下行接口,包括:
根据所述组播源信息和所述链路状态信息,确定组播源到本设备的第一最优路径,并将所述第一最优路径在本设备的接口确定为所述上行接口;
根据所述接收者信息和所述链路状态信息,确定本设备到接收者的第二最优路径,并将所述第二最优路径在本设备的接口确定为所述下行接口。
7.一种电子设备,其特征在于,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令,以实现权利要求1-5任一所述的方法步骤。
8.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现权利要求1-5任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910231468.4A CN109981306B (zh) | 2019-03-26 | 2019-03-26 | 组播数据处理方法、装置、设备及机器可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910231468.4A CN109981306B (zh) | 2019-03-26 | 2019-03-26 | 组播数据处理方法、装置、设备及机器可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109981306A CN109981306A (zh) | 2019-07-05 |
CN109981306B true CN109981306B (zh) | 2021-09-21 |
Family
ID=67080528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910231468.4A Active CN109981306B (zh) | 2019-03-26 | 2019-03-26 | 组播数据处理方法、装置、设备及机器可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109981306B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101383772A (zh) * | 2008-09-26 | 2009-03-11 | 中兴通讯股份有限公司 | 一种自动发现并建立mac路由信息表的方法及装置 |
WO2014072374A1 (en) * | 2012-11-09 | 2014-05-15 | Siemens Aktiengesellschaft | Method for transmitting messages in an industrial communication network of an industrial automation system and communication device for an industrial communication network |
CN105337746A (zh) * | 2015-09-23 | 2016-02-17 | 浙江宇视科技有限公司 | 一种组播数据的传输方法和装置 |
CN105634952A (zh) * | 2015-07-29 | 2016-06-01 | 杭州华三通信技术有限公司 | Lsp报文快速通告方法以及装置 |
CN106059962A (zh) * | 2016-06-07 | 2016-10-26 | 杭州华三通信技术有限公司 | 一种spbm网络中组播报文的转发方法和装置 |
CN106209622A (zh) * | 2016-06-23 | 2016-12-07 | 广州海格通信集团股份有限公司 | 一种基于sdn的组播方法 |
CN106357540A (zh) * | 2016-08-24 | 2017-01-25 | 浪潮(北京)电子信息产业有限公司 | 一种组播控制方法及装置、组播系统 |
CN108923946A (zh) * | 2018-06-27 | 2018-11-30 | 中国人民解放军国防科技大学 | 一种基于软件定义的集中组播控制方法 |
-
2019
- 2019-03-26 CN CN201910231468.4A patent/CN109981306B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101383772A (zh) * | 2008-09-26 | 2009-03-11 | 中兴通讯股份有限公司 | 一种自动发现并建立mac路由信息表的方法及装置 |
WO2014072374A1 (en) * | 2012-11-09 | 2014-05-15 | Siemens Aktiengesellschaft | Method for transmitting messages in an industrial communication network of an industrial automation system and communication device for an industrial communication network |
CN105634952A (zh) * | 2015-07-29 | 2016-06-01 | 杭州华三通信技术有限公司 | Lsp报文快速通告方法以及装置 |
CN105337746A (zh) * | 2015-09-23 | 2016-02-17 | 浙江宇视科技有限公司 | 一种组播数据的传输方法和装置 |
CN106059962A (zh) * | 2016-06-07 | 2016-10-26 | 杭州华三通信技术有限公司 | 一种spbm网络中组播报文的转发方法和装置 |
CN106209622A (zh) * | 2016-06-23 | 2016-12-07 | 广州海格通信集团股份有限公司 | 一种基于sdn的组播方法 |
CN106357540A (zh) * | 2016-08-24 | 2017-01-25 | 浪潮(北京)电子信息产业有限公司 | 一种组播控制方法及装置、组播系统 |
CN108923946A (zh) * | 2018-06-27 | 2018-11-30 | 中国人民解放军国防科技大学 | 一种基于软件定义的集中组播控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109981306A (zh) | 2019-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11665595B2 (en) | Forwarding entry generation method, controller, and network device | |
US7911977B2 (en) | Designated router assignment per multicast group address/range | |
US8982881B2 (en) | Upstream label allocation on ethernets for MP2MP LSPS | |
US7304955B2 (en) | Scalable IP multicast with efficient forwarding cache | |
CN109714274B (zh) | 一种获取对应关系的方法和路由设备 | |
CN107547391B (zh) | 一种报文传输方法和装置 | |
CN104335537A (zh) | 用于层2多播多路径传送的系统和方法 | |
CN110661711A (zh) | 生成标签转发表的方法、报文发送方法、装置及设备 | |
JP2018191290A (ja) | 負荷分散を実現するための方法、装置、およびネットワークシステム | |
CN101651609A (zh) | 实现组播负载分担的方法及装置 | |
CN100484080C (zh) | 一种虚拟私有网的路由引入方法、系统和运营商边缘设备 | |
CN105791109B (zh) | 多协议标签交换中间节点组播转发的方法、装置和节点 | |
EP2892196B1 (en) | Method, network node and system for implementing point-to-multipoint multicast | |
WO2017201750A1 (zh) | 组播数据处理方法、装置及系统 | |
CN111600798B (zh) | 一种发送和获取断言报文的方法和设备 | |
CN107547377B (zh) | 一种组播流量传输方法和装置 | |
CN109981306B (zh) | 组播数据处理方法、装置、设备及机器可读存储介质 | |
US12063153B2 (en) | Method and apparatus for implementing multicast | |
CN110062058B (zh) | 网络地址的配置方法和装置 | |
CN102413062A (zh) | 一种路由选择的方法和路由设备 | |
CN108183859B (zh) | 一种互联网流量调度方法和系统 | |
CN107276774B (zh) | 一种组播报文传输方法以及转发设备 | |
CN113364687B (zh) | 一种生成转发表项的方法、控制器和网络设备 | |
CN108600110B (zh) | 一种pim报文处理方法和装置 | |
WO2019161928A1 (en) | Methods, nodes and system for a multicast service |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |