一种提高大象流流表利用率的方法及装置制造方法及图纸

技术编号:21205080 阅读:29 留言:0更新日期:2019-05-25 02:48
本发明专利技术揭示了一种提高大象流流表利用率的方法及装置,方法包括接收数据包并判断所述数据包是否为大象流;在判断结果为大象流时,查找大象流流表;根据查找结果判断当前大象流是否已存在大象流流表中;在判断结果为不存在时,进一步判断当前大象流是否与大象流流表中已存在的大象流冲突;在判断结果为冲突时,获取大象流流表中与当前大象流冲突的大象流的驻留时间,将驻留时间最长的大象流进行提前老化处理,进一步将当前大象流学习至大象流流表中。本发明专利技术通过检测冲突大象流的驻留时间来决策提前老化,为当前新检测出的大象流提供存储条目,利用有限的流表资源记录更多的大象流,提高大象流流表的利用率。

A Method and Device for Improving the Utilization Rate of Elephant Flow Meter

The invention discloses a method and device for improving the utilization ratio of elephant flow tables, which includes receiving data packets and judging whether the data packets are elephant flows; searching elephant flow tables when judging whether the results are elephant flows; judging whether the current elephant flow has existed in elephant flow tables according to the results of searching; and further judging whether the current elephant flow exists when judging whether the results are non-existent. When the result is conflict, the residence time of the elephant flow which conflicts with the current elephant flow in the elephant flow table is obtained, and the elephant flow which has the longest residence time is aged in advance, so that the current elephant flow can be further learned into the elephant flow table. By detecting the residence time of conflict elephant streams, the invention decides to aging ahead of time, provides storage entries for current newly detected elephant streams, records more elephant streams with limited flow table resources, and improves the utilization ratio of elephant flow tables.

