流量均衡设备和方法以及使用它们的网络转发设备和方法

文档序号:7616725阅读:221来源:国知局
专利名称:流量均衡设备和方法以及使用它们的网络转发设备和方法
技术领域
本发明涉及对相互连接起来的不同的网络的流量进行均衡的流量均衡设备和流量均衡方法以及使用它们的网络转发设备和方法,尤其涉及在采用不同IP协议的网络之间均衡网络流量的流量均衡设备和流量均衡方法以及使用它们的网络转发设备和方法。
背景技术
随着因特网的日益膨胀,现有的采用长度为32位的IPv4地址已经十分紧缺。于是,出现了采用长度为128位IP地址的IPv6协议,来彻底解决IPv4地址不足的难题,并且在地址容量、安全性、网络管理、移动性以及服务质量等方面有明显的改进。
在IPv6成为主流协议之前,IPv4协议还将被继续使用,因此就出现了IPv4网络与IPv6网络共存的情况。另外,由于地址分配的不均衡问题,有些国家或者地区仍然有足够的IPv4地址空间供分配。因此IPv4网络将在这些国家或者地区长期存在。在可以预见的将来,IPv4网络与IPv6网络还将长期共存。
国际上IETF(互联网工程任务组)组建了专门的NGTRANS工作组开展对于IPv4/IPv6过渡问题和高效无缝互通问题的研究。目前已经出现了多种过渡技术和互通方案。其中一种比较典型的过渡技术是双协议栈技术。双协议栈技术是使IPv6节点与IPv4节点兼容的最直接方式,应用对象是主机、路由器等通信节点。图1示出了采用双协议栈方式互通时的系统。支持双协议栈的IPv6节点与IPv6节点互通时使用IPv6协议栈,与IPv4节点互通时使用IPv4协议栈。目前RFC定义和Java的JDK采用静态的方法来选择地使用目标地址的IPv4或IV6地址。在这两种方法中,存在如下问题一旦发送方发送了例如IPv4的分组,之后该分组所流经的区域就被固定到IPv4网络上了。另外,虽然主机可以支持双栈,但现有的RFC规定了在双栈中是静态设置IPv4和IPv6的优先级。例如,如果规定IPv4优于IPv6,所有发送出去的分组都是IPv4分组,而这大量的IPv4流量都会经由IPv4核心网进行转发。这样就会出现IPv4网络十分繁忙而IPv6网络资源被浪费,或者相反的情况。
现有技术中,为了解决IPv4网络和IPv6网络的互通问题,还采用了隧道方式(tunnel)作为IPv4网络过渡到IPv6网络的技术。图2示出现有技术中使用隧道方式进行网络互通的示意图。在该方式下,当IPv6节点C访问IPv6节点D时,形成一个6 over 4的IP分组,6over 4分组经过路由器X经IPv4网络传到路由器Y,路由器Y将其IPv4头去掉,将IPv6分组通过IPv6网络送往IPv6节点D。于是,通过在路由器X和路由器Y之间形成用于传输IPv6分组的IPv6隧道路径来在IPv4网络上传输IPv6分组。但是在上述方法中,IPv4流量和IPv6流量之间会争抢带宽和路由器资源。
因此当前的技术不能根据当前网络上的流量实时地选择性地使用流量小的网络来进行信息传输以充分利用网络资源。尤其是,当IPv4网络流量很多而IPv6网络流量很小或者出现相反的情况时,当前的技术无法实现对两个网络上的流量进行实时调整,从而改善两种网络的利用不平衡的问题。

发明内容
为了解决现有技术的上述问题,本发明的一个目的是提供一种对采用不同的IP协议的不同网络动态地均衡其网络流量的流量均衡设备。
本发明另一个目的是提供一种对采用不同的IP协议的不同网络动态地均衡其网络流量的流量均衡方法。
本发明还有一个目的是提供一种网络转发设备,通过对于待转发的IP分组按照不同网络的流量来确定不同的转发路由来动态地均衡不同网络的流量。
本发明还有一个目的是提供一种网络转发方法,通过对于待转发的IP分组按照不同网络的流量来确定不同的转发路由来动态地均衡不同网络的流量。
为了实现上述目的,本发明提供一种在采用两种或者两种以上的IP协议的不同网络之间进行IP分组转发的网络转发设备,该网络转发设备支持该两种或者两种以上的IP协议,在该网络转发设备中保持了一个路由表,用于保持目标地址的路由信息作为直通路径,该网络转发设备包括流量均衡部件和转发部件,流量均衡部件包括隧道管理部件,用于为所述网络转发设备的路由表中的采用一种IP协议的目标地址确定采用其它种类的IP协议的一个或多个路由信息作为去往该目标地址的隧道路径;流量监视部件,用于监视所述不同网络上的流量;路径确定部件,当所述流量监视部件判断为所述不同网络上的流量不均衡时,所述路径确定部件从所述直通路径和所述隧道路径中为其中包含所述目标地址的待转送的IP分组确定一条转发路径,以均衡所述不同网络上的流量,所述转发部件包括,封装装置,当所述路径确定部件所确定的转发路径所采用的IP协议与待转送的IP分组所采用的IP协议不相同时,将所述IP分组转换为所述所确定的转发路径所采用的IP协议分组。
本发明提供一种在采用两种或者两种以上的IP协议的不同网络之间进行IP分组转发的网络转发设备中所执行的IP分组转发方法,该网络转发设备支持该两种或者两种以上的IP协议,在该网络转发设备中保持了一个路由表,用于保持目标地址的路由信息作为直通路径,该IP分组转发方法包括步骤,
为所述网络转发设备中的路由表中的采用一种IP协议的目标地址确定采用其它种类的IP协议的一个或多个路由信息作为该目标地址的隧道路径;监视所述不同网络上的流量,判断不同网络上的流量是否均衡;当判断为所述不同网络上的流量不均衡时,从所述直通路径和所述隧道路径中为其中包含所述目标地址的待转送的IP分组确定一条转发路径,以均衡所述不同网络上的流量;当所确定的转发路径采用的IP协议与待转送的IP分组所采用的IP协议不相同时,将所述IP分组转换为所述所确定的转发路径所采用的IP协议分组。
本发明提供一种在采用两种或者两种以上的IP协议的不同网络之间进行流量均衡的流量均衡设备,该流量均衡设备用于支持该两种或者两种以上的IP协议的网络转发设备,在该网络转发设备中保持了一个路由表,用于保持目标地址的路由信息作为直通路径,该流量均衡设备包括,隧道管理部件,用于为所述网络转发设备中的路由表中的采用一种IP协议的目标地址确定采用其它种类的IP协议的一个或多个路由信息作为该目标地址的隧道路径;流量监视部件,用于监视所述不同网络上的流量;路径确定部件,当所述流量监视部件判断为所述不同网络上的流量不均衡时,所述路径确定部件从所述直通路径和所述隧道路径中为其中包含所述目标地址的待转送的IP分组确定一条转发路径,以均衡所述不同网络上的流量。
本发明提供一种在采用两种或者两种以上的IP协议的不同网络之间进行IP分组转发的网络转发设备中所执行的流量均衡方法,该网络转发设备支持该两种或者两种以上的IP协议,在该网络转发设备中保持了一个路由表,用于保持目标地址的路由信息作为直通路径,该流量均衡方法包括步骤,为所述网络转发设备中的路由表中的采用一种IP协议的目标地址确定采用其它种类的IP协议的一个或多个路由信息作为该目标地址的隧道路径;监视所述不同网络上的流量,判断不同网络上的流量是否均衡;当判断为所述不同网络上的流量不均衡时,从所述直通路径和所述隧道路径中为其中包含所述目标地址的待转送的IP分组确定一条转发路径,以均衡所述不同网络上的流量。
本发明的一个优点在于,通过实时地监控不同网络上的流量,选择性地将待转发的IP分组分配到流量较少的网络上进行传输,从而减轻负载较重的网络的负担,保持各网络负载的均衡,提高网络整体资源利用效率和传输质量。
本发明还有一个优点在于,由于本发明仅对于路由表或者转发表进行操作,而不改变已有的路由协议,因此本发明在优化网络资源的同时不会给其他路由应用带来影响。
本发明的又一个优点在于,由于本发明仅仅在进行分组转发的网络转发设备中应用,而不影响已有的网络的其他结构,因此能够以较低的成本简单地实现网络资源的均衡。
通过以下结合附图对本发明的最佳实施例的详细说明,本发明的这些以及其他优点将更加明显。


