[发明专利]一种基于子流表分割的流表存储优化方法及装置有效
申请号: | 201610101139.4 | 申请日: | 2016-02-24 |
公开(公告)号: | CN107124362B | 公开(公告)日: | 2019-12-20 |
发明(设计)人: | 鲍方艳 | 申请(专利权)人: | 中移(苏州)软件技术有限公司;中国移动通信集团公司 |
主分类号: | H04L12/741 | 分类号: | H04L12/741;H04L12/751 |
代理公司: | 11270 北京派特恩知识产权代理有限公司 | 代理人: | 张振伟;姚开丽 |
地址: | 215163 江苏省苏州市高*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 子流表 分割 存储 优化 方法 装置 | ||
本发明公开了一种基于子流表分割的流表存储优化方法及装置,所述方法包括:根据流表中的匹配字段是否为空,确定所述流表中各个表项的流类别向量;合并相同的流类别向量,并统计出各个流类别向量对应的权重;根据各个流类别向量对应的权重,从所有流类别向量中选择一组最优流类别向量集合,所述最优流类别向量集合覆盖所述流表中的所有匹配字段;根据所述最优流类别向量集合以及表项依赖图谱进行子流表分割,将所述表项划分到所述子流表中进行存储。
技术领域
本发明涉及软件定义网络领域,尤其涉及一种基于子流表分割的流表存储优化方法及装置。
背景技术
软件定义网络定义了一种控制平面与数据平面解耦合的新型网络架构,网络转发设备中的控制功能被移除出来,成为简单的转发单元。控制平面和数据平面之间通过标准化的接口进行交互,通常,将该接口称为南向接口。OpenFlow协议就是一种在软件定义网络中被广泛接受的南向接口。
控制器和网络转发设备之间采用OpenFlow协议进行交互,控制器将规则下发到转发设备中,转发设备将其存储到流表中,一条规则对应流表中的一个表项,然后转发设备通过查询流表匹配字段,根据指令完成对数据包的动作,包括丢弃、转发和将数据包发送到控制器等。如图1所示,OpenFlow流表存储在内存中。由于功能扩展,随着OpenFlow版本的演进,OpenFlow流表中的匹配字段不断增加,同时也增加了流表的复杂度。流表大小急剧增加,流表的存储成为一个亟需解决的问题。
现有方案中,将流表根据匹配字段的共存关系和冲突关系分割成数张子流表。设D={Fi|1≤i≤d}表示流表T中的一条流表项Ri的d个匹配字段。那么,共存关系定义如下:
Coe={(Fi,Fj)|Fi∈D,Fj∈D,如果Fi存在,则Fj必然存在,如果Fi不存在则Fj也不存在}
例如OpenFlow定义的匹配字段IP_SRC和IP_DST,TCP_SRC和TCP_DST都是共存关系。
冲突关系定义为:
Col={(Fi,Fj)|Fi∈D,Fj∈D,Fi与Fj不能同时存在}
例如TCP_SRC和UDP_SRC就是互斥关系。
根据冲突关系与共存关系,对流表进行初始分割,直至子流表数大于等于限定阈值K,并将初始流表中的表项添加到子流表中存储。在流表更新的过程中,如果子流表中的表项条数超出限定阈值n,则对子流表进行分割操作。如果子流表的个数超过限定阈值K,则对子流表进行合并操作。在整个过程中,没有考虑表项之间的优先级与依赖关系,尽管节省了存储空间,但增加了查找匹配的时间开销。
发明内容
为解决上述技术问题,本发明实施例提供了一种基于子流表分割的流表存储优化方法及装置。
本发明实施例提供的基于子流表分割的流表存储优化方法,包括:
根据流表中的匹配字段是否为空,确定所述流表中各个表项的流类别向量;
合并相同的流类别向量,并统计出各个流类别向量对应的权重;根据各个流类别向量对应的权重,从所有流类别向量中选择一组最优流类别向量集合,所述最优流类别向量集合覆盖所述流表中的所有匹配字段;
根据所述最优流类别向量集合以及表项依赖图谱进行子流表分割,将所述表项划分到所述子流表中进行存储。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中移(苏州)软件技术有限公司;中国移动通信集团公司,未经中移(苏州)软件技术有限公司;中国移动通信集团公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610101139.4/2.html,转载请声明来源钻瓜专利网。