负载均衡方法及路由服务器的制作方法

文档序号:7647589阅读:164来源:国知局
专利名称:负载均衡方法及路由服务器的制作方法
技术领域
本发明涉及一种通信技术,尤其涉及一种负载均衡方法及能够实现负载均衡的路由服务器。
背景技术
如图1所示为一种能够实现负载分担的组网结构,常用于网吧等应用中。当终端31等多个终端通过链路1、2等多条链路经由广域网(Wide AreaNetwork,简称WAN)访问网络服务器10时,由于多条链路连接相同的网络服务器10,从网关服务器20到达网络服务器10将生成多条等价链路,即多条代价(cost)相同的路由,使得来自于各终端的业务流在网关服务器20上将形成负载分担,即一部分业务流走链路1、一部分业务流走链路2,一部分业务流走其他链路等。在现有技术中,来自于同一个终端的业务流应该走同一链路,否则网络服务器10可能会由于判断出来源不同而拒绝这类业务流的访问。
现有技术中基于上述组网结构实现负载分担主要是通过在网关路由器20上配置策略路由,对终端出接口进行设置。具体地,根据业务流的源IP地址唯一确定一个终端,并通过访问控制列表(Access Control List,简称ACL)规则进行局域网(Local Area Network,简称LAN)内的终端分流,使得每个终端的所有业务流都走相同的链路,到达网络服务器10后都从相同的接口进入,以避免被网络服务器10拒绝。
现有技术的缺陷在于上述配置策略路由的方法无法动态适应网络结构变化,即一旦网络结构发生变化就需要重新对策略路由进行配置,因此非常不方便且缺乏灵活性;另外,上述方法仅仅是基于终端对链路进行分配,但并不是所有的终端在同一时间都要进行业务流的传输,如果在某一时刻,使用链路1的终端数量很少,而使用链路2的终端数量很多,从而会造成两条链路的负载不均衡,使一条链路无法得到充分利用。

发明内容
本发明的目的在于在保证同一终端的报文通过同一链路进行传输的前提下,提高配置的灵活性和每条链路的使用效率。
为了实现上述目的,本发明的一个实施例提供一种负载均衡方法,包括路由服务器接收到来自于终端的报文后,在预先根据多条等价链路的负载状态动态生成的出接口分配表中查找相应的出接口信息;根据查找到的出接口信息将该报文转发到多条等价链路中的一条链路上;其中,所述出接口分配表的表项中包括相互关联保存的能够唯一区分发送报文终端的终端特征信息和该路由服务器的多条等价链路的出接口信息。
为了实现上述目的,本发明的另一个实施例提供一种路由服务器,包括分配表模块,用于保存出接口分配表,当需要添加表项时,根据多条等价链路的负载状态为所述服务器接收到的报文分配出接口,生成相应的表项保存在出接口分配表中。
转发模块,用于根据来自于分配表模块的出接口信息,将所述报文转发到多条等价链路中的一条链路上。
因此,通过本发明,由于出接口分配表中的表项信息根据多条等价链路上的负载状态进行了动态配置,从而不受网络结构的限制,因此配置过程更加灵活方便,负载分担的效果更好,各条等价链路的利用率更高。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。


