CN111966284A - 一种OpenFlow大规模流表弹性节能与高效查找架构及方法 - Google Patents

一种OpenFlow大规模流表弹性节能与高效查找架构及方法 Download PDF

Info

Publication number
CN111966284A
CN111966284A CN202010684675.8A CN202010684675A CN111966284A CN 111966284 A CN111966284 A CN 111966284A CN 202010684675 A CN202010684675 A CN 202010684675A CN 111966284 A CN111966284 A CN 111966284A
Authority
CN
China
Prior art keywords
flow
flow table
tcam
node
accurate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010684675.8A
Other languages
English (en)
Other versions
CN111966284B (zh
Inventor
熊兵
曾振国
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Changsha University of Science and Technology
Original Assignee
Changsha University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Changsha University of Science and Technology filed Critical Changsha University of Science and Technology
Priority to CN202010684675.8A priority Critical patent/CN111966284B/zh
Publication of CN111966284A publication Critical patent/CN111966284A/zh
Application granted granted Critical
Publication of CN111966284B publication Critical patent/CN111966284B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

本发明公开了本发明提供一种OpenFlow大规模流表弹性节能与高效查找架构及方法,包括:活跃精确流层,用于缓存网络中的活跃精确流表项,实现高速低功率的流表缓存查找;汇聚流层,用于存储通配流表项,以缓解TCAM存储容量不足问题,提高TCAM缓存命中率;所述汇聚流层包括TCAM和DRAM;个体流层,用于存储暂不满足聚合条件的精确流表项,以提升OpenFlow交换机的分组转发能力;所述个体流层包括SRAM和DRAM。本发明方法使用十字链表构建稀疏网格,动态申请缓存空间,能存储下所有满足条件的精确流,不存在空表项,具有很高的空间利用率,能适应网络流量的动态变化,富有弹性。

Description

一种OpenFlow大规模流表弹性节能与高效查找架构及方法
技术领域
本发明涉及OpenFlow流表领域,具体涉及一种OpenFlow大规模流表弹性节能与高效查找架构及方法。
背景技术
软件定义网络(Software Defined Networking,SDN)作为一种新型的网络架构,将传统转发设备中的控制功能抽离出来,统一集中到SDN控制器中,以管理数据平面中的所有转发设备,进而实现对网络流量的灵活控制。SDN控制器根据全局网络视图制定流规则,通过南向协议接口统一下发,交由数据平面的交换机进行学习缓存以生成本地规则集,从而指导网络分组的处理。OpenFlow协议是目前应用最广泛的南向接口协议之一,其提取各层网络协议首部的重要字段作为流表项的匹配域,实现了网络协议栈的扁平化,进而组合不同字段以实现不同粒度的流量管理。OpenFlow流表作为数据平面流量管理的关键技术,每张流表都安装了许多流表项,用于指导OpenFlow交换机对网络分组进行正确的转发处理,流表中的每个字段都可以通配,以灵活处理不同粒度的流。因此,OpenFlow流表作为OpenFlow交换设备的核心组件,其存储与转发对数据交换性能有着至关重要的影响。
根据流规则中是否携带通配符,OpenFlow流表可以分为精确流表项和通配流表项。精确流表项只能处理转发网络中某条流的数据分组,而通配流表项携带有通配符,支持“0、1、中间态”三种数据查找,能够处理转发网络中多条流中的数据分组。因此,为提高分组转发性能,OpenFlow交换机常常使用TCAM存储通配流表,其能在单个周期内输出所有结果,查找速度快。
但同时会出现以下问题:
1、流表弹性节能查找问题
OpenFlow交换机通常使用三态内容可寻址寄存器(Ternary ContentAddressable Memory,TCAM)存储流表,以支持网络分组的高效流表查找与快速转发。然而,由于TCAM流表查找能耗大,部分工作提出可采用静态随机存取存储器(Static Random-Access Memory,SRAM)等低功耗存储器构建流缓存,存储TCAM中的部分流表项,并使用哈希查找方式,实现OpenFlow流表的快速节能查找。然而,由于网络流量很大程度上受用户行为和应用特性影响,具有较强的突发性与动态性。因此,在节能缓存设计中应重点考虑其伸缩性,即节能缓存能及时随着网络流量的动态变化,进行自适应大小调整,以实现查找效率与节能效果的动态均衡。现有的节能方案往往需预先设置流缓存大小,伸缩性差,容易产生以下问题:若节能缓存设置过小,则其能够容纳的流表项数量有限,将会导致部分重要流表项因哈希冲突而无法缓存,从而使得缓存命中率低下,节能效果不佳;若节能缓存设置过大,虽然能够容纳所有重要流表项,但由于哈希算法的不均匀性,使得缓存中存在众多空表项,造成缓存空间的浪费。
2、大规模流表查找性能问题
当SDN部署在广域网、数据中心等大规模网络场景中时,网络并发流数量巨大,使得OpenFlow交换机中流表项数量显著增多。此外,随着OpenFlow协议的不断演进,流表匹配字段数量显著增加,单条流表项的存储开销大幅增长。这两个因素的乘法效应导致了OpenFlow流表规模的急速膨胀,流表存储与查找性能面临挑战。目前,TCAM作为主流的流表存储介质,用以实现流表的快速查找。然而,TCAM容量有限,无法存储所有流表项,容易导致流表失配而频繁调用控制器,进而增加了数据分组的处理时延。
对比文件:CN111131084A公开了一种QoS感知的OpenFlow流表分级存储架构及应用,本发明架构将高优先级流存储在TCAM中,保证了高优先级流的分组查找性能;采用Cuckoo哈希结构设计精确流缓存机制,存储低优先级和无优先级活跃精确流,使这些精确流中的数据包直接命中缓存,进而快速找到对应的SRAM流表项,显著降低平均流表查找时间,提升OpenFlow交换机性能。该对比文件方案对于缓存空间没有进行较好的优化存储,使得缓存空间利用率不高,以及因缓存空间不足而频繁进行表项替换。
发明内容
本发明要解决的技术问题是提供一种基于十字链表,在插入流表项时申请新的缓存空间,避免了哈希冲突和空表项的产生,可以存储所有满足要求的流表项,防止因缓存空间不足而进行频繁的表项替换,同时,通过调整包间隔阂值以控制缓存的活跃精确流数量,可动态调整缓存命中率,从而动态均衡查找能耗和查找性能,且具有弹性的OpenFlow大规模流表弹性节能与高效查找架构及方法。
为了解决上述技术问题,本发明采用以下技术方案:
本发明提供一种OpenFlow大规模流表弹性节能与高效查找架构,包括:
活跃精确流层,用于缓存网络中的活跃精确流表项,实现高速低功率的流表缓存查找;所述活跃精确流层采用十字链表方式串连着缓存结点,形成类似于稀疏网格的流表缓存结构;所述稀疏网格的流表缓存结构中每个结点均由用于表项匹配的匹配域和用于记录该结点上一次成功匹配时间的时间戳,且每条活跃精确流链的头结点中均设有活跃结点计数器;
汇聚流层,用于存储通配流表项,并通过聚合算法进行合并,以缓解TCAM存储容量不足问题,提高TCAM缓存命中率;所述汇聚流层包括TCAM和DRAM;
个体流层,用于存储暂不满足聚合条件的精确流表项,以提升OpenFlow交换机的分组转发能力;所述个体流层包括SRAM和DRAM;
所述汇聚流层中TCAM存储流表项中的标识字段匹配域以及掩码,DRAM存储流表项剩余的内容字段动作集树以及时间戳;且TCAM储存具有汇聚能力的通配流表项,暂不满足汇聚条件的精确流表项则存储在SRAM中,通过实时使用流汇聚或者流拆分算法,对TCAM流表项进行适当的合并或者拆分;
所述个体流层中SRAM中存储有组织成哈希链表的精确流表项标识字段,DRAM存储有精确流表项的剩余内容字段;
所述动作集树用于保证数据分组进行正确转发处理,并使动作集不同的两条通配流表项能够合并。
本发明方法还提供一种基于上述架构的方法,包括:
所述活跃精确流层首先通过哈希运算定位匹配流表项所处的哈希查找链,当此哈希查找链中存在匹配此数据分组的结点,则获取该节点所处活跃精确流链对应的TCAM索引值,定位到相应的DRAM流表项,从而绕过TCAM流表查找过程,直接执行DRAM流表项中的动作集;
所述汇聚流层在SDN下发新的通配规则时,若TCAM存储空间已满,则优先使用汇聚算法聚合TCAM中的流表项,并更新动作集树以保证正确的数组分组转发;若TCAM流表项无法聚合,则使用拆分算法分解稀疏网格中结点个数最少的活跃精确流链,拆分对应的TCAM流表项;
所述个体流层从个体流聚合条件出发,将为1比特位数量相同的流表项放入同一条个体流聚合链,使得相邻聚合链上的流表项汉明距离始终为1;当TCAM容量充足时,将SRAM中的精确流快速聚合成通配流存入TCAM;当TCAM容量不足时,其拆分后的精确流表项或控制器新下发的精确规则将存入SRAM中。
进一步的,所述高效查找方法包括如下操作:
1、OpenFlow流表项分组转发;
通过对每个到达的数据分组查找OpenFlow流表项,找到对应的流表项,进而执行相应的动作集,其中,OpenFlow流表项均由匹配域和动作集的形式表示;
2、OpenFlow流表项插入或删除;
OpenFlow流表项插入:当OpenFlow交换机接收到SDN控制器下发的带ADD命令的flow-mod消息时,从消息中的流匹配信息判断流规则的所述类型,最后根据类型选择存放位置或者安装位置;
OpenFlow流表项删除:当OpenFlow交换机收到SDN控制器下发的带DELETE命令的flow-mod消息时,根据消息中待删除的流规则类型,判断是删除TCAM流表项还是SRAM流表项;
3、OpenFlow流表项超时扫描;
根据当前时间戳以及DRAM中存储的时间戳的差值判断流表项是否过期,若差值大于超时间隔,则该流表项已过期并删除此流表项;
4、TCAM通配流表项聚合以及拆分;
TCAM通配流表项聚合:首先提取通配流表项中包含掩码的匹配域,查找TCAM中与之汉明距离为1的流表项;若查找成功,首先进行DRAM动作集树构建过程,获取其动作集树层数;若合并后的动作集树层数大于门限值,则取消此次合并,继续寻找TCAM中下一条符合聚合条件的流表项;否则,合并两条流表项,更新动作集树,并合并其对应的缓存链表;聚合成功后,将生成一条新的通配流表项;此时,若动作集树层数仍低于门限值,可继续进行通配流表项聚合操作,直到最新生成的流表项无法再进行合并;最后,删除被合并的流表项,将最终生成的通配流表项存入TCAM;
TCAM通配流表项拆分:根据缓存头结点数组中的计数器获取稀疏网格中最短的活跃精确流链进行拆分;
5、SRAM精确流表项聚合;
首先获取精确流表项匹配域中bit位为1的个数以定位到对应的个体流聚合链,然后遍历其相邻的两条个体流聚合链,查找与之汉明距离为1的流表项;若查找成功,则聚合成一条新的通配流表项,根据两条流表项对应的内容字段构建动作集树存入DRAM顺序表,然后删除SRAM与DRAM中的原流表项,将新生成的通配流表项存入TCAM;
6、稀疏网格缓存更新以及超时扫描;
稀疏网格缓存更新:首先查找缓存,若缓存查找失败,则继续查找TCAM;若该流直接命中缓存,更新匹配结点的时间戳即可;若该流未命中缓存而命中TCAM,需将其插入缓存或更新其活跃状态;
稀疏网格超时扫描:根据当前系统时间戳和流表项中的时间戳的差值来判断一个结点是否超时,如果差值大于超时间隔,则该结点判定为超时结点,从缓存中清除;
7、动作集树构建;
当两条通配流表项汇聚成功后,获取其相异的比特位存入新建结点,其左右孩子结点分别为两条汇聚流对应动作集树的根节点。
进一步的,所述OpenFlow流表分组转发具体为:首先分析分组头部信息,提取流关键字;然后通过哈希运算在稀疏网格中查找与流关键字相匹配的结点,查找成功则获取该结点对应的TCAM流表项索引值,定位到DRAM中对应的动作集树,进而获取正确的动作集,转发处理数据分组;分组转发成功后,需更新DRAM表项中的相关内容字段信息;
其中,当稀疏网格缓存预测失败,则需使用流关键字进一步查找TCAM,若查找成功,则定位DRAM顺序表中对应的动作集树,获取动作集后转发处理数据分组。分组转发成功后,需更新动作集树所在DRAM表项的计数器与时间戳,并更新稀疏网格缓存;
当查找TCAM失败,将查找SRAM,如果查找成功,则获取对应的DRAM流表项,执行相应的动作集以进行分组转发处理,并更新DRAM流表项中的计数器与时间戳。若查找失败,则意味着该数据分组属于一条新流,OpenFlow交换机将把该数据分组的头部信息打包成packet-in消息上交给控制器,以请求控制器下发新的流规则。
进一步的,所述OpenFlow流表插入中根据类型选择存放位置或者安装位置具体为:若该流规则属于精确匹配规则,则将其标识字段与内容字段分别存入SRAM与DRAM;若此时TCAM容量充足,将部分精确流聚合成通配流存入TCAM,以利用TCAM查找速度极快的优势,加快个体流的处理过程;若控制器下发的是通配匹配规则,则该流规则应安装到TCAM中;当TCAM存储容量充足时,直接将该流规则安装到TCAM即可;否则,需优先对TCAM流表项进行合并,若合并失败,则选取TCAM中活跃度较低的通配流进行拆分,为新表项的安装腾出空间。
进一步,所述OpenFlow流表项删除具体还包括:
根据消息中待删除的流规则类型为通配匹配规则,则查找TCAM,查找成功则获取TCAM索引值,移除对应的缓存链表,并从DRAM顺序表中移除对应的动作集树,最后,移除此TCAM流表项;
根据消息中待删除的流规则类型为精确匹配规则,则查找SRAM,查找成功则删除对应的DRAM流表项以及SRAM流表项;
若查找TCAM与SRAM失败,则向控制器发送error消息,报告流规则删除失败结果。
进一步的,所述OpenFlow流表项超时扫描具体还包括:遍历TCAM流表,若发现过期流表项,首先根据TCAM索引值移除缓存中对应的缓存链表,然后从DRAM顺序表中移除对应的动作集树,最后删除此TCAM流表项;对于SRAM中存储的精确流表项,遍历各哈希查找链和哈希查找链中的所有流表项;若发现过期的结点,则删除对应的DRAM流表项和SRAM流表项。
进一步的,所述TCAM通配流表项拆分具体还包括:根据缓存头结点数组中的计数器获取稀疏网格中最短的活跃精确流链,得到头结点中存储的TCAM索引值以定位到对应的TCAM流表项,并依次将该流表项对应的缓存结点存入SRAM,其对应的动作集存入DRAM;当所有活跃结点都存入SRAM后,根据TCAM索引值删除对应的动作集树,移除该活跃精确流链以及对应的待活跃精确流链,并将头结点中的计数器置为0,最后从TCAM中删除该流表项,其中,活跃精确流链可采用循环双链表结构或者循环单链表结构,待活跃精确流链采用双链表结构或者单链表结构,且两条对应的活跃精确流链与待活跃精流链表可共用一个头结点或者分开存储。
进一步的,所述稀疏网格缓存更新具体还包括:首先,获取该流对应的TCAM索引值,查找对应的待活跃精确流链,如果待活跃精确流链中不存在结点匹配该数据分组,则将流关键字存入待活跃精确流链中;否则需进一步根据当前时间戳与结点中存储的时间戳的差值,判断该结点中的流表项是否进入活跃状态,如果进入了活跃状态,需将匹配结点移动到对应的活跃精确流链中,并更新匹配结点中的时间戳信息,其中,稀疏网格的存储介质采用SRAM、DRAM,SDRAM,DDR以及SDRAM等。
进一步的,所述稀疏网格超时扫描具体还包括:首先遍历活跃精确流链,当这条活跃精确流链为空或者遍历完成,则继续遍历对应的待活跃精确流链,当待活跃精确流链为空或者遍历完成后,则遍历下一条活跃精确流链,依此类推,遍历过程中一旦发现超时结点则将之删除。
进一步的,所述动作集树构建还包括:若其中通配流之前未经过聚合,对应的DRAM顺序表流表项只含有一个动作集,可将此动作集视为一棵只含有根结点的动作集树,然后进行动作集树的合并。为同时保证正确的分组转发操作与OpenFlow流表高效查找,当动作集树到达一定的层数时,对应的TCAM流表项便不能再进行合并。
本发明的有益效果在于:
1、本发明方法使用十字链表构建稀疏网格,动态申请缓存空间,能存储下所有满足条件的精确流,不存在空表项,具有很高的空间利用率;且不会产生哈希冲突,避免了进行表项替换而产生的能耗,节能效果好,缓存效率高。同时,根据实时网络状态设置包间隔阈值,动态调整缓存中活跃连接的数量,进而调整缓存命中率,以均衡查找能耗与查找性能,富有弹性。
2、本发明方法通过流汇聚/拆分过程,使得更多数据分组能直接命中TCAM,一方面使缓存能存储更多的活跃精确流,以提高缓存命中率,进而加速流表查找过程。另一方面提升了TCAM的匹配能力,降低了TCAM流表项替换频率。此外,稀疏网格缓存中的流表项只有在进行缓存更新时才会进行表项替换,显著降低了因表项替换带来的能耗。
3、本发明方法从流量汇聚角度出发,将网络流量区分为汇聚流和个体流,分别存入TCAM和SRAM。同时,设计相应的流汇聚/拆分算法对OpenFlow流表进行管理。TCAM流表项通过流汇聚算法可生成匹配能力更强的通配流,在保证快速流表查找的同时,降低对TCAM存储容量的要求。当TCAM容量不足时,则将活跃度较低的通配流拆分成多条精确流存入SRAM,以减少OpenFlow交换机与控制器交互频率。通过将流进行区分存储,并设计相应的流汇聚/拆分算法,在保证快速流表查找的基础上,缓解了TCAM存储容量不足的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明方法OpenFlow大规模流表弹性节能与高效查找架构的原理图。
图2是本发明方法中的动作集树结构图。
图3是本发明方法中OpenFlow流表分组转发流程图。
图4是本发明方法中OpenFlow流表插入流程图。
图5是本发明方法中OpenFlow流表删除流程图。
图6是本发明方法中OpenFlow流表超时扫描流程图。
图7是本发明方法中TCAM通配流表项聚合流程图。
图8是本发明方法中SRAM精确流表项聚合流程图。
图9是本发明方法中TCAM通配流表项拆分流程图。
图10是本发明方法中稀疏网格缓存更新流程图。
图11是本发明方法中稀疏网格超时扫描流程图。
图12是本发明方法中动作集树构建流程图。
具体实施方式
为了更好地阐述该发明的内容,下面通过具体实施例对本发明进一步的验证。特在此说明,实施例只是为更直接地描述本发明,它们只是本发明的一部分,不能对本发明构成任何限制。
如图1所示,本发明实施例提供一种OpenFlow大规模流表弹性节能与高效查找架构,包括:
活跃精确流层,用于缓存网络中的活跃精确流表项,实现高速低功率的流表缓存查找;所述活跃精确流层采用十字链表方式串连着缓存结点,形成类似于稀疏网格的流表缓存结构;所述稀疏网格的流表缓存结构中每个结点均由用于表项匹配的匹配域和用于记录该结点上一次成功匹配时间的时间戳,且每条活跃精确流链的头结点中均设有活跃结点计数器;
其中稀疏网格的存储介质优先采用SRAM;
其中活跃精确流链优先采用循环双链表结构,待活跃精确流链采用双链表结构,且两条对应的活跃精确流链与待活跃精流链表共用一个头结点。
汇聚流层,用于存储通配流表项,并通过聚合算法进行合并,以缓解TCAM存储容量不足问题,提高TCAM缓存命中率;所述汇聚流层包括TCAM和DRAM;
汇聚流层中TCAM汇聚流层存储流表项中的标识字段匹配域以及掩码,DRAM存储流表项剩余的内容字段动作集树以及时间戳;且TCAM储存具有汇聚能力的通配流表项,暂不满足汇聚条件的精确流表项则存储在SRAM中,通过实时使用流汇聚或者流拆分算法,对TCAM流表项进行适当的合并或者拆分;
个体流层,用于存储暂不满足聚合条件的精确流表项,以提升OpenFlow交换机的分组转发能力;所述个体流层包括SRAM和DRAM;
个体流层中SRAM中存储有组织成哈希链表的精确流表项标识字段,DRAM存储有精确流表项的剩余内容字段。
如图2所示,动作集树,用于保证数据分组进行正确转发处理,并使动作集不同的两条通配流表项能够合并。
活跃精确流层首先通过哈希运算定位匹配流表项所处的哈希查找链,当此哈希查找链中存在匹配此数据分组的结点,则获取该节点所处活跃精确流链对应的TCAM索引值,定位到相应的DRAM流表项,从而绕过TCAM流表查找过程,直接执行DRAM流表项中的动作集;
本实施例还提供一种基于上述架构的方法,包括以下步骤:
汇聚流层在SDN下发新的通配规则时,若TCAM存储空间已满,则优先使用汇聚算法聚合TCAM中的流表项,并更新动作集树以保证正确的数组分组转发;若TCAM流表项无法聚合,则使用拆分算法分解稀疏网格中结点个数最少的活跃精确流链,拆分对应的TCAM流表项。
个体流层从个体流聚合条件出发,将为1比特位数量相同的流表项放入同一条个体流聚合链,使得相邻聚合链上的流表项汉明距离始终为1;当TCAM容量充足时,将SRAM中的精确流快速聚合成通配流存入TCAM;当TCAM容量不足时,其拆分后的精确流表项或控制器新下发的精确规则将存入SRAM中。
1、OpenFlow流表项分组转发;
如图3所示,通过对每个到达的数据分组查找OpenFlow流表,找到对应的流表项,进而执行相应的动作集;
首先分析分组头部信息,提取流关键字;然后通过哈希运算在稀疏网格中查找与流关键字相匹配的结点,查找成功则获取该结点对应的TCAM流表项索引值,定位到DRAM中对应的动作集树,进而获取正确的动作集,转发处理数据分组;分组转发成功后,需更新DRAM表项中的相关内容字段信息;
其中,当稀疏网格缓存预测失败,则需使用流关键字进一步查找TCAM,若查找成功,则定位DRAM顺序表中对应的动作集树,获取动作集后转发处理数据分组。分组转发成功后,需更新动作集树所在DRAM表项的计数器与时间戳,并更新稀疏网格缓存;
当查找TCAM失败,将查找SRAM,如果查找成功,则获取对应的DRAM流表项,执行相应的动作集以进行分组转发处理,并更新DRAM流表项中的计数器与时间戳。若查找失败,则意味着该数据分组属于一条新流,OpenFlow交换机将把该数据分组的头部信息打包成packet-in消息上交给控制器,以请求控制器下发新的流规则。
2、OpenFlow流表项插入或删除;
如图4所示,OpenFlow流表项插入:当OpenFlow交换机接收到SDN控制器下发的带ADD命令的flow-mod消息时,从消息中的流匹配信息判断流规则的所述类型,最后根据类型选择存放位置或者安装位置;
OpenFlow流表插入中根据类型选择存放位置或者安装位置具体为:若该流规则属于精确匹配规则,则将其标识字段与内容字段分别存入SRAM与DRAM;若此时TCAM容量充足,将部分精确流聚合成通配流存入TCAM,以利用TCAM查找速度极快的优势,加快个体流的处理过程;若控制器下发的是通配匹配规则,则该流规则应安装到TCAM中;当TCAM存储容量充足时,直接将该流规则安装到TCAM即可;否则,需优先对TCAM流表项进行合并,若合并失败,则选取TCAM中活跃度较低的通配流进行拆分,为新表项的安装腾出空间。
如图5所示,OpenFlow流表项删除:当OpenFlow交换机收到SDN控制器下发的带DELETE命令的flow-mod消息时,根据消息中待删除的流规则类型,判断是删除TCAM流表项还是SRAM流表项;
根据消息中待删除的流规则类型为通配匹配规则,则查找TCAM,查找成功则获取TCAM索引值,移除对应的缓存链表,并从DRAM顺序表中移除对应的动作集树,最后,移除此TCAM流表项;
根据消息中待删除的流规则类型为精确匹配规则,则查找SRAM,查找成功则删除对应的DRAM流表项以及SRAM流表项;
若查找TCAM与SRAM失败,则向控制器发送error消息,报告流规则删除失败结果。
3、OpenFlow流表项超时扫描;
如图6所示,根据当前时间戳以及DRAM中存储的时间戳的差值判断流表项是否过期,若差值大于超时间隔,则该流表项已过期并删除此流表项;
OpenFlow流表项超时扫描具体还包括:遍历TCAM流表,若发现过期流表项,首先根据TCAM索引值移除缓存中对应的缓存链表,然后从DRAM顺序表中移除对应的动作集树,最后删除此TCAM流表项;对于SRAM中存储的精确流表项,遍历各哈希查找链和哈希查找链中的所有流表项;若发现过期的结点,则删除对应的DRAM流表项和SRAM流表项。
4、TCAM通配流表项聚合以及拆分;
如图7所示,TCAM通配流表项聚合:首先提取通配流表项中包含掩码的匹配域,查找TCAM中与之汉明距离为1的流表项;若查找成功,首先进行DRAM动作集树构建过程,获取其动作集树层数;若合并后的动作集树层数大于门限值,则取消此次合并,继续寻找TCAM中下一条符合聚合条件的流表项;否则,合并两条流表项,更新动作集树,并合并其对应的缓存链表;聚合成功后,将生成一条新的通配流表项;此时,若动作集树层数仍低于门限值,可继续进行通配流表项聚合操作,直到最新生成的流表项无法再进行合并;最后,删除被合并的流表项,将最终生成的通配流表项存入TCAM;
如图9所示,TCAM通配流表项拆分:根据缓存头结点数组中的计数器获取稀疏网格中最短的活跃精确流链进行拆分;
根据缓存头结点数组中的计数器获取稀疏网格中最短的活跃精确流链,得到头结点中存储的TCAM索引值以定位到对应的TCAM流表项,并依次将该流表项对应的缓存结点存入SRAM,其对应的动作集存入DRAM;当所有活跃结点都存入SRAM后,根据TCAM索引值删除对应的动作集树,移除该活跃精确流链以及对应的待活跃精确流链,并将头结点中的计数器置为0,最后从TCAM中删除该流表项。
5、SRAM精确流表项聚合;
如图8所示,首先获取精确流表项匹配域中bit位为1的个数以定位到对应的个体流聚合链,然后遍历其相邻的两条个体流聚合链,查找与之汉明距离为1的流表项;若查找成功,则聚合成一条新的通配流表项,根据两条流表项对应的内容字段构建动作集树存入DRAM顺序表,然后删除SRAM与DRAM中的原流表项,将新生成的通配流表项存入TCAM;
6、稀疏网格缓存更新以及超时扫描;
如图10所示,稀疏网格缓存更新:首先查找缓存,若缓存查找失败,则继续查找TCAM;若该流直接命中缓存,更新匹配结点的时间戳即可;若该流未命中缓存而命中TCAM,需将其插入缓存或更新其活跃状态;
首先,获取该流对应的TCAM索引值,查找对应的待活跃精确流链,如果待活跃精确流链中不存在结点匹配该数据分组,则将流关键字存入待活跃精确流链中;否则需进一步根据当前时间戳与结点中存储的时间戳的差值,判断该结点中的流表项是否进入活跃状态,如果进入了活跃状态,需将匹配结点移动到对应的活跃精确流链中,并更新匹配结点中的时间戳信息。
如图11所示,稀疏网格超时扫描:根据当前系统时间戳和流表项中的时间戳的差值来判断一个结点是否超时,如果差值大于超时间隔,则该结点判定为超时结点,从缓存中清除;
首先遍历活跃精确流链,当这条活跃精确流链为空或者遍历完成,则继续遍历对应的待活跃精确流链,当待活跃精确流链为空或者遍历完成后,则遍历下一条活跃精确流链,依此类推,遍历过程中一旦发现超时结点则将之删除。
7、动作集树构建;
如图12所示,当两条通配流表项汇聚成功后,获取其相异的比特位存入新建结点,其左右孩子结点分别为两条汇聚流对应动作集树的根节点;
若其中通配流之前未经过聚合,对应的DRAM顺序表流表项只含有一个动作集,可将此动作集视为一棵只含有根结点的动作集树,然后进行动作集树的合并。为同时保证正确的分组转发操作与OpenFlow流表高效查找,当动作集树到达一定的层数时,对应的TCAM流表项便不能再进行合并。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所述技术领域的技术人员可以所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

Claims (10)

1.一种OpenFlow大规模流表弹性节能与高效查找架构,其特征在于,包括:
活跃精确流层,用于缓存网络中的活跃精确流表项,实现高速低功率的流表缓存查找;所述活跃精确流层采用十字链表方式串连着缓存结点,形成类似于稀疏网格的流表缓存结构;所述稀疏网格的流表缓存结构中每个结点均由用于表项匹配的匹配域和用于记录该结点上一次成功匹配时间的时间戳,且每条活跃精确流链的头结点中均设有活跃结点计数器;
汇聚流层,用于存储通配流表项,并通过聚合算法进行合并,以缓解TCAM存储容量不足问题,提高TCAM缓存命中率;所述汇聚流层包括TCAM和DRAM;
个体流层,用于存储暂不满足聚合条件的精确流表项,以提升OpenFlow交换机的分组转发能力;所述个体流层包括SRAM和DRAM;
所述汇聚流层中TCAM存储流表项中的标识字段匹配域以及掩码,DRAM存储流表项剩余的内容字段动作集树以及时间戳;且TCAM储存具有汇聚能力的通配流表项,暂不满足汇聚条件的精确流表项则存储在SRAM中,通过实时使用流汇聚或者流拆分算法,对TCAM流表项进行适当的合并或者拆分;
所述个体流层中SRAM中存储有组织成哈希链表的精确流表项标识字段,DRAM存储有精确流表项的剩余内容字段;
所述动作集树用于保证数据分组进行正确转发处理,并使动作集不同的两条通配流表项能够合并。
2.一种基于权利要求1所述架构的方法,其特征在于,包括以下步骤:
所述活跃精确流层首先通过哈希运算定位匹配流表项所处的哈希查找链,当此哈希查找链中存在匹配此数据分组的结点,则获取该节点所处活跃精确流链对应的TCAM索引值,定位到相应的DRAM流表项,从而绕过TCAM流表查找过程,直接执行DRAM流表项中的动作集;
所述汇聚流层在SDN下发新的通配规则时,若TCAM存储空间已满,则优先使用汇聚算法聚合TCAM中的流表项,并更新动作集树以保证正确的数组分组转发;若TCAM流表项无法聚合,则使用拆分算法分解稀疏网格中结点个数最少的活跃精确流链,拆分对应的TCAM流表项;
所述个体流层从个体流聚合条件出发,将为1比特位数量相同的流表项放入同一条个体流聚合链,使得相邻聚合链上的流表项汉明距离始终为1;当TCAM容量充足时,将SRAM中的精确流快速聚合成通配流存入TCAM;当TCAM容量不足时,其拆分后的精确流表项或控制器新下发的精确规则将存入SRAM中。
3.根据权利要求2所述的方法,其特征在于,所述高效查找方法包括以下操作:
a、OpenFlow流表项分组转发;
通过对每个到达的数据分组查找OpenFlow流表,找到对应的流表项,进而执行相应的动作集;
b、OpenFlow流表项插入或删除;
OpenFlow流表项插入:当OpenFlow交换机接收到SDN控制器下发的带ADD命令的flow-mod消息时,从消息中的流匹配信息判断流规则的所述类型,最后根据类型选择存放位置或者安装位置;
OpenFlow流表项删除:当OpenFlow交换机收到SDN控制器下发的带DELETE命令的flow-mod消息时,根据消息中待删除的流规则类型,判断是删除TCAM流表项还是SRAM流表项;
c、OpenFlow流表项超时扫描;
根据当前时间戳以及DRAM中存储的时间戳的差值判断流表项是否过期,若差值大于超时间隔,则该流表项已过期并删除此流表项;
d、TCAM通配流表项聚合以及拆分;
TCAM通配流表项聚合:首先提取通配流表项中包含掩码的匹配域,查找TCAM中与之汉明距离为1的流表项;若查找成功,首先进行DRAM动作集树构建过程,获取其动作集树层数;若合并后的动作集树层数大于门限值,则取消此次合并,继续寻找TCAM中下一条符合聚合条件的流表项;否则,合并两条流表项,更新动作集树,并合并其对应的缓存链表;聚合成功后,将生成一条新的通配流表项;此时,若动作集树层数仍低于门限值,可继续进行通配流表项聚合操作,直到最新生成的流表项无法再进行合并;最后,删除被合并的流表项,将最终生成的通配流表项存入TCAM;
TCAM通配流表项拆分:根据缓存头结点数组中的计数器获取稀疏网格中最短的活跃精确流链,得到头结点中存储的TCAM索引值以定位到对应的TCAM流表项,并依次将该流表项对应的缓存结点存入SRAM,其对应的动作集存入DRAM;当所有活跃结点都存入SRAM后,根据TCAM索引值删除对应的动作集树,移除该活跃精确流链以及对应的待活跃精确流链,并将头结点中的计数器置为0,最后从TCAM中删除该流表项,其中,活跃精确流链可采用循环双链表结构或者循环单链表结构,待活跃精确流链采用双链表结构或者单链表结构,且两条对应的活跃精确流链与待活跃精流链表共用一个头结点或者分开存储;
e、SRAM精确流表项聚合;
首先获取精确流表项匹配域中bit位为1的个数以定位到对应的个体流聚合链,然后遍历其相邻的两条个体流聚合链,查找与之汉明距离为1的流表项;若查找成功,则聚合成一条新的通配流表项,根据两条流表项对应的内容字段构建动作集树存入DRAM顺序表,然后删除SRAM与DRAM中的原流表项,将新生成的通配流表项存入TCAM;
f、稀疏网格缓存更新以及超时扫描;
稀疏网格缓存更新:首先查找缓存,若缓存查找失败,则继续查找TCAM;若该流直接命中缓存,更新匹配结点的时间戳即可;若该流未命中缓存而命中TCAM,需将其插入缓存或更新其活跃状态;
稀疏网格超时扫描:根据当前系统时间戳和流表项中的时间戳的差值来判断一个结点是否超时,如果差值大于超时间隔,则该结点判定为超时结点,从缓存中清除;
g、动作集树构建;
当两条通配流表项汇聚成功后,获取其相异的比特位存入新建结点,其左右孩子结点分别为两条汇聚流对应动作集树的根节点。
4.根据权利要求3所述的方法,其特征在于,所述OpenFlow流表分组转发具体为:首先分析分组头部信息,提取流关键字;然后通过哈希运算在稀疏网格中查找与流关键字相匹配的结点,查找成功则获取该结点对应的TCAM流表项索引值,定位到DRAM中对应的动作集树,进而获取正确的动作集,转发处理数据分组;分组转发成功后,需更新DRAM表项中的相关内容字段信息;
其中,当稀疏网格缓存预测失败,则需使用流关键字进一步查找TCAM,若查找成功,则定位DRAM顺序表中对应的动作集树,获取动作集后转发处理数据分组。分组转发成功后,需更新动作集树所在DRAM表项的计数器与时间戳,并更新稀疏网格缓存;
当查找TCAM失败,将查找SRAM,如果查找成功,则获取对应的DRAM流表项,执行相应的动作集以进行分组转发处理,并更新DRAM流表项中的计数器与时间戳。若查找失败,则意味着该数据分组属于一条新流,OpenFlow交换机将把该数据分组的头部信息打包成packet-in消息上交给控制器,以请求控制器下发新的流规则。
5.根据权利要求3所述的方法,其特征在于,所述OpenFlow流表插入中根据类型选择存放位置或者安装位置具体为:若该流规则属于精确匹配规则,则将其标识字段与内容字段分别存入SRAM与DRAM;若此时TCAM容量充足,将部分精确流聚合成通配流存入TCAM,以利用TCAM查找速度极快的优势,加快个体流的处理过程;若控制器下发的是通配匹配规则,则该流规则应安装到TCAM中;当TCAM存储容量充足时,直接将该流规则安装到TCAM即可;否则,需优先对TCAM流表项进行合并,若合并失败,则选取TCAM中活跃度较低的通配流进行拆分,为新表项的安装腾出空间。
6.根据权利要求3所述的方法,其特征在于,所述OpenFlow流表项删除具体还包括:
根据消息中待删除的流规则类型为通配匹配规则,则查找TCAM,查找成功则获取TCAM索引值,移除对应的缓存链表,并从DRAM顺序表中移除对应的动作集树,最后,移除此TCAM流表项;
根据消息中待删除的流规则类型为精确匹配规则,则查找SRAM,查找成功则删除对应的DRAM流表项以及SRAM流表项;
若查找TCAM与SRAM失败,则向控制器发送error消息,报告流规则删除失败结果。
7.根据权利要求3所述的方法,其特征在于,所述OpenFlow流表项超时扫描具体还包括:遍历TCAM流表,若发现过期流表项,首先根据TCAM索引值移除缓存中对应的缓存链表,然后从DRAM顺序表中移除对应的动作集树,最后删除此TCAM流表项;对于SRAM中存储的精确流表项,遍历各哈希查找链和哈希查找链中的所有流表项;若发现过期的结点,则删除对应的DRAM流表项和SRAM流表项。
8.根据权利要求3所述的方法,其特征在于,所述稀疏网格缓存更新具体还包括:首先,获取该流对应的TCAM索引值,查找对应的待活跃精确流链,如果待活跃精确流链中不存在结点匹配该数据分组,则将流关键字存入待活跃精确流链中;否则需进一步根据当前时间戳与结点中存储的时间戳的差值,判断该结点中的流表项是否进入活跃状态,如果进入了活跃状态,需将匹配结点移动到对应的活跃精确流链中,并更新匹配结点中的时间戳信息,其中,稀疏网格的存储介质采用SRAM、DRAM,SDRAM,DDR以及SDRAM等。
9.根据权利要求3所述的方法,其特征在于,所述稀疏网格超时扫描具体还包括:首先遍历活跃精确流链,当这条活跃精确流链为空或者遍历完成,则继续遍历对应的待活跃精确流链,当待活跃精确流链为空或者遍历完成后,则遍历下一条活跃精确流链,依此类推,遍历过程中一旦发现超时结点则将之删除。
10.根据权利要求3所述的方法,其特征在于,所述动作集树构建还包括:若其中通配流之前未经过聚合,对应的DRAM顺序表流表项只含有一个动作集,可将此动作集视为一棵只含有根结点的动作集树,然后进行动作集树的合并。为同时保证正确的分组转发操作与OpenFlow流表高效查找,当动作集树到达一定的层数时,对应的TCAM流表项便不能再进行合并。
CN202010684675.8A 2020-07-16 2020-07-16 一种OpenFlow大规模流表弹性节能与高效查找系统及方法 Active CN111966284B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010684675.8A CN111966284B (zh) 2020-07-16 2020-07-16 一种OpenFlow大规模流表弹性节能与高效查找系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010684675.8A CN111966284B (zh) 2020-07-16 2020-07-16 一种OpenFlow大规模流表弹性节能与高效查找系统及方法

Publications (2)

Publication Number Publication Date
CN111966284A true CN111966284A (zh) 2020-11-20
CN111966284B CN111966284B (zh) 2022-06-03

Family

ID=73362139

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010684675.8A Active CN111966284B (zh) 2020-07-16 2020-07-16 一种OpenFlow大规模流表弹性节能与高效查找系统及方法

Country Status (1)

Country Link
CN (1) CN111966284B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112631631A (zh) * 2020-12-29 2021-04-09 中国科学院计算机网络信息中心 一种针对gpu加速多步长前缀树的更新序列维护方法
CN113806403A (zh) * 2021-09-22 2021-12-17 浙江锐文科技有限公司 一种在智能网卡/dpu内降低查找匹配逻辑资源的方法
CN113810298A (zh) * 2021-09-23 2021-12-17 长沙理工大学 一种支持网络流量抖动的OpenFlow虚拟流表弹性加速查找方法
CN114257461A (zh) * 2022-03-01 2022-03-29 四川省商投信息技术有限责任公司 一种sdn交换机流表控制方法及装置
CN114640641A (zh) * 2022-03-01 2022-06-17 长沙理工大学 一种流量感知的OpenFlow流表弹性节能查找方法
CN114710434A (zh) * 2022-03-11 2022-07-05 深圳市风云实业有限公司 一种基于OpenFlow交换机的多级流表构建方法
CN114760237A (zh) * 2022-03-11 2022-07-15 深圳市风云实业有限公司 一种基于tcam表的多级流表构建方法
CN115208810A (zh) * 2021-04-12 2022-10-18 益思芯科技(上海)有限公司 一种转发流表加速方法及装置、电子设备和存储介质
CN115633097A (zh) * 2022-12-21 2023-01-20 新华三信息技术有限公司 一种访问控制列表acl压缩方法及装置
CN116248593A (zh) * 2022-12-30 2023-06-09 天翼云科技有限公司 一种流表关键字匹配方法、装置、电子设备和存储介质
WO2024037243A1 (zh) * 2022-08-15 2024-02-22 华为技术有限公司 一种数据处理方法、装置和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104952484A (zh) * 2014-03-31 2015-09-30 何少鹏 利用分组来实现三重内容可寻址存储器的方法及装置
US20170195253A1 (en) * 2015-12-31 2017-07-06 Fortinet, Inc. Flexible pipeline architecture for multi-table flow processing
CN108337172A (zh) * 2018-01-30 2018-07-27 长沙理工大学 大规模OpenFlow流表分级存储架构与加速查找方法
CN111131029A (zh) * 2019-12-03 2020-05-08 长沙理工大学 一种支持规则依赖的高能效OpenFlow流表查找方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104952484A (zh) * 2014-03-31 2015-09-30 何少鹏 利用分组来实现三重内容可寻址存储器的方法及装置
US20170195253A1 (en) * 2015-12-31 2017-07-06 Fortinet, Inc. Flexible pipeline architecture for multi-table flow processing
CN108337172A (zh) * 2018-01-30 2018-07-27 长沙理工大学 大规模OpenFlow流表分级存储架构与加速查找方法
CN111131029A (zh) * 2019-12-03 2020-05-08 长沙理工大学 一种支持规则依赖的高能效OpenFlow流表查找方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BING XIONG 等: "Efficient Differentiated Storage Architecture for Large-scale Flow Tables in OpenFlow Networks", 《THE 21ST IEEE INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING AND COMMUNICATIONS (HPCC)》 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112631631B (zh) * 2020-12-29 2021-11-16 中国科学院计算机网络信息中心 一种针对gpu加速多步长前缀树的更新序列维护方法
CN112631631A (zh) * 2020-12-29 2021-04-09 中国科学院计算机网络信息中心 一种针对gpu加速多步长前缀树的更新序列维护方法
CN115208810A (zh) * 2021-04-12 2022-10-18 益思芯科技(上海)有限公司 一种转发流表加速方法及装置、电子设备和存储介质
CN113806403A (zh) * 2021-09-22 2021-12-17 浙江锐文科技有限公司 一种在智能网卡/dpu内降低查找匹配逻辑资源的方法
CN113810298A (zh) * 2021-09-23 2021-12-17 长沙理工大学 一种支持网络流量抖动的OpenFlow虚拟流表弹性加速查找方法
CN114257461A (zh) * 2022-03-01 2022-03-29 四川省商投信息技术有限责任公司 一种sdn交换机流表控制方法及装置
CN114640641A (zh) * 2022-03-01 2022-06-17 长沙理工大学 一种流量感知的OpenFlow流表弹性节能查找方法
CN114640641B (zh) * 2022-03-01 2024-03-12 长沙理工大学 一种流量感知的OpenFlow流表弹性节能查找方法
CN114710434A (zh) * 2022-03-11 2022-07-05 深圳市风云实业有限公司 一种基于OpenFlow交换机的多级流表构建方法
CN114760237A (zh) * 2022-03-11 2022-07-15 深圳市风云实业有限公司 一种基于tcam表的多级流表构建方法
CN114710434B (zh) * 2022-03-11 2023-08-25 深圳市风云实业有限公司 一种基于OpenFlow交换机的多级流表构建方法
CN114760237B (zh) * 2022-03-11 2024-04-19 深圳市风云实业有限公司 一种基于tcam表的多级流表构建方法
WO2024037243A1 (zh) * 2022-08-15 2024-02-22 华为技术有限公司 一种数据处理方法、装置和系统
CN115633097A (zh) * 2022-12-21 2023-01-20 新华三信息技术有限公司 一种访问控制列表acl压缩方法及装置
CN115633097B (zh) * 2022-12-21 2023-04-28 新华三信息技术有限公司 一种访问控制列表acl压缩方法及装置
CN116248593A (zh) * 2022-12-30 2023-06-09 天翼云科技有限公司 一种流表关键字匹配方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN111966284B (zh) 2022-06-03

Similar Documents

Publication Publication Date Title
CN111966284B (zh) 一种OpenFlow大规模流表弹性节能与高效查找系统及方法
CN108337172B (zh) 大规模OpenFlow流表加速查找方法
CN110808910B (zh) 一种支持QoS的OpenFlow流表节能存储架构及其方法
Basu et al. Fast incremental updates for pipelined forwarding engines
Tang et al. Coordinated en-route web caching
CN109921996A (zh) 一种高性能的OpenFlow虚拟流表查找方法
Wang et al. CoPTUA: Consistent policy table update algorithm for TCAM without locking
CN111131084B (zh) 一种QoS感知的OpenFlow流表查找方法
CN107276916B (zh) 基于协议无感知转发技术的交换机流表管理方法
Mishra et al. Duos-simple dual tcam architecture for routing tables with incremental update
CN111131029B (zh) 一种支持规则依赖的高能效OpenFlow流表查找方法
US11652744B1 (en) Multi-stage prefix matching enhancements
CN101840417B (zh) 一种基于相关关系的物联网uid查询方法
CN113810298B (zh) 一种支持网络流量抖动的OpenFlow虚拟流表弹性加速查找方法
CN114640641B (zh) 一种流量感知的OpenFlow流表弹性节能查找方法
Zhang et al. AIR: An AI-based TCAM entry replacement scheme for routers
Su et al. Matching model of flow table for networked big data
CN101515866B (zh) 硬件数据更新方法和设备
CN110417661A (zh) 一种用于命名数据网络中网络节点的转发方法、装置、系统及存储介质
Eldakiky et al. TurboKV: scaling up the performance of distributed key-value stores with in-switch coordination
CN115933978A (zh) 一种OpenFlow流表深度聚合方法及快速查找系统
Xiong et al. Efficient differentiated storage architecture for large-scale flow tables in openflow networks
CN114499889B (zh) 一种适合网络处理芯片存储超大规格会话的方法
Xiong et al. Cuckooflow: achieving fast packet classification for virtual openflow switching by exploiting network traffic locality
Tang et al. Coordinated management of cascaded caches for efficient content distribution

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant