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

文档序号:8546134阅读:来源:国知局
[0061]作为本发明的一个实施例,当检查出又收到路由器Rl发送的第一通知报文,则可结束当前流程,返回执行步骤102中的操作。
[0062]至此,通过步骤bl至步骤b4,最终会恢复来自路由器S2发送至路由器R2的组播流量2的原先转发路径。
[0063]这里,作为本发明的一个实施例,在上面描述中,路由器Rl检测到组播转发出接口从组播流量拥塞恢复为组播流量不拥塞包括:
[0064]按照设定周期对所述组播转发出接口的报文丢弃情况进行检测,当检测到所述组播转发出接口的报文丢弃情况为第二情况,启动所述组播转发出接口对应的状态保持定时器,在所述状态保持定时器的老化时间到达时,如果所述组播转发出接口的报文丢弃情况维持第二情况不变,则确定所述组播转发出接口从组播流量拥塞恢复为组播流量不拥塞,所述第二情况为:所述组播转发出接口丢弃的报文的数量等于O。
[0065]如上所述,本发明中,组播转发出接口是否丢弃报文由组播转发出接口的芯片控制,当芯片控制组播转发出接口丢弃报文时,芯片会对丢弃的报文数量进行计数,基于此,上述对所述组播转发出接口的报文丢弃情况进行检测实质相当于检查芯片的计数,当芯片的计数为0,即为上述的第二情况。
[0066]本发明中,作为一个优选实施例,当路由器Rl检测到所述组播转发出接口的报文丢弃情况为第二情况时,并非立即确定所述组播转发出接口从组播流量拥塞恢复为组播流量不拥塞,而是启动所述组播转发出接口对应的状态保持定时器,只有在所述状态保持定时器的老化时间到达时,组播转发出接口的报文丢弃情况还维持第二情况不变,才确定所述组播转发出接口从组播流量拥塞恢复为组播流量不拥塞,这能够尽可能防止因为组播转发出接口在组播流量拥塞和不拥塞之间震荡而导致路由器R2频繁在接收第一通知报文、第二通知报文之间震荡。
[0067]本发明中,状态保持定时器的老化时间可根据实际情况预先设置,其中在设置时,为防止组播转发出接口在组播流量拥塞和不拥塞之间震荡,可根据以下方式设置:
[0068]如果组播转发出接口从组播流量拥塞恢复为组播流量不拥塞所经历的时间大于或等于迀移过渡时间,则意味着组播转发出接口不会在组播流量拥塞和不拥塞之间震荡,基于此,可设置状态保持定时器的老化时间为默认值比如30秒;而如果组播转发出接口从组播流量拥塞恢复为组播流量不拥塞经历的时间小于迀移过渡时间,则意味着组播转发出接口会在组播流量拥塞和不拥塞之间震荡,基于此,可设置状态保持定时器的老化时间比较长,比如为默认值的2倍等。这里,迀移过渡时间是指从新建主用组播分发树至备用组播分发树删除的时间,其通常可根据实际经验预估。而路由器Rl的组播转发出接口从组播流量拥塞恢复为组播流量不拥塞经历的时间也是根据实际经验预估的。
[0069]通过上述方式设置状态保持定时器的老化时间,能够保证在有闲余带宽下恢复主用组播分发树的转发,又能避免路由器Rl的组播转发出接口在组播流量拥塞和不拥塞之间震荡。
[0070]另外,在本发明中,作为一个优选实施例,上述的第一通知报文、第二通知报文具体实现时可为对现有PIM Hello报文进行扩展所得到的报文。
[0071]具体地,第一通知报文可为可选(Opt1n)字段项新增以下字段的PIM Hello报文:
[0072]拥塞情况(Congest1n-Drop)字段项、且所述Congest1n-Drop字段项置为用于表示拥塞出现的拥塞出现标识。
[0073]第二通知报文为Opt1n字段项新增以下字段的PM Hello报文:Congest1n-Drop字段项、且Congest1n-Drop字段项置为用于表示拥塞消失的拥塞消失标识。
[0074]本发明中,拥塞出现标识、拥塞消失标识取值不同,比如,拥塞出现标识取值为1,拥塞消失标识取值为O。
[0075]还有,本发明中,为方便路由器Rl维护组播转发出接口的状态,当路由器Rl检测到组播转发出接口出现组播流量拥塞时,如果此时该组播转发出接口对应的拥塞标识状态机还没有启动,则可进一步启动所述组播转发出接口对应的拥塞标识状态机,设置拥塞标识状态机的状态为拥塞出现状态。之后,当路由器Rl检测到组播转发出接口从组播流量拥塞恢复为组播流量不拥塞时,设置组播转发出接口对应的拥塞标识状态机的状态为拥塞消失状态。
[0076]以上对本发明提供的方法进行了描述。
[0077]下面对本发明提供的设备进行描述:
[0078]参见图3,图3为本发明提供的设备结构图。该设备应用于PIM路由器,包括:
[0079]接收单元,用于接收上游PM路由器在检测到本地的组播转发出接口出现组播流量拥塞时通过所述组播转发出接口发送的第一通知报文;
[0080]处理单元,用于依据所述第一通知报文携带的拥塞出现标识确定所述上游PM路由器本地的所述组播转发出接口出现组播流量拥塞,从本地组播转发表中找到一条满足以下条件的组播转发表项:入接口为本PM路由器上连接所述上游PM路由器的接口且未设置备份标记,新建一条从本PM路由器至所述组播转发表项对应的组播源侧路由器且用于转发所述组播转发表项对应的组播流量的备用组播分发树,删除之前建立的从本PM路由器至所述组播源侧路由器且用于转发所述组播转发表项对应的组播流量的主用组播分发树;
[0081]所述备用组播分发树未经由所述上游PM路由器,所述主用组播分发树经由所述上游PM路由器。
[0082]优选地,所述处理单元新建一条从本PM路由器至所述组播转发表项对应的组播源侧路由器且用于转发所述组播转发表项对应的组播流量的备用组播分发树包括:
[0083]从本地单播路由表中查找目的地址为所述组播转发表项中的组播源地址的单播路由表项中的下一跳;
[0084]从所述下一跳包含的除所述上游PM路由器外的其他PM路由器中选择一个作为目标下一跳;
[0085]向所述目标下一跳发送第一加入报文以新建一条从本PM路由器至所述组播源侧路由器且用于转发所述组播转发表项对应的组播流量的备用组播分发树,所述第一加入报文携带所述组播转发表项中的组播源地址、组播组地址。
[0086]优选地,所述处理单元删除之前建立的从本PM路由器至所述组播源侧路由器且用于转发所述组播转发表项对应的组播流量的主用组播分发树包括:
[0087]当首次通过所述备用组播分发树收到所述组播源侧路由器发送的所述组播转发表项对应的组播流量时,向所述上游PIM路由器发送PIM剪枝消息以删除所述之前建立的从本PM路由器至所述组播源侧路由器且用于转发所述组播转发表项对应的组播流量的主用组播分发树。
[0088]优选地,所述处理单元在首次通过备用组播分发树收到所述组播源侧路由器发送所述组播转发表项对应的组播流量时进一步在所述组播转发表项上设置备份标记;
[0089]所述接收单元进一步接收上游PM路由器在检测到所述组播转发出接口恢复为组播流量不拥塞时通过所述组播转发出接口发送的第二通知报文;
[0090]所述处理单元进一步依据第二通知报文携带的拥塞消失标识确定所述上游PM路由器本地的所述组播转发出接口恢复为组播流量不拥塞,在本地组播转发表中找到一条满足以下条件的目标组播转发表项:入接口为本PM路由器上连接所述上游PM路由器的接口、且设置了备份标记;以及,通过接收到第二通知报文的接口发送第二加入报文以建立从本PM路由器至所述目标组播转发表项对应的组播源侧路由器且用于转发所述目标组播转发表项对应的组播流量的主用组播分发树,所述第二加入报文携带所述目标组播转发表项中的组播源地址、组播组地址;以及,当首次通过新建的主用组播分发树接收到所述目标组播转发表项对应的组播源侧路由器发送的所述目标组播转发对应的组播流量时,将所述目标组播转发表项设置的备份标记删除,并通过发送PIM剪枝消息删除之前建立的从本PIM路由器至所述目标组播转发表项对应的组播源侧路由器且用于转发所述目标组播转发表项对应的组播流量的备用组播分发树;判断在收到第二通知报文后是否又收到所述上游PM路由器发送的第一通知报文,如果否,返回在本地组播转发表中找到目标组播转发表项的操作。
[0091]优选地,所述第一通知报文为可选Opt1n字段项新增以下字段的PM Hello报文:拥塞情况Congest1n-Drop字段项、且所述Congest1n-Drop字段项置为用于表示拥塞出现的拥塞出现标识;
[0092]所述第二通知报文为Opt1n字段项新增以下字段的PM Hello报文:Congest1n-Drop字段项、且Congest1n-Drop字段项置为用于表示拥塞消失的拥塞消失标识。
[0093]至此,完成本发明提供的设备结构描述。
[0094]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1