分组转发装置和方法

文档序号:8383670阅读:534来源:国知局
分组转发装置和方法
【专利说明】
【技术领域】
[0001]所公开的本发明的实施例关于转发分组(packet),且更特别地,关于动态载荷平衡的分组处理装置和方法。
【【背景技术】】
[0002]路由是在网络环境中选择从源节点到目的节点的最佳路径的过程。例如,当前因特网基础结构包含互连的网络。路由器,也称为网关,是将不同的网络连接在一起的装置。路由器的主要任务可包含发现到达各种目的地的路径,并在网络内部或不同网络之间转发分组。当路由器在其进来的(入口)端口接收分组时,检查所接收的分组的头。当已知分组的目的地址时,路由器执行转发表查找以获得分组应该发送到哪个外出的(出口)端口的信息。
[0003]路由器可采用一个路由协议用于分组转发。例如,等价多路径(Equal CostMult1-Path,ECMP)是一种用等价的多个路径路由分组的技术。当转发分组时,路由器必须决定要使用的下一跳(路径)。当以ECMP进行路由时,确定要使用哪个下一跳(路径)的一个典型的方法可采用基于哈希(hash-based)的路径选择。例如,路由器首先通过在识别流的分组头字段上执行哈希函数来确定哈希值。多个下一跳已经分配唯一的哈希值。因此,路由器使用来源于即将转发的分组的哈希值来决定要使用哪个下一跳(路径)。
[0004]基于哈希的路径选择统计地将流分配到ECMP路径。其结果是,基于哈希的路径选择不能保证ECMP路径上均匀的带宽分布。例如,可以选择一个等价出口路径以发送较多的流,可以选择另一等价出口路径以发送较少的流。另外,每个流中的分组业务可以不相等。因此,需要一种新颖的分组转发方案,其可将动态载荷平衡应用到多个出口路径上的分组业务,以由此达到更均匀的带宽分布。

【发明内容】

