防止组播流量拥塞方法和设备的制造方法_2

文档序号:8546134阅读:来源:国知局
流量I。
[0035]具体地,作为本发明的一个实施例,路由器R2新建一条从本路由器R2至路由器SI且用于转发组播流量I的备用组播分发树可包括:
[0036]步骤al,从本地单播路由表中查找目的地址为该组播转发表项中的组播源地址的单播路由表项中的下一跳。
[0037]步骤a2,从所述下一跳包含的除路由器Rl外的其他PM路由器中选择一个作为目标下一跳。
[0038]具体地,如果步骤al查询到的下一跳仅包含路由器R1,则结束当前流程。而如果步骤al查询到的下一跳除了包含路由器Rl之外还包含其他路由器,则从本步骤a2中,就从该包含的其他路由器中随机选择一个即为目标下一跳。
[0039]步骤a3,向目标下一跳发送第一加入报文以新建一条从路由器R2至路由器SI且用于组播流量I的备用组播分发树,所述第一加入报文携带该组播转发表项中的组播源地址、组播组地址。
[0040]这里,建立备份组播分发树的过程类似现有组播分发树的建立过程,不再展开描述。
[0041]至此,通过步骤al至步骤a3即建立了从路由器R2至路由器SI且用于转发组播流量I的备用组播分发树。此时,相对于路由器SI而言,其在发送组播流量I时可通过两个组播分发树发送,其中一个组播分发树是之前建立的从路由器R2至路由器SI且用于转发组播流量I的主用组播分发树,另一个是通过步骤al至步骤a3建立的从路由器R2至路由器SI且用于转发组播流量I的备用组播分发树。这里,如上描述的从路由器R2至路由器SI且用于转发组播流量I的备用组播分发树的建立过程可以看出,从路由器R2至路由器SI且用于转发组播流量I的备用组播分发树是不经由有组播转发出接口出现组播流量拥塞的路由器R1。至于从路由器R2至路由器SI且用于转发组播流量I的主用组播分发树,因为如上描述的组播转发表项中入接口为本P頂路由器上连接上游PM路由器的接口且未设置备份标记,这就决定了从路由器R2至路由器SI且用于转发组播流量I的主用组播分发树是经由路由器Rl的。
[0042]具体地,作为本发明的一个实施例,步骤102中,删除之前建立的从路由器R2至路由器Si且用于转发组播流量I的主用组播分发树可包括:
[0043]当首次通过备用组播分发树收到路由器SI发送的组播流量I时,向路由器Rl发送P頂剪枝消息以删除之前建立的从路由器R2至路由器SI且用于转发组播流量I的主用组播分发树。
[0044]这里,向路由器Rl发送PM剪枝消息以删除之前建立的从路由器R2至路由器SI且用于转发组播流量I的主用组播分发树具体实现时类似现有的剪枝处理。该剪枝处理可简单概括为:
[0045]路由器R2向路由器Rl发送PM剪枝消息,PIM剪枝消息携带上述找到的组播转发表项中的组播源地址、组播组地址;路由器Rl接收路由器R2发送的PM剪枝消息,路由器Rl在本地组播转发表项中找到包含PM剪枝消息中的组播源地址、组播组地址的组播转发表项,将组播转发表项包括的出接口列表中连接路由器R2的出接口删除,若该出接口列表中没有其它出接口,继续向本路由器Rl的上游PM路由器发送PM剪枝消息,依次类推,直至最终删除之前建立的从路由器R2至路由器SI且用于转发组播流量I的主用组播分发树。
[0046]基于上面描述可以看出,最终,之前建立的从路由器R2至路由器SI且用于转发组播流量I的主用组播分发树会被删除,如此,路由器Si在发送组播流量I时,只通过上述建立的备用组播分发树发送组播流量I至路由器R2,如上所述的备用组播分发树,其不经由组播转发出接口出现组播流量拥塞的路由器R1,因此,路由器Rl后续就不再转发路由器SI发送的该组播流量I至路由器R2,这减少路由器Rl的组播流量,缓解了路由器Rl的拥塞压力。
[0047]至此,完成图1所示的流程。
[0048]从图1所示流程中的步骤101和步骤102可以看出,本发明中,当路由器Rl本地的组播转发出接口出现组播流量拥塞时,路由器Rl的下游PM路由器即路由器R2会从本地组播转发表中找到一条满足以下条件的组播转发表项:入接口为本路由器R2上连接所述路由器Rl的接口且未设置备份标记,新建一条从本路由器R2至组播转发表项对应的组播源侧路由器即路由器SI且用于转发组播流量I的备用组播分发树(该备用组播分发树未经由路由器Rl),删除之前建立的从本路由器R2至路由器SI且用于转发组播流量I的主用组播分发树,这样路由器SI只通过该备用组播分发树转发组播流量I (该组播流量I原本需要经由路由器Rl)至路由器R2,因为该备用组播分发树未经由路由器R1,如此在该组播流量I到达路由器R2的过程中不会经过路由器R1,从而降低了路由器Rl中出现组播流量拥塞的组播转发出接口的转发压力,有效缓解了路由器Rl组播流量拥塞的情况。
[0049]作为本发明的一个实施例,上面描述的删除之前建立的从路由器R2至路由器SI且用于转发组播流量I的主用组播分发树时,如果首次通过备用组播分发树收到组播流量1,还可进一步包括:在找到的所述组播转发表项上设置备份标记。设置备份标记的目的,一方面是方便路由器R2区分哪些组播转发表项设置备份标记,以便针对设置备份标记的组播转发表项执行相应处理,具体见下述的路由器R2接收到来自路由器Rl的第二通知报文时执行的步骤bl至步骤b4 ;另一方面是刷新该组播转发表项的老化时间,以尽可能延长组播转发表项的老化。
[0050]本发明中,路由器Rl上出现组播流3;拥塞的组播转发出接口并非一直拥塞,其随着组播流量的减少会恢复为组播流量不拥塞,基于此,当路由器Rl检测到组播转发出接口从组播流量拥塞恢复为组播流量不拥塞时,可通过所述组播转发出接口发送第二通知报文至路由器R2。
[0051]进一步地,路由器R2接收到来自路由器Rl的第二通知报文,并执行以下步骤:
[0052]步骤bl,依据接收的第二通知报文携带的拥塞消失标识确定路由器Rl本地的组播转发出接口(实质是路由器Rl连接路由器R2的组播转发出接口)恢复为组播流量不拥塞,在本地组播转发表中找到一条满足以下条件的目标组播转发表项:入接口为本路由器R2上连接路由器Rl的接口、且设置了备份标记。
[0053]这里,步骤bl找到的组播转发表项可能仅是上述步骤102中找到的组播转发表项,也可能是包含上述步骤102中找到的组播转发表项之内的多个组播转发表项,当步骤bl找到的组播转发表项是包含上述步骤102中找到的组播转发表项之内的多个组播转发表项时,这里可选择其中一个作为目标组播转发表项。
[0054]步骤b2,路由器R2通过接收到第二通知报文的接口发送第二加入报文以建立从本路由器R2至所述目标组播转发表项对应的组播源侧路由器(以路由器S2为例)且用于转发该目标组播转发表项对应的组播流量的主用组播分发树,所述第二加入报文携带所述目标组播转发表项中的组播源地址、组播组地址。
[0055]为描述方便,本例中将该目标组播转发表项对应的组播流量称为组播流量2。
[0056]这里,建立从本路由器R2至路由器S2且用于转发组播流量2的主用组播分发树的方法类似现有组播分发树的方法,不再展开描述。
[0057]因为用于新建该主用组播分发树的第二加入报文是由路由器R2通过接收到第二通知报文的接口发送的,而接收到第二通知报文的接口是连接路由器Rl的,因此,最终该新建的主用组播分发树是经由路由器Rl的。
[0058]步骤b3,当首次通过该新建的主用组播分发树接收到路由器S2发送的组播流量2时,将所述目标组播转发表项设置的备份标记删除,并通过发送PIM剪枝消息删除之前建立的从本路由器R2至路由器S2且用于转发组播流量2的备用组播分发树。
[0059]基于步骤b3,最终,之前建立的从本路由器R2至路由器S2且用于转发组播流量2的备用组播分发树就不会存在,如此,后续路由器S2只通过该新建的主用组播分发树转发组播流量2至路由器R2,而该新建的主用组播分发树,其经由组播转发出接口从组播流量拥塞恢复为组播流量不拥塞的路由器R1,因此,路由器Rl会再将来自路由器S2组播流量转发至路由器R2。类似于如上述步骤102的描述可以知道,事实上,路由器S2原本是通过建立的从路由器R2至路由器S2且用于转发组播流量2的主用组播分发树转发该组播流量的,该主用组播分发树与上述新建的主用组播分发树相同,只不过由于路由器Rl上的组播转发出接口出现组播流量拥塞而被删除,而执行到步骤b2再新建从路由器R2至路由器S2且用于转发组播流量2的主用组播分发树,之后路由器S2利用该新建的主用组播分发树转发该组播流量至路由器R2,即相当于恢复了路由器S2与路由器R2之间转发组播流量2的原先转发路径。
[0060]步骤b4,判断在收到所述第二通知报文后是否又收到路由器Rl发送的第一通知报文,如果否,返回在本地组播转发表中找到一条满足条件的目标组播转发表项的操作。
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1