【技术实现步骤摘要】
一种提高大象流流表利用率的方法及装置
本专利技术涉及一种网络通信
,尤其是涉及一种提高大象流流表利用率的方法及装置。
技术介绍
在数据中心网络中,流量的类型包括大象流和老鼠流,大象流通常是指占据数据中心网络大部分带宽的数据流,老鼠流通常是指占据数据中心网络小部分带宽的数据流。为了优化数据中心网络的带宽资源,常需要在网络交换设备上区分大象流与老鼠流,并针对大象流或老鼠流做一些转发策略等。网络交换设备的交换芯片中通常设有一用于存储大象流信息的大象流流表,交换芯片可基于软件或硬件动态分离出大象流和老鼠流,并将大象流保存至大象流流表中。随着网络业务的增大和数据中心网络带宽的增长,大象流的种类也随之增多,大象流流表中存放的大象流条目也随之增大,大象流流表也越来越大,使得交换芯片的尺寸设计也越来越大,成本越来越高。
技术实现思路
本专利技术的目的在于克服现有技术的缺陷,提供一种提高大象流流表利用率的方法及装置,能够提高大象流流表的利用率。为实现上述目的,本专利技术提出如下技术方案:一种提高大象流流表利用率的方法,包括如下步骤:S100,接收数据包并判断所述数据包是否为大象流;S200,在判断结果为大象流时,查找大象流流表;S300,根据查找结果判断当前大象流是否已存在大象流流表中;S400,在判断结果为不存在时,进一步判断当前大象流是否与大象流流表中已存在的大象流冲突;S500,在判断结果为冲突时,获取大象流流表中与当前大象流冲突的大象流的驻留时间,将驻留时间最长的大象流进行提前老化处理,进一步将当前大象流学习至大象流流表中。优选地,在步骤S100中,通过大象流检测器判断接收到的数据包是否为大象流。优选地,在步骤S200中,所述查找大象流流表包括如下步骤:S201,解析数据包,获取五元组信息;S202,根据所述五元组信息生成流表查找键值;S203,根据本原多项式和所述流表查找键值生成用于查找大象流流表的索引值,进一步根据所述索引值查找大象流流表获得用于存储大象流信息的大象流条目。优选地,在步骤S300中,通过将所述流表查找键值与查找到的大象流条目中记录的信息进行匹配,若匹配,则当前大象流已存在大象流流表中。优选地,在步骤S400中,通过判断查找到的大象流条目是否为空以判断当前大象流是否与大象流流表中已存在的大象流冲突。优选地,在步骤S500中,大象流的驻留时间通过如下步骤计算:步骤S501,在大象流被学习至大象流流表中时为其配置一用于记录驻留时间的时间字段;步骤502,配置一周期性扫描大象流流表的计时器,若在扫描过程中发现大象流流表的一大象流条目中已学习到大象流,则将当前计时器的值加一后写入所述大象流条目的时间字段中。本专利技术还揭示了一种提高大象流流表利用率的装置,包括接收模块,用于接收数据包;第一判断模块,用于判断所述数据包是否为大象流;流表查询模块,用于在第一判断模块判断结果为大象流时,查找大象流流表;第二判断模块,用于根据查找结果判断所述大象流是否已存在大象流流表中;第三判断模块,用于在判断结果为不存在时,判断所述大象流是否与大象流表中已存在的大象流冲突;老化处理模块,用于在判断结果为冲突时,获取大象流流表中与所述大象流冲突的大象流的驻留时间,并将驻留时间最大的大象流进行提前老化处理。优选地,所述流表查询模块包括数据包解析模块,用于对接收到的数据包进行解析获取五元组信息;查找键值模块,用于根据五元组信息生成流表查找键值;索引模块,用于根据流表查找键值和本原多项式生成用于查找大象流流表的索引值,并根据索引值查找大象流流表。优选地,还包括信息更新模块,用于在第二判断模块判断大象流存在大象流流表中时,更新当前大象流在大象流流表中的状态信息。优选地,还包括学习模块,用于在第三判断模块判断当前大象流与大象流表中已存在的大象流不冲突时将当前大象流学习到相应的大象流条目中。本专利技术的有益效果是:。(1)通过记录大象流流表中每个大象流的存活时间,在接收到新的大象流时查找大象流流表,并判断大象流流表中是否存在与其相冲突的大象流,并在存在冲突时使冲突的大象流中存活时间最长的大象流提前老化,以使新的大象流能够被学习到大象流流表中,从而提高大象流流表的利用率。(2)充分利用物理存储资源,减小芯片设计的尺寸,降低生产成本。附图说明图1是本专利技术的方法流程图示意图;图2是本专利技术的索引值计算示意图;图3是本专利技术的大象流流表结构示意图;图4是本专利技术的流程图示意图;图5是本专利技术的装置结构框图示意图。具体实施方式下面将结合本专利技术的附图,对本专利技术实施例的技术方案进行清楚、完整的描述。本专利技术所揭示的一种提高大象流流表利用率的方法及装置,通过记录大象流流表中每个大象流的存活时间,在接收到新的大象流时查找大象流流表,并判断大象流流表中是否存在与其相冲突的大象流,并在存在冲突时使冲突的大象流中存活时间最长的大象流提前老化,以使新的大象流能够被学习到大象流流表中,从而提高大象流流表的利用率。结合图1~图4所示,一种提高大象流流表利用率的方法,包括如下步骤:步骤S100,接收数据包并判断所述数据包是否为大象流;具体地,在数据中心网络中,大部分是老鼠流,其占用数据中心网络少量的带宽,而少量的大象流,其占用数据中心网络大量的带宽。实施时,可通过EFD(ElephantFlowDetector,大象流检测器)判断接收到的数据包是否为大象流。EFD可根据流所占带宽的比重等方法判断其是否为大象流,当然,也可以根据其他方式判断接收到的数据包是否为大象流,如大象流的种类(如五元组)相对老鼠流较少,据此可判断是否为大象流。具体实施时,EFD可基于软件实现大象流的检测,如基于Server端的管理组件实现大象流的检测,也可基于硬件实现大象流的检测,如基于网络交换机中的交换芯片实现大象流的检测。本实施例中,EFD优选基于硬件实现大象流的检测。S200,在判断结果为大象流时,查找大象流流表;具体地,大象流流表用于记录EFD检测出的大象流。实施时,大象流流表可由存储在若干个物理存储器中的大象流流表组成,每个物理存储器中的大象流流表在横向上可存放若干个大象流条目,每个大象流条目用于记录大象流的信息,如五元组信息和统计信息,其中,五元组信息包括源IP地址、目的IP地址、四层源端口、四层目的端口和协议号,统计信息包括大象流驻留时间信息等。结合图2和图3所示,本实施例中以大象流流表由存储在四块物理存储器(分别记为大象流流表L1、大象流流表L2、大象流流表L3和大象流流表L4)中的大象流流表组成,每个物理存储器中的大象流流表在横向上可存放两个大象流条目为例,对如何查找大象流流表进行详细的说明。当判断结果为大象流时,首先,对接收到的数据包进行解析获取五元组信息;其次,根据五元组信息生成流表查找键值;最后,根据流表查找键值和本原多项式生成用于查找大象流流表的索引值,根据索引值查找大象流流表即可。本实施例中,由于使用4个物理存储器存储大象流流表,因此,使用4个本原多项式进行索引值的计算,每个索引值均对应一物理存储器。同理,当使用N个物理存储器存储大象流流表时,使用N个本原多项式进行计算索引值,N为大于或等于1的整数。通过选用本原多项式可降低哈希的冲突率。具体地,对接收到的数据包解析后可获得五元组信息本文档来自技高网...