[0005]有鉴于此,本发明特提供以下技术方案:
[0006]本发明提供一种分组转发装置,包含路径选择装置,用于生成路径选择信号,路径选择信号指示从属于出口路径组的多个出口路径选择目的路径,路径选择装置包含基于流组的路径选择电路,用于当动态载荷平衡功能不应用到分组的转发时,基于即将转发的分组分类到的流组,设置路径选择信号;以及基于流子组的路径选择电路,用于当动态载荷平衡功能应用到分组的转发时,基于即将转发的分组分类到的流子组,设置路径选择信号;其中与出口路径组关联的流分类到多个流子组,流子组分类到多个流组,以及每个流包含一组具有相同元组的分组。
[0007]本发明提供一种分组转发方法,包含生成路径选择信号,路径选择信号指示从属于出口路径组的多个出口路径选择目的路径,其中生成路径选择信号包含:当动态载荷平衡功能不应用到分组的转发时,基于即将转发的分组分类到的流组,执行基于流组的路径选择,以设置路径选择信号;以及当动态载荷平衡功能应用到分组的转发时,基于即将转发的分组分类到的流子组,执行基于流子组的路径选择,以设置路径选择信号;其中与出口路径组关联的流分类到多个流子组,流子组分类到多个流组,以及每个流包含一组具有相同元组的分组。
[0008]本发明通过上述方案,可以有效地解决带宽不均匀的问题。
【【附图说明】】
[0009]图1是图示根据本发明的实施例的一般分组转发装置的框图。
[0010]图2是图示根据本发明的实施例的流组层次的示意图。
[0011]图3是图示根据本发明的实施例的路径率监测器的示意图。
[0012]图4是图示根据本发明的实施例的大流监测器的示意图。
[0013]图5是图示根据本发明的实施例的路径选择装置的示意图。
[0014]图6是图示根据本发明的实施例的分组转发方法的流程图。
【【具体实施方式】】
[0015]遍及整篇描述和权利要求的某些术语用于指示特定部件。如本领域的技术人员意识到的,制造商可用不同的名称指示部件。此文档不打算区别名称不同但功能相同的部件。在权利要求和下文的描述中,术语“包括”和“包含”用于开放方式,且因此应该解释为意思是“包含,但不限于”。而且,术语“耦合”意于表示间接或直接电连接。因此,如果一个装置耦合到另一装置,那个连接可以通过直接电连接,或通过经由其它装置和连接的间接电连接。
[0016]本发明的一个概念是使用基于流子组(flow subgroup)的路径选择用于动态载荷平衡(DLB)。路径选择(S卩,下一跳选择)可以调整用于流子组,因此,增加了多个出口路径上调整分组业务的间隔尺寸。另外,因为对路径选择的调整以重新平衡分组业务影响分类为流子组的分组的转发,而不是分类为流组的分组的转发,分组业务调整较少见。因此,不按顺序的分组可以由现存的协议栈来处理,例如,在传送控制协议(TCP)层中重排序或重传送。另外,提出的动态载荷平衡设计的细节将描述于下。
[0017]图1是图示根据本发明的实施例的一般分组转发装置的框图。以示例的方式,分组转发装置100可以是网络装置(例如,路由器或交换机)的一部分。如图1所示,分组转发装置100包含控制器102、路径选择装置104、路径率监测器106以及大流监测器(heavyflow monitor) 108。应该注意到,在图1中仅仅显示与路径选择功能有关的部件。实践中,分组转发装置100可包含附加的部件以提供其它功能。
[0018]控制器102用于控制分组转发装置100的至少分组选择功能。在一个示范性设计中,控制器102可以使用处理器来实现,该处理器执行软件(例如,分组转发装置100的固件FW)以控制路径选择功能(包含至少提出的动态载荷平衡功能)。例如,控制器102控制路径选择装置104、路径率监测器106以及大流监测器108的配置。
[0019]路径选择装置104用于生成路径选择信号ecmpjdx,指的是从属于相同出口路径组的多个出口路径选择目的路径。提出的动态载荷平衡可以由使用ECMP路由技术的路由器采用。因此,此后提及的出口路径组是ECMP路径组。备选地,提出的动态载荷平衡可以由使用链路聚集技术的路由器采用。两个节点(例如,路由器)之间的多个物理链路可以看作两个节点(例如,路由器)之间的单个逻辑的链路。类似于ECMP,链路聚集分裂属于相同出口组的多个路径(即,链路)之间的业务。因此,此后提及的出口路径组可以是链路聚集组(Link Aggregat1n Group,简称 LAG)用于单播转发(unicast forwarding) ο
[0020]在本实施例中,路径选择装置104包含基于流组的路径选择电路112和基于流子组的路径选择电路114。例如,基于流组的路径选择电路112负责处理基于哈希的路径选择,以及基于流子组的路径选择电路114负责处理动态载荷平衡。因此,当将动态载荷平衡功能不应用到分组的转发时,基于流组的路径选择电路112基于即将转发的分组被分类到的流组,设置路径选择信号ecmpjdx ;当动态载荷平衡功能应用到分组的转发时,基于流子组的路径选择电路114基于即将转发的分组分类到的流子组,设置路径选择信号ecmp_idx0
[0021]图2是图示根据本发明的实施例的图示流组层次的示意图。每个分组具有用于识别流的分组头字段。具体地,流是具有相同元组(tuple)的一组分组。例如,分组可以使用5元组哈希分布分类到不同的流,其中从每个分组提取的5元组包含源IP (因特网协议)地址、源端口号、目的IP地址、目的端口号以及使用中的协议。如图2所示,分组根据从由路由器所接收的分组的分组头中提取的某些元组tpO-tpll分类到多个流FLtl-FLm例如,流FLtl由具有相同的元组tpO组成的分组组成,以及流FL1由具有相同的元组tpl的分组组成,其中tp0 ^ tplo元组tpO-tpll还用于将流FLtl-FL11分类到不同流组的流子组。
[0022]在示范性设计中,具有预定哈希算法的哈希引擎用于根据每个分组的所选择组的元组,生成哈希结果(例如,16位哈希值)pkt_hash。因此,由于相同元组,属于相同流的分组应该具有相同哈希结果pkt_hash。例如,分组的哈希结果pkt_hash的高有效位(moresignificant bit,MSB)部分用于用作分组分类到的流组的流组索引FGI,且哈希结果pkt_hash(即,低有效位(less significant bit,LSB)部分)的剩余用于用作分组分类到的流子组的流子组索引FsGI。因为,属于不同流组的分组可具有相同流子组索引FsGI,由分组占有的流组索引FGI需要在具有相同流子组索引FsGI的流子组之间进行区别。换句话说,哈希结果pkt_hash,每个包含流组索引FGI和流子组索引FsGI (例如,pkt_hash = {FGI,FsGI}),用于在属于不同流组的不同流子组之间进行区别。然而,使用流组索引FGI足以在不同流组之间进行区别。
[0023]如图2所示,由于流?1^-?]^2具有相同哈希结果pkt_hash = {O、0}的事实,流FLtl-FL2分类到流组FGtl的流子组FsGtl;由于流FL 3具有哈希结果pkt_hash = {0,1}的事实,流FL3分类到流组FG。的流子组FsG 1;由于流FL 4_FL5具有相同哈希结果pkt_hash = {0、2}的事实,流FL4-FL5分类到流组FG。的流子组FsG 2;由于流FL 6具有哈希结果pkt_hash =
{1、0}的事实,流FL6分类到流组FGI的流子组FsG由于流FL 7-FL8具有相同哈希结果pkt_hash = {1,1}的事实,流FL7-FL8分类到流组流子组FsG1;以及由于流FL9-FL11具有相同哈希结果pkt_hash = {1、2}的事实,流FL9-FL11分类到流组FG ^勺流子组FsG 2。
[0024]如上所述,流子组索引FsGI可以从不用作流组索引FGI的剩余哈希结果pkt_hash获得。然而,此并非作为本发明的限制。在备选设计中,流子组索引FsGI可以基于另一预定哈希算法来生成。
[0025]使用流组索引FGI以
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1