1.一种自适应低代价SDN网络链路利用率测量方法,其特征在于,步骤为:
S1:定义SDN网络链路利用率测量相关的参数;
S2:根据测量目标,依次初始化参数;假设Flow-Statistics的查询周期点为t;
S3:在t周期点的2μ时间窗口内侦听FlowRemoved报文;如果侦听到FlowRemoved报文,则利用FlowRemoved报文基于被动测量的方式计算链路利用率I_T_LinkUtil,跳转至步骤S4;如果未侦听到FlowRemoved报文,则利用FlowStatistics-Request报文基于主动测量的方式计算链路利用率I_T_LinkUtil,跳转至步骤S5;
S4:基于被动测量方式收集数据流的统计信息Flow-Statistics,侦听FlowRemoved报文;假设在2μ时间窗口内首次侦听到FlowRemoved报文的时刻为ζ,记录ζ时刻活跃的所有数据流I_T_ActiveFlow,并将其数量记录到I_T_ActiveNum;由Flow-Statistics提取及规则化模块依次侦听各活跃数据流所对应的FlowRemoved报文;
S5:基于主动测量方式收集数据流的统计信息Flow-Statistics,向交换机发送FlowStatistics-Request报文;记录周期点t+μ时刻活跃的所有数据流I_T_ActiveFlow,并将其数量记录到I_T_ActiveNum;向交换机发送FlowStatistics-Request报文,交换机响应并返回FlowStatistics-Response报文,并由Flow-Statistics提取及规则化模块侦听此报文;
S6:从FlowRemoved报文或FlowStatistics-Response报文中提取数据流统计信息FlowStatistics,记录到I_T_F_Statistics[];
S7:依次计算I_T_F_Statistics[]中各数据流对链路利用率的贡献率,记录到I_T_F_LinkUtil[],并判断能否计算最终的链路利用率I_T_LinkUtil;
S8:将I_T_F_LinkUtil[]各成员变量相加,计算得到interface接口在周期点对应的链路利用率I_T_LinkUtil,并记录到该interface接口对应的链路利用率集合I_LinkUtil[];
S9:计算本次与前一次链路利用率的变化量ΔLinkUtil,并依据I_T_ActiveNum和ΔLinkUtil调整Flow-Statistics的查询周期T。
2.根据权利要求1所述的自适应低代价SDN网络链路利用率测量方法,其特征在于,所述步骤S1包括:
1.1数据流信息描述如下:I_T_ActiveFlow={interface,time,AF_list}为interface接口time时刻的活跃数据流集合,I_T_F_Statistics[]={interface,time,flow,statistics}为interface接口time时刻数据流flow的统计信息,I_T_ActiveNum={interface,time,num}为interface接口time时刻活跃数据流的数目;
1.2数据流统计信息Flow-Statistics收集时的各参数描述如下,T为Flow-Statistics的查询周期;(t-μ,t+μ)为周期点t侦听FlowRemoved报文的时间窗口;ζ为2μ时间窗口内侦听到FlowRemoved报文的时刻;W为链路利用率计算的最长等待时间;
1.3数据流统计信息Flow-Statistics查询周期调整时的各参数描述如下,α为增大Flow-Statistics收集周期的乘参数;β为减小Flow-Statistics收集周期的除参数;NFmax为设定的链路所能承载数据流数目的门限值参数;Δmax为链路利用率变化的上限值参数;Δmin为链路利用率变化的下限值参数;
1.4网络链路利用率参数描述如下,I_LinkUtil[]为interface接口对应的链路利用率集合;I_T_LinkUtil为interface接口time时刻对应的链路利用率;I_T_F_LinkUtil[]为各数据流对链路利用率I_T_LinkUtil的贡献率集合;ΔLinkUtil为链路利用率的变化。
3.根据权利要求1所述的自适应低代价SDN网络链路利用率测量方法,其特征在于,所述步骤S4的流程为:
S4.1:在周期点的2μ窗口(t-μ,t+μ)内,侦听到FlowRemoved报文,假设具体时刻为ζ;
S4.2:查看ζ时刻目标链路活跃的数据流,并初始化I_T_ActiveFlow和I_T_ActiveNum;
S4.3:依次侦听所有活跃数据流对应的FlowRemoved报文,并从中解析出数据流的统计信息Flow-Statistics,记录至I_T_F_Statistics[]。
4.根据权利要求1所述的自适应低代价SDN网络链路利用率测量方法,其特征在于,所述步骤S5的流程为:
S5.1:在周期点的2μ窗口(t-μ,t+μ)内,Flow-Statistics查询模块未侦听到FlowRemoved报文;
S5.2:查看t+μ时刻目标链路活跃的数据流,并初始化I_T_ActiveFlow和I_T_ActiveNum;
S5.3:向目标交换机发送FlowStatistics-Request报文;
S5.4:目标交换机响应FlowStatistics-Request,向控制器发送FlowStatistics-Response报文;
S5.5:侦听FlowStatistics-Response报文,并从中解析出数据流的统计信息Flow-Statistics,记录至I_T_F_Statistics[]。
5.根据权利要求1所述的自适应低代价SDN网络链路利用率测量方法,其特征在于,所述步骤S9的流程为:
S9.1:确定当前链路活跃的数据流数目I_T_ActiveNum以及邻近两次链路利用率的变化量ΔLinkUtil;
S9.2:判断I_T_ActiveNum是否大于预设的链路所能承载数据流数目的门限值NFmax,如果大于,则缩小Flow-Statistics查询周期T=T/β;如果不大于,则跳转至S9.3;
S9.3:判断ΔLinkUtil是否大于预设的链路利用率变化的上限值Δmax,如果大于,则缩小Flow-Statistics查询周期T=T/β;如果不大于,则跳转至S9.4;
S9.4:判断ΔLinkUtil是否小于预设的链路利用率变化的下限值Δmin,如果小于,则增大Flow-Statistics查询周期T=T*α;如果不小于,则Flow-Statistics查询周期T保持不变;
S9.5:更新Flow-Statistics查询周期T。
6.根据权利要求1~5中任意一项所述的自适应低代价SDN网络链路利用率测量方法,其特征在于,所述步骤S7的流程为:
S7.1判断链路利用率的计算时限是否已超出;对于被动测量方式,即判断此刻是否已超出ζ+W;对于主动测量方式,即判断此刻是否已超出t+μ+W;如果超出,跳转至步骤S7.2;如果未超出,跳转至步骤S7.3;
S7.2判断所有活跃数据流的贡献率是否都已经计算,即判断当前I_T_F_LinkUtil[]的成员数量是否等于I_T_ActiveNum;如果相等,跳转至步骤S8;如果不相等,则由Flow-Statistics提取及规则化模块继续侦听后续的FlowRemoved报文或FlowStatistics-Response报文;
S7.3更新周期点t为当前时刻,复原各变量,跳转至步骤S5。
7.一种自适应低代价SDN网络链路利用率测量系统,其特征在于,包括:
Flow-Statistics查询模块,用来负责在每个周期点从交换机收集数据流统计信息Flow-Statistics,或者利用FlowRemoved报文基于被动测量的方式收集,或者利用FlowStatistics-Request报文基于主动测量的方式收集;具体采取哪种方式取决于该模块在(t-μ,t+μ)时间窗口内是否侦听到FlowRemoved报文,如果侦听到则采用被动测量方式,反之则采用主动测量方式;
Flow-Statistics提取及规则化模块,用来负责侦听来自交换机的FlowRemoved报文或FlowStatistics-Response报文,并从其中解析出数据流的统计信息Flow-Statistics,记录至I_T_F_Statistics[];
数据流对链路贡献率计算模块,用来根据I_T_F_Statistics[]的记录结果依次计算各数据流对链路利用率的贡献情况,并记录至I_T_F_LinkUtil[];
链路利用率计算模块,用来根据I_T_F_LinkUtil[]的记录结果计算最终的链路利用率,能否得到最终的链路利用率依赖于所有活跃数据流I_T_ActiveFlow的贡献率是否都已经计算,即I_T_F_LinkUtil[]成员数量是否等于I_T_ActiveNum,如果不相等,则由Flow-Statistics提取及规则化模块继续侦听FlowRemoved或FlowStatistics-Response报文,但是如果链路利用率计算时间超过了预设上限,则归零原来的Flow-Statistics查询,采取主动测量方式重新查询;
Flow-Statistics分析模块,用来负责计算邻近两次链路利用率的变化量ΔLinkUtil,以作为调整Flow-Statistics查询周期的依据之一;
Flow-Statistics查询周期调整模块,根据链路当前活跃流数量以及邻近两次链路利用率的变化量来调整更新Flow-Statistics查询周期。
8.根据权利要求7所述的自适应低代价SDN网络链路利用率测量系统,其特征在于,所述Flow-Statistics查询模块还用来初始化I_T_ActiveFlow和I_T_ActiveNum。
9.根据权利要求7所述的自适应低代价SDN网络链路利用率测量系统,其特征在于,所述Flow-Statistics分析模块用来负责分析Flow-Statistics及链路利用率信息,向上层管理应用提供有效的链路利用率视图。