一种流表项规模的预测方法及装置的制造方法_2

文档序号:9551132阅读:来源:国知局
e(0,1)。
[0047] 上述方案中,所述确定模块,进一步用于将所述為^^保存至第i个交换机对应 的流表项增加速率队列Gi,当队列Gi中保存的流表项增加速率记录的条数超过所述Gi的最 大值时,按照FIFO删除&中最早的一条数据记录。
[0048] 上述方案中,所述预测模块依据所述当前tn时刻的平均流表项规模、所述流表项 的平均失效速率及所述流表项的增加速率的估计值,对下一时刻tn+1时的流表项规模进行 预测包括:
[0049] 所述预测模块依据所述当前tn时刻的平均流表项规模、所述流表项的平均失效速 率及所述流表项的增加速率的估计值,计算所述tn+1时的流表项规模等于所述当前tn时刻 的平均流表项规模与当前tn时刻的流表项的增加速率的估计值的和,再与当前tn时刻所述 流表中流表项的平均失效速率的差。
[0050] 本发明实施例所提供的流表项规模的预测方法及装置,获取当前tn时刻交换机的 流表的平均流表项规模;确定当前tn时刻所述流表中流表项的平均失效速率以及流表项 的增加速率的估计值;依据所述当前tn时刻的平均流表项规模、所述流表项的平均失效速 率及所述流表项的增加速率的估计值,对下一时刻tn+1时的流表项规模进行预测。如此,可 以根据预测动态地配置流表项,防止由于流表项数目超过流表的上限而造成流表可用性下 降;可以为流表项的设置提供决策依据,降低数据包丢包率,提高流表的利用率,且工作可 靠、准确性高。
【附图说明】
[0051] 图1为本发明实施例一流表项规模的预测方法流程示意图;
[0052] 图2为本发明实施例二流表项规模的预测方法流程示意图;
[0053] 图3为本发明实施例流表项规模的预测装置的组成结构示意图。
【具体实施方式】
[0054] 在SDN中,控制器是根据开放流(OpenFlow)协议设计的路由控制软件,承担管理 数据流、配置网络设备的功能。控制器通过在交换机流表中修改流表项,来管理交换机流的 转发。交换机通过查询流表表项来决定对报文的处理方式。基于OpenFlow协议的安全通 道用来连接交换机和控制器,以供二者进行通信,称为控制信道。
[0055] 控制器通过向交换机发送流修改(FL0W_M0D)消息的方式来修改交换机的流表, 实现控制功能。当一条流表项加入流表中时,该流表项在一定时间内未被使用,将会失效, 这时会触发流移除(FL0W_REM0VED)消息,交换机将这一消息发给控制器,告知该流表项失 效。控制器通过向交换机发送统计请求(STATS_REQUEST)消息来查询交换机当前的状态信 息,交换机发送统计回复(STATS_REPLY)消息来进行回复,STATS_REQUEST消息和STATS_ REPLY消息的主体部分类型均为OpenFlow协议定义的STATS类型,内容包括交换机信息、流 表中单条流的统计信息、流的汇总统计信息、流表信息、物理端口信息、队列信息等。
[0056] 在本发明实施例中,获取当前tn时刻交换机的流表的平均流表项规模;确定当前 tn时刻所述流表中流表项的平均失效速率,以及流表项的增加速率的估计值;依据所述当 前tn时刻的平均流表项规模、所述流表项的平均失效速率及所述流表项的增加速率的估计 值,对下一时刻tn+1的流表项规模进行预测。
[0057] 图1为本发明实施例一流表项规模的预测方法流程示意图,如图1所示,本实施例 流表项规模的预测方法包括:
[0058] 步骤101 :获取当前tn时刻交换机的流表的平均流表项规模;
[0059] 本步骤之前,所述方法进一步包括:控制器获取tn时刻第i个交换机发送第η条 STATS_REPLY消息时的流表项规模,并将所述流表项规模保存至所述第i个交换 机对应的流表项规模队列Di,当所述Di保存的流表项规模记录的条数η超过所述Di的最大 值δ时,按照先入先出法(FIFO,Firstin,Firstout)删除最早的一条数据记录;其中, 所述流表项规模为流表中流表项的条数,所述S为预先设定的大于〇的整数值,具体数值 可以依据实际情况进行设定;
[0060] 所述获取tn时刻第i个交换机发送第η条STATS_REPLY消息时的流表项规模 包括:第i个交换机接收控制器发送的第η条STATS_REQUEST消息,并在tn时刻通过控制 信道向所述控制器发送第η条STATS_REPLY消息,控制器提取所述STATS_REPLY消息中包 含的流表项规模·气,t";
[0061] 所述获取当前tn时刻交换机的流表的平均流表项规模包括:获取当前tn时刻交换 机流表的流表项规模,并依据如下公式获取当前tn时刻交换机的流表的平均流表项规模:
[0062]
[0063]
[0064] 其中,为tn时刻第i个交换机的流表的平均流表项规模;夂^_为tn时刻第 i个交换机的流表的流表项规模;S为队列Di保存流表项规模记录的条数的最大值;tn为 收到第i个交换机的第η条STATS_REPLY消息的时间;
[0065] 这里,所述当前tn时刻为收到第i个交换机的第η条STATS_REPLY消息的时间。
[0066] 步骤102 :确定当前tn时刻所述流表中流表项的平均失效速率,以及流表项的增 加速率的估计值;
[0067] 本步骤之前,所述方法进一步包括:控制器获取在tni时刻到tn时刻之间收到的 第i个交换机发送的FL0W_REM0VED消息的数目贫,以及tn1时刻到tn时刻之间控 制器向第i个交换机发出的类型为增加(ADD)的FL0W_M0D消息的数目為卩:获取 单位时间为tn-tni的第i个交换机的流表中流表项失效的速率:?,以及单位时间为 tn_tni的第i个交换机的流表中流表项增加的速率為,并将所述}保存至第i 个交换机对应的流表项失效速率队列Fi,将所述為a..^保存至第i个交换机对应的流表项 增加速率队列Gi,当队列Fi中保存的流表项失效速率记录的条数m超过所述Fi的最大值α,或队列&中保存的流表项增加速率记录的条数s超过所述&的最大值β时,按照先入 先出法FIFO删除匕或&中最早的一条数据记录;这里,设定α=β=δ,以保证同一时 亥IJ,所述队列Di、队列h及队列&中存储的记录的条数相同,由于tni时刻到tn时刻会保存 一次流表项的失效速率及流表项增加速率,而tn1时刻到tn时刻会收到一次STATS_REPLY 消息、记录一次流表项规模,因此,本实施例中m等于s等于η;
[0068]所述确定所述流表中流表项的平均失效速率包括:控制器依据如下公式确定所述 流表中流表项的平均失效速率:
[0069]
[0070]
[0071] 其中,3Vt>;为tn时刻第i个交换机的流表中流表项的平均失效速率;:为 tn时刻,单位时间为tn-tni的第i个交换机的流表中流表项失效的速率;tn为收到第i个 交换机的第η条STATS_REPLY消息的时间;
[0072] 确定所述流表中流表项的增加速率的估计值包括:首先,控制器依据公式当 η彡δ时
获得tn时刻第 i个交换机的流表中流表项的平均增加速率??;其中,足:为tn时刻第i个交换机的流表 中流表项的平均增加速率;tn时刻,单位时间为tn_tni的第i个交换机的流表中 流表项增加的速率;tn为收到第i个交换机的第η条STATS_REPLY消息的时间;
[0073] 然后依据所述p获得满足泊松分布
9累积概率 y'v的X的最小值x_,所述X的最小值x_即为流表项的增加速率的估计值; 其中,Y为预先设定的置信水平,Y的取值范围为(0,1),k为正整数;
[0074] 这里,需要说明的是,步骤101与步骤102没有必然的时间关系,执行顺序可互换。
[0075] 步骤103 :依据所述当前tn时刻的平均流表项规模、所述流表项的平均失效速率 及所述流表项的增加速率的估计值,对下一时刻tn+1时的流表项规模进行预测;
[0076] 本步骤具体包括:控制器依据所述当前tn时刻的平均流表项规模、所述流表项的 平均失效速率及所述流表项的增加速率的估计值,计算tn+1时的流表项规模等于tn时刻的 平均流表项规模与tn时刻的所述流表项的增加速率的估计值的和,再与tn时刻的所述流表 项的平均失效速率的差,即:依据所述依据tn时刻第i个交换机的流表的平均流表项规模 ,Μ寸刻第i个交换I几的'流表中'流表项的平均失效速率《^,及tn时刻第i个交换机 的流表中流表项的增加速率的估计值X_,得到tn+1时刻第i个交换机的流表项规模的预测
[0077] 图2为本发明实施例二流表项规模的预测方法流程示意图,如图2所示,本实施例 流表项规模的预测方法包括:
[0078] 步骤201 :获取当前tn时刻交换机流表的流表项规模;
[0079] 这里,所述当前tn时刻为收到第i个交换机发送的第η条STATS_REPLY消息的时 间;
[0080] 所述获取当前tn时刻交换机流表的流表项规模包括:第i个交换机接收控制器 发送的第η条STATS_REQUEST消息,并在tn时刻通过控制信道向所述控制器发送第η条 STATS_REPLY消息,控制器提取所述STATS_REPLY消息中包
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1