专利名称:一种数据报文转发方法和装置的制作方法
技术领域:
本发明涉及网络通信技术领域,尤其涉及一种数据报文转发方法和装置。
背景技术:
随着网络应用的不断发展,网络的数据访问量越来越大,现在很多企业采用多链路接入外网,即使用多条物理链路来接入到多个运营商,并使用链路负载均衡系统来解决数据拥塞和链路资源浪费等问题。链路负载均衡系统是一个基于网络结构之上的软件和硬件组成的系统,它提供了一种高效的方法进行多链路之间的负载均衡,可以使接入的链路平均分配数据流量。开放式最短路径优先(Open Shortest Path First,0SPF)等动态路由协议通过路由器之间通告网络接口的状态,来建立链路状态数据库,在一个自治系统中,所有的路由器 都维护同一个链路状态数据库,该数据库存放路由域中相应链路的状态信息,路由器根据这个数据库可以计算出其路由表。现有的负载均衡设备要么是采用链路负载均衡技术来选择出口链路,要求是采用那个动态路由协议来选择出口链路。使用链路负载均衡技术时,可以按照预定的负载分担算法将业务流量分担到自身的一个或多个出口链路上去。OSPF等动态路由协议是基于链路状态的路由协议,利用此类动态协议的路由器首先收集有关的链路信息,根据一定的算法得到每个节点的最短路径,当数据来到时,会从出接口查找最短路径的路由作为匹配的链路。现在的接入方式中,单一使用负载均衡算法只是绝对平均地分配所有数据流量到不同的链路,而不能依据路由的远近去分配数据流量,这样很可能导致某些流量不能从最佳路由出去,并不能很高效的使用链路资源。OSPF等协议可以根据接口的信息生成路由优先级,但在通往同一目的的不同链路中,OSPF等协议只选择优先级较高的转发,不同优先级的路由中,不能实现负载分担,造成链路的负载不均,导致有的链路很拥塞,而有的链路很空闲,这时候就不能有效的保证链路的高效运行。
发明内容
有鉴于此,本发明的目的是提供一种数据报文转发方法和装置,能够提高链路的利用率。为实现上述目的,本发明提供技术方案如下一种数据报文转发方法,应用于负载均衡设备上,包括如下步骤接收数据报文;根据动态路由协议确定所述数据报文的多个可选出口链路;根据负载均衡算法从所述多个可选出口链路中确定目标出口链路;将所述数据报文从所述目标出口链路发送出去。一种数据报文转发装置,应用于负载均衡设备上,包括
接收单元,用于接收数据报文;路由计算单元,用于根据动态路由协议确定所述数据报文的多个可选出口链路;负载均衡单元,用于根据负载均衡算法从所述多个可选出口链路中确定目标出口链路;发送单元,用于将所述数据报文从所述目标出口链路发送出去。与现有技术相比,本发明的技术方案结合动态路由协议和负载均衡算法来选择出口链路,实现了动态路由协议下的链路负载均衡,能够有效提高链路的利用率。
图I是本发明实施例的组网结构图;图2是本发明实施例的报文转发方法流程图;图3是本发明实施例的报文转发装置结构图。
具体实施例方式本发明在保持传统的链路负载均衡和OSPF等动态路由协议的前提下,针对链路的利用不充分的问题,提出使负载均衡和OSPF等协议结合的动态路由策略,这样既能保证数据报文走比较短的路径,又能保证一定的链路负载均衡,从而达到提高链路使用率的效
果O以下结合附图对本发明进行详细描述。图I是本发明实施例的组网结构图。参照图1,企业的内部网络通过多条链路(图中为3条)与外部网络连接,内部网络和外部网络之间设置有链路负载均衡设备。相对于内部网络而言,所述负载均衡设备具有3个入口链路(链路I、链路2和链路3)和3个出口链路(链路4、链路5和链路6),从不同的入口链路接收到的数据报文,能够根据预定的策略选择相应的出口链路转发出去。在本发明实施例中,所述预定的策略为基于动态路由协议的负载均衡策略。图2是本发明实施例的报文转发方法流程图,所述方法应用于负载均衡设备上。参照图2,所述方法可以包括如下步骤步骤201,接收数据报文;所述负载均衡设备可以从多个入口链路中的一个入口链路接收数据报文。步骤202,根据动态路由协议确定所述数据报文的多个可选出口链路;所述动态路由协议可以采用OSPF协议或者其他类型的动态路由协议。根据所述数据报文的目的地址,由所述动态路由协议为所述数据报文确定多个可达路由,每个可达路由对应于所述负载均衡设备的一个出口链路,这就相当于为所述数据报文确定了多个可选出口链路。一般地,在运行动态路由协议后,生成的路由信息中会包括每个路由分别对应的路径度量值,所述路径度量值可以是路由经过的路由器的跳数或者其他的度量值。因此,在本发明中,所述可选出口链路也可以是从多个可达路由中,按照路径度量值从小到的大的顺序选取的预定数目个路由对应的出口链路。步骤203,根据负载均衡算法从所述多个可选出口链路中确定目标出口链路;
步骤204,将所述数据报文从所述目标出口链路发送出去。在确定目标出口链路后,则所述负载均衡设备就可以将所述数据报文从所述目标出口链路发送出去。另外,步骤203中,如何根据负载均衡算法从所述多个可选出口链路中确定目标出口链路,本发明提供两种如下实现方式方式I首先,获取每个可选出口链路的流量值; 负载均衡设备会对各出口链路的流量值进行统计,于是,在有数据报文到达时,就可以实时获取各出口链路当前的流量值。然后,从所述多个可选出口链路中选取流量值最小的链路作为目标出口链路。方式2首先,获取每个可选出口链路的路径度量值;该路径度量值可以由动态路由协议根据链路状态数据库进行计算得到,具体可以为路由经过的路由器的跳数,当然,也可以是动态路由协议中的其他类型的路径度量值;其次,获取每个可选出口链路的流量值;负载均衡设备会对各出口链路的流量值进行统计,于是,在有数据报文到达时,就可以实时获取各出口链路当前的流量值。然后,对于每个可选出口链路,将对应的路径度量值和流量值进行加权平均,得到加权平均值;为了提高链路的利用率,在进行加权平均时,路径度量值的权重以及流量值的权重可以通过理论分析,或者,通过实验获得。最后,从所述多个可选出口链路中选取加权平均值最小的链路作为目标出口链路。根据本发明实施例的上述方法,首先,到达负载均衡设备的数据报文根据OSPF等动态路由协议找到匹配的多条路由(对应负载均衡设备的多个出口链路),然后,在动态路由协议下提供的几条可选链路中用链路调度算法确定最终数据报文要走的出口链路。当下一次OSPF等协议的链路状态数据库更新后,继续查找能够到达的路由,然后使用调度算法确定链路,这样既能保证数据报文走比较短的路径,又能保证一定的链路负载均衡,达到提高链路使用率的效果。对应于上述方法,本发明实施例还提供一种报文转发装置,所述装置应用于负载均衡设备上。参照图3,所述装置可以包括接收单元10、路由计算单元20、负载均衡单元30和发送单元40,其中所述接收单元10用于接收数据报文。所述路由计算单元20用于根据动态路由协议确定所述数据报文的多个可选出口链路。所述动态路由协议可以采用OSPF协议或者其他类型的动态路由协议。根据所述数据报文的目的地址,由所述动态路由协议为所述数据报文确定多个可达路由,每个可达路由对应于所述负载均衡设备的一个出口链路,这就相当于为所述数据报文确定了多个可选出口链路。所述负载均衡单元30用于根据负载均衡算法从所述多个可选出口链路中确定目标出口链路。具体地,所述负载均衡单元30可以按照上述的方式I或方式2来从所述多个可选出口链路中确定目标出口链路。所述发送单元40用于将所述数据报文从所述目标出口链路发送出去。综上所述,本发明结合动态路由协议和负载均衡算法来选择出口链路,实现了动 态路由协议下的链路负载均衡,能够有效提闻链路的利用率。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种数据报文转发方法,应用于负载均衡设备上,其特征在于,包括如下步骤 接收数据报文; 根据动态路由协议确定所述数据报文的多个可选出口链路; 根据负载均衡 算法从所述多个可选出口链路中确定目标出口链路; 将所述数据报文从所述目标出口链路发送出去。
2.如权利要求I所述的数据报文转发方法,其特征在于,所述根据负载均衡算法从所述多个可选出口链路中确定目标出口链路,包括 获取每个可选出口链路的流量值; 从所述多个可选出口链路中选取流量值最小的链路作为目标出口链路。
3.如权利要求I所述的数据报文转发方法,其特征在于,所述根据负载均衡算法从所述多个可选出口链路中确定目标出口链路,包括 获取每个可选出口链路的路径度量值; 获取每个可选出口链路的流量值; 对于每个可选出口链路,将对应的路径度量值和流量值进行加权平均,得到加权平均值; 从所述多个可选出口链路中选取加权平均值最小的链路作为目标出口链路。
4.如权利要求3所述的数据报文转发方法,其特征在于 所述路径度量值为出口链路对应的路由经过的路由器的跳数。
5.如权利要求I所述的数据报文转发方法,其特征在于 所述动态路由协议为OSPF协议。
6.一种数据报文转发装置,应用于负载均衡设备上,其特征在于,包括 接收单元,用于接收数据报文; 路由计算单元,用于根据动态路由协议确定所述数据报文的多个可选出口链路; 负载均衡单元,用于根据负载均衡算法从所述多个可选出口链路中确定目标出口链路; 发送单元,用于将所述数据报文从所述目标出口链路发送出去。
7.如权利要求6所述的数据报文转发装置,其特征在于,所述负载均衡单元进一步用于 获取每个可选出口链路的流量值; 从所述多个可选出口链路中选取流量值最小的链路作为目标出口链路。
8.如权利要求6所述的数据报文转发装置,其特征在于,所述负载均衡单元进一步用于 获取每个可选出口链路的路径度量值; 获取每个可选出口链路的流量值; 对于每个可选出口链路,将对应的路径度量值和流量值进行加权平均,得到加权平均值; 从所述多个可选出口链路中选取加权平均值最小的链路作为目标出口链路。
9.如权利要求8所述的数据报文转发装置,其特征在于 所述路径度量值为出口链路对应的路由经过的路由器的跳数。
10.如权利要求6所述的数据报文转发装置,其特征在于所述动态路由协议为OSPF协议。
全文摘要
本发明提供一种数据报文转发方法和装置,属于网络通信技术领域。所述方法应用负载均衡设备上,包括如下步骤接收数据报文;根据动态路由协议确定所述数据报文的多个可选出口链路;根据负载均衡算法从所述多个可选出口链路中确定目标出口链路;将所述数据报文从所述目标出口链路发送出去。本发明能够提高链路的利用率。
文档编号H04L12/803GK102932268SQ20121043604
公开日2013年2月13日 申请日期2012年11月5日 优先权日2012年11月5日
发明者李乾 申请人:杭州迪普科技有限公司