一种多级流表优先级调整方法

文档序号:8489950阅读:447来源:国知局
一种多级流表优先级调整方法【
技术领域
】[0001]本发明涉及计算机
技术领域
,具体地说是一种多级流表优先级调整方法。【
背景技术
】[0002]近年来,随着云计算和大数据时代的来临,软件定义网络(SDN)逐渐被学术界和产业界所关注。在SDN领域中,数据层、控制层,以及应用层的三层构架体系逐渐被人们所接受,特别是,openflow协议逐渐成为公认的南向接口协议。Openflow协议是一个典型的交换机设备规范协议,它规定了openflow交换机的结构以及遵守的规则。[0003]每个OpenFlow交换机的处理单元由流表构成,每个流表由许多流表项组成,流表项则代表转发规则。进入交换机的数据包通过查询流表来取得对应的操作。为了提升流量的查询效率,目前的流表查询通过多级流表和流水线模式来获得对应操作。流表项主要由匹配字段(matchfields)、计数器(counters)和操作(instruct1ns)等3部分组成。匹配字段的结构包含很多匹配项,涵盖了链路层、网络层和传输层大部分标识。[0004]随着OpenFlow规约的不断更新,VLAN,MPLS和IPv6等协议也逐渐扩展到OpenFlow标准当中。由于OpenFlow交换机采取流的匹配和转发模式,因此在OpenFlow网络中将不再区分路由器和交换机,而是统称为OpenFlow交换机。另外,计数器用来对数据流的基本数据进行统计,操作则表明了与该流表项匹配的数据包应该执行的下一步操作。[0005]如图1所示,OpenFlow交换机中,所有的转发规则都被组织在不同的OpenFlow流表中,而属于同一个流表中的规则,则按照相应的优先级顺序进行匹配。OpenFlow交换机中可以包含一个或者多个流表,这些流表被从O开始依次编号。[0006]当数据包进入交换机后,将从流表O开始依次匹配,在后续处理中流表可以按次序从小到大越级跳转,但不能从某一流表向前跳转至编号更小的流表。流表项将以优先级高低的顺序与数据包进行匹配,当数据包成功匹配到一条流表项后,会首先更新该流表项对应的计数器记录的统计数据(例如发生成功匹配的数据包数量和总字节数等),然后根据流表项中的指令进行相应操作(例如跳转至后续的某一流表继续处理、修改或者立即执行该数据包对应的动作集合等)。当数据包已经处于最后一个流表时,其对应的动作集合(Act1nSet)中的所有动作指令将被执行(例如转发至某一端口、修改数据包某一字段、丢弃数据包等)。[0007]多流表流水线处理的架构和流程能够有效地提升流表处理效率,但它也使得交换机的流表匹配时延增加,同时提高了数据流量生成及维护的算法复杂度。基于此,现提供一种加快流表匹配的速度的多级流表优先级调整方法。【
发明内容】[0008]本发明的技术任务是针对在现有技术的不足,提供一种多级流表优先级调整方法。[0009]本发明的技术方案是按以下方式实现的,该一种多级流表优先级调整方法,具体过程为:首先openflow交换机将流表的匹配情况封装成信息,控制器查询到该统计信息;根据该统计信息,控制器通过规则库修改已有流表的优先级,并向交换机更新流表,使交换机的流表能够与已有数据包的匹配信息吻合。[0010]所述流表的匹配情况是指流表中的计数器记录的各个流表匹配数据包的个数,匹配数据包越多的流表优先级越高。[0011]所述优先级修改规则包括以下内容:一、将优先级的数字区间设置为[0,100],划分为5个模糊等级:随意项、一般、重要、十分重要、紧急,每个等级具有20个数字项,数字越高优先级越高;二、当交换机转发100个数据包,某流表中计数器记录的匹配数据包数量超过50时,该流表的优先级加I;三、当交换机转发100个数据包,某流表中计数器记录的匹配数据包数量不超过10时,该流表的优先级减I;四、当交换机转发100个数据包,某流表中计数器记录的匹配数据包数量超过10,不超过50时,该流表的优先级不变;五、当某一流表在某一模糊等级中达到最大值或最小值就不再变化时,确保该流表的优先级在某一等级的区间内。[0012]基于上述优先级修改规则,该方法的具体实现过程为:控制器给交换机下发流表时,各个流表的优先级根据规则一手动给出;当数据包进入交换机后,计数器记录各个流表的匹配情况,控制器根据规则二、三、四、五组成的优先级规则库,对现有的流表优先级进行调整;当新的数据包进入交换机时,数据包根据新的流表进行数据匹配和转发。[0013]本发明与现有技术相比所产生的有益效果是:本发明的一种多级流表优先级调整方法能够增强流表匹配域配置的灵活性,加快流表匹配的速度,提高基于流表转发数据包的效率和速度,实用性强,易于推广。【附图说明】[0014]附图1是OpenFlow交换机中进入流水线处理数据包过程图。[0015]附图2是本发明的多级流表优先级调整流程图。【具体实施方式】[0016]下面结合附图对本发明所提供的一种多级流表优先级调整方法作以下详细说明。[0017]针对现有的多流表流水线处理方式,当数据包进入交换机之后,将从流表O开始依次匹配,但不能从某一流表向前跳转至编号更小的流表,并且流表项将以优先级高低的顺序与数据包进行匹配。可以看出,流表中的匹配字段和优先级共同决定了唯一的流表项。同时,匹配字段源于数据包的关键字,而优先级则被控制器下发到交换机时确定,优先级在交换机内无法改变,如果在数据转发过程中提高有价值流表的优先级,这肯定会提高交换机内流表的匹配速度,本发明提出一种多流表优先级的自动调整方法,该方法采用划分等级的方式,防止优先级较高的流表过于集中、单一。[0018]事实表明,与数据包匹配越多的流表越有价值,通过流表中的计数器可以方便记录各个流表匹配数据包的个数,如果匹配数据包越多的流表优先级越高,对于提高交换机数据转发速度是有帮助的。[0019]如附图2所示,该方法的具体过程为:首先openflow交换机将流表的匹配情况(计数器信息)封装成信息,控制器通过read-state信息查询到统计信息,然后控制器通过规则库修改已有流表的优先级,并向交换机更新流表。至此,交换机的流表能够与已有数据包的匹配信息吻合,更加有利于提高数据包的转发速度。[0020]所述流表的匹配情况是指流表中的计数器记录的各个流表匹配数据包的个数,匹配数据包越多的流表优先级越高。[0021]所述优先级修改规则包括以下内容:规则一:优先级的数字区间为[0,100],划分为5个模糊等级(随意项,一般,重要,十分重要,紧急),那么每个等级具有20个数字项,数字越高优先级越高。数字O用于table-miss的行为。[0022]规则二:当交换机转发100个数据包,某流表中计数器记录的匹配数据包数量超过50时,该流表的优先级加I。[0023]规则三:当交换机转发100个数据包,某流表中计数器记录的匹配数据包数量不超过10时,该流表的优先级减I。[0024]规则四:当交换机转发100个数据包,某流表中计数器记录的匹配数据包数量超过10,不超过50时,该流表的优先级不变。[0025]规则五:确保流表的优先级在某一等级的区间内,除非有特殊情况使之升级或者降级。那么,某一流表在某一模糊等级中最多达到最大值或最小值就不再变化。[0026]基于上述优先级修改规则,该方法的具体实现过程为:控制器给交换机下发流表时,各个流表的优先级根据规则一手动给出;当数据包进入交换机后,计数器记录各个流表的匹配情况,控制器根据规则二、三、四、五组成的优先级规则库,对现有的流表优先级进行调整;当新的数据包进入交换机时,数据包根据新的流表进行数据匹配和转发。[0027]除说明书所述的技术特征外,均为本专业技术人员的公知技术。【主权项】1.一种多级流表优先级调整方法,其特征在于,具体过程为,首先openflow交换机将流表的匹配情况封装成信息,控制器查询到该统计信息;根据该统计信息,控制器通过规则库修改已有流表的优先级,并向交换机更新流表,使交换机的流表能够与已有数据包的匹配信息吻合。2.根据权利要求1所述的一种多级流表优先级调整方法,其特征在于,所述流表的匹配情况是指流表中的计数器记录的各个流表匹配数据包的个数,匹配数据包越多的流表优先级越尚。3.根据权利要求1或2所述的一种多级流表优先级调整方法,其特征在于,所述优先级修改规则包括以下内容:一、将优先级的数字区间设置为[0,100],划分为5个模糊等级:随意项、一般、重要、十分重要、紧急,每个等级具有20个数字项,数字越高优先级越高;二、当交换机转发100个数据包,某流表中计数器记录的匹配数据包数量超过50时,该流表的优先级加I;三、当交换机转发100个数据包,某流表中计数器记录的匹配数据包数量不超过10时,该流表的优先级减I;四、当交换机转发100个数据包,某流表中计数器记录的匹配数据包数量超过10,不超过50时,该流表的优先级不变;五、当某一流表在某一模糊等级中达到最大值或最小值就不再变化时,确保该流表的优先级在某一等级的区间内。4.根据权利要求3所述的一种多级流表优先级调整方法,其特征在于,基于上述优先级修改规则,该方法的具体实现过程为:控制器给交换机下发流表时,各个流表的优先级根据规则一手动给出;当数据包进入交换机后,计数器记录各个流表的匹配情况,控制器根据规则二、三、四、五组成的优先级规则库,对现有的流表优先级进行调整;当新的数据包进入交换机时,数据包根据新的流表进行数据匹配和转发。【专利摘要】本发明提供一种多级流表优先级调整方法,其具体实现过程为:首先openflow交换机将流表的匹配情况封装成信息,控制器查询到该统计信息;根据该统计信息,控制器通过规则库修改已有流表的优先级,并向交换机更新流表,使交换机的流表能够与已有数据包的匹配信息吻合。该多级流表优先级调整方法和现有技术相比,有效增强流表匹配域配置的灵活性,加快流表匹配的速度,提高基于流表转发数据包的效率,实用性强,易于推广。【IPC分类】H04L12-741【公开号】CN104811384【申请号】CN201510220003【发明人】钟超群,吴登勇,陈乃阔【申请人】山东超越数控电子有限公司【公开日】2015年7月29日【申请日】2015年5月4日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1