Savi交换机过滤表生存期参数自适应调整方法

文档序号:7853528阅读:393来源:国知局
专利名称:Savi交换机过滤表生存期参数自适应调整方法
技术领域
本发明涉及计算机网络管理技术领域,特别涉及ー种SAVI交換机过滤表生存期參数自适应调整方法。
背景技术
SAVI (Source Address Validation Improvements,源地址验证方案)提供了一种主机级别的源地址验证方案,该方案被部署在接入设备上。SAVI交换机进行源地址验证的核心思想是通过监听与IPv6地址分配有关的网络协议报文,将主机通过合法方式配置的IPv6地址、该网卡的MAC地址以及上连端口号存到交换机的绑定表中,并下载到交换机的过滤表中。每当下连端ロ有报文通过时,交換机会查询该过滤表以确定该报文是否可以通过。这些过滤表都是使用TCAM等硬件,由于硬件资源价格比较昂贵,同时接入层交换机等设备的价格又不能太高,因此过滤表项的数量通常非常有限,通常只能支持几百个过滤表项。交換机会为过滤表中的每个表项设置生存期,当生存期满时,交換机会发送NS请求(Neighbor Solicitation,邻居请求)来判断该表项对应的主机是否还存活。SAVI交換机的部署方式分为级联和非级联两种,如图I所示。级联部署方式是SAVI交換机下连其它普通交換机,如图I (a)所示,而非级联部署方式是SAVI交換机下直接连接主机,如图I (b)所示。对于非级联的部署场景,交換机能够检测到接入端ロ的down事件,从而迅速将与该端ロ相关的过滤表项删除。然而这种方式在级联部署的情况下并不可行,因为此时SAVI交換机下连的是普通交換机,而该交換机通常不会断电,从而SAVI交换机无法检测到端ロ的down事件。因此只有等待过滤表项的生存期满后,交換机针对该表项进行确认过程时,才会发现该表项对应的主机已经离开,从而将该表项删除。因此,在级联部署方式下,对过滤表项生存期參数设置ー个合理的值是非常重要的。如果该值设置的太小,那么每个过滤表项每次生存期满后交換机都要进行确认过程,这将增加交换机的负载,同时也会消耗一定的网络带宽;而如果该值设置的太大,则交换机就不能及时的检测到用户的离开,因此无用的过滤表项就会占用宝贵的过滤表资源。更糟糕的是,如果过滤表被填满,那么新的过滤表项将无法被填入,导致合法的报文也被丢弃,从而引起网络拒绝服务的严重后果。

发明内容
本发明的目的g在至少解决上述技术缺陷之一,特别提出ー种SAVI交換机过滤表生存期參数自适应调整方法,该方法可以对过滤表生存期參数进行动态调整。为达到上述目的,本发明的实施例提出了ー种SAVI交換机过滤表生存期參数自适应调整方法,包括如下步骤设置SAVI交換机的过滤表生存期參数,在所述过滤表生存期參数内收集预设エ 作周期时间内所述SAVI交換机的用户在线记录和所述SAVI交換机的过滤表的负荷状态;
根据所述SAVI交換机的用户在线记录和过滤表的负荷状态,获得多个备选过滤表生存期參数值;从所述多个备选过滤表生存期參数值中,选取初始过滤表生存期參数最优值,并设置过滤表项数调整阈值;在所述SAVI交换机运行的每个所述工作周期时间的第一个采样点,基于上ー个工作周期时间过滤表的运行情况,计算本工作周期时间的过滤表生存期參数最优值;以及在所述工作周期时间的每个采样点,计算所述过滤表的平均表项数,并将所述过滤表的平均表项数与过滤表项数调整阈值进行比较,井根据比较结果实时调整所述过滤表生存期參数,其中,在当前采样点,当所述过滤表的平均表项数大于所述过滤表项数调整阈值时,将当前过滤表生存期參数值迅速调小;反之,如果在当前采样点,当所述过滤表的平 均表项数小于所述过滤表项数调整阈值,且上一采样点的过滤表生存期參数小于所述过滤表生存期參数的最优值时,将当前过滤表生存期參数值调大,但是该值不允许超过所述过滤表生存期參数的最优值。根据本发明实施例的SAVI交換机过滤表生存期參数自适应调整方法,可以在SAVI交换机在非级联的部署方式下,根据SAVI交换机中过滤表项数的变化对过滤表项生存期參数进行动态调整,在保证交换机过滤表在任何时间都不会被填满的前提下尽可能减少交换机对过滤表项的重复确认次数。本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。