【技术保护点】
1.一种提高大象流流表利用率的方法,其特征在于,包括如下步骤:S100,接收数据包并判断所述数据包是否为大象流;S200,在判断结果为大象流时,查找大象流流表;S300,根据查找结果判断当前大象流是否已存在大象流流表中;S400,在判断结果为不存在时,进一步判断当前大象流是否与大象流流表中已存在的大象流冲突;S500,在判断结果为冲突时,获取大象流流表中与当前大象流冲突的大象流的驻留时间,将驻留时间最长的大象流进行提前老化处理,进一步将当前大象流学习至大象流流表中。

【技术特征摘要】
1.一种提高大象流流表利用率的方法,其特征在于,包括如下步骤:S100,接收数据包并判断所述数据包是否为大象流;S200,在判断结果为大象流时,查找大象流流表;S300,根据查找结果判断当前大象流是否已存在大象流流表中;S400,在判断结果为不存在时,进一步判断当前大象流是否与大象流流表中已存在的大象流冲突;S500,在判断结果为冲突时,获取大象流流表中与当前大象流冲突的大象流的驻留时间,将驻留时间最长的大象流进行提前老化处理,进一步将当前大象流学习至大象流流表中。2.根据权利要求1所述的方法,其特征在于,在步骤S100中,通过大象流检测器判断接收到的数据包是否为大象流。3.根据权利要求1所述的方法,其特征在于,在步骤S200中,所述查找大象流流表包括如下步骤:S201,解析数据包,获取五元组信息;S202,根据所述五元组信息生成流表查找键值;S203,根据本原多项式和所述流表查找键值生成用于查找大象流流表的索引值,进一步根据所述索引值查找大象流流表获得用于存储大象流信息的大象流条目。4.根据权利要求3所述的方法,其特征在于,在步骤S300中,通过将所述流表查找键值与查找到的大象流条目中记录的信息进行匹配,若匹配,则当前大象流已存在大象流流表中。5.根据权利要求3所述的方法,其特征在于,在步骤S400中,通过判断查找到的大象流条目是否为空以判断当前大象流是否与大象流流表中已存在的大象流冲突。6.根据权利要求1所述的方法,其特征在于,在步骤S500中,大象流的驻留时间通过如下步骤计算:步骤S...

【专利技术属性】
技术研发人员:周伟方沛昱崔兴龙
申请(专利权)人:盛科网络苏州有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1