CN104869075A - 防止组播流量拥塞方法和设备 - Google Patents
防止组播流量拥塞方法和设备 Download PDFInfo
- Publication number
- CN104869075A CN104869075A CN201510251192.8A CN201510251192A CN104869075A CN 104869075 A CN104869075 A CN 104869075A CN 201510251192 A CN201510251192 A CN 201510251192A CN 104869075 A CN104869075 A CN 104869075A
- Authority
- CN
- China
- Prior art keywords
- multicast
- router
- list item
- flux
- forwarding
- 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.)
- Granted
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
-
- 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路由器的组播流量不再经由所述上游PIM路由器转发,从而降低了上游PIM路由器中出现组播流量拥塞的组播转发出接口的转发压力,有效缓解了上游PIM路由器组播流量拥塞的情况。
Description
技术领域
本申请涉及网络通信技术,特别涉及防止组播流量拥塞方法和设备。
背景技术
组播路由协议是IP网络第三层上实现组播报文转发的路由控制协议。组播路由协议的功能是为组播报文的转发提供路由信息,也就是明确应该将收到的组播报文转发到哪些组播接收者。
在与协议无关组播(PIM:Protocol Independent Multicast)网络中,通常是借助组播路由协议从组播接收者侧路由器向组播源侧路由器逆向建立组播分发树,组播流量沿着建立的组播分发树逐跳转发到组播接收者。
但是,在PIM组播网络中,随着组播业务的增加,会出现多条不同组播组的组播流量同时汇聚到同一PIM路由器的情况,应用于这种情况下,PIM路由器如果带宽资源不够,就会出现因带宽资源不够而导致的组播流量拥塞。
发明内容
本申请提供了防止组播流量拥塞方法和设备,以尽可能地防止组播流量拥塞。
本申请提供的技术方案包括:
一种防止组播流量拥塞方法,该方法应用于与协议无关组播PIM路由器,包括:
接收上游PIM路由器在检测到本地的组播转发出接口出现组播流量拥塞时通过所述组播转发出接口发送的第一通知报文;
依据所述第一通知报文携带的拥塞出现标识确定所述上游PIM路由器本地的所述组播转发出接口出现组播流量拥塞,从本地组播转发表中找到一条满足以下条件的组播转发表项:入接口为本PIM路由器上连接所述上游PIM路由器的接口且未设置备份标记,新建一条从本PIM路由器至所述组播转发表项对应的组播源侧路由器且用于转发所述组播转发表项对应的组播流量的备用组播分发树,删除之前建立的从本PIM路由器至所述组播源侧路由器且用于转发所述组播转发表项对应的组播流量的主用组播分发树;
所述备用组播分发树未经由所述上游PIM路由器,所述主用组播分发树经由所述上游PIM路由器。
一种防止组播流量拥塞设备,该设备应用于与协议无关组播PIM路由器,包括:
接收单元,用于接收上游PIM路由器在检测到本地的组播转发出接口出现组播流量拥塞时通过所述组播转发出接口发送的第一通知报文;
处理单元,用于依据所述第一通知报文携带的拥塞出现标识确定所述上游PIM路由器本地的所述组播转发出接口出现组播流量拥塞,从本地组播转发表中找到一条满足以下条件的组播转发表项:入接口为本PIM路由器上连接所述上游PIM路由器的接口且未设置备份标记,新建一条从本PIM路由器至所述组播转发表项对应的组播源侧路由器且用于转发所述组播转发表项对应的组播流量的备用组播分发树,删除之前建立的从本PIM路由器至所述组播源侧路由器且用于转发所述组播转发表项对应的组播流量的主用组播分发树;
所述备用组播分发树未经由所述上游PIM路由器,所述主用组播分发树经由所述上游PIM路由器。
由以上技术方案可以看出,本发明中,当上游PIM路由器本地的组播转发出接口出现组播流量拥塞时,下游PIM路由器会从本地组播转发表中找到一条满足以下条件的组播转发表项:入接口为本路由器上连接所述上游PIM路由器的接口且未设置备份标记,新建一条从本路由器至组播转发表项对应的组播源侧路由器且用于该组播转发表项对应的组播流量的备用组播分发树,删除之前建立的从本路由器至组播源侧路由器且用于转发该组播转发表项对应的组播流量的主用组播分发树,这样组播源侧路由器只通过该备用组播分发树转发该组播转发表项对应的组播流量(该组播流量原本需要经由上游PIM路由器)至下游PIM路由器,因为该备用组播分发树未经由上游PIM路由器,如此在该组播流量到达下游PIM路由器的过程中不会经过上游PIM路由器,从而降低了上游PIM路由器的出现组播流量拥塞的组播转发出接口的转发压力,有效缓解了上游PIM路由器组播流量拥塞的情况。
附图说明
图1为本发明提供的方法流程图;
图2为本发明提供的PIM网络结构示意图;
图3为本发明提供的设备结构图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
本发明提供的方法包括图1所示流程:
参见图1,图1为本发明提供的方法流程图。如图1所示,该流程可包括以下步骤:
步骤101,PIM路由器(以路由器R1为例)检测到本地组播转发表项中的组播转发出接口出现组播流量拥塞时,通过所述组播转发出接口发送第一通知报文至下游PIM路由器(以路由器R2为例)。
这里,路由器R1的下游PIM路由器即路由器R2,其实质是路由器R1通过上述组播转发出接口所连接的PIM路由器。路由器R2是路由器R1的下游路由器,相对而言,路由器R1就是路由器R2的上游路由器。路由器R1和路由器R2可以互为相邻的路由器。
如图2所示的PIM网络中,路由器1作为上述的路由器R1在检测到本地组播转发表项中的组播转发出接口(图2以Port12为例)出现组播流量拥塞时,则通过Port12向Port12连接的下游路由器即路由器2(相当于上述的路由器R2)发送第一通知报文。
至于第一通知报文,下文进行了具体描述,这里暂不赘述。
作为本发明的一个实施例,在步骤101中,路由器R1检测到本地组播转发表项中的组播转发出接口出现组播流量拥塞可包括:
路由器R1按照设定周期对本地组播转发表项中组播转发出接口的报文丢弃情况进行检测,当检测到所述组播转发出接口的报文丢弃情况为第一情况时,确定所述组播转发出接口出现组播流量拥塞;所述第一情况为:所述组播转发出接口丢弃的报文的数量大于0。
在上面描述中,设定周期可预先设置,本发明并不限定。
本发明中,组播转发出接口是否丢弃报文由组播转发出接口的芯片控制,当芯片控制组播转发出接口丢弃报文时,芯片会对丢弃的报文数量进行计数,基于此,上述对所述组播转发出接口的报文丢弃情况进行检测实质相当于检查芯片的计数,当芯片的计数大于0,即为上述的第一情况。
步骤102,路由器R2接收路由器R1发送的第一通知报文,依据所述第一通知报文携带的拥塞出现标识确定路由器R1本地的组播转发出接口出现组播流量拥塞,则从本地组播转发表中找到一条满足以下条件的组播转发表项:入接口为本路由器R2上连接路由器R1的接口且未设置备份标记,新建一条从本路由器R2至所述组播转发表项对应的组播源侧路由器(以路由器S1为例)且用于转发所述组播转发表项对应的组播报文的备用组播分发树,删除之前建立的从本路由器R2至路由器S1且用于转发所述组播转发表项对应的组播报文的主用组播分发树,该备用组播分发树未经由路由器R1,该主用组播分发树经由路由器R1。
这里,路由器R2接收路由器R1发送的第一通知报文,发现第一通知报文携带了拥塞出现标识,就意味着路由器R1上连接本路由器R2的组播转发出接口出现了组播流量拥塞。如图2所示的PIM网络中,路由器2作为上述的路由器R2,收到路由器1(相当于上述的路由器R1)发送的第一通知报文,发现第一通知报文携带了拥塞出现标识,则就意味着路由器1上连接本路由器2的组播转发出接口即Port12出现组播流量拥塞。
如此,路由器R2就从本地组播转发表中找到一条满足以下条件的组播转发表项:入接口为本路由器R2上连接路由器R1的接口且未设置备份标记。至于备份标记,下文进行了具体描述,这里暂不赘述。
组播转发表项一般都包含:组播源地址、组播组地址、出接口列表、入接口等。基于此,路由器R2从本地组播转发表中找到一条满足上述条件的组播转发表项具体为:以本路由器R2上连接路由器R1的接口为关键字,在本地组播转发表项中找到入接口为该关键字且未设置备份标记的组播转发表项。应用中,路由器R2可能最后找到的组播转发表项的个数不止一个,如此,当找到的组播转发表项的个数大于1时,路由器R2可随机选择找到的其中一个组播转发表项。
之后,路由器R2新建一条从本路由器R2至该找到的组播转发表项对应的组播源侧路由器(以路由器S1为例)且用于转发该组播转发表项对应的组播流量的备用组播分发树,删除之前建立的从本路由器R2至路由器S1且用于转发该组播转发表项对应的组播流量的主用组播分发树。其中,组播转发表项对应的组播流量为源地址为该组播转发表项中的组播源地址且目的地址为该组播转发表项中的组播组地址的组播流量。为描述方便,本例中将该找到的组播转发表项对应的组播流量称为组播流量1。
具体地,作为本发明的一个实施例,路由器R2新建一条从本路由器R2至路由器S1且用于转发组播流量1的备用组播分发树可包括:
步骤a1,从本地单播路由表中查找目的地址为该组播转发表项中的组播源地址的单播路由表项中的下一跳。
步骤a2,从所述下一跳包含的除路由器R1外的其他PIM路由器中选择一个作为目标下一跳。
具体地,如果步骤a1查询到的下一跳仅包含路由器R1,则结束当前流程。而如果步骤a1查询到的下一跳除了包含路由器R1之外还包含其他路由器,则从本步骤a2中,就从该包含的其他路由器中随机选择一个即为目标下一跳。
步骤a3,向目标下一跳发送第一加入报文以新建一条从路由器R2至路由器S1且用于组播流量1的备用组播分发树,所述第一加入报文携带该组播转发表项中的组播源地址、组播组地址。
这里,建立备份组播分发树的过程类似现有组播分发树的建立过程,不再展开描述。
至此,通过步骤a1至步骤a3即建立了从路由器R2至路由器S1且用于转发组播流量1的备用组播分发树。此时,相对于路由器S1而言,其在发送组播流量1时可通过两个组播分发树发送,其中一个组播分发树是之前建立的从路由器R2至路由器S1且用于转发组播流量1的主用组播分发树,另一个是通过步骤a1至步骤a3建立的从路由器R2至路由器S1且用于转发组播流量1的备用组播分发树。这里,如上描述的从路由器R2至路由器S1且用于转发组播流量1的备用组播分发树的建立过程可以看出,从路由器R2至路由器S1且用于转发组播流量1的备用组播分发树是不经由有组播转发出接口出现组播流量拥塞的路由器R1。至于从路由器R2至路由器S1且用于转发组播流量1的主用组播分发树,因为如上描述的组播转发表项中入接口为本PIM路由器上连接上游PIM路由器的接口且未设置备份标记,这就决定了从路由器R2至路由器S1且用于转发组播流量1的主用组播分发树是经由路由器R1的。
具体地,作为本发明的一个实施例,步骤102中,删除之前建立的从路由器R2至路由器S1且用于转发组播流量1的主用组播分发树可包括:
当首次通过备用组播分发树收到路由器S1发送的组播流量1时,向路由器R1发送PIM剪枝消息以删除之前建立的从路由器R2至路由器S1且用于转发组播流量1的主用组播分发树。
这里,向路由器R1发送PIM剪枝消息以删除之前建立的从路由器R2至路由器S1且用于转发组播流量1的主用组播分发树具体实现时类似现有的剪枝处理。该剪枝处理可简单概括为:
路由器R2向路由器R1发送PIM剪枝消息,PIM剪枝消息携带上述找到的组播转发表项中的组播源地址、组播组地址;路由器R1接收路由器R2发送的PIM剪枝消息,路由器R1在本地组播转发表项中找到包含PIM剪枝消息中的组播源地址、组播组地址的组播转发表项,将组播转发表项包括的出接口列表中连接路由器R2的出接口删除,若该出接口列表中没有其它出接口,继续向本路由器R1的上游PIM路由器发送PIM剪枝消息,依次类推,直至最终删除之前建立的从路由器R2至路由器S1且用于转发组播流量1的主用组播分发树。
基于上面描述可以看出,最终,之前建立的从路由器R2至路由器S1且用于转发组播流量1的主用组播分发树会被删除,如此,路由器S1在发送组播流量1时,只通过上述建立的备用组播分发树发送组播流量1至路由器R2,如上所述的备用组播分发树,其不经由组播转发出接口出现组播流量拥塞的路由器R1,因此,路由器R1后续就不再转发路由器S1发送的该组播流量1至路由器R2,这减少路由器R1的组播流量,缓解了路由器R1的拥塞压力。
至此,完成图1所示的流程。
从图1所示流程中的步骤101和步骤102可以看出,本发明中,当路由器R1本地的组播转发出接口出现组播流量拥塞时,路由器R1的下游PIM路由器即路由器R2会从本地组播转发表中找到一条满足以下条件的组播转发表项:入接口为本路由器R2上连接所述路由器R1的接口且未设置备份标记,新建一条从本路由器R2至组播转发表项对应的组播源侧路由器即路由器S1且用于转发组播流量1的备用组播分发树(该备用组播分发树未经由路由器R1),删除之前建立的从本路由器R2至路由器S1且用于转发组播流量1的主用组播分发树,这样路由器S1只通过该备用组播分发树转发组播流量1(该组播流量1原本需要经由路由器R1)至路由器R2,因为该备用组播分发树未经由路由器R1,如此在该组播流量1到达路由器R2的过程中不会经过路由器R1,从而降低了路由器R1中出现组播流量拥塞的组播转发出接口的转发压力,有效缓解了路由器R1组播流量拥塞的情况。
作为本发明的一个实施例,上面描述的删除之前建立的从路由器R2至路由器S1且用于转发组播流量1的主用组播分发树时,如果首次通过备用组播分发树收到组播流量1,还可进一步包括:在找到的所述组播转发表项上设置备份标记。设置备份标记的目的,一方面是方便路由器R2区分哪些组播转发表项设置备份标记,以便针对设置备份标记的组播转发表项执行相应处理,具体见下述的路由器R2接收到来自路由器R1的第二通知报文时执行的步骤b1至步骤b4;另一方面是刷新该组播转发表项的老化时间,以尽可能延长组播转发表项的老化。
本发明中,路由器R1上出现组播流量拥塞的组播转发出接口并非一直拥塞,其随着组播流量的减少会恢复为组播流量不拥塞,基于此,当路由器R1检测到组播转发出接口从组播流量拥塞恢复为组播流量不拥塞时,可通过所述组播转发出接口发送第二通知报文至路由器R2。
进一步地,路由器R2接收到来自路由器R1的第二通知报文,并执行以下步骤:
步骤b1,依据接收的第二通知报文携带的拥塞消失标识确定路由器R1本地的组播转发出接口(实质是路由器R1连接路由器R2的组播转发出接口)恢复为组播流量不拥塞,在本地组播转发表中找到一条满足以下条件的目标组播转发表项:入接口为本路由器R2上连接路由器R1的接口、且设置了备份标记。
这里,步骤b1找到的组播转发表项可能仅是上述步骤102中找到的组播转发表项,也可能是包含上述步骤102中找到的组播转发表项之内的多个组播转发表项,当步骤b1找到的组播转发表项是包含上述步骤102中找到的组播转发表项之内的多个组播转发表项时,这里可选择其中一个作为目标组播转发表项。
步骤b2,路由器R2通过接收到第二通知报文的接口发送第二加入报文以建立从本路由器R2至所述目标组播转发表项对应的组播源侧路由器(以路由器S2为例)且用于转发该目标组播转发表项对应的组播流量的主用组播分发树,所述第二加入报文携带所述目标组播转发表项中的组播源地址、组播组地址。
为描述方便,本例中将该目标组播转发表项对应的组播流量称为组播流量2。
这里,建立从本路由器R2至路由器S2且用于转发组播流量2的主用组播分发树的方法类似现有组播分发树的方法,不再展开描述。
因为用于新建该主用组播分发树的第二加入报文是由路由器R2通过接收到第二通知报文的接口发送的,而接收到第二通知报文的接口是连接路由器R1的,因此,最终该新建的主用组播分发树是经由路由器R1的。
步骤b3,当首次通过该新建的主用组播分发树接收到路由器S2发送的组播流量2时,将所述目标组播转发表项设置的备份标记删除,并通过发送PIM剪枝消息删除之前建立的从本路由器R2至路由器S2且用于转发组播流量2的备用组播分发树。
基于步骤b3,最终,之前建立的从本路由器R2至路由器S2且用于转发组播流量2的备用组播分发树就不会存在,如此,后续路由器S2只通过该新建的主用组播分发树转发组播流量2至路由器R2,而该新建的主用组播分发树,其经由组播转发出接口从组播流量拥塞恢复为组播流量不拥塞的路由器R1,因此,路由器R1会再将来自路由器S2组播流量转发至路由器R2。类似于如上述步骤102的描述可以知道,事实上,路由器S2原本是通过建立的从路由器R2至路由器S2且用于转发组播流量2的主用组播分发树转发该组播流量的,该主用组播分发树与上述新建的主用组播分发树相同,只不过由于路由器R1上的组播转发出接口出现组播流量拥塞而被删除,而执行到步骤b2再新建从路由器R2至路由器S2且用于转发组播流量2的主用组播分发树,之后路由器S2利用该新建的主用组播分发树转发该组播流量至路由器R2,即相当于恢复了路由器S2与路由器R2之间转发组播流量2的原先转发路径。
步骤b4,判断在收到所述第二通知报文后是否又收到路由器R1发送的第一通知报文,如果否,返回在本地组播转发表中找到一条满足条件的目标组播转发表项的操作。
作为本发明的一个实施例,当检查出又收到路由器R1发送的第一通知报文,则可结束当前流程,返回执行步骤102中的操作。
至此,通过步骤b1至步骤b4,最终会恢复来自路由器S2发送至路由器R2的组播流量2的原先转发路径。
这里,作为本发明的一个实施例,在上面描述中,路由器R1检测到组播转发出接口从组播流量拥塞恢复为组播流量不拥塞包括:
按照设定周期对所述组播转发出接口的报文丢弃情况进行检测,当检测到所述组播转发出接口的报文丢弃情况为第二情况,启动所述组播转发出接口对应的状态保持定时器,在所述状态保持定时器的老化时间到达时,如果所述组播转发出接口的报文丢弃情况维持第二情况不变,则确定所述组播转发出接口从组播流量拥塞恢复为组播流量不拥塞,所述第二情况为:所述组播转发出接口丢弃的报文的数量等于0。
如上所述,本发明中,组播转发出接口是否丢弃报文由组播转发出接口的芯片控制,当芯片控制组播转发出接口丢弃报文时,芯片会对丢弃的报文数量进行计数,基于此,上述对所述组播转发出接口的报文丢弃情况进行检测实质相当于检查芯片的计数,当芯片的计数为0,即为上述的第二情况。
本发明中,作为一个优选实施例,当路由器R1检测到所述组播转发出接口的报文丢弃情况为第二情况时,并非立即确定所述组播转发出接口从组播流量拥塞恢复为组播流量不拥塞,而是启动所述组播转发出接口对应的状态保持定时器,只有在所述状态保持定时器的老化时间到达时,组播转发出接口的报文丢弃情况还维持第二情况不变,才确定所述组播转发出接口从组播流量拥塞恢复为组播流量不拥塞,这能够尽可能防止因为组播转发出接口在组播流量拥塞和不拥塞之间震荡而导致路由器R2频繁在接收第一通知报文、第二通知报文之间震荡。
本发明中,状态保持定时器的老化时间可根据实际情况预先设置,其中在设置时,为防止组播转发出接口在组播流量拥塞和不拥塞之间震荡,可根据以下方式设置:
如果组播转发出接口从组播流量拥塞恢复为组播流量不拥塞所经历的时间大于或等于迁移过渡时间,则意味着组播转发出接口不会在组播流量拥塞和不拥塞之间震荡,基于此,可设置状态保持定时器的老化时间为默认值比如30秒;而如果组播转发出接口从组播流量拥塞恢复为组播流量不拥塞经历的时间小于迁移过渡时间,则意味着组播转发出接口会在组播流量拥塞和不拥塞之间震荡,基于此,可设置状态保持定时器的老化时间比较长,比如为默认值的2倍等。这里,迁移过渡时间是指从新建主用组播分发树至备用组播分发树删除的时间,其通常可根据实际经验预估。而路由器R1的组播转发出接口从组播流量拥塞恢复为组播流量不拥塞经历的时间也是根据实际经验预估的。
通过上述方式设置状态保持定时器的老化时间,能够保证在有闲余带宽下恢复主用组播分发树的转发,又能避免路由器R1的组播转发出接口在组播流量拥塞和不拥塞之间震荡。
另外,在本发明中,作为一个优选实施例,上述的第一通知报文、第二通知报文具体实现时可为对现有PIM Hello报文进行扩展所得到的报文。
具体地,第一通知报文可为可选(Option)字段项新增以下字段的PIMHello报文:
拥塞情况(Congestion-Drop)字段项、且所述Congestion-Drop字段项置为用于表示拥塞出现的拥塞出现标识。
第二通知报文为Option字段项新增以下字段的PIM Hello报文:Congestion-Drop字段项、且Congestion-Drop字段项置为用于表示拥塞消失的拥塞消失标识。
本发明中,拥塞出现标识、拥塞消失标识取值不同,比如,拥塞出现标识取值为1,拥塞消失标识取值为0。
还有,本发明中,为方便路由器R1维护组播转发出接口的状态,当路由器R1检测到组播转发出接口出现组播流量拥塞时,如果此时该组播转发出接口对应的拥塞标识状态机还没有启动,则可进一步启动所述组播转发出接口对应的拥塞标识状态机,设置拥塞标识状态机的状态为拥塞出现状态。之后,当路由器R1检测到组播转发出接口从组播流量拥塞恢复为组播流量不拥塞时,设置组播转发出接口对应的拥塞标识状态机的状态为拥塞消失状态。
以上对本发明提供的方法进行了描述。
下面对本发明提供的设备进行描述:
参见图3,图3为本发明提供的设备结构图。该设备应用于PIM路由器,包括:
接收单元,用于接收上游PIM路由器在检测到本地的组播转发出接口出现组播流量拥塞时通过所述组播转发出接口发送的第一通知报文;
处理单元,用于依据所述第一通知报文携带的拥塞出现标识确定所述上游PIM路由器本地的所述组播转发出接口出现组播流量拥塞,从本地组播转发表中找到一条满足以下条件的组播转发表项:入接口为本PIM路由器上连接所述上游PIM路由器的接口且未设置备份标记,新建一条从本PIM路由器至所述组播转发表项对应的组播源侧路由器且用于转发所述组播转发表项对应的组播流量的备用组播分发树,删除之前建立的从本PIM路由器至所述组播源侧路由器且用于转发所述组播转发表项对应的组播流量的主用组播分发树;
所述备用组播分发树未经由所述上游PIM路由器,所述主用组播分发树经由所述上游PIM路由器。
优选地,所述处理单元新建一条从本PIM路由器至所述组播转发表项对应的组播源侧路由器且用于转发所述组播转发表项对应的组播流量的备用组播分发树包括:
从本地单播路由表中查找目的地址为所述组播转发表项中的组播源地址的单播路由表项中的下一跳;
从所述下一跳包含的除所述上游PIM路由器外的其他PIM路由器中选择一个作为目标下一跳;
向所述目标下一跳发送第一加入报文以新建一条从本PIM路由器至所述组播源侧路由器且用于转发所述组播转发表项对应的组播流量的备用组播分发树,所述第一加入报文携带所述组播转发表项中的组播源地址、组播组地址。
优选地,所述处理单元删除之前建立的从本PIM路由器至所述组播源侧路由器且用于转发所述组播转发表项对应的组播流量的主用组播分发树包括:
当首次通过所述备用组播分发树收到所述组播源侧路由器发送的所述组播转发表项对应的组播流量时,向所述上游PIM路由器发送PIM剪枝消息以删除所述之前建立的从本PIM路由器至所述组播源侧路由器且用于转发所述组播转发表项对应的组播流量的主用组播分发树。
优选地,所述处理单元在首次通过备用组播分发树收到所述组播源侧路由器发送所述组播转发表项对应的组播流量时进一步在所述组播转发表项上设置备份标记;
所述接收单元进一步接收上游PIM路由器在检测到所述组播转发出接口恢复为组播流量不拥塞时通过所述组播转发出接口发送的第二通知报文;
所述处理单元进一步依据第二通知报文携带的拥塞消失标识确定所述上游PIM路由器本地的所述组播转发出接口恢复为组播流量不拥塞,在本地组播转发表中找到一条满足以下条件的目标组播转发表项:入接口为本PIM路由器上连接所述上游PIM路由器的接口、且设置了备份标记;以及,通过接收到第二通知报文的接口发送第二加入报文以建立从本PIM路由器至所述目标组播转发表项对应的组播源侧路由器且用于转发所述目标组播转发表项对应的组播流量的主用组播分发树,所述第二加入报文携带所述目标组播转发表项中的组播源地址、组播组地址;以及,当首次通过新建的主用组播分发树接收到所述目标组播转发表项对应的组播源侧路由器发送的所述目标组播转发对应的组播流量时,将所述目标组播转发表项设置的备份标记删除,并通过发送PIM剪枝消息删除之前建立的从本PIM路由器至所述目标组播转发表项对应的组播源侧路由器且用于转发所述目标组播转发表项对应的组播流量的备用组播分发树;判断在收到第二通知报文后是否又收到所述上游PIM路由器发送的第一通知报文,如果否,返回在本地组播转发表中找到目标组播转发表项的操作。
优选地,所述第一通知报文为可选Option字段项新增以下字段的PIM Hello报文:拥塞情况Congestion-Drop字段项、且所述Congestion-Drop字段项置为用于表示拥塞出现的拥塞出现标识;
所述第二通知报文为Option字段项新增以下字段的PIM Hello报文:Congestion-Drop字段项、且Congestion-Drop字段项置为用于表示拥塞消失的拥塞消失标识。
至此,完成本发明提供的设备结构描述。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种防止组播流量拥塞方法,其特征在于,该方法应用于与协议无关组播PIM路由器,包括:
接收上游PIM路由器在检测到本地的组播转发出接口出现组播流量拥塞时通过所述组播转发出接口发送的第一通知报文;
依据所述第一通知报文携带的拥塞出现标识确定所述上游PIM路由器本地的所述组播转发出接口出现组播流量拥塞,从本地组播转发表中找到一条满足以下条件的组播转发表项:入接口为本PIM路由器上连接所述上游PIM路由器的接口且未设置备份标记,新建一条从本PIM路由器至所述组播转发表项对应的组播源侧路由器且用于转发所述组播转发表项对应的组播流量的备用组播分发树,删除之前建立的从本PIM路由器至所述组播源侧路由器且用于转发所述组播转发表项对应的组播流量的主用组播分发树;
所述备用组播分发树未经由所述上游PIM路由器,所述主用组播分发树经由所述上游PIM路由器。
2.根据权利要求1所述的方法,其特征在于,所述新建一条从本PIM路由器至所述组播转发表项对应的组播源侧路由器的备用组播分发树包括:
从本地单播路由表中查找目的地址为所述组播转发表项中的组播源地址的单播路由表项中的下一跳;
从所述下一跳包含的除所述上游PIM路由器外的其他PIM路由器中选择一个作为目标下一跳;
向所述目标下一跳发送第一加入报文以新建一条从本PIM路由器至所述组播源侧路由器且用于转发所述组播转发表项对应的组播流量的备用组播分发树,所述第一加入报文携带所述组播转发表项中的组播源地址、组播组地址。
3.根据权利要求1或2所述的方法,其特征在于,所述删除之前建立的从本PIM路由器至所述组播源侧路由器且用于转发所述组播转发表项对应的组播流量的主用组播分发树包括:
当首次通过所述备用组播分发树收到所述组播源侧路由器发送的所述组播转发表项对应的组播流量时,向所述上游PIM路由器发送PIM剪枝消息以删除所述之前建立的从本PIM路由器至所述组播源侧路由器且用于转发所述组播转发表项对应的组播流量的主用组播分发树。
4.根据权利要求3所述的方法,其特征在于,当首次通过备用组播分发树收到所述组播源侧路由器发送的所述组播转发表项对应的组播流量时进一步包括:在所述组播转发表项上设置备份标记;
该方法进一步包括:
接收上游PIM路由器在检测到所述组播转发出接口恢复为组播流量不拥塞时通过所述组播转发出接口发送的第二通知报文;依据第二通知报文携带的拥塞消失标识确定所述上游PIM路由器本地的所述组播转发出接口恢复为组播流量不拥塞,在本地组播转发表中找到一条满足以下条件的目标组播转发表项:入接口为本PIM路由器上连接所述上游PIM路由器的接口、且设置了备份标记;
通过接收到第二通知报文的接口发送第二加入报文以建立从本PIM路由器至所述目标组播转发表项对应的组播源侧路由器且用于转发所述目标组播转发表项对应的组播流量的主用组播分发树,所述第二加入报文携带所述目标组播转发表项中的组播源地址、组播组地址;
当首次通过新建的主用组播分发树接收到所述目标组播转发表项对应的组播源侧路由器发送的所述目标组播转发表项对应的组播流量时,将所述目标组播转发表项设置的备份标记删除,并通过发送PIM剪枝消息删除之前建立的从本PIM路由器至所述目标组播转发表项对应的组播源侧路由器且用于转发所述目标组播转发表项对应的组播流量的备用组播分发树;判断在收到第二通知报文后是否又收到所述上游PIM路由器发送的第一通知报文,如果否,返回在本地组播转发表中找到目标组播转发表项的操作。
5.根据权利要求4所述的方法,其特征在于,所述第一通知报文为可选Option字段项新增以下字段的PIM Hello报文:拥塞情况Congestion-Drop字段项、且所述Congestion-Drop字段项置为用于表示拥塞出现的拥塞出现标识;
所述第二通知报文为Option字段项新增以下字段的PIM Hello报文:Congestion-Drop字段项、且Congestion-Drop字段项置为用于表示拥塞消失的拥塞消失标识。
6.一种防止组播流量拥塞设备,其特征在于,该设备应用于与协议无关组播PIM路由器,包括:
接收单元,用于接收上游PIM路由器在检测到本地的组播转发出接口出现组播流量拥塞时通过所述组播转发出接口发送的第一通知报文;
处理单元,用于依据所述第一通知报文携带的拥塞出现标识确定所述上游PIM路由器本地的所述组播转发出接口出现组播流量拥塞,从本地组播转发表中找到一条满足以下条件的组播转发表项:入接口为本PIM路由器上连接所述上游PIM路由器的接口且未设置备份标记,新建一条从本PIM路由器至所述组播转发表项对应的组播源侧路由器且用于转发所述组播转发表项对应的组播流量的备用组播分发树,删除之前建立的从本PIM路由器至所述组播源侧路由器且用于转发所述组播转发表项对应的组播流量的主用组播分发树;
所述备用组播分发树未经由所述上游PIM路由器,所述主用组播分发树经由所述上游PIM路由器。
7.根据权利要求6所述的设备,其特征在于,所述处理单元新建一条从本PIM路由器至所述组播转发表项对应的组播源侧路由器且用于转发所述组播转发表项对应的组播流量的备用组播分发树包括:
从本地单播路由表中查找目的地址为所述组播转发表项中的组播源地址的单播路由表项中的下一跳;
从所述下一跳包含的除所述上游PIM路由器外的其他PIM路由器中选择一个作为目标下一跳;
向所述目标下一跳发送第一加入报文以新建一条从本PIM路由器至所述组播源侧路由器且用于转发所述组播转发表项对应的组播流量的备用组播分发树,所述第一加入报文携带所述组播转发表项中的组播源地址、组播组地址。
8.根据权利要求6或7所述的设备,其特征在于,所述处理单元删除之前建立的从本PIM路由器至所述组播源侧路由器且用于转发所述组播转发表项对应的组播流量的主用组播分发树包括:
当首次通过所述备用组播分发树收到所述组播源侧路由器发送的所述组播转发表项对应的组播流量时,向所述上游PIM路由器发送PIM剪枝消息以删除所述之前建立的从本PIM路由器至所述组播源侧路由器且用于转发所述组播转发表项对应的组播流量的主用组播分发树。
9.根据权利要求8所述的设备,其特征在于,所述处理单元在首次通过备用组播分发树收到所述组播源侧路由器发送的所述组播转发表项对应的组播流量时进一步在所述组播转发表项上设置备份标记;
所述接收单元进一步接收上游PIM路由器在检测到所述组播转发出接口恢复为组播流量不拥塞时通过所述组播转发出接口发送的第二通知报文;
所述处理单元进一步依据第二通知报文携带的拥塞消失标识确定所述上游PIM路由器本地的所述组播转发出接口恢复为组播流量不拥塞,在本地组播转发表中找到一条满足以下条件的目标组播转发表项:入接口为本PIM路由器上连接所述上游PIM路由器的接口、且设置了备份标记;以及,通过接收到第二通知报文的接口发送第二加入报文以建立从本PIM路由器至所述目标组播转发表项对应的组播源侧路由器且用于转发所述目标组播转发表项对应的组播流量的主用组播分发树,所述第二加入报文携带所述目标组播转发表项中的组播源地址、组播组地址;以及,当首次通过新建的主用组播分发树接收到所述目标组播转发表项对应的组播源侧路由器发送的所述目标组播转发表项对应的组播流量时,将所述目标组播转发表项设置的备份标记删除,并通过发送PIM剪枝消息删除之前建立的从本PIM路由器至所述目标组播转发表项对应的组播源侧路由器且用于转发所述目标组播转发表项对应的组播流量的备用组播分发树;判断在收到第二通知报文后是否又收到所述上游PIM路由器发送的第一通知报文,如果否,返回在本地组播转发表中找到目标组播转发表项的操作。
10.根据权利要求9所述的设备,其特征在于,所述第一通知报文为可选Option字段项新增以下字段的PIM Hello报文:拥塞情况Congestion-Drop字段项、且所述Congestion-Drop字段项置为用于表示拥塞出现的拥塞出现标识;
所述第二通知报文为Option字段项新增以下字段的PIM Hello报文:Congestion-Drop字段项、且Congestion-Drop字段项置为用于表示拥塞消失的拥塞消失标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510251192.8A CN104869075B (zh) | 2015-05-18 | 2015-05-18 | 防止组播流量拥塞方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510251192.8A CN104869075B (zh) | 2015-05-18 | 2015-05-18 | 防止组播流量拥塞方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104869075A true CN104869075A (zh) | 2015-08-26 |
CN104869075B CN104869075B (zh) | 2018-03-20 |
Family
ID=53914607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510251192.8A Active CN104869075B (zh) | 2015-05-18 | 2015-05-18 | 防止组播流量拥塞方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104869075B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107347037A (zh) * | 2016-05-04 | 2017-11-14 | 华为技术有限公司 | 一种组播流量控制方法及装置 |
CN110740086A (zh) * | 2018-07-18 | 2020-01-31 | 中国电信股份有限公司 | 数据组播分发树切换方法、系统及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101442485A (zh) * | 2008-12-18 | 2009-05-27 | 华为技术有限公司 | 一种组播转发的方法、装置和系统 |
CN101447929A (zh) * | 2008-12-26 | 2009-06-03 | 华为技术有限公司 | 一种流量选路方法、路由器和通信系统 |
CN103051536A (zh) * | 2012-12-22 | 2013-04-17 | 中国船舶重工集团公司第七0九研究所 | 一种二层冗余链路的快速组播切换方法 |
CN103795626A (zh) * | 2014-02-19 | 2014-05-14 | 华为技术有限公司 | 组播快速保护倒换的方法与装置 |
CN104348736A (zh) * | 2013-07-31 | 2015-02-11 | 北京华为数字技术有限公司 | 组播负载场景下选路的方法和路由器 |
-
2015
- 2015-05-18 CN CN201510251192.8A patent/CN104869075B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101442485A (zh) * | 2008-12-18 | 2009-05-27 | 华为技术有限公司 | 一种组播转发的方法、装置和系统 |
CN101447929A (zh) * | 2008-12-26 | 2009-06-03 | 华为技术有限公司 | 一种流量选路方法、路由器和通信系统 |
CN103051536A (zh) * | 2012-12-22 | 2013-04-17 | 中国船舶重工集团公司第七0九研究所 | 一种二层冗余链路的快速组播切换方法 |
CN104348736A (zh) * | 2013-07-31 | 2015-02-11 | 北京华为数字技术有限公司 | 组播负载场景下选路的方法和路由器 |
CN103795626A (zh) * | 2014-02-19 | 2014-05-14 | 华为技术有限公司 | 组播快速保护倒换的方法与装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107347037A (zh) * | 2016-05-04 | 2017-11-14 | 华为技术有限公司 | 一种组播流量控制方法及装置 |
CN107347037B (zh) * | 2016-05-04 | 2020-01-10 | 华为技术有限公司 | 一种组播流量控制方法及装置 |
CN110740086A (zh) * | 2018-07-18 | 2020-01-31 | 中国电信股份有限公司 | 数据组播分发树切换方法、系统及装置 |
CN110740086B (zh) * | 2018-07-18 | 2021-09-03 | 中国电信股份有限公司 | 数据组播分发树切换方法、系统及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104869075B (zh) | 2018-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100525312C (zh) | Mac帧转发的方法及设备 | |
CN107454276B (zh) | 一种用户终端设备及其数据转发方法、及通信系统 | |
CN105359467B (zh) | 通过集中的端到端连接传输包的方法和系统 | |
CN101442485B (zh) | 一种组播转发的方法、装置和系统 | |
CN105579989B (zh) | 通过集中的端到端连接传输包的方法和系统 | |
CN105594176B (zh) | 通过网络接口传输包的方法和系统 | |
CN107026790B (zh) | 一种转发控制方法及设备 | |
CN101425942A (zh) | 一种实现双向转发检测的方法、装置及系统 | |
WO2016090978A1 (zh) | 一种流量切换方法和装置 | |
CN103916319A (zh) | Lacp堆叠组网中的链路选择方法和堆叠设备 | |
CN104539552A (zh) | 一种基于网络芯片的动态ecmp的实现方法 | |
US20130279324A1 (en) | Tunnel fault detection method and traffic engineering node | |
CN103780509A (zh) | 报文转发方法和路由转发设备 | |
CN101567841A (zh) | 一种转发数据的方法、装置及系统 | |
CN105743807A (zh) | 一种ip网络节点处理报文的方法及装置 | |
CN103188120B (zh) | 一种组播业务的丢包检测方法及装置 | |
CN102739462B (zh) | 一种测试报文的发送方法以及装置 | |
US10608931B1 (en) | Selective multicasting of traffic flows in multiprotocol label switching virtual private networks | |
CN102215167A (zh) | 传输数据的方法、装置及其系统 | |
CN104869075A (zh) | 防止组播流量拥塞方法和设备 | |
CN103178976A (zh) | 组播树组建及故障恢复方法 | |
CN105099805A (zh) | 一种双向转发检测方法及系统 | |
CN104348736A (zh) | 组播负载场景下选路的方法和路由器 | |
CN107484204A (zh) | 基站上行突发缓解方法及装置 | |
CN101488873B (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: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant before: Huasan Communication Technology Co., Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |