首页  专利技术  电子通信装置的制造及其应用技术

用于处理多个数据的方法和用于交换通信分组的交换设备的制作方法

2025-09-27 10:00:07 463次浏览
专利名称:用于处理多个数据的方法和用于交换通信分组的交换设备的制作方法
技术领域
本发明涉及用于在分组交换通信网络中处理多个数据分组的方法以及对应的交换设备。
背景技术
如今,与分组交换通信服务相关联的数据分组和/或通信分组正在数量上迅速增长。因此,分组交换通信网络上的负载正以类似方式增长。此外,关联于由分组交换通信网络支持的实时服务的数据分组的分数也正在增长。例如基于IP的语音 服务、视频会议服务、多用户在线游戏服务等的实时服务是时间严格的服务,其要求与该实时服务相关联的数据分组的有序和快速传输及到达(IP=互联网协议)。然而,例如交換机、桥接器、路由器、网关等的交換设备对分组交换通信网络的支持在于,将一同属于源节点的数据分组选路到目的节点。源和目的节点属于分组交換通信网络。由此,交换设备的负载可以超比例增长。作为进一歩的问题,基于实时服务的分组的QoS可能降低(QoS=服务质量)。

发明内容
由此,本发明的目的是提供一种用于在分组交换通信网络中处理多个数据分组的改进的方法。本发明的进ー步目的是提供一种用于在分组交换通信网络中交換数据分组的改进的交換设备。本发明的目的通过ー种方法来达到,所述方法用于在包括至少ー个交换设备的分组交换通信网络中处理多个分组,其中,所述至少一个交换设备的控制单元接收数据分组,其中所述数据分组包括经由所述通信网络被交換的通信分组的报头,所述控制単元对所述报头施加至少ー个过滤运算并由此生成已过滤信息,所述控制単元根据哈希函数将所述已过滤信息映射到哈希标签上,所述控制単元借助于在所述数据分组的所述报头中插入所述哈希标签而提供已加标签的报头,以及,所述控制単元根据已加标签的报头将所述数据分组发送到所述交换设备的两个或更多子引擎中的一个子引擎以便对所述数据分组进行进一歩处理。本发明的目的还通过ー种交换设备来达到,所述交换设备用于在分组交换通信网络中交換通信分组,其中,所述交换设备包括两个或更多子引擎以及控制单元,其中,所述控制単元适于接收数据分组,其中所述数据分组包括经由所述通信网络被交換的通信分组中的ー个的报头,对所述报头施加至少ー个过滤运算并且由此生成已过滤信息,根据哈希函数将所述已过滤信息映射到哈希标签上,借助于在所述数据分组的所述报头中插入所述哈希标签而提供已加标签的报头,以及,根据已加标签的报头将所述数据分组发送到两个或更多子引擎中的一子引擎以便对所述数据分组进行进一歩处理。术语通信分组可以同义地代替术语数据分组而被使用。然而,通常,通信分组可以是通信服务的数据分组,其中,所述通信服务与所述数据分组相关联。借助于本发明,有可能在不明确或不完全知道(即具有不完全认识)数据分组和/或与数据分组相关联的数据业务流的内容的情况下将数据分组发送到子引擎以便进行进一歩处理。与所述数据分组相关联的所述数据业务流可以由包括有序元素的五元组来指定,其中,所述元素是顺序排列的IP源地址、IP目的地址、IP源端ロ、IP目的端ロ以及传输协议的类型。特别地,有可能对所述数据分组和/或与所述数据分组相关联的数据业务流的该不完全认识不包括任何地址信息,例如IP源地址或IP目的地址、协议标识符、或者例如源或目的端ロ的其它与IP地址相关的信息。通过哈希函数所映射到的对应于所述已过滤信息的所述哈希标签一即所述哈希值可以是或类似于伪随机数,所述伪随机数被用作标识符或标签,所述标识符或标签指示用于进行进ー步处理的所述子引擎。与同一哈希标签相关联的数据分组可以被发送到同一子引擎进行进ー步处理。由此,本发明的实施例提供一种数据分组向用于对该数据分组进行进一步处理的子引擎的简单选路,例如,根据数据分组的报头和/或数据分组的内容来对所述数据分组进行交換和/或选路。因此,本发明的实施例提供基本上分为两个步骤的对所述多个数据分组进行的交換在第一个步骤 中,并且通过简单的方式,即通过数值和计算上快速的方式,在可能不涉及任何评估的情况下,提供哈希标签,其中,所述哈希标签指示哪个子引擎在第二个步骤中实施对所述数据分组的交換。特别地,本发明的实施例在所述第一个步骤期间可以不知道所述数据分组的状态、与所述数据分组相关联的信令和/或协议、与所述数据分组和/或关联于所述数据分组的数据业务流相关联的寻址。通常,所述两个或更多子引擎可以是具有一个或更多处理核心的中央处理单元,例如并行处理计算机和/或网络计算集群的机架式处理节点。还有可能,所述子引擎是大规模并行处理体系结构的处理单元。例如,大規模并行处理体系结构是分别具有至少100个处理核心和/或处理节点、优选128到1048576个处理核心和/或处理节点的大規模并行处理器、大規模并行计算机和/或并行计算集群。有可能借助于MPLS标签(MPLS=多协议标签交換)的20位来寻址多达1048576个处理核心和/或处理节点,在这样的情况下,所述20位对应于22°=1048576个不同地址。子引擎可以连接到包括与所述哈希标签和/或所述数据分组相关联的数据的数据库,其中,所述数据用于对所述数据分组进行进ー步处理。由于根据本发明的实施例可以将关联于和/或用同一哈希标签标记的数据分组发送到同一子引擎,所以所述子引擎很少更新与所述哈希标签和/或所述数据分组相关联的数据或被处理的数据分组。由此,所述数据库很少被访问,优选仅被访问一次,以便进行更新,优选提供与所述哈希标签和/或所述数据分组相关联的数据或被处理的数据分组。于是,本发明的实施例提供一种关于所述两个或更多子引擎的数量的增强的可伸縮性。因此,本发明的实施例可以为以下情况提供一种改进的可伸縮性,在所述情况下,高容量业务即数据业务流必须被处理,可伸縮性考虑阻碍系统的增长或新特征的引入,所述新特征例如是数据业务流知晓。本发明的实施例可以提供,例如大規模并行处理体系结构中的各个处理核心上的复杂度和负载限于由进行哈希和/或交換后可用的处理核心总数给出的分数。特别地,本发明的实施例可以被用于纯负载分布;负载和复杂度的协议无关分布,其允许各个数据业务流的有状态行为;和/或子引擎的负载、复杂度和函数范围減少。假如本发明的实施例被用于子引擎的负载、复杂度和函数范围減少,则所述用法可以通过在两个或更多步骤中级联所述实施例来达到第一个步骤生成哈希分布,其使用与导出各个功能相关的分组报头的信息単元。哈希函数可以是由哈希函数生成的分布,或者可以是专用哈希函数。随后的步骤通过将属于ー组函数的流分布到各个子引擎来维护可伸縮性。这样的用法对于用于为网络设备提供未来安全体系结构的施加启用是重要的,因为对可被分派到专用子引擎的数据业务流的特别对待,其仅通过知道“哪儿”一在报头结构里一关键信息是,在“什么”被定义和/或被确定之前。应当理解,与本发明相关的术语哈希函数可以被用作一般意义上的函数。优选地,所述哈希函数将ー个或更多ー维或多维值满映射到或映射上分别ー组哈希值。所述ー个或更多ー维或多维值可以也被称为所述哈希函数的输入值。所述哈希函数将给定输入值映射到输出值,所述输出值是哈希值,所述哈希值是所述ー组哈希值的元素。术语哈希标签可以被用于所述哈希函数的输出值。此外,所述ー组输入值的基数至少与所述ー组哈希值或所 述ー组输出值的基数一样大。有可能,所述控制单元是所述两个或更多子引擎中的子引擎。根据本发明的交换设备的实施例优选包括交換机、桥接器、路由器、网关、核心和/或边缘设备等。进ー步的优点通过由相关权利要求指出的本发明的实施例来达到。根据本发明的ー个优选实施例,可以提供用于从所述报头过滤信息的至少ー个过滤运算。优选地,所述控制単元提供用于从所述报头过滤信息的所述至少ー个过滤运算。所述至少ー个过滤运算过滤出标识符。所述标识符指示所述数据分组与关联于所述多个数据分组的ー个或更多数据业务流中的数据业务流的关联。所述哈希函数将包括所述标识符的已过滤信息映射到优选为自然数的数字k。有可能所述控制単元提供和/或实施所述用于对已过滤信息进行映射的哈希函数。数字k是自然数区间[m,…,M]的元素。自然数m是最小值。优选地,最小值m=l。M是最大值,其中M〈N或M=N。N是所述两个或更多子引擎的数量。特别地,有可能最小数m和最大数M是区间[m,…,M]中数字的最小数和最大数。优选地,区间[m,…,M]的基数大于或等于为根据已加标签报头将关联于所述多个数据分组中不同数据业务流的数据分组发送到所述两个或更多子引擎中的不同子引擎的ー个或更多数据业务流的数量。特别地,有可能两个或更多子引擎被编号、索引和/或加标签,优选从数字I开始并且以数字N结束,其中数字N是所述两个或更多子引擎的数量。因此,包括数字k的哈希标签可以被用作数据分组必须被发送到哪个子引擎进行进ー步处理的信息。数字k由用于对已过滤信息进行映射的哈希函数生成。有可能,所述数字、索引和/或标签分别对应于地址,所述地址是MPLS标签或VLAN标签(VLAN=虚拟局域网)。所述哈希标签可以被用作MPLS标签或VLAN标签。优选地,所述多个数据分组中的数据分组被指派给ー个或更多数据业务流。所述控制单元可以根据已加标签报头将关联于所述一个或更多数据业务流中同一数据业务流的数据分组发送到所述两个或更多子引擎中的同一子引擎,以便对关联于所述同一数据业务流的数据分组进行进一歩处理。优选由所述控制単元生成所述至少ー个过滤云轩,用于从所述报头过滤信息。所述至少一个过滤运算可以适于过滤出标识符,所述标识符指示所述数据分组与所述ー个或更多数据业务流中的数据业务流的关联。根据本发明的ー个优选实施例,所述子引擎从所述控制単元接收数据分组,以便对所述已接收数据分组进行进一步处理。假设所述子引擎的存储器没有保存与所述已接收数据分组和 /或所述哈希标签相关联的数据,则所述子引擎访问保存与所述已接收数据分组和/或哈希标签相关联的数据的数据库,以便对所述已接收数据分组进行进ー步处理。所述子引擎通过使用所述报头、所述与所述已接收数据分组和/或所述哈希标签相关联的数据、和/或所述已接收数据分组的净荷来处理所述已接收数据分组。有可能,所述子引擎访问保存与所述已接收数据分组和/或所述哈希标签相关联的数据的数据库,以便获取对于处理已接收数据分组必要的数据。优选地,子引擎仅在第一次或每一次子引擎进程或进ー步处理关联于所述哈希标签的已接收数据分组时访问所述数据库。假设所述数据库仅在第一次时被访问,则网络负载和/或所述数据库上的负载可以被減少,而同时交换设备的子引擎的数量的可伸縮性被改进。根据本发明的ー个优选实施例,所述子引擎从所述控制単元接收所述数据分组,以便对所述已接收数据分组进行进ー步处理。所述子引擎从已加标签报头提取所述哈希标签。如果所述哈希标签指示所述子引擎被指定用于对所述已接收数据分组进行进ー步处理,则所述子引擎处理所述已接收数据分组。优选地,哈希标签通过数值数指示,子引擎被指定用于对所述已接收数据分组进行进ー步处理。有可能数值数小于或等于所述两个或更多子引擎的数量。根据本发明的ー个优选实施例,已过滤信息包括从互联网协议源地址、互联网协议目的地址、互联网协议源端ロ、互联网协议目的端ロ、传输协议类型和服务类型位的组中选出的一个或更多信息単元。还有可能,所述已过滤信息被安排在五元组中,所述五元组包括互联网协议源地址、互联网协议目的地址、互联网协议源端ロ、互联网协议目的端口和服务类型位。优选地,服务类型位包括IP报头中的8位。所述服务类型位可以被划分为ー个或更多子字段。这些子字段可以提供优先级位、请求低延迟位、请求高呑吐量位、请求高可靠性位、请求低开销位和/或明确拥塞通知位的组中的一个或更多信息単元。优先级位可以被设置为例程、优先、立即、火速、火速覆写、紧要、网间控制或网络控制。然而,还有可能,所述八位的前六位是DSCP (DSCP=区分服务代码点)。所述服务类型位可以被用于标识所述数据分组可以被指派给的服务类型类别。根据本发明的ー个优选实施例,所述哈希函数包括模p函数。数字p是p〈N或者P=N的数字,并且其中N是两个或更多子引擎的数量。数字p可以是素数。还有可能,数字P不是素数。优选地,数字P是紧挨的小于N的素数。如果使用数字P,其中数字p是紧挨的小于N的素数,则处理负载可以最优地在两个或更多子引擎之间被分布。有可能,如果p〈N,则优选为N-p个的ー个或更多子引擎不进ー步处理数据分组。优选地,假设其中p>N,则优选为P-N个的ー个或更多子引擎进ー步处理与两个或更多哈希标签相关联的数据分组。还有可能,所述哈希函数是包括多项式除法的函数。所述哈希函数适于所述已过滤信息的尺寸,特别是其位长。所述哈希函数可以是CRC函数(CRC=循环冗余检查)。优选地,CRC函数的类型取决于已过滤信息的尺寸,特别是其位长。所述CRC函数可以通过软件手段或通过硬件手段来实现。特别地,所述CRC函数优选用于,用快速硬件解决方案对所述过滤运算的大过滤结果计算所述哈希标签。此外,有可能模p函数优选是数学函数,其返回整数用数字p除的整数除法的余数作为結果。模P函数可以将任意整数j映射到区间
中的数字k。在该情况下,模P函数可以用mod(j, p)来表示,其中,所述结果或返回值由mod(j, p)=k给出,并且区间
的基数等于数字P。关于此,通过h(j)=l+mod(j, p)可以给出合适的哈希函数h,因为所述两个或更多子引擎中的第一个子引擎可以被编号以数字I。优选地,数字p小于或等于数字N,因为否则的话模p函数可以将整数j’映射到数字k’,其中k’大于所述两个或更多子引擎的数量,以及因此数字k’将不适于作为哈希标签,哈希标签直接指示用于对所述数据分组进行进ー步处理的子引擎。根据本发明的ー个优选实施例,哈希函数适于将已过滤信息映射到数字k。所述数字k是自然数区间[m,…,M]中的元素。自然数m是最小值。优 选地,最小值m=l。M是最大值,M〈N或者M=N,其中N是两个或更多子引擎的数量。特别地,有可能最小数m和最大数M分别是区间[m,…,M]中数字的最小数和最大数。根据本发明的ー个优选实施例,以这样的方式来安排所述哈希函数,使得所述哈希函数的全部值被平均地分布在所述哈希函数的最小值和最大值之间。因此,有可能对所述两个或更多子引擎的使用进行负载均衡。根据本发明的ー个优选实施例,所述控制単元适于施加多于ー个过滤运算以进行对所述报头的连续施加,以便由此生成所述已过滤信息。所述对多于ー个优选简单的过滤运算的连续施加可以提供,用于生成所述已过滤运算的所述控制単元的改进的执行时间。所述对多于ー个过滤运算的连续施加可以用单一的、优选复杂的过滤运算来代替。术语简单意味着,关于此,所述过滤运算可使用少量软件和/或硬件努力来实现,而术语复杂意味着,关于此,所述过滤运算可使用大量软件和/或硬件努力来实现。因此,有可能,所述对多于ー个简单过滤运算的连续施加提供比使用ー个复杂过滤运算少的用于生成所述已过滤运算的所述控制単元的执行时间,其中,所述ー个复杂过滤运算等价于所述多于一个简单过滤运算。特别地,有可能通过测量函数的各自执行时间来测量或确定函数的软件和/或硬件努力的量,其中,所述函数例如是所述哈希函数、所述过滤运算、标签交換和/或例如对所述数据分组进行交換的交換运算。函数的大量软件和/或硬件努力对应于该函数的各个长执行时间,所述长执行时间大于另ー函数的执行时间。在此情况下,另ー函数的软件和/或硬件努力的量对应于该另ー函数的相比于所述函数的各个较短执行时间,以及,所述另一函数的软件和/或硬件努力的量是软件和/或硬件努力的減少的量。例如,假设已提前确定函数的软件和/或硬件努力的量,其中,所述函数例如是所述哈希函数、所述过滤运算、标签交換和/或例如对所述数据分组进行交換的交換运算,则有可能最优化和/或改进所述交换设备的可伸縮性和/或数据分组呑吐量或带宽。优选地,为生成所述已过滤信息的连续施加于所述报头的多于ー个过滤运算由所述控制单元来施加,则所述控制单元适于生成所述已过滤信息的一个或更多単元。有可能,针对所述多于一个过滤运算中的每个,生成所述已过滤信息中的各个单元。所述控制単元适于对所述已过滤信息的単元中的一个或更多或者对所述已过滤信息的単元中的每个施加一个或更多中间哈希函数。因此,这些一个或更多中间哈希函数的结果可以也被认为是所述生成的已过滤信息或作为所述生成的已过滤信息的部分。然后对所述生成的已过滤信息和/或所述生成的已过滤信息的部分施加所述哈希函数。所述ー个或更多中间哈希函数可以类似于所述哈希函数。优选地,所述ー个或更多中间哈希函数是模P函数,和/或可以具有与所述哈希函数相同或类似的特征。之前已描述了所述哈希函数的特征。所述ー个或更多中间哈希函数可以还被理解为所述多于ー个过滤运算和/或所述过滤运算的功能。还有可能,所述ー个或更多中间哈希函数是CRC函数。优选地,假设子引擎的数量将被哈希方法准确匹配,其中,所述哈希方法由所述哈希函数来实现,以及所述子引擎中的优选为全部的两个或更多之间的负载均衡将以使其可以被外部控制的方式来实施,优选在所述哈希标签的计算与所述子引擎的寻址之间插入哈希表。取决于本发明的实施例,所述哈希标签可以是所述表的进入或退出数据。如果所述哈希函数的结果被用作标签,并且因此是所述表的例如搜索键或索引的进入数据,则可以直接通过用指派给ー个或更多标签的子引擎来切換表而实现所述哈希表。在其中关联于数据分组的不同数据业务流的数量T大于子引擎的数量N,并且进一步的模p函数被用作哈希函数,其中T>p>N或者T>>p N的情况下,所述实施例是优选的。 根据本发明的ー个优选实施例,所述交换设备包括标签交換机。所述标签交換机根据已加标签报头将所述数据分组交换到所述子引擎。优选地,所述标签交換机是所述交换设备的所述控制単元和/或进ー步实体或设备的功能。所述标签交換机的功能可以部分上或全部通过软件手段和/或硬件手段来实现。根据本发明的ー个优选实施例,所述交换设备从已加标签报头中移除所述报头标签。优选地,标签交换机从已加标签报头中移除所述报头标签。因此,在根据已加标签报头将所述数据分组交換到所述子引擎之前,提供原始报头。此外,可以不存在任何这样的需求所述两个或更多子引擎适于进ー步处理包括已加标签报头而非所述报头的数据分组。根据本发明的ー个优选实施例,所述控制単元和/或所述两个或更多子引擎中的每个包括至少ー个中央处理单元。有可能,所述控制単元和/或所述两个或更多子引擎中的子引擎包括一个或更多进ー步的设备,所述设备是存储器组、缓存器、通信装置和输入/输出单元。根据本发明的ー个优选实施例,所述控制単元通过硬件手段提供所述哈希函数和/或所述至少一个过滤运算。优选地,通过软件手段和/或硬件手段来提供以下组中的一个或更多实体控制単元、哈希函数、至少ー个过滤运算、所述两个或更多子引擎中的一个或更多子引擎以及标签交换机。所述标签交換机根据已加标签报头将所述数据分组交换到所述子引擎。根据本发明的ー个优选实施例,所述控制単元和/或所述子引擎中的一个或更多借助于通信总线来互连。例如,所述控制単元和/或所述两个或更多子引擎中的一个或更多子引擎借助于以下组中的一个或更多技术来互连以太网、无限带(InfiniBand)、无线网络技术和基于光纤的网络技木。优选地,将所述控制单元和/或所述两个或更多子引擎中的一个或更多子引擎互连的通信总线是串行总线或并行总线。所述交换设备可以包括通信装置。有可能,所述通信装置是或包括一个或更多优选是高速接ロ的接ロ。所述通信总线可以提供高带宽,所述高带宽可以是至少IOG比持/秒。特别地,有可能所述ー个或更多接口中的每个提供高带宽,所述高带宽可以是至少IOG比持/秒。优选地,所述通信总线可以提供至少I或IOT比特/秒,以便为传送借助于包括所述ー个或更多接ロ的通信装置处理的数据分组的聚合业务提供足够大的带宽。优选地,所述两个或更多子引擎由特别是大规模并行处理单元的并行处理单元提供和/或被其包括。有可能,控制单元、通信装置、数据库和包括所述两个或更多子引擎的并行处理单元的组中的至少两个实体经由第一通信总线彼此互连。优选地,所述通信装置包括至少ー个接ロ。此外,第二通信总线可以将所述两个或更多子引擎中的至少两个或每个彼此互连。有可能,所述第一通信总线与所述第二通信总线互连。如上面已描述的,可以用于实现所述第一通信总线和/或所述第二通信总线的优选技术是以下组中的一个或更多技木以太网、无限带(InfiniBand)、无线网络技术以及基于光纤的网络技木。优选地,将所述哈希标签插入所述报头中作为MPLS标签和/或VLAN标签。还有可能,将所述哈希标签插入所述数据分组的报头的MPLS标签和/或VLAN标签中。所述控制単元可以还提供子引擎的功能。因此,有可能所述控制単元可以充当用于对所述数据分组进行进ー步处理的子引擎。
将本发明的主要观点概括如下根据本发明的实施例也适用于使用大規模并行体系结构——如上面所述的——优选包括数万到数十万个用于交換和/或选路的子引擎。假设使用所述处理多个数据分组的方法,则可以改进伸縮。仅如果不仅负载而还有复杂度在各个核心——即所述子引擎之间共享的情况下,所述方法伸缩为更好。将任务——即处理转移到根据流标签一一即所述数据分组流的标签实施的単元确实仅次优化地解决问题,因为所有复杂度被转移到所述加标签设备。然而,根据本发明的实施例通过基本上两步骤的方法解决该困境在第一个步骤中,一个或更多报头或报头单元的相关位被过滤出。从该信息生成对应于总负载将被分布到的核心或子引擎的数量的哈希——即哈希标签。所述哈希标签被用作标签,并被插入到所述数据分组中。在第二个步骤中,将所述数据分组交換到分别通过所述哈希标签寻址到的核心或子引擎,以便进行进一步处理,所述进ー步处理例如是最終的选路和/或交换决策。本发明的实施例提供改进的可伸縮性。哈希或所述哈希函数分别提供“傻瓜式”算法运算,所述算法运算与已过滤出的位无关,并且生成类似于伪随机数的输出。如果所述哈希算法进行运算所基于的位选取得好,例如通过避免TTL (TTL=生存期)或顺序号字段,并且仅使用这样的信息,所述信息是对于每个特别地是数据业务流的流和/或连接静态的,则属于流和/或连接的所有数据分组可分别被传送到同一核心即子引擎。哈希基于特别是已过滤报头信息的已过滤信息进行运算,并且因此考虑仅“要看哪里”,并且不考虑“所述数据分组内的信息是什么”。因此,通过所述哈希标签寻址到的核心即子引擎可以处理全部特别是数据业务流的流的仅有限子集。通过对每级联或过滤运算使用不同过滤规则的级联可以在不知道所分派协议的详情的情况下,导致协议或服务特定的数据分组向各个核心即子引擎的分布。所述核心或子引擎作为回报然后可以聚焦于专门任务。如果VLAN标签被用作所述哈希标签的插入位置,则扇出可以多达I :4096核心或子引擎——因为12位可被用于插入所述哈希标签,该扇出对应于可用于计算的大規模并行处理器的規模。MPLS标签将提供I :1048576核心或子引擎,因为20位可以被用于插入哈希标签。