图1是现有技术中的双栈协议技术的示意图。
图2是现有技术中的隧道技术的示意图。
图3A和图3B示出本发明的网络应用环境。
图4是本发明的原理的概略视图。
图5示出了根据本发明的边缘路由器的原理图。
图6示出了根据本发明的边缘路由器的结构方框图。
图7示出根据本发明的隧道管理表601的表结构图8A是根据本发明的第一实施例的隧道管理表图8B是根据本发明的第一实施例的IPv4路由表。
图8C是根据本发明的第一实施例的IPv4转发表。
图8D是根据本发明的第一实施例的被进行流量均衡后的IPv4转发表。
图9是根据本发明的第一实施例进行切换处理的流程图。
图10示出根据本发明的第一实施例的控制过程的流程图。
图11示出了根据本发明的第二实施例的流量均衡设备的结构方框图。
图12A是根据本发明的第二实施例的隧道管理表图12B是根据本发明的第二实施例的IPv4路由表。
图12C是根据本发明的第二实施例的IPv4转发表。
图12D是根据本发明的第二实施例的IPv4转发表。
图13是根据本发明的第二实施例进行切换处理的流程图。
图14示出了根据本发明的第二实施例的控制过程的流程图。
图15示出根据本发明的第二实施例在数据层的转发装置的结构图。
图16A和16B是根据本发明的第二实施例的转发装置所进行的处理的流程图。
图17A和17B是根据本发明的第三实施例的转发装置所进行的处理的流程图。
具体实施例方式
为了说明的方便,将以IPv4协议和IPv6协议下的网络以及路由器为例对本发明进行说明,但是,本发明不限于IPv4协议和IPv6协议下的网络,而可以应用于任何都采用IP协议的网络以及转发设备。
图3A和图3B示出本发明的网络应用环境。
本发明中的边缘路由器是位于网络边缘并且支持IPv4协议和IPv6协议的路由器。该边缘路由器对于来自主机A的IP分组,按照当前IPv4网络和IPv6网络的流量,确定下一跳转发地址。
图4是本发明的原理的概略视图。
假设IPv4主机A401向IPv4主机B435发送一个IPv4分组。
在现有技术中,边缘路由器410要么通过IPv4网络414将该IPv4分组转发给IPv4主机B435;要么按照隧道技术通过IPv6网络412将该IPv4分组转发给IPv4主机B435。在现有技术中,事先为边缘路由器410固定了进行路由选择时所使用的IP协议。例如,如果事先规定为在为IPv4分组选择路由时使用IPv4协议,则边缘路由器410选择下一跳时只能从采用IPv4协议的转发路由器中进行选择。而如果事先规定为在为IPv4分组选择路由时使用IPv6隧道技术,则边缘路由器410选择下一跳时只能从采用IPv6协议的转发路由器,例如路由器415和路由器420中进行选择。
而根据本发明,边缘路由器410在转发IPv4分组时,既考虑经由IPv4网络414的路由也考虑经由IPv6网络412的路由,并且按照实时检测到的从边缘路由器410到IPv4网络414与边缘路由器410到IPv6网络412之间的流量关系,确定下一跳。为了说明的方便,以后将与待转发的分组采用相同的协议的路由称为直通路径,而将与待转发的分组采用的协议不相同的路由称为隧道路径。
例如,在图4中,T1和T2为IPv4分组经过IPv6网络412的两条隧道路径,而将经过IPv4网络的那些路由称为直通路径。
图5示出根据本发明的边缘路由器的原理图。
该边缘路由器是一个双栈边缘路由器。
该边缘路由器的功能主要分为两个部分,即控制层501和数据层505。
在图5中示出了边缘路由器对现有的IPv4/IPv6路由进行管理和转发的结构。其中,在控制层501存放着IPv4路由表510和IPv6路由表525,它们保存了与传输路径有关的数据,供路由选择时使用。而在数据层505存放着IPv4路由表510和IPv6路由表525。IPv4转发表535和IPv6转发表550是分别根据IPv4路由表510和IPv6路由表525生成的,转发表的格式和路由表的格式不同,它更适合实现快速查找。后面将对这些表进行详细介绍。
在控制层501,IPv4路由管理模块515和IPv6路由管理模块520分别负责IPv4路由表510和IPv6路由表525的管理;在数据层505,IPv4转发模块540和IPv6转发模块545分别利用IPv4转发表535和IPv6转发表550提供的信息完成数据转发。需要注意的是,在现有的路由器结构中,对于IPv4和IPv6采用完全独立的两套路由管理机制。它们没有路由信息的交互,因而也不可能有交叉的路由。
为了在现有的边缘路由器上实现根据IPv4网络的流量和IPv6网络的流量,在IPv4和IPv6路由之间进行动态切换,本发明在控制层501添加了一个流量均衡设备,该流量均衡设备利用已有的路由表,有效地调整IPv4/IPv6流量的分布,解决流量不平衡的问题。下面对本发明的流量均衡设备的结构和操作进行详细解释。
图6示出了根据本发明的第一实施例的流量均衡设备的结构方框图。
如图6所示,本发明的流量均衡设备包括隧道管理表601,隧道建立装置605,隧道优先级设定装置615,隧道性能检测装置620,切换判断器650,流量监视器645和转发表更新器660。
IPv4路由表625,IPv4转发表630,IPv6路由表635和IPv6转发表640是边缘路由器所使用的表。本发明的流量均衡设备利用这些表中的信息进行IPv4网络和IPv6网络的流量均衡。
以下为了说明的方便,以IPv4路由表625和IPv4转发表630为例进行描述。但是,对于IPv6路由表635和IPv6转发表640或者其他IP协议下的路由表和转发表,也进行同样的处理。
隧道建立装置605按照已有的隧道路由选择技术为IPv4路由表625中的IPv4目标子网建立可用隧道的表项,并将其添加到隧道管理表601中,可用隧道的表项包括IPv4目标子网的IPv4地址以及可用隧道的下一跳IPv6地址。
图7示出根据本发明的隧道管理表601的表结构。在该表中,示例性地示出为目标子网2建立了两条IPv6隧道路径T1和T2,其中在目标子网域701中存储的是目标子网2的IPv4地址;在隧道下一跳域705中存储的是IPv6隧道路径T1中的下一跳IPv6地址和IPv6隧道路径T2中的下一跳IPv6地址。
隧道性能检测装置620通过使用已有的路由协议的路由性能检测功能来对各条可用隧道进行性能检测。比较简单的方法例如可以是定期向隧道管理表601中的各隧道路径发送一些检测包来测量各隧道路径的延迟/丢包率等,根据检测结果将对各隧道路径的性能评价结果存放到得分域710。
隧道优先级设定装置615按照隧道性能检测装置620所打的分数,对于到达同一个IPv4目标子网的各隧道路径设置优先级,该优先级可以看作对710域多个检测指标,例如延迟、丢包率等,的一个综合评价。在本实施例中,例如在隧道管理表601的优先级域715中将T1的优先级设为1,将T2的优先级设为2。其中数字越低表明优先级越高,因此T1的优先级大于T2的优先级。
另外,隧道优先级设定装置615,对于目标子网,从隧道管理表601中的对应于该目标子网的隧道路径中,选择优先级最高的隧道路径,将该隧道路径添加到IPv4路由表中。
图8A和图8B分别示出了隧道管理表601和IPv4路由表625。其中在IPv4路由表625中为目标子网2增加了一条路由入口为隧道路径T1的入口的记录。图8C示出了IPv4转发表630。图8D示出了被进行流量均衡后的IPv4转发表630。后面将详细描述上述IPv4转发表的更新过程。
流量监视器645对于边缘路由器的各输出端口的带宽占用率OLi(其中i为端口序号,Li表示经由各输出端口的输出路径)进行监视,并将监视结果通知给切换判断器650。
在确定流量是否需要调整方面,本发明人采用以下的思想来确定是否需要对某个输出端口的流量进行调整。
设经由边缘路由器的输出端口(未示出)的输出路径(链接)为(L1,L2,...Li...LN),其中i为端口序号,N为输出端口个数,1≤i≤N,Li为经由第i个输出端口的输出路径。设经由边缘路由器的输出端口的输出路径的带宽占用率为(OL1,OL2,...OLi...OLN)。
预先设置一个失衡域值Thimbalance,当OLi/OLj≥Thimbalance时,表明经由第i个输出端口的输出路径Li和第j个输出端口的输出路径Lj之间流量失衡,其中1≤j≤N并且i≠j。
预先设置一个端口过载域值Thoverload,当OLi≥Thoverload时,表明通过第i个输出端口的输出路径Li的流量过载。
当OLi/OLj≥Thimbalance并且OLi≥Thoverload时,或者当OLj/OLi≥Thimbalance并且OLj≥Thoverload时,表明Li和Lj之间需要进行流量调整。其中,当OLi/OLj≥Thimbalance并且OLi≥Thoverload时,表明通过第i个输出端口的输出路径Li的流量需要被进行调整。
对于经由边缘路由器的输出端口的输出路径(L1,L2,...Li...LN)而言,可以预先获得各输出路径中相对于各输出端口的下一跳地址。
在本发明的切换判断器650中,为了对于某个输出端口确定是否需要将一些流量均衡到隧道路径上去,使用如下的判断公式将第i个输出端口的带宽占用率直接与和该输出端口对应的隧道路径Ltunnel的带宽占用率Otunnel进行比较。当OLi/Otunnel≥Thimbalance并且OLi≥Thoverload时,表明需要将通过第i个输出端口的输出路径Li的流量调整一些到隧道路径上去。其中可以从路由表中查找和该输出端口对应的隧道路径Ltunnel的入口,来确定与该隧道路径Ltunnel对应的输出端口,从而确定该隧道路径Ltunnel的带宽占用率。
图9示出根据本发明的第一实施例的切换处理过程的流程图。
首先,在步骤S901,设i=1。
然后,在步骤S905,切换判断器650判断经由第i个输出端口的输出路径的下一跳地址是IPv4地址还是IPv6地址。当判断为是IPv4地址时,前进到步骤S910。当判断为是IPv6地址时,前进到步骤S912。
在步骤S910,对于第i个输出端口判断是否OLi/Otunnel≥Thimbalance并且OLi≥Thoverload。当判断结果是“否”时,前进到步骤S915,将i增加1。在步骤S920,判断i是否小于等于N。当判断为“否”时,返回到步骤S901重新开始新一轮的切换判断。当判断为“是”时,返回到步骤S905,对下一个输出端口进行切换判断。
当在步骤S910,判断结果为“是”时,前进到步骤S930,切换判断器650通知转发表更新器660将IPv4转发表630中具有对应于当前的第i个输出端口的下一跳IPv4地址的目标子网记录进行修改。在步骤S935,响应该通知,转发表更新器660从IPv4转发表630中查找具有该下一跳IPv4地址的记录作为候选切换记录,判断候选切换记录个数M是否大于等于2。当只有一条记录时,前进到步骤S940,转发表更新器660使用IPv4路由表625中对应于该记录中的目标子网的隧道路径入口的IPv6地址,来替换该记录中的下一跳地址。在步骤S965,将i增加1。在步骤S970,判断i是否小于等于N。当判断为“否”时,返回到步骤S901重新开始新一轮的切换判断。当判断为“是”时,返回到步骤S910,对下一个输出端口进行切换判断。
当在步骤S935,判断为记录个数M大于等于2时,则前进到步骤S940,令j等于1。在步骤S945,对于M个候选切换记录中的第j条记录,按照步骤S940的操作切换其下一跳地址。然后前进到步骤S950,执行与步骤S910相同的处理,以实时判断进行切换后第i个输出端口是否需要进行流量调整。当判断为不需进行流量调整时,前进到步骤S965。否则,前进到步骤S955,将j增加1。在步骤S960,判断j是否小于等于M。当判断为“是”时,前进到步骤S965。当判断为“否”时,返回到步骤S945继续执行。
在步骤S912,对于第i个输出端口判断是否OLi/OLj≥Thimbalance并且OLi≥Thoverload。当判断结果是“否”时,前进到步骤S916,将i增加1。在步骤S922,判断i是否小于等于N。当判断为“否”时,返回到步骤S901重新开始新一轮的切换判断。当判断为“是”时,返回到步骤S905,对下一个输出端口进行切换判断。
当在步骤S912,判断结果为满足公式,即判断结果为“是”时,前进到步骤S930′,切换判断器650通知转发表更新器660将IPv6转发表640中具有对应于当前的第i个输出端口的下一跳IPv6地址的目标子网记录进行修改。
在步骤S935′,响应该通知,转发表更新器660从IPv6转发表640中查找具有该下一跳IPv6地址的记录作为候选切换记录,判断候选切换记录个数M是否大于等于2。当只有一条记录时,前进到步骤S940′,转发表更新器660使用IPv6路由表635中对应于该记录中的目标子网的隧道路径入口的IPv4地址,来替换该记录中的下一跳地址。在步骤S965′,将i增加1。在步骤S970′,判断i是否小于等于N。当判断为“否”时,返回到步骤S901重新开始新一轮的切换判断。当判断为“是”时,返回到步骤S910,对下一个输出端口进行切换判断。
当在步骤S935′,判断为记录个数M大于等于2时,则前进到步骤S940′,令j等于1。在步骤S945′,对于M个候选切换记录中的第j条记录,按照步骤S940′的操作切换其下一跳地址。然后前进到步骤S950′,执行与步骤S910相同的处理,以实时判断进行切换后第i个输出端口是否需要进行流量调整。当判断为不需进行流量调整时,前进到步骤S965′。否则,前进到步骤S955′,将j增加1。在步骤S960′,判断j是否小于等于M。当判断为“是”时,前进到步骤S965′。当判断为“否”时,返回到步骤S945′继续执行。
对于某一个下一跳IPv4或IPv6地址,很可能有多个目标子网的转发项与之对应。所以在根据本发明的第一实施例的切换过程中,转发表更新器650在这多个需要调整的转发项中随机逐个选择转发项进行切换。同时,切换判断器650实时地进行流量检测。如果发现在路径切换的过程中,在某一时刻,流量恢复到平衡的范围,则转发表更新器660停止对转发项进行更改。根据本发明的第一实施例,假设此时直通路径D1被确定为负荷过重,需要把部分流量均衡到IPv6隧道路径T1。于是,转发表更新器660用该IPv6隧道路径T1的下一跳信息替换图8C中目标子网2的IPv4下一跳地址,从而得到图8D所示的IPv4转发表。在图8中,下一跳信息使用的是T1的IPv6隧道ID,这是由于通常在边缘路由器中可以使用IPv6隧道表(未示出)来存放这种隧道路径的下一跳信息,并使用IPv6隧道ID来进行索引的原因。根据实时的流量条件,转发表更新器660还可以从图8B所示的IPv4路由表中给出的目标子网2的IPv4下一跳地址替换图8D中的IPv6隧道路径T1的下一跳信息。
图10示出了上述第一实施例的控制过程的流程图。
首先,在步骤S1001,隧道建立装置605为目标子网创建一条或者多条隧道路径。在步骤S1005,隧道性能检测装置620为所创建的一条或者多条隧道路径打分。在步骤S1010,隧道优先级设定装置615基于打分设定所创建的一条或者多条隧道路径的优先级,并在步骤S1015,将具有最高优先级的隧道路径的入口添加到路由表中。在步骤S1020,流量监视器645对IPv4流量和IPv6流量进行监视。在步骤S1025,切换判断器650判断IPv4流量和IPv6流量是否需要调整。当IPv4流量和IPv6流量需要调整时,前进到步骤S1030,由转发表更新器660切换转发表中的下一跳地址。否则,返回步骤S1020继续进行流量监视。
在该第一实施例中,在IPv4路由表中不但为目标子网存储直通路径的入口记录,还存储隧道路径的入口记录;在IPv4转发表中为每个目标子网仅存储当前最优先的IPv4下一跳地址或IPv6下一跳地址。当IPv4网络和IPv6网络的流量失衡时,将IPv4转发表中一些目标子网的IPv4下一跳地址或IPv6隧道路径改为路由表中的IPv6隧道路径或IPv4直通路径的下一跳地址。从而在IPv4转发表中总是维持考虑了流量均衡后的下一跳地址。因此,在转发IP分组时能够把IP分组转发到流量较小的网络上去,从而能够保持IPv4流量和IPv6流量的均衡。
下面描述本发明的第二实施例。
图11示出了根据本发明的第二实施例的流量均衡设备的结构方框图。考虑到目前某些路由器支持以下功能即转发表中某一目标子网记录允许存放多个下一跳信息,并且利用路由器中已有的负载均衡算法,在这多个下一跳中可以实现负载均衡。第二实施例是以这些功能为基础而实现的。但目前已有的路由器中,都是对多个IP协议相同的下一跳进行负载均衡。因此,本实施例可以对多个IP协议不同的下一跳进行负载均衡。
与第一实施例的相同之处采用相同的附图标记,因此省略其说明。第二实施例与第一实施例的主要不同之处在于IPv4转发表1130和IPv6转发表1140的内容与第一实施例的不相同。因此,相应的处理也不同。
下面仍以IPv4路由表625和IPv4转发表1130为例进行描述。
图12A和图12B分别示出了隧道管理表601和IPv4路由表625。其中在IPv4路由表625中为目标子网2增加了一条路由入口为隧道路径T1的入口的记录。上述图12A和图12B与图8A和图8B相同。
图12C示出了根据本发明的第二实施例的IPv4转发表1130。图12D示出了被处理后的IPv4转发表1130。
IPv4转发表1130与第一实施例中的IPv4转发表630的不同之处在于,在IPv4转发表1130为一个目标子网存储了多个下一跳信息,还包括一个多跳地址有效位。当该标志位为1时,表示多个下一跳地址都有效,并由后述的下一跳选择装置使用路由器自带的流量均衡算法在多个下一跳地址中选择使流量均衡的下一跳;当该标志位为0时,只有其中的一个下一跳有效(如下一跳1)。IPv4转发表1130中的多个下一跳信息可以是IPv4直通路径的下一跳信息,也同时可以是IPv6隧道路径的下一跳信息。在本例中共存储了三个下一跳信息。在这三个下一跳信息中其中两个是IPv4下一跳地址,一个是IPv6隧道路径的下一跳信息(如IPv6隧道路径的ID)。根据本发明的第二实施例,对于一个目标子网,由统一路径评估和选择器1155从图12B所示的IPv4路由表625中按照已有的路由评估和选择方法从IPv4入口记录中确定两个优选的IPv4入口,连同已经放入IPv4路由表625中的最优的IPv6隧道入口一同加入到IPv4转发表1130中所属的目标子网记录中。当流量均衡时,多跳地址有效位为0;当切换判断器1150判断为需要调整流量时,转发表更新器1160把IPv4转发表1130的一些多跳地址有效位置为1,因此后述的下一跳选择装置可以利用均衡算法使流量在IPv4和IPv6路径之间进行均衡。
图13示出根据本发明的第二实施例的切换处理过程的流程图。
首先,在步骤S1301,设i=1。
然后,在步骤S1305,切换判断器650判断经由第i个输出端口的输出路径的下一跳地址是IPv4地址还是IPv6地址。当判断为是IPv4地址时,前进到步骤S1310。当判断为是IPv6地址时,前进到步骤S1312。
在步骤S1310,对于第i个输出端口判断是否OLi/OLj≥Thimbalance并且OLi≥Thoverload。当判断结果是“否”时,前进到步骤S1315,将i增加1。在步骤S1320,判断i是否小于等于N。当判断为“否”时,返回到步骤S1301重新开始新一轮的切换判断。当判断为“是”时,返回到步骤S1305,对下一个输出端口进行切换判断。
在步骤S1330,切换判断器650通知转发表更新器660将IPv4转发表630中具有对应于当前的第i个输出端口的下一跳IPv4地址的目标子网记录进行修改。在步骤S1335,响应该通知,转发表更新器660从IPv4转发表630中查找具有该下一跳IPv4地址的记录作为候选切换记录,判断候选切换记录个数M是否大于等于2。当只有一条记录时,前进到步骤S1340,转发表更新器660将该记录中的多跳地址有效位改写为1。在步骤S1365,将i增加1。在步骤S1370,判断i是否小于等于N。当判断为“否”时,返回到步骤S1301重新开始新一轮的切换判断。当判断为“是”时,返回到步骤S1310,对下一个输出端口进行切换判断。
当在步骤S1335,判断为记录个数M大于等于2时,则前进到步骤S1340,令j等于1。在步骤S1345,对于M个候选切换记录中的第j条记录,按照步骤S1340的操作将该记录中的多跳地址有效位改写为1。然后前进到步骤S1350,执行与步骤S1310相同的处理,以实时判断进行切换后第i个输出端口是否需要进行流量调整。当判断为不需进行流量调整时,前进到步骤S1365。否则,前进到步骤S1355,将j增加1。在步骤S1360,判断j是否小于等于M。当判断为“是”时,前进到步骤S1365。当判断为“否”时,返回到步骤S1345继续执行。
在步骤S1312,对于第i个输出端口判断是否OLi/Otunnel≥Thimbalance并且OLi≥Thoverload。当判断结果是“否”时,前进到步骤S1316,将i增加1。在步骤S1322,判断i是否小于等于N。当判断为“否”时,返回到步骤S1301重新开始新一轮的切换判断。当判断为“是”时,返回到步骤S1305,对下一个输出端口进行切换判断。
当在步骤S1312,判断结果为满足公式,即判断结果为“是”时,前进到步骤S1330′,切换判断器650通知转发表更新器660将IPv6转发表640中具有对应于当前的第i个输出端口的下一跳IPv6地址的目标子网记录进行修改。
在步骤S1335′,响应该通知,转发表更新器660从IPv6转发表640中查找具有该下一跳IPv6地址的记录作为候选切换记录,判断候选切换记录个数M是否大于等于2。当只有一条记录时,前进到步骤S1340′,转发表更新器660将该记录中的多跳地址有效位改写为1。在步骤S1365′,将i增加1。在步骤S1370′,判断i是否小于等于N。当判断为“否”时,返回到步骤S1301重新开始新一轮的切换判断。当判断为“是”时,返回到步骤S1310,对下一个输出端口进行切换判断。
当在步骤S1335′,判断为记录个数M大于等于2时,则前进到步骤S1340′,令j等于1。在步骤S1345′,对于M个候选切换记录中的第j条记录,按照步骤S1340′的操作将该记录中的多跳地址有效位改写为1。然后前进到步骤S1350′,执行与步骤S1310相同的处理,以实时判断进行切换后第i个输出端口是否已经达到了流量平衡。当判断为已经达到平衡时,前进到步骤S1365′。否则,前进到步骤S1355′,将j增加1。在步骤S1360′,判断j是否小于等于M。当判断为“是”时,前进到步骤S1365′。当判断为“否”时,返回到步骤S1345′继续执行。
图14示出了上述第二实施例的整体的控制过程的流程图。
首先,在步骤S1401,隧道建立装置605为目标子网创建一条或者多条隧道路径。在步骤S1405,隧道性能检测装置620为所创建的一条或者多条隧道路径打分。在步骤S1410,隧道优先级设定装置615基于打分设定所创建的一条或者多条隧道路径的优先级。在步骤S1415,隧道优先级设定装置615将具有最高优先级的隧道路径的入口添加到路由表中。统一路径评估和选择器1155从路由表中为目标子网确定优选的直通路径入口,添加到转发表中,并且还把优选的隧道路径添加到转发表中。在步骤S1420,流量监视器645对IPv4流量和IPv6流量进行监视。在步骤S1425,切换判断器1150判断IPv4流量和IPv6流量是否需要调整。当IPv4流量和IPv6流量需要进行调整时,前进到步骤S1430,否则,返回步骤S1420继续进行流量监视。在S1430中,转发表更新器1160将转发表中的多跳地址有效位从0改为1。
通过以上的第二实施例,为目标子网事先存储IPv4下一跳地址和IPv6下一跳地址,在发生IPv4流量和IPv6流量失衡的时候使用它们来确定待转发IP分组的下一跳地址,从而动态地调整IPv4流量和IPv6流量。
另外,本发明的第二实施例中可以使用与第一实施例类似的IPv6或IPv4隧道表。在隧道表中对于给定的隧道ID,直接存储该隧道对应的下一跳IP地址,而不是该隧道对应的目标子网地址。这样可以避免因试图获取下一跳地址而再次查找转发表,从而导致的死循环的问题。
图15示出根据本发明的第二实施例在数据层的转发装置的结构图。
转发装置包括接收装置1501,转发表搜索装置1505,下一跳选择装置1510,封装装置1515和发送装置1520。
下面结合图16描述转发装置所进行的处理。
图16A示出对IPv4分组的处理;图16B示出对IPv6分组的处理。
如图16A所述,在步骤S1600,接收装置1501接收待转发的IPv4分组。在步骤S1601,转发表搜索装置1505为待转发的IPv4分组搜索目标子网记录。在步骤S1605,转发表搜索装置1505判断所搜索到的记录中的多跳地址有效位域中的值是否为1。当判断为是1的时候,在步骤S1610,下一跳选择装置1510依据已有的流量均衡算法,例如路由器自带的流量均衡算法,从所搜索到的记录的下一跳地址中选择一个下一跳地址。这种流量均衡算法例如是从多个待选路径中随机地选择下一跳,或者从多个待选路径中选择流量较轻的路径的下一跳。当判断为是0的时候,在步骤S1612,下一跳选择装置1510从所搜索到的记录的下一跳地址中选择固定的一个下一跳地址(如第一个下一跳地址)。在步骤S1615,封装装置1515判断所选择的下一跳地址是否为IPv4地址。如果不是IPv4地址,则在步骤S1620,封装装置1515将IPv4分组进行IPv6封装。如果是IPv4地址,则前进到步骤S1625。在步骤S1625,把所搜索到的下一跳二层MAC地址放入分组的二层报头中,通过发送装置1520将IPv4分组转发出去。
图16B和图16A的处理相同,在此省略其描述。
根据本发明的第二实施例,将包括IPv4地址和IPv6地址的多个下一跳地址存放到IPv4转发表中,因此,在发生流量不均衡时,可以从多个下一跳地址中挑选出一个考虑了流量均衡后的转发路径。相比起第一实施例,第二实施例的实时调整能力更强。
下面描述根据本发明的第三实施例。
本发明的第三实施例与第二实施例的不同之处在于,转发表的更新时机和更新内容不相同。
在第三实施例中,由统一路径评估和选择器1155从图12B所示的IPv4路由表625中按照已有的路由评估和选择方法从IPv4入口记录中确定两个优选的IPv4入口,将它们添加到IPv4转发表中,并且且IPv4转发表1130中的多跳地址有效位一直为1,从而数据层的下一跳选择装置1510在两个IPv4直通路径中进行均衡。当切换判断器1150判断为流量需要调整时,转发表更新器1160把IPv4路由表625中的IPv6隧道路径信息添加到IPv4转发表中,从而数据层的下一跳选择装置1510将在两个IPv4直通路径和一个IPv6隧道路径之间进行均衡。
因此,根据第三实施例的切换控制过程与图9所示的第一实施例的处理过程类似,所不同的是,代替步骤S940,使用IPv4路由表625中对应于目标子网的隧道路径入口的IPv6地址,来在IPv4转发表1130的该目标子网记录中添加一个隧道路径的下一跳地址。代替步骤S940′,使用IPv6路由表635中对应于目标子网的隧道路径入口的IPv4地址,来在IPv6转发表1140的该目标子网记录中添加一个隧道路径的下一跳地址。
根据本发明的第三实施例的整体的控制过程与图14所示出的第二实施例的整体的控制过程基本相同。所不同的是,在步骤S1415,隧道优先级设定装置615将具有最高优先级的隧道路径的入口添加到路由表中。统一路径评估和选择器1155从路由表中为目标子网确定优选的直通路径入口,并添加到转发表中,而不像第二实施例那样把优选的隧道路径也添加到转发表中。另外一个不同是,代替S1430,转发表更新器1160向转发表添加优选的隧道路径下一跳信息。
根据本发明的第三实施例在数据层的处理如图17A和17B所示。与第二实施例的相同之处使用相同的附图标记,不同之处在于步骤S1710和S1706。在这两个步骤中,下一跳选择装置1510依据已有的流量均衡算法从所搜索到的记录的下一跳地址中选择一个下一跳地址。
根据本发明的第三实施例,由于在边缘路由器中即可以对采用相同的IP协议的多个待选路径进行流量平衡,还可以对采用不同的IP协议的多个待选路径进行流量平衡。因此其流量均衡能力更强。
以上以边缘路由器为例说明了对网络流量进行监控和调整的过程,但是本发明不限于边缘路由器,可以应用于位于不同IP网络之间的任何分组转发设备,例如网关等等。
根据本发明,在边缘路由器中动态地为待转发的IP分组确定是使用直通路径还是使用隧道路径,从而调整IPv4流量和IPv6流量的均衡。
应该注意的是,上面所描述的实施例只是用于说明本发明,并不构成对本发明的限制。
应该注意的是,上面所描述的实施方式只是用于说明本发明,并不构成对本发明的限制。
本发明的目的也可以通过将存储实现实施方式的功能的软件的程序代码的存储介质直接或者间接地供给系统或装置,该系统或装置的计算机读出程序代码并执行而达到。此时,只要系统或者装置具有程序的功能,实施的方式不必局限于程序。
因此,由于本发明的功能由计算机来实现,安装在计算机中的程序代码也能实现本发明。换句话说,本发明的权利要求也包括用于实现本发明的功能的计算机程序。
这时,只要系统或装置具有程序的功能,该程序可以以任意的方式,例如目标代码、解释器执行的程序或者提供给操作系统的脚本数据的方式执行。
作为用来供给程序代码的存储介质,比如,有软盘、硬盘、光盘、磁光盘、CD-ROM、CD-R、CD-RW、磁带、非易失性存储卡、ROM和DVD(DVD-ROM和DVD-R)等。
对于提供程序的方法,一个客户计算机可以通过该客户计算机的浏览器连接到因特网的网站上,本发明的计算机程序或者程序可自动安装的压缩文件可以被下载到例如硬盘等记录介质上。进而,可以通过将组成程序的程序代码分割到多个文件中并且将这些文件从不同的网站下载来提供本发明的程序。另外,本发明的权利要求书还包括WWW服务器向大量的用户下载实现本发明的功能的程序文件的方案。
此外,还可以把本发明的程序加密和存储到例如CD-ROM等存储介质上,向用户发布存储介质,允许符合某种要求的用户通过因特网下载加密密码信息,并且允许用户通过使用这些密码信息将加密的程序解密,从而将程序安装到用户计算机中。
除了通过由计算机执行程序来实现本发明的实施例的功能外,运行在计算机上的操作系统等可以执行实际处理的全部或者一部分,从而上述实施例能够通过该处理而实现。
进而,从记录介质读出的程序代码在写入到插入到计算机中的功能扩展板及与计算机相连接的功能扩展单元中设置的存储器之后,根据该程序的指示,由设置于该功能扩展板及功能扩展单元中的CPU等进行实际的处理的一部分或全部,藉助该处理也可实现上述的实施方式的功能的场合也包含在内。
虽然结合附图详细描述了本发明的实施例,但是对于本领域的技术人员来说,仍可以对上述实施例作出各种修改和变更而不改变本发明的实质和范围。因此,本发明的范围仅由所附权利要求限定。
权利要求
1.一种在采用两种或者两种以上的IP协议的不同网络之间进行IP分组转发的网络转发设备,该网络转发设备支持该两种或者两种以上的IP协议,在该网络转发设备中保持了一个路由表,用于保持目标地址的路由信息作为直通路径,其特征在于该网络转发设备包括流量均衡部件和转发部件,流量均衡部件包括隧道管理部件,用于为所述网络转发设备的路由表中的采用一种IP协议的目标地址确定采用其它种类的IP协议的一个或多个路由信息作为去往该目标地址的隧道路径;流量监视部件,用于监视所述不同网络上的流量;路径确定部件,当所述流量监视部件判断为所述不同网络上的流量不均衡时,所述路径确定部件从所述直通路径和所述隧道路径中为其中包含所述目标地址的待转送的IP分组确定一条转发路径,以均衡所述不同网络上的流量,所述转发部件包括,封装装置,当所述路径确定部件所确定的转发路径所采用的IP协议与待转送的IP分组所采用的IP协议不相同时,将所述IP分组转换为所述所确定的转发路径所采用的IP协议分组。
2.根据权利要求1所述的网络转发设备,其特征在于所述IP协议是IPv4协议和IPv6协议。
3.根据权利要求1或2所述的网络转发设备,其特征在于所述流量监视部件通过监视带宽来判断流量是否均衡。
4根据权利要求1或2所述的网络转发设备,其特征在于所述路由信息包括下一跳的IP地址。
5.根据权利要求1或2所述的网络转发设备,其特征在于,所述网络转发设备是一个边缘路由器。
6.根据权利要求1或2所述的网络转发设备,其特征在于,所述隧道管理部件包括隧道建立装置,用于为所述网络转发设备中的路由表中的采用一种IP协议的目标地址确定采用其它种类的IP协议的一个或多个路由信息作为该目标地址的候选隧道路径;隧道性能检测装置,对于所述确定的候选隧道路径的链路传输质量进行检测;隧道优先级设定装置,按照检测出的候选隧道路径的链路传输质量确定候选隧道路径的优先级。
7.一种在采用两种或者两种以上的IP协议的不同网络之间进行IP分组转发的网络转发设备中所执行的IP分组转发方法,该网络转发设备支持该两种或者两种以上的IP协议,在该网络转发设备中保持了一个路由表,用于保持目标地址的路由信息作为直通路径,其特征在于该IP分组转发方法包括步骤,为所述网络转发设备中的路由表中的采用一种IP协议的目标地址确定采用其它种类的IP协议的一个或多个路由信息作为该目标地址的隧道路径;监视所述不同网络上的流量,判断不同网络上的流量是否均衡;当判断为所述不同网络上的流量不均衡时,从所述直通路径和所述隧道路径中为其中包含所述目标地址的待转送的IP分组确定一条转发路径,以均衡所述不同网络上的流量;当所确定的转发路径采用的IP协议与待转送的IP分组所采用的IP协议不相同时,将所述IP分组转换为所述所确定的转发路径所采用的IP协议分组。
8.根据权利要求7所述的IP分组转发方法,其特征在于所述IP协议是IPv4协议和IPv6协议。
9.根据权利要求7或8所述的IP分组转发方法,其特征在于通过监视带宽来判断流量是否均衡。
10.根据权利要求7或8所述的IP分组转发方法,其特征在于所述路由信息包括下一跳的IP地址。
11.根据权利要求7或8所述的IP分组转发方法,其特征在于,所述网络转发设备是一个边缘路由器。
12.根据权利要求7或8所述的IP分组转发方法,其特征在于,所述确定隧道路径的步骤包括为所述网络转发设备中的路由表中的采用一种IP协议的目标地址确定采用其它种类的IP协议的一个或多个路由信息作为该目标地址的候选隧道路径;对于所述确定的候选隧道路径的链路传输质量进行检测;按照检测出的候选隧道路径的链路传输质量确定候选隧道路径的优先级;按照所确定的优先级从候选隧道路径中确定隧道路径。
13.一种在采用两种或者两种以上的IP协议的不同网络之间进行流量均衡的流量均衡设备,该流量均衡设备用于支持该两种或者两种以上的IP协议的网络转发设备,在该网络转发设备中保持了一个路由表,用于保持目标地址的路由信息作为直通路径,其特征在于该流量均衡设备包括,隧道管理部件,用于为所述网络转发设备中的路由表中的采用一种IP协议的目标地址确定采用其它种类的IP协议的一个或多个路由信息作为该目标地址的隧道路径;流量监视部件,用于监视所述不同网络上的流量;路径确定部件,当所述流量监视部件判断为所述不同网络上的流量不均衡时,所述路径确定部件从所述直通路径和所述隧道路径中为其中包含所述目标地址的待转送的IP分组确定一条转发路径,以均衡所述不同网络上的流量。
14.根据权利要求13所述的流量均衡设备,其特征在于所述IP协议是IPv4协议和IPv6协议。
15.根据权利要求13或14所述的流量均衡设备,其特征在于所述流量监视部件通过监视带宽来判断流量是否均衡。
16.根据权利要求13或14所述的流量均衡设备,其特征在于所述路由信息包括下一跳的IP地址。
17.根据权利要求13或14所述的流量均衡设备,其特征在于,所述网络转发设备是一个边缘路由器。
18.根据权利要求13或14所述的流量均衡设备,其特征在于,所述隧道管理部件包括隧道建立装置,用于为所述网络转发设备中的路由表中的采用一种IP协议的目标地址确定采用其它种类的IP协议的一个或多个路由信息作为该目标地址的候选隧道路径;隧道性能检测装置,对于所述确定的候选隧道路径的链路传输质量进行检测;隧道优先级设定装置,按照所检测出的候选隧道路径的链路传输质量确定候选隧道路径的优先级。
19.一种在采用两种或者两种以上的IP协议的不同网络之间进行IP分组转发的网络转发设备中所执行的流量均衡方法,该网络转发设备支持该两种或者两种以上的IP协议,在该网络转发设备中保持了一个路由表,用于保持目标地址的路由信息作为直通路径,其特征在于该流量均衡方法包括步骤,为所述网络转发设备中的路由表中的采用一种IP协议的目标地址确定采用其它种类的IP协议的一个或多个路由信息作为该目标地址的隧道路径;监视所述不同网络上的流量,判断不同网络上的流量是否均衡;当判断为所述不同网络上的流量不均衡时,从所述直通路径和所述隧道路径中为其中包含所述目标地址的待转送的IP分组确定一条转发路径,以均衡所述不同网络上的流量。
20.根据权利要求19所述的流量均衡方法,其特征在于所述IP协议是IPv4协议和IPv6协议。
21.根据权利要求19或20所述的流量均衡方法,其特征在于通过监视带宽来判断流量是否均衡。
22.根据权利要求19或20所述的流量均衡方法,其特征在于所述路由信息包括下一跳的IP地址。
23.根据权利要求19或20所述的流量均衡方法,其特征在于,所述网络转发设备是一个边缘路由器。
24.根据权利要求19或20所述的流量均衡方法,其特征在于,所述确定隧道路径的步骤包括为所述网络转发设备中的路由表中的采用一种IP协议的目标地址确定采用其它种类的IP协议的一个或多个路由信息作为候选隧道路径;对于所述确定的候选隧道路径的链路传输质量进行检测;按照所述检测的候选隧道路径的链路传输质量确定候选隧道路径的优先级;按照所确定的优先级从候选隧道路径中确定隧道路径。
25.一种实现上述方法的程序产品。
26.一种记录上述程序产品的记录介质。
全文摘要
本发明提供通过实时地监控不同网络上的流量,选择性地将待转发的IP分组分配到流量较少的网络上进行传输的网络转发设备,从而减轻负载较重的网络的负担,保持各网络负载的均衡,提高网络整体资源利用效率和传输质量。
文档编号H04L29/06GK1842051SQ20051005959
公开日2006年10月4日 申请日期2005年3月30日 优先权日2005年3月30日
发明者林咏华, 梁志勇, 戈弋, 王艳琦, 李丹 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1