CN106101009B - 一种协议无关组播pim的选举方法和装置 - Google Patents
一种协议无关组播pim的选举方法和装置 Download PDFInfo
- Publication number
- CN106101009B CN106101009B CN201610492705.9A CN201610492705A CN106101009B CN 106101009 B CN106101009 B CN 106101009B CN 201610492705 A CN201610492705 A CN 201610492705A CN 106101009 B CN106101009 B CN 106101009B
- Authority
- CN
- China
- Prior art keywords
- pim
- outgoing interface
- interface
- neighbours
- multicast
- 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
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
- H04L47/806—Broadcast or multicast traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/201—Multicast operation; Broadcast operation
Abstract
本申请实施例提供了一种协议无关组播PIM的选举方法和装置,应用于PIM路由器,其中的方法包括:判断所述PIM路由器是否存在PIM邻居数量大于等于2的出接口;其中,所述出接口为所述PIM路由器中组播转发表中的出接口,且所述出接口用于沿着远离组播源的下游方向转发组播报文;若存在,则通过所述出接口发送断言Assert报文。本申请实施例不用将出接口接收到的组播报文上送CPU即可发送Assert报文,从而可以减轻CPU的负担,以及减少传输组播报文占用的带宽资源。
Description
技术领域
本申请涉及通信技术领域,特别是涉及一种协议无关组播PIM的选举方法和装置。
背景技术
IP(Internet Protocol,因特网协议)组播能够显著节省网络带宽,广泛应用于视频点播、远程教育和监控等领域。PIM(Protocol-Independent Multicast,协议无关组播)是一种使用最为广泛的组播路由协议。PIM主要包括以下两种模式:PIM-DM(ProtocolIndependent Multicast-Dense Mode,协议无关组播—密集模式)和PIM-SM(ProtocolIndependent Multicast-Sparse Mode,协议无关组播—稀疏模式)。
PIM借助RPF(Reverse Path Forwarding,逆向路径转发)机制实现对组播报文的转发。组播路由器在接收到组播报文后,根据报文的源地址确定其正确的入接口(即指向组播源方向的接口,称为RPF接口)和下游方向,然后将组播报文通过出接口沿着远离组播源的下游方向转发。
在PIM域(即支持PIM协议的组播路由器所组成的网络)中,如果在一个共享网段内存在多台组播路由器,则相同的组播报文可能会被重复发送到该网段。参照图1,示出了现有的一种PIM域的网络结构示意图。其中,接收者可以接收到来自RTA和RTB转发的相同的组播报文,为了避免这种情况,PIM引入了ASSERT(断言)机制。在组播路由器从出接口(属于非RPF接口)接收到组播报文时,需要将该组播报文上送CPU,以触发ASSERT选举,选举成功的组播路由器可以继续转发该组播报文,而选举失败的组播路由器不再转发该组播报文。
在PIM协议中,为了触发ASSERT选举,组播路由器需要将从出接口接收到的组播报文上送CPU,然而,在组播数据流数量较多时,不仅会增加CPU处理组播报文的负担,还会导致传输组播报文造成的带宽资源的浪费。
发明内容
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的协议无关组播PIM的选举方法和装置,能够减轻CPU的负担,以及减少传输组播报文占用的带宽资源。
为了解决上述问题,本申请实施例公开了一种协议无关组播PIM的选举方法,应用于PIM路由器,所述方法包括:
判断所述PIM路由器是否存在PIM邻居数量大于等于2的出接口;其中,所述出接口为所述PIM路由器中组播转发表中的出接口,且所述出接口用于沿着远离组播源的下游方向转发组播报文;
若存在,则通过所述出接口发送断言Assert报文。
另一方面,本申请实施例公开了一种协议无关组播PIM的选举装置,应用于PIM路由器,所述装置包括:
判断模块,用于判断所述PIM路由器是否存在PIM邻居数量大于等于2的出接口;其中,所述出接口为所述PIM路由器中组播转发表中的出接口,且所述出接口用于沿着远离组播源的下游方向转发组播报文;
发送模块,用于在所述判断模块判断出所述PIM路由器存在PIM邻居数量大于等于2的出接口时,通过所述出接口发送Assert报文。
本申请实施例包括以下优点:
本申请实施例在PIM路由器的出接口还没有接收组播报文之前,即可提前触发Assert选举;其中,所述出接口为所述PIM路由器中组播转发表中的出接口,且所述出接口用于沿着远离组播源的下游方向转发组播报文。具体地,通过判断所述PIM路由器是否存在PIM邻居数量大于等于2的出接口,若存在,可以认为在当前PIM域中可能出现重复转发多份组播报文的情况,则可以触发Assert选举,通过所述出接口发送Assert报文。由此,本申请实施例可以不用等待PIM路由器的出接口接收到组播报文,进而不用将出接口接收到组播报文上送CPU,从而可以减轻CPU的负担,以及减少传输组播报文占用的带宽资源。
此外,在实际应用中,有些PIM路由器并不支持将出接口接收到的组播报文上送CPU的功能,因此,这种情况下将无法触发Assert选举,导致共享网段中仍然会转发重复的组播报文。而本申请实施例不用将出接口接收到的组播报文上送CPU,即可触发Assert选举,从而可以实现在PIM路由器不支持将出接口接收到的组播报文上送CPU的功能的情况下,也可以触发Assert选举,增加了触发Assert选举的适用范围和灵活性。
附图说明
图1是现有的一种PIM域的网络结构示意图;
图2是本申请其中一个实施例的一种协议无关组播PIM的选举方法的步骤流程图;
图3是本申请的一种PIM域的网络结构示意图;
图4是本申请另一实施例的一种协议无关组播PIM的选举方法的步骤流程图;
图5是本申请其中一个实施例的一种协议无关组播PIM的选举装置的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图2,示出了本申请其中一个实施例的一种协议无关组播PIM的选举方法的步骤流程图,所述方法应用于PIM路由器,具体可以包括如下步骤:
步骤201、判断所述PIM路由器是否存在PIM邻居数量大于等于2的出接口;其中,所述出接口为所述PIM路由器中组播转发表中的出接口,且所述出接口用于沿着远离组播源的下游方向转发组播报文;
步骤202、若存在,则通过所述出接口发送断言Assert报文。
本申请实施例可应用于运行PIM协议的PIM路由器,以解决在现有的PIM协议中,触发ASSERT选举会增加PIM路由器的CPU负担以及造成带宽资源浪费的问题。其中,所述PIM协议具体可以包括PIM-DM、PIM-SM以及PIM-SSM(Protocol Independent Multicast Source-Specific Multicast,协议无关组播-指定源组播)等模式。为便于描述,本申请实施例均以PIM-DM模式为例进行描述,PIM-SM、PIM-SSM等模式的应用场景相互参照即可。
在具体应用中,只有在一个共享网段内存在3台或3台以上的PIM路由器时,才有可能出现重复转发多份组播报文的情况。因此,本申请实施例通过判断PIM路由器的出接口对应的PIM邻居数量,确定是否需要触发Assert选举,而不用等待PIM路由器的出接口接收到组播报文。
其中,所述出接口具体可以为所述PIM路由器中组播转发表中的出接口,且所述出接口可以用于沿着远离组播源的下游方向转发组播报文。以图1为例,PIM路由器RTA可以从指向组播源方向的接口(入接口)接收来自组播源的组播报文,通过查询RTA中存储的组播转发表,可以得到与该组播报文对应的出接口,然后将组播报文通过出接口沿着远离组播源的下游方向转发,如向RTC方向进行转发。可以理解,在实际应用中,在出接口或者入接口出现故障或者组播路由发生变化时,相对于当前的组播源,所述PIM路由器中原本的出接口有可能成为入接口,或者原本的入接口也有可能成为出接口。
本申请实施例可以在所述PIM路由器的出接口接收到组播报文之前,判断所述PIM路由器是否存在PIM邻居数量大于等于2的出接口,如果存在,则说明所述PIM路由器和其另外两个PIM邻居有可能组成图1所示的网络结构,则可能会出现重复转发组播报文的情况。因此,本申请实施例在判定所述PIM路由器存在PIM邻居数量大于等于2的出接口时,即可提前触发Assert选举,不用等待出接口接收到组播报文,进而可以不用将出接口接收到组播报文上送CPU进行分析,从而可以减轻CPU的负担,以及减少传输组播报文占用的带宽资源。
在本申请的一种可选实施例中,所述步骤201,具体可以包括如下步骤:
步骤2011、通过查询已建立的PIM邻居表,确定所述PIM邻居表中PIM邻居数量大于等于2的接口;
在本申请实施例中,运行PIM协议的PIM路由器可以定期向其所在的共享网段以组播方式发送PIM Hello报文,以发现和维护邻居信息。为了可以获取PIM路由器出接口对应的PIM邻居数量,本申请实施例建立的PIM邻居表中可以包括PIM邻居的地址信息和该PIM邻居对应的接口之间的映射关系。可选地,所述方法还可以包括如下步骤:
接收来自PIM邻居的PIM Hello报文,所述PIM Hello报文中携带有所述PIM邻居的地址信息;在所述PIM邻居表中查询是否存在与所述地址信息相匹配的邻居表项,若不存在,则建立所述PIM邻居的地址信息与接收所述PIM Hello报文的接口之间的映射关系;将所述映射关系作为邻居表项加入所述PIM邻居表中。
在具体应用中,PIM路由器在接收到来自PIM邻居的PIM Hello报文后,提取所述PIM Hello报文携带的所述PIM邻居的地址信息,在已建立的PIM邻居表中查询是否存在与所述地址信息相匹配的邻居表项,若不存在,则说明所述PIM路由器还未学习到该PIM邻居,则可以将该PIM邻居学习到PIM邻居表中。具体地,可以建立所述PIM邻居的地址信息与接收所述PIM Hello报文的接口之间的映射关系,并且将所述映射关系作为邻居表项加入所述PIM邻居表中。由此,通过查询PIM邻居表,即可得知所述PIM路由器通过哪个接口学习到了哪些PIM邻居。
在本申请的一种应用示例中,参照图3,示出了本申请的一种PIM域的网络结构示意图。假设PIM路由器RTA从接口Eth0/1接收到来自PIM路由器RTB和RTC的PIM Hello报文,其中分别携带有RTB的IP地址11.1.1.2和RTC的IP地址11.1.1.3,RTA通过查询自身的PIM邻居表,发现并未存储RTB和RTC的地址信息,则可以建立RTB的IP地址11.1.1.2和接口Eth0/1的映射关系,以及RTC的IP地址11.1.1.3和接口Eth0/1的映射关系,并且将建立的映射关系加入PIM邻居表。同样地,RTA可以从接口Eth0/0接收到来自PIM路由器RTD的PIM Hello报文,也可以将RTD加入PIM邻居表。参照表1,示出了本申请的一种PIM路由器RTA的PIM邻居表的具体示意。表1
接口 | PIM邻居 |
Eth0/1 | 11.1.1.2 |
Eth0/1 | 11.1.1.3 |
Eth0/0 | 11.1.1.4 |
由此,PIM路由器RTA可以通过表1所示的PIM邻居表维护与接口对应的PIM邻居关系,进而可以通过表1获取其中PIM邻居数量大于等于2的接口,如接口Eth0/1。
步骤2012、依据所述PIM邻居数量大于等于2的接口,查询所述组播转发表;
步骤2013、在所述组播转发表中存在与所述PIM邻居数量大于等于2的接口相匹配的出接口时,判定所述PIM路由器存在PIM邻居数量大于等于2的出接口。
在通过查询PIM邻居表得到PIM邻居数量大于等于2的接口之后,可以在组播转发表中进行查询,以确定PIM邻居数量大于等于2的接口中哪些是PIM路由器的出接口。
在所述PIM协议为PIM-DM模式时,所述组播转发表可以在PIM路由器从指向组播源的入接口接收到组播报文时所建立,所述组播转发表中可以包括组播源地址、组播组地址、入接口和出接口列表之间的对应关系。其中,入接口为RPF接口,出接口列表中可以包括所述PIM路由器除入接口之外的其他所有接口。
在所述PIM协议为PIM-SM或者PIM-SSM模式时,所述组播转发表可以在PIM路由器从指向组播源的入接口接收到组播报文时所建立,或者,还可以在入接口接收到组播报文前,根据接收到的PIM协议报文所建立。可以理解,本申请实施例对于建立所述组播转发表的具体时机不加以限制。
在本申请的一种应用示例中,以PIM-DM模式为例,如图3所示,假设PIM路由器RTA从接口Eth0/0接收到来自组播源S(组播源地址为10.1.1.1)向组播组G(组播组地址为225.1.1.1)发送的组播报文,记为报文(S,G),也即(10.1.1.1,225.1.1.1)。
RTA接收到该组播报文后,首先对该组播报文执行RPF检查,由于接收该组播报文的接口Eth0/0为指向组播源S的接口,则RPF检查通过,可以向组播转发表中与关键字(S,G)相匹配的出接口列表中的所有出接口发送该组播报文。如果组播转发表中不存在与关键字(S,G)相匹配的转发表项,则在组播转发表中新建关键字(S,G)对应的转发表项。其中,所述转发表项具体可以包括:组播源地址、组播组地址、入接口和出接口列表。
在本应用示例中,假设RTA的组播转发表中不存在关键字(10.1.1.1,225.1.1.1)对应的转发表项,则可以新建关键字(10.1.1.1,225.1.1.1)对应的转发表项,参照表2,示出了本申请的一种在RTA的组播转发表中新建转发表项的具体示意。其中,SrcAddr表示组播源地址,GrpAddr表示组播组地址,IIF表示入接口,OIF表示出接口列表。
表2
SrcAddr | GrpAddr | IIF | OIF |
10.1.1.1 | 225.1.1.1 | Eth0/0 | Eth0/1 |
在具体应用中,假设通过查询表1,获取PIM路由器RTA的PIM邻居数量大于等于2的接口包括Eth0/1,再通过查询RTA的组播转发表,可以得知该接口Eth0/1为组播报文(10.1.1.1,225.1.1.1)对应的转发出接口,因此,RTA很有可能通过该出接口Eth0/1转发和其PIM邻居重复的组播报文(10.1.1.1,225.1.1.1)。因此,在RTA还未从出接口Eth0/1接收到组播报文(10.1.1.1,225.1.1.1)时,即可提前触发Assert选举,向出接口Eth0/1发送Assert报文。
综上,本申请实施例在PIM路由器的出接口还没有接收组播报文之前,即可提前触发Assert选举;其中,所述出接口为所述PIM路由器中组播转发表中的出接口,且所述出接口用于沿着远离组播源的下游方向转发组播报文。具体地,通过判断所述PIM路由器是否存在PIM邻居数量大于等于2的出接口,若存在,可以认为在当前PIM域中可能出现重复转发多份组播报文的情况,则可以触发Assert选举,通过所述出接口发送Assert报文。由此,本申请实施例可以不用等待PIM路由器的出接口接收到组播报文,进而不用将出接口接收到组播报文上送CPU,从而可以减轻CPU的负担,以及减少传输组播报文占用的带宽资源。
此外,在实际应用中,有些PIM路由器并不支持将出接口接收到组播报文上送CPU的功能,因此,这种情况下将无法触发Assert选举,导致共享网段中仍然会转发重复的组播报文。而本申请实施例不用将出接口接收到的组播报文上送CPU,即可触发Assert选举,从而可以实现在PIM路由器不支持将出接口接收到的组播报文上送CPU的功能的情况下,也可以触发Assert选举,增加了触发Assert选举的适用范围和灵活性。
在另一实施例中,本申请还可以对发送Assert报文的出接口对应的Assert状态进行更新。参照图4,示出了本申请另一实施例的一种协议无关组播PIM的选举方法的步骤流程图,具体可以包括如下步骤:
步骤401、判断所述PIM路由器是否存在PIM邻居数量大于等于2的出接口;其中,所述出接口为所述PIM路由器中组播转发表中的出接口,且所述出接口用于沿着远离组播源的下游方向转发组播报文;
步骤402、若存在,则通过所述出接口发送Assert报文;
步骤403、更新所述出接口对应的Assert状态。
其中,所述更新所述出接口对应的的Assert状态状态的步骤,具体可以包括:将所述出接口的Assert状态更新为获胜状态。
所述方法还可以包括如下步骤:
在所述出接口接收到更优的Assert报文时,将所述出接口的获胜状态更新为失败状态。
在本申请实施例中,在所述PIM路由器向其PIM邻居数量大于等于2的出接口发送Assert报文之后,可以认为自己是获胜者,此时,可以将所述出接口的Assert状态设置为Assert Winner(获胜)状态。其中,所述Assert报文中可以携带有所述PIM路由器的路由度量信息。
在所述PIM路由器从该出接口接收到来自PIM邻居的Assert报文时,将邻居的Assert报文中携带的邻居的路由度量信息与自身的路由度量信息进行比较,如果邻居的路由度量信息优于自身的路由度量信息,可以认为所述出接口接收到更优的Assert报文,则可以将所述出接口的获胜状态更新为失败状态。
在具体应用中,在将所述出接口的Assert状态更新为获胜状态之后,可以启动Assert定时器;如果所述Assert定时器超时,或者所述出接口变为入接口,则可以将所述出接口的获胜状态更新为初始状态(NoInfo)。其中,所述Assert定时器可用于维持当前的Assert Winner状态,处于Assert Winner状态的出接口可以一直转发对应的路由报文(S,G)。
在本申请的一种可选实施例中,在满足如下任一条件时,将所述出接口的Assert状态更新为获胜状态:
所述出接口的Assert状态为初始状态,且所述出接口接收到组播报文;或者
所述出接口的Assert状态为初始状态,且所述出接口接收到更劣的Assert报文;或者
所述出接口的Assert状态为初始状态,且所述出接口的PIM邻居数量大于等于2。
在具体应用中,在PIM路由器还未向出接口发送Assert报文之前,该出接口的Assert状态为NoInfo状态。如果在NoInfo状态下,该出接口接收到组播报文或者该出接口的PIM邻居数量大于等于2,则说明该出接口满足触发Assert选举的条件,则可以触发Assert选举(即对该接口启动Assert状态机),向该出接口发送Assert报文,并且将所述PIM路由器的该出接口的NoInfo状态更新为获胜状态。
或者,在所述PIM路由器从该出接口接收到来自PIM邻居的Assert报文时,将邻居的Assert报文中携带的邻居的路由度量信息与自身的路由度量信息进行比较,如果自身的路由度量信息优于邻居的路由度量信息,可以认为所述出接口接收到更劣的Assert报文,则可以将所述PIM路由器的该出接口的NoInfo状态更新为获胜状态。
综上,本申请实施例对于已有的触发Assert选举的条件进行了扩展,使得在PIM路由器的出接口接收组播报文之前就可以触发Assert选举,并且,使得不支持上报出接口接收的组播报文的PIM路由器也可以触发Assert选举。此外,本申请实施例还可以对启动Assert状态机的出接口对应的Assert状态进行更新,本申请实施例的Assert状态机可以适用于更多的Assert触发条件,可以增加触发Assert选举的灵活性和实用性。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图5,示出了本申请其中一个实施例的一种协议无关组播PIM的选举装置的结构框图。所述装置应用于PIM路由器,所述装置具体可以包括:
判断模块501,用于判断所述PIM路由器是否存在PIM邻居数量大于等于2的出接口;其中,所述出接口为所述PIM路由器中组播转发表中的出接口,且所述出接口用于沿着远离组播源的下游方向转发组播报文;
发送模块502,用于在所述判断模块判断出所述PIM路由器存在PIM邻居数量大于等于2的出接口时,通过所述出接口发送Assert报文。
在本申请的一种可选实施例中,所述判断模块501,具体可以包括:
第一查询子模块,用于通过查询已建立的PIM邻居表,确定所述PIM邻居表中PIM邻居数量大于等于2的接口;
第二查询子模块,用于依据所述PIM邻居数量大于等于2的接口,查询所述组播转发表;
判断子模块,用于在所述组播转发表中存在与所述PIM邻居数量大于等于2的接口相匹配的出接口时,判定所述PIM路由器存在PIM邻居数量大于等于2的出接口。
在本申请的另一种可选实施例中,所述装置还可以包括:
接收模块,用于接收来自PIM邻居的PIM Hello报文,所述PIM Hello报文中携带有所述PIM邻居的地址信息;
建立模块,用于在所述PIM邻居表中查询是否存在与所述地址信息相匹配的邻居表项,若不存在,则建立所述PIM邻居的地址信息与接收所述PIM Hello报文的接口之间的映射关系;
加入模块,用于将所述映射关系作为邻居表项加入所述PIM邻居表中。
在本申请的又一种可选实施例中,所述装置还可以包括:
第一更新模块,用于在通过所述出接口发送Assert报文之后,更新所述出接口对应的Assert状态。
在本申请的再一种可选实施例中,所述第一更新模块还用于将所述出接口的Assert状态更新为获胜状态;
所述装置还可以包括:
第二更新模块,用于在所述出接口接收到更优的Assert报文时,将所述出接口的获胜状态更新为失败状态。
在本申请的再一种可选实施例中,在满足如下任一条件时,所述第一更新模块将所述出接口的Assert状态更新为获胜状态:
所述出接口的Assert状态为初始状态,且所述出接口接收到组播报文;或者
所述出接口的Assert状态为初始状态,且所述出接口接收到更劣的Assert报文;或者
所述出接口的Assert状态为初始状态,且所述出接口的PIM邻居数量大于等于2。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
以上对本申请所提供的一种协议无关组播PIM的选举方法和装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种协议无关组播PIM的选举方法,其特征在于,应用于PIM路由器,所述方法包括:
在接收到来自PIM邻居的PIM Hello报文后,判断所述PIM路由器是否存在所述PIM邻居数量大于等于2的出接口;其中,所述出接口为所述PIM路由器中组播转发表中的出接口,且所述出接口用于沿着远离组播源的下游方向转发组播报文;
若存在,则通过所述出接口发送断言Assert报文。
2.根据权利要求1所述的方法,其特征在于,所述判断所述PIM路由器是否存在PIM邻居数量大于等于2的出接口的步骤,包括:
通过查询已建立的PIM邻居表,确定所述PIM邻居表中PIM邻居数量大于等于2的接口;
依据所述PIM邻居数量大于等于2的接口,查询所述组播转发表;
在所述组播转发表中存在与所述PIM邻居数量大于等于2的接口相匹配的出接口时,判定所述PIM路由器存在PIM邻居数量大于等于2的出接口。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收来自PIM邻居的PIM Hello报文,所述PIM Hello报文中携带有所述PIM邻居的地址信息;
在所述PIM邻居表中查询是否存在与所述地址信息相匹配的邻居表项,若不存在,则建立所述PIM邻居的地址信息与接收所述PIM Hello报文的接口之间的映射关系;
将所述映射关系作为邻居表项加入所述PIM邻居表中。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在通过所述出接口发送Assert报文之后,更新所述出接口对应的Assert状态。
5.根据权利要求4所述的方法,其特征在于,所述更新所述出接口对应的Assert状态的步骤,包括:
将所述出接口的Assert状态更新为获胜状态;
所述方法还包括:
在所述出接口接收到更优的Assert报文时,将所述出接口的获胜状态更新为失败状态。
6.一种协议无关组播PIM的选举装置,其特征在于,应用于PIM路由器,所述装置包括:
判断模块,用于在接收到来自PIM邻居的PIM Hello报文后,判断所述PIM路由器是否存在所述PIM邻居数量大于等于2的出接口;其中,所述出接口为所述PIM路由器中组播转发表中的出接口,且所述出接口用于沿着远离组播源的下游方向转发组播报文;
发送模块,用于在所述判断模块判断出所述PIM路由器存在PIM邻居数量大于等于2的出接口时,通过所述出接口发送Assert报文。
7.根据权利要求6所述的装置,其特征在于,所述判断模块,包括:
第一查询子模块,用于通过查询已建立的PIM邻居表,确定所述PIM邻居表中PIM邻居数量大于等于2的接口;
第二查询子模块,用于依据所述PIM邻居数量大于等于2的接口,查询所述组播转发表;
判断子模块,用于在所述组播转发表中存在与所述PIM邻居数量大于等于2的接口相匹配的出接口时,判定所述PIM路由器存在PIM邻居数量大于等于2的出接口。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
接收模块,用于接收来自PIM邻居的PIM Hello报文,所述PIM Hello报文中携带有所述PIM邻居的地址信息;
建立模块,用于在所述PIM邻居表中查询是否存在与所述地址信息相匹配的邻居表项,若不存在,则建立所述PIM邻居的地址信息与接收所述PIM Hello报文的接口之间的映射关系;
加入模块,用于将所述映射关系作为邻居表项加入所述PIM邻居表中。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第一更新模块,用于在通过所述出接口发送Assert报文之后,更新所述出接口对应的Assert状态。
10.根据权利要求9所述的装置,其特征在于,所述第一更新模块还用于将所述出接口的Assert状态更新为获胜状态;
所述装置还包括:
第二更新模块,用于在所述出接口接收到更优的Assert报文时,将所述出接口的获胜状态更新为失败状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610492705.9A CN106101009B (zh) | 2016-06-24 | 2016-06-24 | 一种协议无关组播pim的选举方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610492705.9A CN106101009B (zh) | 2016-06-24 | 2016-06-24 | 一种协议无关组播pim的选举方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106101009A CN106101009A (zh) | 2016-11-09 |
CN106101009B true CN106101009B (zh) | 2019-08-30 |
Family
ID=57214408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610492705.9A Active CN106101009B (zh) | 2016-06-24 | 2016-06-24 | 一种协议无关组播pim的选举方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106101009B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106878188B (zh) * | 2017-01-16 | 2019-11-12 | 新华三技术有限公司 | 一种断言报文的发送方法和装置 |
CN107948342B (zh) * | 2017-12-06 | 2020-07-31 | 常熟理工学院 | 一种大数据网络实现方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101764756A (zh) * | 2010-01-14 | 2010-06-30 | 福建星网锐捷网络有限公司 | 组播数据转发路径的剪枝处理方法、装置和网络设备 |
CN104125156A (zh) * | 2013-04-28 | 2014-10-29 | 上海斐讯数据通信技术有限公司 | 减少组播数据流中断延迟时间的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101562225B1 (ko) * | 2010-01-06 | 2015-10-21 | 삼성전자주식회사 | 네트워크에서 불필요한 에러진단 메시지의 발생을 방지하기 위한 방법 및 장치 |
-
2016
- 2016-06-24 CN CN201610492705.9A patent/CN106101009B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101764756A (zh) * | 2010-01-14 | 2010-06-30 | 福建星网锐捷网络有限公司 | 组播数据转发路径的剪枝处理方法、装置和网络设备 |
CN104125156A (zh) * | 2013-04-28 | 2014-10-29 | 上海斐讯数据通信技术有限公司 | 减少组播数据流中断延迟时间的方法 |
Non-Patent Citations (1)
Title |
---|
Secoway USG2100&2200&5100 BSR&HSR产品文档;华为技术有限公司;《华为技术有限公司官网-技术支持》;20150930;IP组播.PIM.PIM-DM 及图2 |
Also Published As
Publication number | Publication date |
---|---|
CN106101009A (zh) | 2016-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6917983B1 (en) | Reverse path forwarding using a multicast routing table | |
JP5340062B2 (ja) | ネットワーク中継装置およびネットワークシステム | |
CN101232392B (zh) | 一种msdp和pim间通告组播源的方法 | |
CN101247210B (zh) | 一种基于组播源发现协议实现组播转发树的方法 | |
CN100477635C (zh) | 一种域间组播的传输方法及边缘设备 | |
CN100596141C (zh) | 优化建立pim-dm路由表项的方法 | |
CN109981308A (zh) | 报文传输方法及装置 | |
KR101491397B1 (ko) | 분산 시스템 아키텍처에서의 효율적인 멀티캐스팅 방법 | |
CN106101009B (zh) | 一种协议无关组播pim的选举方法和装置 | |
US8774181B1 (en) | Reducing unnecessary upstream traffic in PIM-bidirectional mode | |
CN105591961A (zh) | 为组播组选择汇聚点rp的方法和装置 | |
CN102843303B (zh) | Pim中的组播报文处理方法及装置 | |
US11582054B2 (en) | Multicast source discovery protocol (MSDP) loop avoidance | |
WO2020168982A1 (zh) | 一种发送和获取断言报文的方法和网络节点 | |
Veselý et al. | Protocol Independent Multicast in OMNeT+ | |
Bartczak et al. | Lightweight PIM—a new multicast routing protocol | |
CN109195117B (zh) | 一种在广播型多跳无线网络中pim-sm的改进方法 | |
US8761171B1 (en) | Reducing unnecessary upstream traffic in PIM-bidirectional mode | |
CN113810285B (zh) | 用于多播源发现协议msdp循环避免的方法和设备 | |
CN101039276A (zh) | 转变三层网络设备接口状态的方法和三层网络设备 | |
Danilov et al. | Elastic multicast for tactical communications | |
Matsunaga et al. | Design and implementation of IPv6 anycast routing protocol: PIA-SM | |
Younes et al. | The Shortest-Path Broadcast Problem | |
JP4851565B2 (ja) | 通信装置 | |
CN103905320B (zh) | 一种组播报文处理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou science and Technology Development Zone, Zhejiang high tech park, No. six and road, No. 310 Applicant before: Huasan Communication Technology Co., Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |