一种流量转发方法和设备的制造方法

文档序号:8514555阅读:320来源:国知局
一种流量转发方法和设备的制造方法
【技术领域】
[0001]本发明实施例涉及通信技术领域,特别涉及一种流量转发方法和设备。
【背景技术】
[0002]如图1所示的网络中,流量需要从设备BI转发到设备A2时,存在两条路径,分别为路径(B1-A1-A2)和路径(B1-B2-A3-A2)。在该组网下,设备BI会基于路由协议学习到一条路由,该路由的目的地址为设备A2的IP地址,下一跳为设备Al的IP (InternetProtocol,网络之间互连的协议)地址,出接口为出接口 1,并基于该路由发送目的地址为设备A2的IP地址的流量。当设备Al与设备BI间的链路故障时,设备BI经过一段时间后才会检测到设备Al与设备BI间的链路故障,并基于路由协议重新学习到另一条路由,该路由的目的地址为设备A2的IP地址,下一跳为设备B2的IP地址,出接口为出接口 2,并基于该路由发送目的地址为设备A2的IP地址的流量。在上述过程中,当设备Al与设备BI间的链路故障时,设备BI检测到该故障以及重新学习另一条路由的时间较长,在该时间会发生断流,影响用户的业务。
[0003]对此,现有技术中提出了 FRR(Fast-ReRoute,快速重路由)技术,通过路由协议学习两条路由,分别为路由I和路由2,其中路由I的目的地址为设备A2的IP地址,下一跳为设备Al的IP地址,出接口为出接口 1,路由2的目的地址为设备A2的IP地址,下一跳为设备B2的IP地址,出接口为出接口 2,由于学习到了两条路由,如图1所示,当路由I对应的路径发生故障时,可以直接通过路由2的出接口 2发送流量,而不必在发生了故障后再去学习另一条新的路由,从而使得断流的时间减少,对用户业务的影响也会减小。
[0004]但FRR技术学习到的两条基于同一个路由协议,若两个路由(例如路由I和路由
2)对应的路由协议是不同的,则无法实现FRR技术,也即无法从一个路由协议学习到两条不同路由协议的路由(例如路由I和路由2),流量还是会发生断流,用户的业务也会受到影响。

【发明内容】

[0005]本发明提出了一种流量转发方法,应用于同时使能两个以上路由协议的路由设备,所述两个以上路由协议具有不同优先级,所述方法包括:
[0006]获取各路由协议对应的路由,所述路由包括目的地址和出接口 ;
[0007]若优先级最高的路由协议对应有多个路由,从所述多个路由中选择一个路由的出接口作为所述目的地址对应的路由转发表项的主出接口,并从所述多个路由中选择另一个路由的出接口作为所述路由转发表项的备出接口 ;
[0008]若所述优先级最高的路由协议只对应有一个路由,选择所述一个路由的出接口作为所述路由转发表项的主出接口,并选择其他路由协议的一个路由的与所述主出接口不同的出接口作为所述路由转发表项的备出接口;
[0009]通过所述路由转发表项对接收到的流量进行转发。
[0010]优选的,从所述多个路由中选择一个路由的出接口作为所述目的地址对应的路由转发表项的主出接口,并从所述多个路由中选择另一个路由的出接口作为所述路由转发表项的备出接口,具体包括:
[0011]若所述多个路由中只存在一个最优的路由,选择所述最优的路由的出接口作为所述路由转发表项的主出接口,并选择另一个非最优的路由的出接口作为所述路由转发表项的备出接口;
[0012]若所述多个路由中存在多个最优的路由,从所述多个最优的路由中选择两个路由的出接口分别作为所述路由转发表项的主出接口和备出接口。
[0013]优选的,所述选择其他路由协议的一个路由的与所述主出接口不同的出接口作为所述路由转发表项的备出接口,具体包括:
[0014]若优先级第二高的路由协议的路由中存在与所述主出接口不同的出接口 ;从所述优先级第二高的路由协议的路由中选择一个与所述主出接口不同的出接口为所述路由转发表项的备出接口;
[0015]若所述优先级第二高的路由协议的路由中不存在与所述主出接口不同的出接口,且优先级第三高的路由协议的路由中存在与所述主出接口不同的出接口,从所述优先级第三高的路由协议的路由中选择一个与所述主出接口不同的出接口为所述路由转发表项的备出接口;以此类推,直到确定所述路由转发表项的备出接口。
[0016]优选的,所述通过所述路由转发表项对接收到的流量进行转发,具体包括:
[0017]在接收到流量之后,利用所述流量的目的地址查询对应的路由转发表项,并判断所述目的地址对应的路由转发表项中的主出接口是否能转发所述流量;
[0018]若判断结果为是,则通过所述主出接口转发所述流量;
[0019]若判断结果为否,则通过所述目的地址对应的路由转发表项中的备出接口转发所述流量。
[0020]优选的,所述通过所述路由转发表项对接收到的流量进行转发,具体包括:
[0021]在接收到流量之后,利用所述流量的目的地址查询对应的路由转发表项,若所述流量的接收接口与所述目的地址对应的路由转发表项中的主出接口为同一个接口,通过所述目的地址对应的路由转发表项中的备出接口转发所述流量。
[0022]本发明还提出了一种路由设备,所述路由设备同时使能两个以上路由协议,所述两个以上路由协议具有不同优先级,所述路由设备包括:
[0023]获取模块,用于获取各路由协议对应的路由,所述路由包括目的地址和出接口 ;
[0024]第一选择模块,用于当优先级最高的路由协议对应有多个路由时,从所述多个路由中选择一个路由的出接口作为所述目的地址对应的路由转发表项的主出接口,并从所述多个路由中选择另一个路由的出接口作为所述路由转发表项的备出接口;
[0025]第二选择模块,用于当所述优先级最高的路由协议只对应有一个路由时,选择所述一个路由的出接口作为所述路由转发表项的主出接口,并选择其他路由协议的一个路由的与所述主出接口不同的出接口作为所述路由转发表项的备出接口;
[0026]转发模块,用于通过所述路由转发表项对接收到的流量进行转发。
[0027]优选的,所述第一选择模块,具体用于:
[0028]当所述多个路由中只存在一个最优的路由时,选择所述最优的路由的出接口作为所述路由转发表项的主出接口,并选择另一个非最优的路由的出接口作为所述路由转发表项的备出接口 ;或
[0029]当所述多个路由中存在多个最优的路由时,从所述多个最优的路由中选择两个路由的出接口分别作为所述路由转发表项的主出接口和备出接口。
[0030]优选的,所述第二选择模块选择其他路由协议的一个路由的与所述主出接口不同的出接口作为所述路由转发表项的备出接口,具体包括:
[0031]当优先级第二高的路由协议的路由中存在与所述主出接口不同的出接口时;从所述优先级第二高的路由协议的路由中选择一个与所述主出接口不同的出接口为所述路由转发表项的备出接口;
[0032]当所述优先级第二高的路由协议的路由中不存在与所述主出接口不同的出接口,且优先级第三高的路由协议的路由中存在与所述主出接口不同的出接口时,从所述优先级第三高的路由协议的路由中选择一个与所述主出接口不同的出接口为所述路由转发表项的备出接口 ;以此类推,直到确定所述路由转发表项的备出接口。
[0033]优选的,所述转发模
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1