[发明专利]一种支持QoS的OpenFlow流表节能存储架构及其方法有效
申请号: | 201911037014.X | 申请日: | 2019-10-29 |
公开(公告)号: | CN110808910B | 公开(公告)日: | 2021-09-21 |
发明(设计)人: | 熊兵;罗争;邬仁庚;赵锦元;曾振国 | 申请(专利权)人: | 长沙理工大学 |
主分类号: | H04L12/747 | 分类号: | H04L12/747;H04L12/743;H04L12/935 |
代理公司: | 广州嘉权专利商标事务所有限公司 44205 | 代理人: | 赵琴娜 |
地址: | 410114 湖南省*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 支持 qos openflow 节能 存储 架构 及其 方法 | ||
1.一种支持QoS的OpenFlow流表节能存储系统,其特征在于,所述节能存储系统包括三层:优先流/大象流层、老鼠流层以及活跃连接缓存层;
所述优先流/大象流层采用TCAM以及第一DRAM作为存储介质,TCAM分为前端的优先流区域和后端的大象流区域,所述优先流区域用于缓存优先流的标识字段;所述大象流区域用于缓存大象流的标识字段;第一DRAM与TCAM相对应,并采用顺序结构缓存TCAM中对应的内容字段;
所述老鼠流层采用SRAM以及第二DRAM作为存储介质,其中,SRAM用于缓存老鼠流的标识字段;第二DRAM用于缓存老鼠流的内容字段;
所述活跃连接缓存层采用SRAM作为存储介质,并采用Cuckoo哈希结构缓存大象流中的活跃连接和所述大象流区域中流表项的映射关系,Cuckoo缓存中包含有若干个哈希桶,每个所述哈希桶中包含有若干个缓存项,每个所述缓存项中包含有签名值、流表项索引值以及时间戳。
2.根据权利要求1所述的支持QoS的OpenFlow流表节能存储系统,其特征在于:在所述老鼠流层中,SRAM采用元组空间搜索法进行查找,第二DRAM采用链式结构缓存老鼠流的内容字段,SRAM中缓存有索引指针,所述索引指针用于索取第二DRAM中缓存的内容字段。
3.一种基于权利要求1或2任一所述的支持QoS的OpenFlow流表节能存储系统的OpenFlow流表分组转发方法,其特征在于,包括以下步骤:
当数据分组到达OpenFlow交换机后,OpenFlow交换机接收并提取数据分组中的关键字段,判断关键字段中的TOS字段是否为0;
若TOS字段不为0时,则在优先流区域进行流表查找,若查找成功,则获取命中缓存项的流表项索引值,根据获取的流表项索引值读取第一DRAM流表项的内容字段并进行转发处理;若查找失败,则将数据分组封装成Packet-in消息发送至SDN控制器;
若TOS字段为0时,通过Cuckoo缓存进行流表查找,若Cuckoo缓存查找成功,则首先获取命中缓存项的流表项索引值,然后根据获取的流表项索引值读取第一DRAM流表项的内容字段并进行转发处理;若Cuckoo缓存查找失败,则在大象流区域进行流表查找,若查找成功,首先获取命中缓存项的流表项索引值,然后根据获取的流表项索引值读取第一DRAM流表项的内容字段并进行转发处理,最后判断当前连接是否进入活跃连接状态,若进入活跃连接状态,则将活跃连接的相关信息插入至Cuckoo缓存中,若未进入活跃连接状态,则结束;若查找失败,则在所述老鼠流层的SRAM中进行流表查找,若在SRAM中查找成功,则首先读取对应的第二DRAM流表项的内容字段并进行转发处理,然后判断当前流是否为大象流,若当前流为大象流,则将当前流插入至大象流区域;若在SRAM中查找失败,则将数据分组封装成Packet-in消息发送至SDN控制器。
4.根据权利要求3所述的OpenFlow流表分组转发方法,其特征在于,所述通过Cuckoo缓存进行流表查找,进一步包括:
根据数据分组的关键字段,获取连接标识符key,根据key生成签名值sig;
根据key使用Hash得到桶索引index,依次遍历index桶中的缓存项,若缓存项中的签名值与sig匹配成功,则获取缓存项中的流表项索引值,根据获取的流表项索引值读取TCAM流表项,判断TCAM流表项中的标识字段与连接标识符key是否匹配,若匹配成功,则返回缓存项中流表项索引值;若匹配失败,则返回无效索引值。
5.根据权利要求3所述的OpenFlow流表分组转发方法,其特征在于,所述将活跃连接的相关信息插入至Cuckoo缓存中,进一步包括:
根据数据分组的关键字段,获取连接标识符key、流表项索引值以及时间戳,并根据key生成签名值sig;
根据key使用Hash计算桶索引index,从index桶中寻找空缓存项,作为待插入位置;若未寻找到空缓存项,则随机选取一个非空缓存项并剔除内部字段,作为待插入位置;
将签名值、流表项索引值和时间戳写入待插入位置,同时定位对应的TCAM流表项,获取对应的Cuckoo缓存索引表,并加入当前缓存项信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于长沙理工大学,未经长沙理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911037014.X/1.html,转载请声明来源钻瓜专利网。