智能选择性的基于流的数据路径结构的制作方法

文档序号:7625324阅读:150来源:国知局
专利名称:智能选择性的基于流的数据路径结构的制作方法
技术领域
本发明涉及在网络节点的分组处理,并且特别涉及利用选择性的、基于流的数据路径结构来改善数据路径处理的系统和方法。
背景技术
对公共互联网和私有内联网的不断扩张的使用,大大改善了数字通信的分组处理并且特别是IP分组处理的功能性、性能和服务质量。实现改善的性能的一个重要方面涉及在每个网络节点的数据路径处理,路径通过该网络节点延伸。如同本领域的技术人员知道的那样,这种处理涉及对穿过每个网络节点的分组所执行的多个操作。这些操作包括许多服务的物理实现,所述许多服务包括(但不限于)根据协议规范的分组报头检验、根据服务策略的分组分类、根据所选服务的分组修改、根据服务质量(QoS)策略的分组排队等等。
传统地,利用两个数据路径结构之一实现了IP分组处理。这两个结构是基于分组的数据路径和基于流的数据路径。在基于流的数据路径结构中,高速缓存信息以在同一流的后续分组的处理期间继续使用,所述信息在流的初始分组的处理期间被搜索、检索或计算。另一方面,基于分组的数据路径结构独立地处理每个分组。
在如同NETFlow服务加速的实现中已知所述基于流的数据路径结构,Cisco系统和Caspian Network的基于流的路由方案使用该NetFlow服务加速。
典型地,基于流的数据路径构造了流表格,所述流表格中的条目是流控制块(FCB),用来捕获流的基本元素。这在处理出现在所述基于流的数据路径的流的第一分组期间发生,或者作为在第一流分组出现之前所产生的控制平面命令的结果而发生。当在节点接收到分组时,该分组与FCB相关联,并且该FCB从存储器被检索并且被用于以对存储器的最小额外存取来对分组准许所有需要的服务。显而易见,这通过减少存储器的存取、加速分组处理、改善路由器/交换机的吞吐量以及降低交叉网络延迟,最小化了处理器延时(stall)。
如图1所示,基于流的数据路径模型包括路径选择器(PS)、用于处理流的第一分组的分组路径(PP),以与用于处理流的后续分组的基于分组的数据路径和流路径(FP)几乎一样的方式,进行所述第一分组的处理。
所述路径选择器是基于流的数据路径中的第一处理阶段。该路径选择器尝试将进入的分组与现有的流控制块相关联。如果关联的FCB存在于精确匹配流表格(EMFT,Exact Match Flow Table)中,则该路径选择器将分组和FCB ID中继到所述流路径。否则,该路径选择器将所述分组中继到所述分组路径。通过在EMFT中执行例如散列(hash)查找的精确匹配查找,能够实现将分组与FCB条目相关联。
所述分组路径(PP)独立地处理所有分组。图2所示的示例性分组路径实现了四个服务。用两个阶段实现所述服务中的每一个分类阶段“Cx”和服务阶段“Sx”。所述分类阶段通过使用分类规则数据库“Cx DB”来确定分组是否应当获得相应的服务。所述服务阶段通过使用服务参数数据库“Sx DB”对应得到服务的分组提供服务。该例子示出了极端的情况,其中所有的分类和服务参数数据库是分离的。实际上,尽可能合并这些数据库,以减少存储器带宽开销和分组延迟时间(latency)。然而,在大多数情况下,由于未必有一对一服务策略对应,因此保持单独的SxDB是分离的。一个这样的例子是一种包括IPv4转发服务和对称NAT(网络地址转换)服务的模块。所述服务中的每个都维持分离的SxDB。IPv4 FIB(转发信息表,Forwarding Information Base)使用最长的匹配前缀搜索算法,并且所述对称NAT数据库使用例如散列表格的精确匹配表格。在分组处理期间,所述PP创建流配置文件(profile)。该流配置文件描述了提供给分组的所有服务,并且包括这些服务所需要的所有参数。
流路径(FP)从所述路径选择器接收进入的分组以及FCB标识符。该FP使用与分组相关联的FCB来处理该分组。在理想的情况下,所述FCB是FP从存储器检索的、用来处理分组的唯一实体。FCB包括用于分组处理的所有所需服务参数,例如下一跳(next-hop)信息、分组修改信息、流分组计数器、流状态等。所述流状态将被用于提供需要全状态检测(stateful inspection)的服务,例如NAT。所述流路径更新时间标记,该时间标记指示最后的分组的接收时间以及FCB中的新的动态流状态。如果所述流在被称为流超时值(flow timeout value)的配置期间是非活动的,则该时间标记被用来老化(aging)所述FCB条目。图3示出了FP的示例性抽象。
基于流的数据路径模型具有几个限制。一个主要限制是每一个业务流都需要FCB,而不管需要多少存储器存取来处理分组路径中的分组,并且不管所述流中期望的分组数量。该限制在高吞吐量的基于流的数据路径上强加了较大的存储器需求,而没有有效地交换用于处理增益的增加的存储器需求。例如,在稳定状态的业务条件下的互联网业务测量显示,在10Gbps线缆上通常观察到多于二百万个使用15秒的流超时值的活动流。使用具有每秒2400万个分组的整个10Gbps的DOS(Denial of Service)攻击,能够将流的数量提高到理论最大值3.6亿。对于四百万个条目的FCB表格,并假设具有大量服务的(service-rich)数据路径上的每个FCB需要128字节的存储量,因此所述FCB表格独自需要很大的512M字节的存储器。因此,数据路径中期望的活动流的数量增加,所述流表格数据结构的存储需求变得很大,这使得纯粹的基于流的数据路径结构实际上是不切实可行的。
纯粹的基于流的数据路径的另一个限制是每个流所导致的FCB创建开销,而不管该流的特性。所述开销可能压倒了对具有少量分组的流的基于流的处理的优点。

