[发明专利]一种基于SDN的数据中心网络流量测量方法有效
申请号: | 201810087181.4 | 申请日: | 2018-01-30 |
公开(公告)号: | CN108282481B | 公开(公告)日: | 2020-07-17 |
发明(设计)人: | 王雄;刘瀚彧;陈少博;张俊 | 申请(专利权)人: | 电子科技大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/26 |
代理公司: | 成都行之专利代理事务所(普通合伙) 51220 | 代理人: | 温利平 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于SDN的数据中心网络流量测量方法,先对每台交换机设置编码流集合,然后对每个数据平面的交换机在一个周期内对流进行编码,得到每台交换机的Flow Filter、Counting Table和Flow Vector,然后将一个周期内已编码的所有交换机的Flow Filter、Counting Table和Flow Vector发送到控制平面解码主机进行解码,从而测量出一个周期内经过数据中心网络中每台交换机的每条流量的大小。 | ||
搜索关键词: | 一种 基于 sdn 数据中心 网络流量 测量方法 | ||
【主权项】:
1.一种基于SDN的数据中心网络流量测量方法,其特征在于,具体包括以下步骤:(1)、对于每个交换机设置编码流集合编码流集合包括Flow Filter、Counting Table和Flow Vector三部分,其中,Flow Filter为一个布隆过滤器,用于检测一个数据包对应的流是否为新流,初始时刻布隆过滤器中所有表项值均为0;Counting Table为交换机计数器,共g个组,每组m个表项,每个表项均包含PacketCount与FlowCount两个值,用于存储流信息,其中,PacketCount用于存储哈希到本表项的所有流的数据包的数目之和,FlowCount用于存哈哈希希到本表项的流的数目;Flow Vector为一个存储表,用于记录流的五元组;(2)、每个数据平面交换机在一个周期内对流进行编码(2.1)、对数据包对应流的五元组进行映射并检测数据包对应的流是否为新流在一个周期内,当某一个数据包到达时,先提取该数据包对应流的五元组,将提取到的五元组输入到一个哈希函数中,得到一个哈希值,将该哈希值对g取模,得到j,再将该五元组输入到kc个相互独立的哈希函数,得到kc个哈希值;同时将提取的五元组输入到kf个相互独立的哈希函数,得到kf个哈希值,再用这kf个哈希值与Flow Filter中对应的表项中的值比较,如果对应的表项中的值都是1,则表明该数据包对应的流是旧流,直接跳转到(2.2),如果对应的表项中的值不都是1,则表明该数据包对应的流是新流,直接跳转到(2.3);(2.2)更新Counting Table信息将步骤(2.1)中提取到的j和kc个哈希值对应到Counting Table的第j组中的kc个表项,并将这kc个表项的PacketCount值和FlowCount值都加1;(2.3)、记录新流并更新Counting Table信息将步骤(2.1)中提取到的kf个哈希值对应到Flow Filter上的kf个表项,设置这些表项中的值为1,并将该数据包对应流的五组加入Flow Vector中;然后将步骤(2.1)中提取到的j和kc个哈希值对应到Counting Table的第j组中的kc个表项,并将这kc个表项的PacketCount值加1,FlowCount值不变;(2.4)、当该数据包对应流进行编码完成后,返回步骤(2.1),进行下一个包的处理,直到该周期结束;(2)、将一个周期内已编码的所有交换机的Flow Filter、Counting Table和Flow Vector发送到控制平面解码主机;(3)、控制平面的解码主机收到一个周期内的所有交换机发送的Flow Filter、Counting Table和Flow Vector后进行解码(3.1)、解码出所有交换机的Flow Vector中所有五元组对应的流在Counting Table中的组号和表项序号对每个交换机执行以下步骤:将Flow Vector中存放的五元组按照表项顺序依次取出,将每个五元组作为输入,通过一个哈希函数得到一个哈希值,将该哈希值对g取模得到j,由此在Counting Table中找到对应第j组;再将该五元组作为输入,通过kc个相互独立的哈希函数,得到kc个哈希值,即得到所有在步骤(2.2)、(2.3)存放该五元组对应的流的信息的组号和表项序号;(3.2)根据Counting Table中的组号和表项序号得到系数矩阵对于Counting Table中的每个组都设置一个系数矩阵,第j组设置为系数矩阵Aj,Aj初始化为m×n的空矩阵;其中,m为Counting Table第j组的表项个数,n为Counting Table中第j组所有m个表项中的FlowCount值的和;利用步骤(3.1)得到的Flow Vector中所有流的五元组对应的流存放在Counting Table中的组号和表项序号设置系数矩阵Aj中的值;设置方法为:如果Counting Table中第j组的第i个位置上存储了第k条流xk的信息,则将Ai,k设置为1;如果第i个位置上没有存储第k条流xk的信息,则将Ai,k设置为0,其中1<i≤m,1<k≤n;(3.3)、对每个交换机的所有组建立统计数据包个数的方程并用Cplex工具进行求解min imize||Xj||1s.t.AjXj=YjXj≥0其中,Xj表示正在解码的交换机的Counting Table中第j组的所有流的数据包个数构成的列向量,是需要求解的向量,大小为n×1;Aj表示正在解码的交换机的Counting Table中第j组的系数矩阵;Yj表示正在解码的交换机的Counting Table中第j组的所有表项中的PacketCount的值构成的列向量,大小为m×1;(3.4)、使用全局解码,在步骤(3.3)建立的方程组中添加约束条件,重新构建方程,计算出所有交换机机中经过的所有流的数据包的个数;(4)、测量出本周期内经过数据中心网络每个交换机每条流量的大小,待下一个周期到来时,跳转到步骤(1)进行下一轮继续流量测量。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810087181.4/,转载请声明来源钻瓜专利网。