通过结合附图阅读以下对当前优选示例性实施例的详细描述,本发明的这些以及进ー步的特征和优点将被更好地认识
图I示出了交换设备的一个优选实施例的图。图2示出了处理多个数据分组的方法的一个优选实施例的流程图。
具体实施例方式图I示出了交换设备I的一个优选实施例的图。交换设备I包括如下实体并行处理单元2、通信装置3、第一通信总线5、数据库6和控制单元7。这些实体可以在单一机箱(未示出)内提供,或者可以由ー个或更多子设备来提供,所述 子设备包括这些子设备中的每ー个或更多(未示出)。优选地,第一通信总线5是提供例如至少IOG比特/秒的高带宽的串行总线或并行总线。交换设备I是分组交換通信网络(未示出)的实体。分组交换通信网络可以是核心通信网络、边缘和/或接入通信网络、电信网络、基于电线的通信网络、无线通信网络和/或电カ线通信网络。有可能,交换设备I包括进ー步的通信总线,从而第一通信总线5和该进一歩的通信总线提供两个通信通路,其中,这两个通信总线中的一个在并行处理单元2的N个子引擎21,…,29之间传输数据分组,以及其中,这两个通信总线中的另ー个传输系统控制数据和/或可以由数据库6提供的关联于数据分组的数据。因此,这两个通信总线中的另ー个可以充当控制总线,其中,第一通信总线5被指定用于对数据分组进行交換和/或处理。并行处理单元2包括N个子引擎21,…,29。优选地,N至少是256。N个子引擎21,…,29被顺序地标记以数字1,…,N。N个子引擎21,…,29通过第二通信总线51互连。优选地,第二通信总线51是提供例如至少IOG比特/秒的高带宽的串行总线或并行总线。N个子引擎21,…,29中的每个子引擎提供至少中央处理单元、存储器、缓存器和用于经由第二通信总线51并且优选经由第一通信总线5进行通信的通信装置。此外,N个子引擎21,…,29中的每个子引擎适于实施数据分组的交換。特别地,N个子引擎21,…,29中的每个子引擎可以适于实施对数据分组的深度分组检测和/或评估并操作数据分组的报头。优选地,并行处理单元2是并行处理器,其中,该并行处理器的一个或更多处理核心提供所述N个子引擎21,…,29。通信装置3包括至少ー个接ロ 31,. . .,35。例如,该通信装置包括48个接ロ,其中,所述接ロ可以充当端ロ。通信装置3提供至少用于根据至少OSI第2或3层(OSI=开放系统互连參考模型)进行通信的功能以及各个协议和协议栈。接ロ 31,…,35的每个提供例如至少IG比特/秒的高带宽。第一通信总线5将并行处理单元2、通信装置3、数据库6或控制单元7彼此互连。并行处理单元2借助于第二通信总线51与第一通信总线5互连。数据库6保存与多个数据分组的交換相关联的数据。优选地,数据库6包括中央处理单元、例如一个或更多硬盘或固态硬盘的存储装置以及用于经由第一通信总线5进行通信的通信装置。由数据库6保存的数据可以包括额外数据,额外数据提供例如实施服务的数据业务流的状态信息或通信会话信息,额外信息可用于交換所述多个数据分组。数据业务流与所述多个数据分组中的数据分组相关联。例如,数据业务流与基于IP的语音会话、IP会议会话、IP游戏会话和/或标准IP会话相关联,其中,所述标准IP会话例如是RTP会话、SIP会话、FTP会话、SSH会话、HTTP会话和/或HTTPS会话、SMTP等(RTP=实时传输协议,SIP=会话发起协议,FTP=文件传输协议,SSH=安全壳,HTTP=超文本传输协议,HTTPS=HTTP安全,SMTP=简单邮件传输协议)。控制单元7包括至少ー个中央处理单元、存储器、缓存器以及用于经由第一通信总线5进行通信的通信装置。控制单元7适于经由其通信装置3接收包括报头的数据分组。控制单元7适于对所述报头施加至少ー个过滤运算。因此有可能生成已过滤信息。控制単元7还适于将已过滤信息映射到哈希标签。根据哈希函数执行所述映射。控制单元7适于提供已加标签的报头。已加标签的报头可以是原始报头,其中,哈希标签已由控制单元7插入该报头中,并且因此形成已加标签的报头。例如,假设数据分组的报头包括MPLS标签和/或VLAN标签,则哈希标签可以被分别插入该MPLS标签和/或VLAN标签中。在所述情况下,报头和已加标签的报头具有相同的位长。然而,还有可能,哈希标签被插入报头是通过将其添加到该报头。在此情况下,已加标签报头具有至少与报头的位长和哈希标签的位长的和一样长的位长。在任意情况下,控制单元7适于将哈希标签插入数据分组的报头中。 此外,控制单元7适于根据已加标签报头将数据分组发送到N个子引擎21,…,29中的ー个子引擎24,以便对数据分组进行进一歩处理。有可能,哈希标签被插入以太网报头与IP报头之间、IP隧道报头与IP报头之间或IP报头之上的MPLS标签中。图2示出了在分组交换通信系统中处理多个数据分组的、本发明优选实施例的流程图。以下借助于图2对处理多个数据分组的本发明的优选实施例描述如下控制单元7提供用于从数据分组的报头10中过滤信息的过滤运算50。过滤运算50可以被划分为ー个或更多也是过滤运算的子过滤运算,所述子过滤运算用于连续施加于报头10,以便因此生成已过滤信息100。优选地,数据分组的报头10包括一个或更多用于存储与数据分组相关联的一个或更多信息元素的位。过滤运算50过滤器可以从报头10中选出位和/或20个位的序列,并且因此生成报头分段10a。过滤运算50基于报头分段IOa生成已过滤信息100。已过滤信息100被安排在五元组中,所述五元组包括IP源地址、IP目的地址、IP源端ロ、IP目的端口和传输协议类型。因此,已过滤信息100可以被用于将数据分组与各个数据业务流相关联。在以下,已过滤信息100可以用j表示。过滤运算50可以还适于过滤出标识符,所述标识符指示数据分组与关联于多个数据分组的ー个或更多数据业务流中的一个数据业务流的关联。所述五元组可以被解释为这样的标识符。还有可能,将从以下组中选出的一个或更多信息元素用作已过滤信息DSCP、IP报头的协议字段、TCP端ロ、UDP端ロ、以太网类型、MPLS标签、VLAN标签、数据分组的净荷中的数据(TCP=传输控制协议,UDP=用户数据报协议)。如果在分组的净荷区域实施了哈希和标签交換,则优选地,一个或更多子引擎测试和/或检查数据分组以防止特别是病毒签名的计算机恶意软件签名或例如拒绝服务攻击的计算机犯罪的特征。控制单元7提供哈希函数300,哈希函数300用于将包括标识符的已过滤信息100映射到使k为自然数区间[m,…,M]中的元素的数字k。自然数m是区间[m,…,M]的最小值,以及自然数M是区间[m,…,M]的最大值。例如,交换设备包括N=256个子引擎21,…,29。以下假设,由于某种原因,包括P=256的模p函数的哈希函数是不期望的,除非p是素数。然而,一般而言,P=256的模p函数将是优选的哈希函数。存在两个最靠近的素数Pi=251和p2=257。素数Pi=251是紧挨的小于N=256的素数,N=256即子引擎21,- ,29的数量。
在控制单元7不能充当子引擎的情况下,则?1=251可以被用于定义哈希函数300。哈希函数300是模p函数Ii1 (j)=l+mod(j, P1)=!^于是,m=l且M=251。在此情况下,区间[m,…,M]的基数等于P!。在控制单元7能够充当子引擎的另ー情况下,则p2=257可以被用于定义哈希函数300。哈希函数300是模p函数h2(j) =mod (j,p2) =k。因此,实际上,N+1个子引擎可用。素数P2是紧挨的小于N+1的素数,其在该情况下根据定义与N+1相同。于是,m=0且M=256。在其中h2(j)=0即k=0的情况下,控制单元7实施对数据分组的进ー步处理。在此情况下, 区间[m,“*,M]的基数等于p2。在所述两种情况下,哈希函数300的全部值k被平均分布在哈希函数300的最小值m与最大值M之间,因为哈希函数在所述两种情况下都实际上是模p函数。哈希函数300的值k的该平均分布可以在对数据分组进行进ー步处理期间提供对子引擎21,…,29的负载进行的负载均衡。还有可能,在控制单元7不能充当子引擎的情况下,则?2=257可以被用于定义哈希函数300。然而,在此情况下,模p _—h3(j)=l+mod(j,p2)=M# j映射到区间[I,…,257]中的k。为使与比子引擎21,…,29的数量N大的哈希标签相关联的数据分组被处理,这些数据分组必须被定向到子引擎21,…,29中的一个或更多进行进一步处理,例如具有号码I的子引擎。特别地,有可能将多于ー个哈希标签关联于ー个子引擎。因此,可以保证所有数据分组被处理,然而可能不提供哈希函数300的值k的平均分布以便在对数据分组进行进一步处理期间对子引擎21,— ,29的负载进行负载均衡。此外,可替换地,并行处理单元2在多处理器体系结构内提供一个或更多核心。并行处理单元2可以作为虚拟子引擎提供两个或更多子引擎21,…,29,例如N=256个虚拟子引擎。使用虚拟子引擎使能使得虚拟子引擎的数量可以准确适于哈希函数300,其中哈希函数300优选是模p函数。对于确定哈希函数300的素数p的最优化选择可以是紧挨可用处理核心数量的下ー个素数P’。然而,有可能,紧挨可用处理核心数量的下ー个素数P’大于可用处理核心的数量。在此情况下,使k’在区间
中的哈希函数h’ (j,p’ )=mod(j, p’)=k’可以将j映射到k’,其中,k’不能关联于处理核心。借助于子引擎的虚拟化,有可能,可用处理核心提供允许并行处理单元2的最优化使用的准确p’个虚拟子引擎21,…,29。在以上示例中,数字P1和或数字P2可以用不是素数的自然数代替。优选地,假设多于ー个用于连续应用于报头以便生成已过滤信息100的过滤运算被控制单元7应用,则控制単元7适于生成已过滤信息100的一个或更多元素,例如位和/或20位的序列。有可能,针对所述多于ー个过滤运算的每个,生成已过滤信息的各个元素。控制单元7适于将一个或更多中间哈希函数应用于已过滤信息的元素中的一个或更多,或应用于已过滤信息的元素中的姆个。因此,这些一个或更多中间哈希函数的结果可以被看作生成的已过滤信息,或看作生成的已过滤信息100的部分。然后对生成的已过滤信息100和/或生成的已过滤信息的部分应用哈希函数300。有可能,哈希函数300包括多于ー个模P计算,例如模p求和和/或模P乘法,其中,P优选是素数,因为否则不能保证哈希函数300的优选为p个的全部值向两个或更多子引擎21,…,29的平均分布和/或完全映射。哈希函数300可以明确或暗含地包括多于ー个模P计算。术语明确是指,关于此,该多于ー个模P计算仅由哈希函数300提供,而术语暗含是指,关于此,该多于ー个模p计算由哈希函数300和/或由一个或更多中间哈希函数来提供。还有可能,多于ー个处理核心被用于借助于虚拟化提供子引擎,其中所述子引擎是虚拟子引擎。因此,虚拟化可以允许使用任意选择的哈希函数。此外,有可能任意选择两个或更多子引擎的数量,其中,子引擎是虚拟子引擎。此外,区间[m,…,M]的基数可以大于或等于ー个或更多数据业务流的数量,其中,一个或更多数据业务流用于根据已加标签报头11将多个数据分组中关联于不同数据业务流的数据分组发送到N=256个子引擎21,…,29中的不同子引擎。因此,有可能暗含地将关联于同一数据业务流的数据分组指派给N=256个子引擎21,…,29中的同一子引擎。现在详细转到所述方法所述方法被进ー步示例性地实施如下
控制单元7接收数据分组,其中,所述数据分组包括经由通信网络被交換的通信分组的报头10。控制单元7如前面所描述的对报头10应用过滤运算50,并且因此生成已过滤信息100。控制单元7根据哈希函数300将已过滤信息100映射到哈希标签30。特别地,有可能控制单元7通过硬件手段提供哈希函数300和/或至少ー个过滤运算50。控制単元7借助于在数据分组的报头10中插入哈希标签30来提供已加标签的报头11。控制単元7借助于标签交換机40根据已加标签的报头11将数据分组发送到N=256个子引擎21,…,29中的ー个子引擎24以便对数据分组进行进一歩处理。标签交換机40根据已加标签的报头11将数据分组交换到子引擎24。交换设备I包括标签交换机40。标签交换机40在根据已加标签报头11将数据分组交换到子引擎24之前从已加标签报头11移除报头标签30,因此提供原始报头10。子引擎24从控制単元7接收数据分组,以便对接收的数据分组进行进ー步处理。如果子引擎24的存储器中未保存关联于接收的数据分组和/或哈希标签30的数据,则子引擎24访问数据库6以便对接收的数据分组进行进一步处理,其中,数据库6保存了关联于接收的数据分组和/或哈希标签30的数据。子引擎24从已加标签报头11中提取哈希标签30。子引擎24通过使用报头10、关联于接收的数据分组和/或哈希标签30的数据和/或接收的数据分组的净荷来对接收的数据分组进行处理。可替换地,有可能标签交換机不从已加标签报头中移除报头标签30。在这样的情况下,优选为哈希标签30的数值数k允许子引擎24可以检查该子引擎24是否被指定用于对接收的数据分组进行进一步处理,并且因此可以在肯定情况下对接收的数据分组进行进一歩处理。
权利要求
1.ー种在包括至少ー个交换设备(I)的分组交换通信网络中处理多个数据分组的方法,其中,所述方法包括步骤 由所述至少ー个交换设备(I)的控制单元(7)接收数据分组,所述数据分组包括经由所述通信网络进行交換的通信分组的报头(10), 由所述控制単元(7 )对所述报头(10 )施加至少ー个过滤运算(50 ),并且因此生成已过滤信息(100), 由所述控制単元(7)根据哈希函数(300)将已过滤信息(100)映射到哈希标签(30)上,由所述控制単元(7)借助于在所述数据分组的所述报头(10)中插入所述哈希标签(30)而提供已加标签的报头(11),以及 由所述控制単元(7)根据已加标签的报头(11)将所述数据分组发送到所述交换设备(I)的两个或更多子引擎(21,…,29)中的一子引擎(24),以便对所述数据分组进行进ー步处理。
2.根据权利要求I的方法, 其中,所述至少ー个过滤运算(50)过滤出标识符,所述标识符指示所述数据分组与关联于所述多个数据分组的一个或更多数据业务流中的一数据业务流的关联,以及, 所述哈希函数(300)将包括所述标识符的已过滤信息(100)映射到数字k,其中,k是自然数区间[m,…,M]中的元素,m是最小值,优选地m=l的,M是最大值,M〈N或M=N,N是所述两个或更多子引擎(21,…,29)的数量,并且优选地,所述区间[m,…,M]的基数大于或等于ー个或更多数据业务流的数量,以便根据已加标签报头(11)将所述多个数据分组中关联于不同数据业务流的数据分组发送到所述两个或更多子引擎(21,…,29)中的不同子引擎。
3.根据权利要求I的方法, 其中,所述方法包括步骤 由所述子引擎(24)从所述控制单元(7)接收所述数据分组,以便对所述接收的数据分组进行进ー步处理, 如果所述子引擎(24)的存储器中未保存关联于所述接收的数据分组和/或所述哈希标签(30)的数据,则由所述子引擎(24)访问数据库(60)以便对所述接收的数据分组进行进ー步处理,其中,数据库(60)保存了关联于所述接收的数据分组和/或所述哈希标签(30)的数据,以及 通过使用所述报头(10)、所述关联于所述接收的数据和/或所述哈希标签(30)的数据、和/或所述接收的数据分组的净荷,由所述子引擎(24)处理接收的数据分组。
4.根据权利要求I的方法, 其中,所述方法包括步骤 由所述子引擎(24)从所述控制单元(7)接收所述数据分组,以便对接收的数据分组进行进ー步处理, 由所述子引擎(24)从已加标签的报头(11)中提取所述哈希标签(30),以及如果所述哈希标签(30)优选通过数值数指示所述子引擎(24)被指定用于对接收的数据分组进行进一步处理,则由所述子引擎(24)处理接收的数据分组。
5.一种用于在分组交换通信网络中交換通信分组的交换设备(1),其中,所述交换设备(I)包括两个或更多子引擎(21,…,29)和控制单元(7),以及其中,所述控制単元(7)适干接收数据分组,其中,所述数据分组包括经由所述通信网络进行交換的通信分组中的一个的报头(10);对所述报头(10)施加至少ー个过滤运算(50)并因此生成已过滤信息(100);根据哈希函数(300)将已过滤信息映射到哈希标签(30)上;借助于在所述数据分组的报头(10)中插入所述哈希标签(30)而提供已加标签的报头(11);以及,根据已加标签的报头(11)将所述数据分组发送到所述两个或更多子引擎(21,…,29)中的一子引擎(24),以便对所述数据分组进行进一歩处理。
6.根据权利要求5的交换设备(I), 其中,所述已过滤信息(100)包括从以下组中选出的一个或更多信息元素互联网协议源地址、互联网协议目的地址、互联网协议源端ロ、互联网协议目的端ロ、传输协议类型和服务类型位, 或者其中,所述已过滤信息(100)被安排在五元组中,所述五元组包括互联网协议源地址、互联网协议目的地址、互联网协议源端ロ、互联网协议目的端口和服务类型位。
7.根据权利要求5的交换设备(I), 其中,所述哈希函数(300)包括模p函数,p〈N或p=N,N是所述两个或更多子引擎(21,…,29)的数量,优选p是素数,和/或p是紧挨的小于N的素数。
8.根据权利要求5的交换设备(I), 其中,所述哈希函数(300)适于将所述已过滤信息(100)映射到数字k,其中k是自然数区间[!!!,".,M]中的元素,m是最小值,优选地m=l, M是最大值,M〈N或M=N,以及,N是所述两个或更多子引擎(21,…,29)的数量。
9.根据权利要求5的交换设备(I), 其中,以所述哈希函数(300)的全部值平均地分布在所述哈希哈希函数(300)的最小值与最大值之间的方式来安排所述哈希函数(300)。
10.根据权利要求5的交换设备(1), 其中,所述控制単元(7)适于施加多于ー个用于连续施加于所述报头(10)的过滤运算(50),以便因此生成所述已过滤信息(100)。
11.根据权利要求5的交换设备(1), 其中,所述交换设备(I)包括标签交換机(40),所述标签交換机(40)根据已加标签的报头(11)将所述数据分组交換到所述子引擎(24 )。
12.根据权利要求5的交换设备, 其中,所述交换设备(I)优选借助于标签交換机(40),在根据已加标签报头(11)将所述数据分组交换到所述子引擎(24)之前,从已加标签报头(11)移除所述报头标签(30),并且由此提供原始报头(10)。
13.根据权利要求5的交换设备(1), 其中,所述控制単元(7)和/或所述两个或更多子引擎(21,…,29)的每个包括至少ー个中央处理单元。
14.根据权利要求5的交换设备(1), 其中,所述控制単元(7)借助于硬件提供所述哈希函数(300)和/或所述至少一个过滤运算(50)。
15.根据权利要求5的交换设备(1), 其中,所述控制単元(7)和/或所述子引擎(21,…,29)中的一个或更多借助于通信总线(5,51)互连,以及,所述子引擎(21,…,29)中的每个适于,如果所述哈希标签(10)指示所述子引擎(24)被指定用于对所述 接收的数据分组进行进一步处理,则处理经由所述通信总线(5,51)接收的数据分组。
全文摘要
本发明涉及一种在包括至少一个交换设备(1)的分组交换通信网络中处理多个数据分组的方法以及对应的交换设备。交换设备(1)包括两个或更多子引擎(21,…,29)。至少一个交换设备(1)的控制单元(7)接收数据分组,其中,数据分组包括经由通信网络进行交换的通信分组的报头(10)。控制单元(7)对报头(10)施加至少一个过滤运算(50)并因此生成已过滤的信息(100)。控制单元(7)根据哈希函数(300)将已过滤信息(100)映射到哈希标签(30)。控制单元(7)借助于在数据分组的报头(10)中插入哈希标签(30)提供已加标签的报头(11)。控制单元(7)根据已加标签的报头(11)将数据分组发送到两个或更多子引擎(21,…,29)中的一个子引擎(24),以便对数据分组作进一步处理。
文档编号H04L12/56GK102656850SQ201080057426
公开日2012年9月5日 申请日期2010年11月18日 优先权日2009年12月17日
发明者M·唐格曼, R·克洛奇 申请人:阿尔卡特朗讯公司
文档序号 : 【 7915123 】

技术研发人员:R·克洛奇,M·唐格曼
技术所有人:阿尔卡特朗讯公司

备 注:该技术已申请专利,仅供学习研究,如用于商业用途,请联系技术所有人。
声 明此信息收集于网络,如果你是此专利的发明人不想本网站收录此信息请联系我们,我们会在第一时间删除
R·克洛奇M·唐格曼阿尔卡特朗讯公司
利用速率适配的能量效率的制作方法 一种重组人转化生长因子tgfb3的制备方法
相关内容