发明内容
对IP分组的传统的基于流的数据路径处理需要每个流的流控制块(FCB),这导致当存在很多流时(例如一个10Gbps线缆上的四百万个活动流需要512M字节)需要较大的FCB存储量。而且,使用分组路径处理而不是基于流的处理能够在较小的流上具有较高的效率。因此,需要一种将这两个处理方案有效且选择性地合并的结构。
通过采用传统的基于流的数据路径结构中的FCB管理器(FCBM)来增加处理方法的选择性,本发明实现了期望的效果。所述FCBM在流的第一分组上应用标准,来确定是创建流的FCB并执行同一流的后续分组的基于流的处理,还是忽略FCB创建并执行剩余流分组的分组路径处理。这种决策能力导致了更高效的处理,这使得基于流的数据路径处理能够被用于先前不可行的情况(例如在具有大量活动流的高容量节点上)。
因此,根据本发明的第一方面,提供了用于IP分组的数据路径处理的分组处理器、具有路径选择器的分组处理器、分组路径、流路径和精确匹配流表格,同时改善了作为流控制块管理器的附加物的传统数据路径,所述流控制块管理器用于基于选择性地分配流给所述分组路径或流路径来选择性地创建流控制块。
根据本发明的第二方面,提供了一种实现IP分组的基于流的数据路径处理的方法,其包括基于预定的标准来确定是否创建流的流控制块,并且肯定地响应于所述确定,创建所述流的流控制块,并且在所述流的后续IP分组上执行基于流的数据路径处理。
根据本发明另一方面,提供了一种流控制块管理器,其用于在IP分组的数据路径处理期间选择性地创建数据流的流控制块。