本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中图I (a)为SAVI交换机的非级联部署方式的示意图;图I (b)为SAVI交換机的级联部署方式的示意图;图2为本发明实施例的SAVI交換机过滤表生存期參数自适应调整方法的流程图;图3为本发明实施例的各种配置情况下过滤表项数的⑶F曲线;图4为本发明实施例的各种配置情况下Avgrc的⑶F曲线;图5为本发明实施例的各种配置情况下Rw的⑶F曲线;图6为本发明实施例的高负载的SAVI交換机三周内过滤表项数和生存期參数值随时间的变化情况;图7为本发明实施例的低负载的SAVI交換机三周内过滤表项数和生存期參数值随时间的变化情况;图8为本发明实施例的高负载的SAVI交換机在一个突发时间段内过滤表项数和生存期參数值随时间的变化情況;以及图9为本发明实施例的低负载的SAVI交換机在一个突发时间段内过滤表项数和生存期參数值随时间的变化情況。
具体实施例方式下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过參考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本发明。此外,本发明可以在不同例子中重复參考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。此夕卜,本发明提供了的各种特定的エ艺和材料的例子, 但是本领域普通技术人员可以意识到其他エ艺的可应用于性和/或其他材料的使用。另外,以下描述的第一特征在第二特征之“上”的结构可以包括第一和第二特征形成为直接接触的实施例,也可以包括另外的特征形成在第一和第二特征之间的实施例,这样第一和第二特征可能不是直接接触。在本发明的描述中,需要说明的是,除非另有规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。參照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述和附图中,具体公开了本发明的实施例中的ー些特定实施方式,来表示实施本发明的实施例的原理的ー些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。如图2所示,根据本发明的实施例的SAVI交換机过滤表生存期參数自适应调整方法,包括以下步骤SlOl :设置SAVI交換机的过滤表生存期參数,在过滤表生存期參数内收集预设エ作周期时间内SAVI交換机的用户在线记录和SAVI交換机的过滤表的负荷状态在本发明实施例中,将工作周期时间设置为ー个星期,即7天。需要理解的是,上述的ー个星期的工作周期时间示例只是为了便于对本发明实施例进行说明,而不应理解为对本发明的限制。首先对如下几个概念进行说明(I)过滤表耗尽率(R0):设在一段时间内有Na个采样周期,其中如果有N。个采样周期过滤表的资源被耗尽,则定义=$。(2)过滤表无用资源占用率(Rw):设在一段时间内,所有的过滤表项被从I到η标记。如果ー个过滤表项i在らi时间点被添加到过滤表中,在^时间点被删除,而与该过滤表项关联的主机在ん时间点离开网络,则定义5^ = Σ =ι(^2 _ hi) = Σ = (^2 — hi) _ Sa。(3)平均重复确认次数(Avglie):在一段时间内,所有的过滤表项被从I到η标记。如果ー个过滤表项生存期满,则SAVI交换机会发送NS请求给对应的主机。如果该源地址仍然被使用,则主机会用NA (neighbor advertisement)消息响应。在收到响应消息后,交换机会按照当前配置的生存期參数值重置该表项的生存期。例如,如果配置的生存期參数值为5分钟,而一台主机的在线时间是17分钟,那么交換机针对该表项一共会进行4次确认过程,其中在理想环境下只有一次是必须的,因此针对该表项的重复确认次数是3次。针
对表项i的重复确认次数被记为,而平均重复确认次数被定义为随着配置的过滤表生存期參数值的増加,尽管AvgD。会減少,但是Rw会増加,同时Ro>0的可能性也会増加。ル>0意味着网络在某个时间段内发生过由于过滤表被填满而导致新的用户连网被拒绝的情況。在SAVI交换机运行的某段时间内,如果V0,Rw很大,而Avgrc很小,可以得出在某些时间段内,过滤表被填满,并很有可能发生过拒绝服务的情況,然而很多过期无用的表项占用了有限的过滤表资源。因此需要调整生存期配置參数,将其变成较小值。在SAVI交换机运行的某段时间内,如果ル>0,Rw很小,而Avgrc很大,可以得出在某些时间段内,过滤表被填满,但是由于Avglic很大并且Rw很小,因此为过滤表生存期配置參数选择ー个较小值将对减轻过滤表的负担贡献很小。这种情况主要是由于下连主机使用 了太多的过滤表项。为了发现这种异常情况,利用运行监控模块分析采集到的用户记录来发现是否存在多个过滤表项都有同样的MAC地址。如果存在,则该运行监控模块会自动调整连接该异常主机的端ロ所允许产生的过滤表项数上限;如果不存在,则该交換机确实运行在高负载的情况下,因此发出警报,建议管理员部署新的SAVI交換机来分担负载。在SAVI交换机运行的某段时间内,如果Rtj=O,Avgnc很小,可以得出该SAVI交换机运行在ー个良好的状态下。将求解每台交換机初始最优生存期參数值可以被建模成如下最优化问题,如式I至式3,该最优化问题虽然没有直接将Rw作为ー个限制条件,但是由于Rw与ル密切相关,对ル进行约束,相当于间接地对Rw做了约束,因此这里为了对问题进行简化,只将ル作为限制条件。Min Avgcc (t)(I)s. t. Ro(t)=0(2)Minlifelime 彡 t 彡 Maxlifelime(3)Avgrc⑴和ル⑴分别代表当生存期配置參数值被设成t时指标Avgrc和Rq的值,而且出于安全性以及性能上的考虑,t不能超过Maxlifetime,也不能低于Minlifetime,而Maxlifetime和Minlifetime的值则由网络管理员设定。随着Rw值的增加,ル>0的可能性也会増加。为了保证R0=O,当选择最优的生存期配置參数值吋,Rw的值需要尽量小。因此进ー步将上述的最优化问题转换成下面的多目标最优化问题,如式4至式6。即获得多个备选过滤表生存期參数值。同-Rw(t)代表当生存期配置參数值被设成t时指标Rw的值。Min Avgcc (t)(4)Min Rw(t)(5)s. t. Minlifelime 彡 t 彡 Maxlifelime(6)通过将过滤表生存期配置參数设置成一个很小的值来收集ー个星期内用户比较准确的在线记录,即每个用户的上线和下线时间,以及其上线的地点等,用户在线记录可以通过对过滤表中表项的采集并分析得出。因为将过滤表生存期配置參数设置成较小值,因此在级联部署的情况下SAVI交換机也能够尽快删除过滤表中过期无用的表项,因此SAVI网管系统采集到的用户在线记录是近似于准确描述实际情况的。然后可以基于这一星期的用户在线记录,找出每台SAVI交換机的初始最优生存期配置參数值。在本发明的一个实施例中,设置SAVI交换机的过滤表生存期參数为5分钟。S102 :根据SAVI交換机的用户在线记录和过滤表的负荷状态,获得备选过滤表生存期參数值的集合。 为了解决上述问题,在本步骤中为过滤表项数设置ー个调整阈值,该值可以由管理员根据网络实际负载进行设置。在本发明的一个实施例中,设置过滤表项数调整阈值,包括设置影响过滤表项平均值的权重、过滤表的总容量、生存期參数允许的最大值、采样周期,以及第ー阈值次数。获得多个备选过滤表生存期參数值分为两种情況第一种情况对于小于或等于Maxlifetime,且大于或等于Minlifetime,且能够被采样周期Psampling整除的所有值,分别作为配置的生存期參数值,并对于上述每ー个生存期參数值,进行如下处理首先将过滤表平均表项数超额次数设置为O。在预设工作周期时间内的每个采样点,计算其平均过滤表项数,并将该值与过滤表项数调整阈值比较,如果平均过滤表项数超过阈值,则将过滤表平均表项数超额次数加1,如果对于预设工作周期时间内的每个采样点计算后,过滤表平均表项数超额次数小于第一阈值次数,则将其加入到备选过滤表生存期參数值的集合中。第二种情况如果对于第一种情況,计算出来的备选过滤表生存期參数值的集合为空,则说明对于小于或等于Maxlifetime,且大于或等于Minlifetime,且能够被采样周期Psampling整除的所有值都不能满足在预设工作周期时间内过滤表平均表项数超额次数小于第一阈值次数,此时先将小于或等于Maxlifetime,且大于或等于Minlifetime,且能够被采样周期Psampling整除的所有值都加入到备选过滤表生存期參数值的集合中。S103 :从备选过滤表生存期參数值的集合中,选取初始过滤表生存期參数最优值。下面对计算初始最优过滤表生存期參数步骤进行详细说明。同样计算初始最优过滤表生存期參数值也分为两种情况,分别对应于S102中的两种情況。第一种情况对于备选过滤表生存期參数值的集合中的每ー个元素,将其作为生存期參数值后,对于在预设工作周期时间内计算该交換机的平均重复确认次数(AvgD。),选择Avglie最小的值作为初始最优过滤表生存期參数值。如果有多个值对应的Avglie相等,则再计算这些值对应的过滤表无用资源占用率(Rw),从这些值中选择Rw最小的值作为初始最优过滤表生存期參数值。第二种情况对于备选过滤表生存期參数值的集合中的每ー个元素,将其作为生存期參数值后,对于在预设工作周期时间内计算该交換机的过滤表无用资源占用率(Rw),选择Rw最小的值作为初始最优过滤表生存期參数值。如果有多个值对应的Rw相等,则再计算这些值对应的平均重复确认次数(Avglie),从这些值中选择Avgrc最小的值作为初始最优过滤表生存期參数值。在本发明的实施例中,S101 S103步骤的执行过程被部署在SAVI交换机网管系统中。针对每台SAVI交换机计算出初始最优过滤表生存期參数后,该值将被配置到每台SAVI交換机。S104 :在SAVI交换机运行的每个所述工作周期时间的第一个采样点,基于上ー个工作周期时间过滤表的运行情况,计算本工作周期时间的过滤表生存期參数最优值。当所述SAVI交換机在上ー个工作周期时间内,过滤表平均表项数超额次数小于预设的所述第一阈值次数,且上ー个工作周期时间内所述过滤表生存期參数的最优值小于所述过滤表生存期參数允许的最大值时,将上一工作周期过滤表生存期參数的最优值加上一个采样周期时间,作为当前工作周期的过滤表生存期參数最优值。当所述SAVI交換机在上ー个工作周期时间内,过滤表平均表项数超额次数大于或等于预设的所述第一阈值次数,且上ー个工作周期时间内所述过滤表生存期參数的最优值大于所述过滤表生存期參数允许的最小值时,将上一工作周期过滤表生存期參数的最优值减去一个采样周期时间,作为当前工作周期的过滤表生存期參数最优值。、
对于动态调整阶段,每个交換机过滤表生存期參数最优值在ー个工作周期时间内只有ー个,相当于ー个基准。大多数时间过滤表的实际生存期參数值均为该过滤表生存期參数最优值。当出现突发情况时,实际生存期參数值才会调整,突发过去后,该值还会逐渐调整回“最优值”,而为了保证“最优值”这个基准会随着实际运行而进行调整,所以在每个工作周期时间的第一个采样点,要根据上ー个周期中的实际运行情况进行微调。S105 :在工作周期时间的每个采样点,计算过滤表的平均表项数,并将过滤表的平均表项数与过滤表项数调整阈值进行比较,井根据比较结果实时调整过滤表生存期參数。具体地,通过监控SAVI交换机当前的过滤表项数,计算过滤表的平均表项数,而过滤表的平均表项数的定义见式(7),其中avgs表示在采样点S时的过滤表的平均表项数;aVgs_i表示在采样点S-I时计算出来的过滤表的平均表项数表示过滤表生存期參数配置成lifetime,在采样点s时的过滤表项数;wn为ー个百分比权值,由管理员指定,用来调节历史数据(avgy)在计算avgs时的影响。为了避免极短时间内的突发性,在计算过滤表的平均表项数时采用了与历史数据求加权平均的方法。avgs = (I - Wn) · avgs_t + wn . Nffetime (7)如果过滤表的平均表项数超过了管理员配置的阈值,则当前的生存期參数被调整成较小的值,具体该值的计算方法见式(8),其中avgsi利用式(7)在采样点s时计算出来的过滤表的平均表项数,Iifetimes表示在采样点s时应该使用的过滤表生存期參数值,lifetime^表示在采样点s_l时已经使用的过滤表生存期參数值;否则为当前的生存期參数值加上一个采样周期时间(Psampling),该采样周期时间是指代理轮询过滤表项数的周期,即Iifetimes=Iifetimes-Jpsamplini^而最优值则是生存期參数值的上限。Ufethnes =-— · Lifetimes^1(8)其中,Iifetimes为当前采样点的过滤表生存期參数,C为过滤表的总容量,avgs为过滤表当前的平均表项数,lifetime^为上ー采样点的过滤表生存期參数。在当前采样点,当过滤表的平均表项数小于过滤表项数调整阈值,且上一采样点的过滤表生存期參数小于所述过滤表生存期參数的最优值时,将上一采样点的过滤表生存期參数加上采样周期时间,设置为当前采样点的过滤表生存期參数。在本发明的一个实施例中,步骤S104和步骤S105在每台SAVI交换机的代理中实现。下面对初始过滤表生存期參数最优值的选取和对过滤表生存期參数的实时调整的详细步骤进行说明。I、选取初始过滤表生存期參数对于每台SAVI交換机在SAVI网管系统中都执行以下调整步骤步骤(I):管理员设置如下參数Wn :影响过滤表项平均值的权重;C :过滤表的总容量;β :调整阈值(总容量的百分比); Maxlfetiffle::生存期配置參数可取的最大值;Minlifetiffle::生存期配置參数可取的最小值;Psampling :采样周期(以分钟为单位);Total : 一个星期的总分钟数;Countmax :对于某个生存期參数值,一周内该交换机允许过滤表的平均表项数超过阈值β · C的次数。步骤⑵初始化如下參数Settime :可选的过滤表生存期值的集合,该集合中的元素小于Maxlifetime,大于Minlifetime,冋时 gを够被 PsampIing 整除。Setsampling :ー个星期内所有采样点的时间集合,每个元素以分钟为单位,即每个元素都小于Total,同时能够被Psampling整除。Candidatelifetime :算法执行时的中间结果集合,初始为空。步骤(3):对于Settime集合中的每ー个元素t,依次执行以下步骤步骤(3. I):将count变量设成O,该变量用来表示对于元素t,该交换机在这一周内的平均过滤表项数大于或等于阈值β · C的次数。步骤(3. 2):对于Setsampling集合中的每ー个元素S,依次执行以下步骤步骤(3.2.1):如果s等于0,即在第一个采样点时,过滤表平均表项数avg等于八ぴ,其中iVsf表示如果过滤表生存期參数配置成t,在采样点s时的过滤表项数;如果s不等于0,即不在第一个采样点吋,avg等于如下结果1减去Wn后乘以上一个采样点时计算的avg,最后再加上Wn-^iVt步骤(3. 2. 2):如果步骤(3. 2. I)中计算出来的avg大于阈值β · C,则将count变量加I。步骤(3. 2. 3):如果count大于或者等于countmax,则说明如果将生存期參数配置成t,过滤表被填满的概率很大,因此结束步骤3. 2。步骤(3.3):如果经过步骤(3.2)后,count变量仍小于Countmax,则说明从这一周的用户在线记录来看,选择t作为生存期參数值时,过滤表被填满的概率较小,可以将t作为ー个备选值,因此将t加入到Candidatelifetime集合中。步骤⑷如果Candidatelifetime集合不为空,说明经过步骤(3)后,根据一周的用户在线记录,已经选出了一系列备选的生存期參数值,当使用这些值进行配置时,过滤表被填满的概率都较小。
从这一系列备选值中选出最优的ー个值,因此依次执行以下步骤步骤(4.I):将如^ぎ_〖设成无穷大,如^fmai表示当生存期參数值配置成optimal时,在一周内过滤表项的平均 重复确认次数。步骤(4.2):对于Candidatelifetime集合中的每ー个元素t,依次执行以下步骤步骤(4. 2. I):基于一周内的用户在线记录,计算表示当生存期參数值配置成t时,在一周内过滤表项的平均重复确认次数。步骤(4. 2. 2):如果小于如冗fmai,则说明当选取t作为生存期參数值吋,比选取optimal时的平均重复确认次数要小,因此将optimal重新设成t,同时将Avg^timal
重新设成。步骤(4.2.3):如果如等于如沒忠1·へ则说明当选取t和optimal作为生存期參数值时,从平均重复确认次数(AvgD。)这一指标来看,二者是等价的,此时考虑过滤表无用资源占用率(Rw)这ー过滤表运行指标。因此依次执行以下步骤步骤(4. 2. 3. I):基于一周内的用户在线记录,分别计算路和/4pti—,其中/^和分别表示当生存期參数值被配置成t和optimal时,在一周内过滤表的无用资源占用率。步骤(4. 2. 3. 2):如果ヽ于,则说明选取t作为生存期參数值吋,从过滤表无用资源占用率(Rw)这一指标来看要优于选取optimal。因此将optimal重新设成t。步骤(5):如果Candidatelifetime集合为空,则说明经过步骤⑶后,根据一周的用户在线记录,发现从Settime集合中选取任何ー个元素作为生存期參数值,都不能保证在任何一个采样点,平均过滤表项数avg小于阈值β · C,即任何ー个值作为生存期參数值都有可能导致在某个采样点过滤表被填满的概率较高,这种情况可能是由于交換机下接入的用户数较多造成的。此时只能选取ー个值,使得Rw尽可能的小,即尽可能提高过滤表的使用效率。因此依次执行以下步骤步骤(5. I):将设成无穷大,表示当生存期參数值配置成optimal时,在一周内过滤表的无用资源占用率。步骤(5.2):对于Settime集合中的每ー个元素t,依次执行以下步骤步骤(5. 2. I):基于一周内的用户在线记录,计算レ表示当生存期參数值被配置成t时,在一周内过滤表的无用资源占用率。步骤(5. 2. 2):如果路小于,则说明当选取t作为生存期參数值吋,比选取optimal时的过滤表无用资源占用率小,因此将optimal重新设成t,同时将,重新设成/ 步骤(5. 2. 3):如果路等于则说明当选取t和optimal作为生存期參数值时,从无用资源占用率(Rw)这一指标来看,二者是等价的,此时再次考虑平均重复确认次数(Avglic)这ー过滤表运行指标。因此依次执行以下步骤步骤(5. 2. 3. I):基于一周内的用户在线记录,分别计算如^;和ル^ff,其中ル和mai分别表示当生存期參数值被配置成t和optimal时,在一周内平均重复确认次数。步骤(5. 2. 3. 2):如果如^;小于如^,则说明选取t作为生存期參数值吋,从平均重复确认次数(AvgD。)这一指标来看要优于选取optimal。因此将optimal重新设成t。步骤(6):返回求出的optimal作为该SAVI交换机的初始最优生存期配置參数值,并通过自动配置脚本将该值配置到该SAVI交換机中。2、实时调整过滤表生存期參数该部分在每台SAVI交換机本身的软件代理中予以实现步骤(I):管理员通过配置设置如下參数
Wn :影响过滤表项平均值的权重;C :过滤表的总容量;Y :调整阈值(总容量的百分比);Maxlifetiffle :生存期配置參数可取的最大值;Minlifetiffle :生存期配置參数可取的最小值;Psampling :采样周期(以分钟为单位);Optimalinit :初始值选取阶段计算出的初始最优生存期參数值;count.:—周内该交换机过滤表的平均表项数超过阈值β · C次数的阈值。步骤⑵初始化如下參数Optimalcur :表示在当前一周内生存期參数的最优值,将其设成optimalinit.lifetime :当前采样点时SAVI交换机应该选取的生存期參数值,将其设成Optimalinitcount :该交换机在一周内的平均过滤表项数大于或等于阈值Y · C的次数,将其设成O。步骤(3):在交換机实际运行过程中,对于到达的采样点S,依次执行以下步骤步骤(3. I):如果s是某一周的第一个采样点,但不是交換机运行时的第一个采样点,则依次执行以下步骤步骤(3.I. I):如果 count 小于 Countmax,并且 Optimalcur 小于 Maxlifetime,贝丨J 说明通过该交換机上一周实际运行发现,该交換机过滤表的负载比原先预想的要低,因此将Optimaleur向上调整ー个采样周期Psampling,即将Optimaleur重新设成原Optimaleur加上PsampIing^但是Optimaleur不能超过Maxlifetime。并且将count重新初始化成O。步骤(3.I. 2):如果 count 大于或等于 countmax,并且 Optimalcur 大于 Minlifetime 贝丨J说明通过该交換机上一周实际运行发现,该交換机过滤表的负载比原先预想的要高,因此将optimal·向下调整ー个采样周期Psampling,即将optimal·重新设成原optimal·减去PsampIing^ 但是 Optimaleur 不能低于 Min
lifetime°
并且将count重新初始化成O。步骤(3. 2):如果s是交换机运行时的第一个采样点,则令过滤表的平均表项数avg等于Npfetime, iVsH/etime表示过滤表生存期參数配置成lifetime,在采样点s时的过滤表项数。步骤(3.3):令过滤表的平均表项数avg等于如下结果1减去Wn后乘以上ー个采样点时计算的avg,最后再加上Wn乘以JVffetime。步骤(3.4):如果过滤表的平均表项数avg大于阈值Y · C,说明在采样点S,过滤表的负载已经较重,需要迅速将生存期配置參数lifetime的值減少,从而让过期无用的过滤表项尽快被删除,从而降低过滤表的负载。因此将lifetime的值调整为如下值C减去avg后再除以C,最后再将结果与当前的lifetime值相乘。并且将该lifetime的值设置到生存期參数中,如果该结果小于Minlifetime,则将lifetime的值调整为Minlifetime。同时将count 加 I ο步骤(3.5):如果过滤表的平均表项数avg小于阈值Y · C,而且lifetime小于optimal·,则将lifetime向上调整ー个采样周期,即将lifetime重新设成原lifetime加上Ps pling。并且将该lifetime的值设置到生存期參数中。步骤(4):返回步骤(3),进入下一个采样周期。
SAVI交换机网管系统对清华大学校园网内将近1000台实际运行的SAVI交换机进行监控,周期性的获得交換机中过滤表的内容。由于清华大学的学生宿舍采用直连的方式部署SAVI交換机,每个端ロ可以检测到主机断开网络的down事件,从而快速的删除无用的过滤表项,因此通过对SAVI交换机过滤表内容的周期性获取,可以收集到用户准确的上网行为。下面以校园网用户的准确上网信息为例对本发明进行评估。基于采集到的实际用户上网记录进行试验模拟,从试验结果得出以下结论尽管在理想情况下过滤表中的表项数很少,但是如果采用级联方式部署SAVI交換机,并且过滤表生存期參数被配置成默认的4小吋,那么实际的过滤表项数是非常多的。然而如果使用本发明实施例提供的自适应调整方法,负载会被显著降低。从校园网内的909台SAVI交换机中得到用户的上网信息,这些交换机分布在大约30个子网中。利用4周用户近似准确的上网记录来模拟级联部署方式假设当前的每三台SAVI交换机上连一台虚拟的SAVI交换机,而这三台SAVI交换机则认为其是普通交换机,即原来三台交换机的过滤表项将集中在这一台虚拟的SAVI交换机上。如果子网内的交换机数不能被3整除,则剩下的余数对应的交换机将被虚拟出一台级联的SAVI交換机。锐捷SG2400型号的SAVI交换机的过滤表容量是220,而一台交换机可以直连24台主机。从收集到的用户上网信息显示,当使用IPv6网络时,一台主机平均会产生三个使用的IPv6地址。那么如果选择3作为实验模拟时的聚合数,在理想情况下,虚拟出的SAVI交換机下连的用户数大概是216(3X3X24)。因此认为选择3作为聚合数是合理的。最終一共得到了 310台虚拟的级联部署的SAVI交換机,并得到了它们对应的4周用户上网记求。首先对理想情况进行定义。SAVI交换机采用ー种理想的方式知道用户的准确下线时间,因此交换机可以及时删除无用的过滤表项来最大程度的利用过滤表资源。在级联部署模式下,除非主机主动发送通知报文给交換机告知其离开,以上定义的理想情况不可能被实现,但是可以使用该情况作为其它方法的调整目标。基于4周的真实用户上网信息来模拟在理想情况下310台虚拟SAVI交換机的运行过程,也对过滤表生存期參数被分别静态配置成15分钟和240分钟的情况进行模拟,最后使用动态调整方法来模拟虚拟交换机的运行过程。对于动态调整方法,设置输入參数值为wn=0. 5,C=220, β =0. 8,Maxlifetime=240 分钟,psampling=5 分钟;在方法的第二部分设置输入參数值为wn=0. 5,C=220, Y =0. 5,Maxlifetime=240 分钟,psampling=5 分钟。选择240分钟作为一种静态配置情况的原因是该值是锐捷SG2400型号交换机过滤表生存期參数的默认值,在当其它校园网采用级联部署方式时,如果管理员不对该參数进行任何修改,那么该种类型的交換机在这些网络中的实际运行效果。如果选择15分钟作为ー种静态配置情况的原因是通过试验发现,当采用传统的静态配置方法时,只有生存期參数值被配置成小于或等于15分钟才能保证虚拟出的310台SAVI交换机在4周内的任何时间点上过滤表都不会被填满。使用Rw, Avg10 R0以及过滤表项数4个指标来评估当采用不同方法时虚拟交换机的 运行状况。计算出每台虚拟SAVI交换机4周内Rw,Avgnc和过滤表项数的值并分别绘制它们的累积概率分布曲线(cumulative distribution function, Q)F)。图3为过滤表项数的⑶F曲线,图4是指标Avgirc的⑶F曲线,图5是指标Rw的⑶F曲线,310台虚拟SAVI交换机各个指标的平均值如表I所示。
权利要求
1.一种SAVI交换机过滤表生存期参数自适应调整方法,其特征在于,包括如下步骤 设置SAVI交换机的过滤表生存期参数,在所述过滤表生存期参数内收集预设工作周期时间内所述SAVI交换机的用户在线记录和所述SAVI交换机的过滤表的负荷状态; 根据所述SAVI交换机的用户在线记录和过滤表的负荷状态,获得多个备选过滤表生存期参数值; 从所述多个备选过滤表生存期参数值中,选取初始过滤表生存期参数最优值,并设置过滤表项数调整阈值; 在所述SAVI交换机运行的每个所述工作周期时间的第一个采样点,基于上一个工作周期时间过滤表的运行情况,计算本工作周期时间的过滤表生存期参数最优值;以及 在所述工作周期时间的每个采样点,计算所述过滤表的平均表项数,并将所述过滤表的平均表项数与过滤表项数调整阈值进行比较,并根据比较结果实时调整所述过滤表生存期参数,其中,在当前采样点,当所述过滤表的平均表项数大于所述过滤表项数调整阈值时,将当前过滤表生存期参数值迅速调小;反之,如果在当前采样点,当所述过滤表的平均表项数小于所述过滤表项数调整阈值,且上一采样点的过滤表生存期参数小于所述过滤表生存期参数的最优值时,将当前过滤表生存期参数值调大,但是该值不允许超过所述过滤表生存期参数的最优值。
2.如权利要求I所述的SAVI交换机过滤表生存期参数自适应调整方法,其特征在于,所述设置SAVI交换机的过滤表生存期参数,包括如下步骤设置所述SAVI交换机的过滤表生存期参数为5分钟。
3.如权利要求I所述的SAVI交换机过滤表生存期参数自适应调整方法,其特征在于,所述预设工作周期时间为7天。
4.如权利要求I所述的SAVI交换机过滤表生存期参数自适应调整方法,其特征在于,所述设置过滤表项数调整阈值,还进一步包括 设置影响过滤表项平均值的权重、过滤表的总容量、生存期参数允许的最大值、采样周期,以及第一阈值次数。
5.如权利要求4所述的SAVI交换机过滤表生存期参数自适应调整方法,其特征在于,所述计算初始最优过滤表生存期参数,包括如下步骤 对于允许的且能够被采样周期整除的所有过滤表生存期参数值,分别做如下处理 在预设工作周期时间内的每个采样点,将过滤表平均表项数超额次数设置为O,其中,所述过滤表平均表项数超额次数用于统计所述SAVI交换机在当前的过滤表生存期参数值的设置情况下,在预设工作周期时间内的平均过滤表项数大于或等于调整阈值乘以过滤表总容量的次数; 在预设工作周期时间内的每个采样点,计算所述过滤表的平均表项数,当所述过滤表的平均表项数大于过滤表项数调整阈值时,将过滤表平均表项数超额次数加I ; 如果对于当前的过滤表生存期参数的设置情况,对于预设工作周期时间内的所有采样点,过滤表平均表项数超额次数小于预设的所述第一阈值次数,则将当前的过滤表生存期参数列入初始最优过滤表生存期参数的备选之一; 根据所述预设工作周期时间过滤表的平均重复确认次数和过滤表的无用资源占用率,从初始最优过滤表生存期参数的备选值中选择一个作为初始最优过滤表生存期参数的备选值。
6.如权利要求5所述的SAVI交换机过滤表生存期参数自适应调整方法,其特征在于,在所述SAVI交换机运行的每个所述工作周期时间的第一个采样点,计算所述过滤表生存期参数最优值,还进一步包括 将所述过滤表平均表项数超额次数重置为O。
7.如权利要求6所述的SAVI交换机过滤表生存期参数自适应调整方法,其特征在于,所述计算当前工作周期的过滤表生存期参数最优值,包括 当所述SAVI交换机在上一个工作周期时间内,过滤表平均表项数超额次数小于预设的所述第一阈值次数,且上一个工作周期时间内所述过滤表生存期参数的最优值小于所述过滤表生存期参数允许的最大值时,将上一工作周期过滤表生存期参数的最优值加上一个采样周期时间,作为当前工作周期的过滤表生存期参数最优值。
8.如权利要求6所述的SAVI交换机过滤表生存期参数自适应调整方法,其特征在于,所述计算当前工作周期的过滤表生存期参数最优值,包括 当所述SAVI交换机在上一个工作周期时间内,过滤表平均表项数超额次数大于或等于预设的所述第一阈值次数,且上一个工作周期时间内所述过滤表生存期参数的最优值大于所述过滤表生存期参数允许的最小值时,将上一工作周期过滤表生存期参数的最优值减去一个采样周期时间,作为当前工作周期的过滤表生存期参数最优值。
9.如权利要求6所述的SAVI交换机过滤表生存期参数自适应调整方法,其特征在于,所述将所述过滤表的平均表项数与过滤表项数调整阈值进行比较,并根据比较结果实时调整所述过滤表生存期参数,包括 在当前采样点,当所述过滤表的平均表项数大于过滤表项数调整阈值时,按照如下公式设置当前采样点的过滤表生存期参数,并将过滤表平均表项数超额次数加I ;Iifetimes = " aJas Ilfetime^1, 其中,Iifetimes为当前采样点的过滤表生存期参数,C为所述过滤表的总容量,avgs为过滤表当前的平均表项数,lifetime^为上一采样点的过滤表生存期参数。
10.如权利要求6所述的SAVI交换机过滤表生存期参数自适应调整方法,其特征在于,将所述过滤表的平均表项数与过滤表项数调整阈值进行比较,并根据比较结果实时调整所述过滤表生存期参数,包括 在当前采样点,当所述过滤表的平均表项数小于过滤表项数调整阈值,且上一采样点的过滤表生存期参数小于所述过滤表生存期参数的最优值时,将上一采样点的过滤表生存期参数加上一个采样周期时间,设置为当前采样点的过滤表生存期参数。
全文摘要
本发明提出一种SAVI交换机过滤表生存期参数自适应调整方法,包括设置交换机的过滤表生存期参数,收集预设工作周期时间内交换机的用户在线记录和交换机的过滤表的负荷状态;获得多个备选过滤表生存期参数值;选取初始过滤表生存期参数最优值并设置过滤表项数调整阈值;在交换机运行的每个工作周期时间的第一个采样点,基于上一个工作周期时间过滤表的运行情况,计算本工作周期时间的过滤表生存期参数最优值;在每个采样点,计算过滤表的平均表项数并与过滤表项数调整阈值进行比较,实时调整过滤表生存期参数。本发明可以对过滤表生存期参数进行动态调整。
文档编号H04L12/24GK102710448SQ20121019394
公开日2012年10月3日 申请日期2012年6月12日 优先权日2012年6月12日
发明者姜宁, 安常青, 李福亮, 杨家海 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1