【技术实现步骤摘要】
一种支持网络流量抖动的OpenFlow虚拟流表弹性加速查找方法
[0001]本专利技术涉及一种OpenFlow虚拟流表查找方法,尤其涉及一种支持网络流量抖动的OpenFlow虚拟流表弹性加速查找方法。
技术介绍
[0002]软件定义网络(Software
‑
Defined Networking,SDN)作为一种新兴的网络架构,将数据转发与控制逻辑分离,通过以OpenFlow为代表的南向接口协议对数据交换设备进行集中式管控,并为上层应用提供统一的编程接口,显著提升了网络的灵活性、开放性和可编程性。在SDN数据平面中,OpenFlow协议支持远程管理和操作交换机中的流表,包括添加、修改和删除流表项,使控制器能灵活定制数据分组在底层交换网络中的传输路径。进一步,OpenFlow将各层协议首部中的关键字段作为流表项的匹配字段,并在匹配字段中引入通配符,实现了网络流的细粒度灵活管理。然而,这也使得OpenFlow虚拟流表无法直接使用哈希方法实现快速查找。
[0003]为实现OpenFlow虚拟流表的通配查找,目前主流的OpenFlow虚拟交换机采用元组空间搜索法(TSS),为每条流规则定义与其匹配字段结构相同的掩码,以标识匹配字段中的所有通配符位置。在此基础上,依据掩码将OpenFlow虚拟流表中的所有流表项划分成比流表项数量少得多的若干元组,进而在这些元组中进行哈希查找。对于到达OpenFlow虚拟交换机的每个数据分组,由于无法确定其对应的掩码和元组,需逐个探测掩码即依次查找各个元组,直到在某个元组 ...
【技术保护点】
【技术特征摘要】
1.一种支持网络流量抖动的OpenFlow虚拟流表弹性加速查找方法,其特征在于,所述流表弹性加速查找方法根据数据分组到达间隔,识别网络中的活跃精确流,并将其全部存入可伸缩缓存;在网络流量发生抖动时,通过及时灵活调整缓存容量,始终容纳所有活跃精确流;对于到达OpenFlow虚拟交换机的绝大多数分组,该方法将查找命中缓存,并根据命中缓存项中存储的流表项索引值定位对应的流表项,进而根据其中的动作集完成分组转发。2.根据权利要求1所述的支持网络流量抖动的OpenFlow虚拟流表弹性加速查找方法,其特征在于,所述可伸缩缓存由多个逻辑分段组成,其分段数根据网络中活跃精确流数量的动态变化进行适应性调整;当活跃精确流数量激增时,缓存新增一个分段,以存储新出现的活跃精确流;当活跃精确流数量骤减时,缓存缩减一个分段,以减少空缓存项数量。3.根据权利要求1所述的支持网络流量抖动的OpenFlow虚拟流表弹性加速查找方法,其特征在于,所述OpenFlow虚拟流表弹性加速查找方法,具体包括以下操作:a、OpenFlow虚拟流表查找操作每个到达OpenFlow虚拟交换机的数据分组,通过查找流表匹配对应的流表项,进而根据其中的动作集完成分组转发;b、OpenFlow虚拟流表插入操作当OpenFlow虚拟交换机收到控制器下发的带ADD命令的flow_mod消息时,需根据消息内容新建一条流表项,并插入到OpenFlow虚拟流表中;c、OpenFlow虚拟流表删除操作当OpenFlow交换机收到SDN控制器下发的带DELETE命令的flow_mod消息后,需删除对应的流表项,并同步更新可伸缩缓存;d、OpenFlow虚拟流表的超时扫描操作根据系统当前时间和流表项时间戳的差值判断是否超过超时间隔,若已超时,则将该流表项从OpenFlow虚拟流表中删除,并同步更新可伸缩缓存。4.根据权利要求3,所述OpenFlow虚拟流表弹性加速查找方法,其特征在于,所述OpenFlow虚拟流表查找操作,具体包括以下步骤:当OpenFlow虚拟交换机收到网络中的某个数据分组后,首先解析并提取其头部信息,以获取流标识符fid;然后使用流标识符fid查找可伸缩缓存;若缓存查找成功,则根据匹配缓存项中的流表项索引值addr定位对应的流表项;进一步,读取该流表项的匹配字段,并检验流标识符fid是否与该匹配字段一致;若一致,则跳过元组空间搜索操作,直接根据该流表项的动作集完成分组转发;最后,更新流表项中的相关字段(如计数器和时间戳),并更新匹配缓存项的时间戳;若缓存查找失败,则继续执行元组空间搜索,即依次查找各个掩码对应的元组;若成功匹配某条流表项,则根据其中的动作集转发处理分组;然后,判断该分组所属的精确流是否进入活跃状态,即判断当前分组和最近分组的到达时间间隔是否小于某个阈值PIT;若小于PIT,则表明该流已进入活跃状态,将该流存入可伸缩缓存;若元组空间搜索失败,则该分组属于一条新流,OpenFlow虚拟交换机将把该分组信息封装成Packet
‑
in消息发送给SDN控制器,以请求下发对应的流规则。5.根据权利要求4所述的OpenFlow虚拟流表查找方法,其特征在于,所述查找可伸缩缓存,进一步包括:
获取分组的流标识符fid,通过哈希函数h(
·
)得到流指纹ffp;然后针对每个分段,根据其对应的子哈希函数计算流的候选位置,进而将流指纹ffp与所有候选位置对应的缓存项进行匹配;若成功匹配某条缓存项,则返回其中的流表项索引值addr;否则,返回无效值。6.根据权利要求4所述的OpenFlow虚拟流表查找方法,其特征在于,所述将活跃精确流存入可伸缩缓存,进一步包括:根据数据分组的关键字段,获取流标识符fid、流表...
【专利技术属性】
技术研发人员:熊兵,黄巧荣,周浩,袁月,赵锦元,
申请(专利权)人:长沙理工大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。