下面将参考附图更详细地描述本发明,其中图1示出了根据现有技术的基于流的数据路径模型;图2示出了分组路径的例子;图3示出了流路径的例子;
图4示出了根据本发明的选择性的基于流的数据路径模型的部件;和图5示出了通过流控制块管理器所实现的算法。
具体实施例方式
如上所述,图1示出了典型的基于流的数据路径模型。路径选择器(PS)在接收到分组时确定是否存在具有高速缓存的信息的流控制块。如果不存在相应的FCB,则通过所述分组路径转发该分组,并且相关信息被高速缓存在新的FCB中。在确定是否存在FCB的过程中,搜索所述精确匹配流表格,并且如果指示匹配,则通过所述流路径来对该分组进行指向(direct)。
根据本发明,采用了流控制块管理器(FCBM)。该FCBM是智能机制,其适合基于流的数据路径,用于选择性地处理流路径中的分组,这导致所述路径在此称为选择性的基于流的数据路径。通过智能地选择哪些流由FCBM提供以流控制块以及哪些流以流不感知(flow-unaware)的方式在分组路径中被处理,选择性的基于流的数据路径处理了基于流的数据路径的限制。图4是选择性的基于流的数据路径的框图,并示出了FCBM如何适合所述数据路径。
流控制块管理器确定是否使用一组标准来针对所述流创建EMFT中的FCB条目。由于FCB表格的大小可能远小于活动流的数量,因此所述FCBM不是简单地对每个流准许FCB条目。因此,该FCBM使用预定义的规则和嵌入式智能来确定是否对流准许FCB。对所述流提供FCB条目的标准考虑了以下参数-L4(第4层)基于流的服务需求标记(Frf)某些流需要基于流的服务,例如NAT、流截取和流重新指向。一直为这些流提供FCB。在所述第一流分组的分组路径处理中确定该标记。作为对监控、截取或重新指向指定流的管理请求的结果,可以创建FCB。
-流QoS需求标记(Fqf)某些动态流需要每个流的QoS处理,例如需要特定DiffServ标记的RTP(实时协议,Real Time Protocol)流。一直为这些流分配FCB。在所述第一流分组的分组路径处理中,或在分析发起动态流的信令消息的分组路径处理中,确定所述标记。在所述两种情况下,所述处理考虑了运营商提供的灵活的QoS策略。
-分组路径中的存储器存取的数量提供给流中的分组的存储器存取数量越高,可以期望的基于流的处理的增益就越好。因此,通过增加服务参与和如同在第一流分组的分组路径处理中所观察到的所需存储器存取数量,直接增加了FCB对于给定流的合格性(eligibility)。存储器存取数量的信用(credit)C[Fm]与在分组路径中进行处理期间的存储器存取数量直接成比例。C[Fm]是存储器存取数量的信用,其在处理分组路径中的第一流分组时被确定。
-所述流中的分组的估计数量期望具有大量分组的流大大受益于基于流的处理。多数情况下,可以根据L3(第3层)协议类型或L4端口数量来推断这个数量。例如,可以期望ICMP、OSPF和SIP流是短流;并且期望Telnet、FTP(文件传输协议)、RTP和RTDP(实时描述协议,Real Time Description Protocol)是长流。针对期望数量的流分组的信用C[Fp]是协议类型和端口数量的函数。C[Fp]与所述流中期望的分组数量直接成比例。
-流控制块表格占用门限(FCBTOT)该门限基于所述FCB表格的占用来控制FCB的合格性。当EMFT占用增加时,提供新的FCB的概率减小。拥塞算法监控所述精确匹配流表格并且控制FCB合格性标准。所述FCBTOT是所述FCBT占用(FCBTO)的函数。
FCBM在所述EMFT上采用若干门限。当EMFT占用水平超过指定的门限时,对EMFT增加新FCB的标准适应性地改变。该FCBM执行快速算法,该快速算法使用加权信用和标记以确定FCB对于指定流的合格性。图5示出了FCBM算法的例子。
此外,FCBM为流管理函数处理控制平面命令,例如流截取、流重新指向、流过滤等。
如FCBM所意识到的,每个FCB也具有涉及流的寿命的寿命期限。当会话被终止(TCP FIN或者TCP RESET)时或者当所述流在一定时间(超时值)内是不活动的,所述FCBM删除FCB条目。
在较高的EMFT占用的情况下,FCBM也可以重新评估现有流条目的标准,并从EMFT去除较低信用的FCB,从而为新的较高信用的流腾出空间。例如,为了增加NAT流,低速率TCP流可以被去除。
纯粹的基于流的数据路径结构上的选择性的基于流的数据路径结构具有几个优点。下面陈述了所述优点中的某些。
选择性的基于流的数据路径比纯粹的基于流的数据路径需要更少的存储器空间,这是因为仅针对处理增益预计很大的流来存储FCB条目。该FCB表格的大小取决于流的期望数目、该FCB自身的大小和FCBM算法。所述FCB的大小取决于其存储的服务参数的数量和大小。例如,对于期望10Gbps的两百万活动流的具有大量服务的系统,该FCB表格可以包括一百万个条目,每个条目需要128个字节。在这种情况下,选择性的基于流的数据路径需要128M字节的存储器来存储该FCB表格。注意,该存储器需求是纯粹的基于流的数据路径所需要的最小存储器256M字节的一半。因此,该选择性特性允许在这种情况下使用基于流的数据路径严格的存储器存储需求使得纯粹的基于流的数据路径(例如基于网络处理器的线卡)变得不切实际。
纯粹的基于流的数据路径和选择性的基于流的数据路径二者,利用流路径中的单个FCB查找替代了基于分组的数据路径中的分组处理所必需的多个存储器查找。这两个数据路径结构相对于基于分组的数据路径而言具有更高的存储器带宽效率,这有两个原因-消除了树的遍历和多个查找-通过合并存储器存取,有效使用突发模式存储器存取技术。
此外,所述选择性的基于流的数据路径相对于纯粹的基于流的数据路径而言实现了较高的存储器带宽效率,这是因为其消除了用来维持流的FCB条目的存储器带宽开销,该流不会产生处理增益,例如短流。
由于较小的分段存储器存取的合并,期望纯粹的基于流的数据路径和选择性的基于流的数据路径二者实现高于基于分组的数据路径的处理器利用。多个存储器存取的消除产生了更少的处理器阻塞和更高的处理器利用。所建议的选择性的基于流的数据路径的选择性特性,确保处理器利用的增加导致有效吞吐量的增加。
纯粹的基于流的数据路径和选择性的基于流的数据路径二者利用所述流路径中的单个FCB查找替代了多个存储器查找及其关联的存储器存取的延迟时间,该延迟时间对基于分组的数据路径中的分组处理而言是必需的。当与基于分组的数据路径比较时,存储器查找的大量减少转化为数据路径中的分组延迟时间的大大降低。由于每个分组的存储器存取的减少以及关联的处理延时的消除,因而降低了分组处理延迟。
选择性的基于流的和纯粹的基于流的数据路径结构实现了许多基于流的服务,这些服务需要流状态感知,例如NAT、防火墙,并且基于流的QoS流准许控制、流重新指向、动态流过滤和流截取是可能的基于流的服务,该基于流的服务可以由基于流的数据路径以类似于电路交换的方式来提供。作为一个快速精确匹配存储器查找的结果,基于流的数据路径允许将多个策略应用于每个分组。即,可以连同NAT/NAPT服务、通过相同的全状态流分类输入来确定的IDS签名,和通过该输入来应用的QoS服务级别一起,应用防火墙ACL规则。当在基于区分服务(differentiated-service)的网络结构中的网络边缘,为运营商提供基于流的QoS和选择性的流粒度(flow-granular)计费服务时,该运营商能够出售服务级别(service-level)协议。
尽管已经描述并示出了本发明的特定实施例,然而对本领域的技术人员而言,能够进行许多改变而不脱离所述基本概念是显而易见的。然而应当理解,所述改变将落入如同附加的权利要求所定义的本发明的整个范围内。
权利要求
1.用于IP分组的数据路径处理的分组处理器,所述分组处理器具有路径选择器、分组路径、流路径和精确匹配流表格,其改进包括用于选择性创建流控制块的流控制块管理器以及对所述分组路径或流路径选择性分配分组。
2.根据权利要求1的分组处理器,其中,所述流控制块管理器基于预定义的规则和嵌入式智能来选择性地创建所述流控制块。
3.根据权利要求2的分组处理器,其中,所述预定义的规则包括流和服务质量需求。
4.根据权利要求2的分组处理器,其中,所述预定义的规则和嵌入式智能包括流控制块表格占用门限算法,以监控所述精确匹配流表格的表格占用。
5.根据权利要求4的分组处理器,其中,当填满所述精确匹配流表格时,创建流控制块的概率减小。
6.一种实现IP分组的基于流的数据路径处理的方法,其包括基于预定的标准来确定是否针对流创建流控制块,并且肯定地响应于所述确定,针对所述流来创建流控制块并执行该流的IP分组上的基于流的数据路径处理。
7.根据权利要求6的实现基于流的数据路径处理的方法,其中,所述预定的标准包括基于流的服务需求。
8.根据权利要求6的实现基于流的数据路径处理的方法,其中,所述预定的标准包括服务质量需求。
9.根据权利要求6的实现基于流的数据路径处理的方法,其中,所述预定的标准包括在数据路径中的分组处理期间要执行的存储器存取的数量。
10.根据权利要求6的实现基于流的数据路径处理的方法,其中,所述预定的标准包括所述流中的分组的估计数量,具有大量分组的流被优先分配给基于流的处理。
11.根据权利要求6的实现基于流的数据路径处理的方法,其中,所述预定的标准包括所述精确匹配流表格的占用水平。
12.根据权利要求6的实现基于流的数据路径处理的方法,其中,流控制块管理器实现这样一种算法其使用加权信用和标记来确定是否创建新的流控制块。
13.一种用于IP分组的数据路径处理的流控制块管理器,该流控制块管理器在创建流控制块用来对所述流中的剩余分组使用基于流的处理,和仅执行所述分组的分组路径处理之间进行选择。
14.根据权利要求13的流控制块管理器,其中,处理所述数据路径的方式是基于陈述选择标准的预定义的规则的。
全文摘要
描述了一种选择性的、基于流的数据路径结构。将流控制块管理器(FCBM)置于基于流的数据路径中,从而选择性地并且智能地处理流路径中的分组。根据所述FCBM,如果通过创建流控制块并采用分组流上的基于流的处理可以实现效率增益,则相应地处理所述分组。然而如果预计增益是不充分的,则以流不感知的方式来处理所述分组。所述FCBM基于一组标准来确定处理分组的方式。
文档编号H04L12/56GK1767496SQ200510109590
公开日2006年5月3日 申请日期2005年10月27日 优先权日2004年10月28日
发明者B·S·布-迪亚布, L·斯特鲁布, M·佐兰诺维奇, G·达姆, J·科尔内 申请人:阿尔卡特公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1