图1为现有的一种能够实现负载分担的组网结构;图2为本发明实施例1所述负载均衡方法流程图;图3为本发明实施例2所述路由服务器结构示意图;图4为本发明实施例2所述另一种路由服务器结构示意图。
具体实施例方式
实施例1本实施例提供了一种负载均衡方法,如图2所示,步骤101,路由服务器接收到来自于终端的报文后,根据该报文中的目的地址,具体地可以为网际协议(Internet Protocol,简称IP)地址,在转发信息库(Forwarding Information Base,以下简称FIB)中查找是否存在至少两条等价链路,是则执行步骤102。
其中,等价链路是指能够达到目的地址并且代价近似相同的路由。如果不存在多条等价链路,也就无法实现负载分担。但此处需要说明的是,如果根据具体的网络拓扑结构便可以确定来自于不同终端的所有报文都只发送给一个目的地址,且必然存在多条等价链路,则本步骤是可以被省略的。
步骤102,根据接收到的该报文中的终端特征信息在出接口分配表中查找相应的出接口信息,如果查找成功则执行步骤110,否则执行步骤120。
其中,出接口分配表的表项中包括相互关联保存的终端特征信息和对应于路由服务器的多条等价链路的出接口信息。其中终端特征信息是指能够唯一标识发送该报文的终端的信息,用于对各个终端加以区分。例如报文中携带的源IP地址等;出接口信息为用于转发该报文的出接口标识,或者为出接口标识及下一跳路由地址。对于某些逻辑接口,如虚拟模板接口(简称VT接口),单凭接口标识无法决定实际要转发报文的物理接口,因此需要将出接口标识及一下跳路由地址相结合以确定物理接口。
步骤110,根据查找到的出接口信息将该报文转发到多条等价链路中的一条链路上,使得来自于同一终端的报文能够通过路由服务器的同一条链路进行传输。这里的多条等价链路包括两条及两条以上的等价链路。
步骤120,如果查找失败,说明在当前的出接口分配表中没与该终端相对应的表项信息,则可以根据多条等价链路的负载状态,生成相应的表项保存在出接口分配表中。
在生成相应的表项时,为了实现多条等价链路上的负载均衡,具体可以根据出接口分配表中已有的表项信息和多条所述链路的负载能力的比例为接收到的该报文分配出接口,生成相应的表项,使分配于各个等价链路上的终端个数比与链路的负载能力比相适应。当再次收到来自于该终端的报文时,根据该新生成的表项即可以完成报文转发。其中,链路的负载能力的比例可以是链路的带宽比或容量比或速度比。
例如,假设在图1所示的网络中,等价链路包括链路1和链路2,如果链路1、2的带宽比为3∶5,而链路1上已经分配了3个终端的报文;链路2上已经分配了4个终端的报文,则当接收到来自于一个新终端的报文时将该报文分配到链路2上,此时两条链路上分配的终端个数比为3∶5,与链路带宽比相适应。如果终端个数比链路带宽比已经相同,则当接收到来自于一个新终端的报文时随机选择一条链路发送即可。
此处需要说明的是,在现有的某些网络系统中,创建出接口分配表的表项需要得到相应路由表项的支持,如果路由项不支持基于用户的负载分担,无法进行添加。但路由表项是否支持该功能是可以进行配置的。
另外,对出接口分配表还可以采用表项老化机制,即对出接口分配表的表项进行定时循环查询,当查询到表项所对应的终端在老化周期内未进行报文传输,则将该表项删除。当路由服务器再次接收到来自该终端的报文时,可以根据上述步骤120为该终端重新分配出接口,并生成相应的表项保存在出接口分配表中。
具体地,可以为出接口分配表中的每个表项设置一个时间戳标记和两个新旧报文记数器,当该表项所对应的终端有报文传输时,增加新报文计数器的计数。每次定时循环查询到该表项时,比较新旧报文计数器是否相同,若不同说明有新报文传输,则根据最近接收报文的时间更新时间戳标记,并用新报文计数器更新旧报文计数器;若新旧报文计数器的值相同,说明没有新报文传输,则保持时间戳标记不变。当该表项到达老化时间时将其删除,其中,老化时间是指该表项的时间戳标记的当前值与老化周期的和。
通过本实施例所述方法,通过出接口分配表分配出接口,使得来自于同一个终端的报文通过同一条链路到达目的地址,因此能够保证信息传输的顺利进行;并且由于出接口分配表中的表项信息可以根据报文传输的情况进行动态添加或删除而不受网络结构的限制,因此配置过程更加灵活方便。另外,由于每次添加表项信息时,考虑到了已有表项的分配情况和各条链路的带宽比,因此负载分担的效果更好,各条等价链路的利用率更高。
实施例2本实施例提供了一种能够实现负载分担的路由服务器,如图3所示,路由服务器10包括转发模块11,信息库查找模块12和分配表模块13。其中,信息库查找模块12中保存有FIB,分配表模块13中保存有出接口分配表。工作过程如下路由服务器10接收到来自于终端的报文后,信息库查找模块12根据该报文中的目的地址,具体可以是IP地址,在FIB中查找是否存在至少两条等价链路,当存在时向分配表模块13发送查找结果,使分配表模块13开始工作。
分配表模块13接收到来自于信息库查找模块12的查找结果后,根据路由服务器10接收到的报文中的终端特征信息在出接口分配表中查找相应的出接口信息,并将查找到的出接口信息发送给转发模块11。其中,出接口分配表的表项中包括相互关联保存的终端特征信息和对应于多条等价链路的出接口信息。其中终端特征信息是指能够唯一标识发送该报文的终端的信息,用于对各个终端加以区分。例如报文中携带的源IP地址等;出接口信息为用于转发该报文的出接口标识,或者为出接口标识及下一跳路由地址。
此处需要说明的是,如果通过已有网络拓扑结构能够确定来自于终端的所有报文都只发送给一个目的地址,并且必然存在至少两条等价链路,则信息库查找模块12也可以取消。分配表模块13不需要等待来自于信息库查找模块12的查找结果即可以开始工作。
转发模块11根据来自于分配表模块13的出接口信息对该报文进行转发,使得来自于同一终端的报文能够通过路由服务器的同一条链路进行传输。
如果分配表模块13在出接口分配表中未能查找相应的出接口信息,说明在当前的出接口分配表中没与该终端相对应的表项信息,则可以根据多条等价链路的负载状态,生成相应的表项保存在分配表模块13的出接口分配表中。
在生成相应的表项时,为了实现多条等价链路上的负载均衡,具体可以根据出接口分配表中已有的表项信息和多条所述链路的负载能力的比例为接收到的该报文分配出接口,生成相应的表项,使分配于各个等价链路上的终端个数比与链路的负载能力比相适应。当再次收到来自于该终端的报文时,根据该新生成的表项即可以完成报文转发。其中,链路的负载能力的比例可以是链路的带宽比或容量比或速度比。具体举例请参见实施例1。
另外,本实施例所述的路由服务器10中还可以设置循环查询模块20,以实现对出接口分配表表项的老化机制。如图4所示,循环查询模块20对分配表模块13中的出接口分配表的表项进行定时循环查询,当查询到表项所对应的终端在老化周期内未进行报文传输,则将该表项删除。具体的表项老化过程可参见实施例1。
通过本实施例所述装置,通过出接口分配表分配出接口,使得来自于同一个终端的报文通过同一条链路到达目的地址,因此能够保证信息传输的顺利进行;并且由于出接口分配表中的表项信息可以根据报文传输的情况进行动态添加或删除而不受网络结构的限制,因此配置过程更加灵活方便。另外,由于每次添加表项信息时,考虑到了已有表项的分配情况和各条链路的带宽比,因此负载分担的效果更好,各条等价链路的利用率更高。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。
权利要求
1.一种负载均衡方法,其特征在于包括路由服务器接收到来自于终端的报文后,在预先根据多条等价链路的负载状态动态生成的出接口分配表中查找相应的出接口信息;根据查找到的出接口信息将该报文转发到多条等价链路中的一条链路上;其中,所述出接口分配表的表项中包括相互关联保存的能够唯一区分发送报文终端的终端特征信息和该路由服务器的多条等价链路的出接口信息。
2.根据权利要求1所述的负载均衡方法,其特征在于如果未找到相应的出接口信息,则根据多条等价链路的负载状态,生成相应的表项保存在出接口分配表中。
3.根据权利要求2所述的负载均衡方法,其特征在于根据所述链路的负载状态生成相应的表项具体为根据出接口分配表中已有的表项信息和多条所述链路的负载能力的比例为该报文分配出接口,生成相应的表项。
4.根据权利要求3所述的负载均衡方法,其特征在于所述链路的负载能力的比例具体为所述链路的带宽比或容量比或速度比。
5.根据权利要求1所述的负载均衡方法,其特征在于还包括对出接口分配表的表项进行定时循环查询,当查询到达到老化时间的表项时,将该表项删除。
6.根据权利要求5所述的负载均衡方法,其特征在于将所述达到老化时间的表项删除具体为为出接口分配表中的每个表项设置一个时间戳标记;将表项的时间戳标记的当前值与老化周期的和设置为老化时间;当表项到达老化时间时将该表项删除。
7.根据权利要求6所述的负载均衡方法,其特征在于设置所述时间戳标记还包括当检测到表项所对应的终端有报文传输时,根据最近接收到报文的时间更新该表项的时间戳标记。
8.根据权利要求7所述的负载均衡方法,其特征在于检测到所述表项对应的终端有报文传输具体为为出接口分配表中的每个表项设置新旧两个报文记数器;当表项所对应的终端有报文传输时,增加新报文计数器的计数值,并用新报文计数器更新旧报文计数器;在定时循环查询过程中,当比较出表项的新旧报文计数器的计数值不同时,则检测到该表项对应的终端有报文传输。
9.一种路由服务器,其特征在于包括分配表模块,用于保存出接口分配表,当需要添加表项时,根据多条等价链路的负载状态为所述服务器接收到的报文分配出接口,生成相应的表项保存在出接口分配表中;转发模块,用于根据来自于分配表模块的出接口信息,将所述报文转发到多条等价链路中的一条链路上。
10.根据权利要求9所述的路由服务器,其特征在于还包括信息库查找模块,用于根据所述路由服务器接收到的报文中的目的地址在转发信息库中查找是否存在至少两条等价链路,是则将查找结果发送给分配表模块;所述分配表模块还用于在接收到该查找结果后,当需要添加表项时,根据多条等价链路的负载状态为所述服务器接收到的报文分配出接口,生成相应的表项保存在所述出接口分配表中。
11.根据权利要求9或10所述的路由服务器,其特征在于还包括循环查询模块,用于对所述分配表模块中的出接口分配表的表项进行定时循环查询,当查询到表项所对应的终端在老化周期内未进行报文传输,则将该表项删除。
全文摘要
一种负载均衡方法及路由服务器,其中方法包括路由服务器接收到来自于终端的报文后,在预先根据多条等价链路的负载状态动态生成的出接口分配表中查找相应的出接口信息;根据查找到的出接口信息将该报文转发到多条等价链路中的一条链路上其中,所述出接口分配表的表项中包括相互关联保存的能够唯一区分发送报文终端的终端特征信息和该路由服务器的多条等价链路的出接口信息。路由服务器包括分配表模块和转发模块。通过本发明,由于出接口分配表中的表项信息根据多条等价链路上的负载状态进行了动态配置,从而不受网络结构的限制,因此配置过程更加灵活方便,负载分担的效果更好,各条等价链路的利用率更高。
文档编号H04L29/06GK101022413SQ20071006476
公开日2007年8月22日 申请日期2007年3月26日 优先权日2007年3月26日
发明者赵鲲鹏 申请人:杭州华为三康技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1