CN113328944B - 一种流表管理方法及装置 - Google Patents
一种流表管理方法及装置 Download PDFInfo
- Publication number
- CN113328944B CN113328944B CN202110403397.9A CN202110403397A CN113328944B CN 113328944 B CN113328944 B CN 113328944B CN 202110403397 A CN202110403397 A CN 202110403397A CN 113328944 B CN113328944 B CN 113328944B
- Authority
- CN
- China
- Prior art keywords
- class
- flow table
- unloading
- offload
- flow tables
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
Abstract
本申请涉及网络通信技术领域,特别涉及一种流表管理方法及装置。该方法应用于智能网卡,所述方法包括:接收软转发层下发的第一类卸载流表,其中,所述第一类卸载流表包括源地址信息,目的地址信息和转发动作;基于所述第一类卸载流表的目的地址信息,判断本地维护的卸载流表中是否存在与所述第一类卸载流表相匹配的第二类卸载流表,其中,所述第二类卸载流表包括目的地址信息和转发动作;若存在,则删除所述第一类卸载流表;否则,将所述第一类卸载流表压缩为所述第二类卸载流表。
Description
技术领域
本申请涉及网络通信技术领域,特别涉及一种流表管理方法及装置。
背景技术
随着网络技术的快速发展,各网络设备厂商开始推出智能网卡,这是一种可以将openvswitch的数据面datapath,甚至是控制面ovs-vswitchd、 ovs-dbserver都卸载到智能网卡的网络卸载方案,当数据面卸载到智能网卡后,ovs的数据快转功能由硬件E-switch来实现,同时用户态的流表也能进行offload,下发给E-switch从而提升数据转发的效率。
但是,智能网卡E-switch的offloaded流表空间一般是有限的,如,智能网卡offloaded流表空间规格是10K条流表。目前,大多数支持硬件卸载的智能网卡,其offloaded的流表都会记录完整的源地址信息,如源Mac地址、源IP地址,导致生成的卸载流表的数量会与源地址数量成正比,大大降低了智能网卡硬件卸载流表空间的利用率,目前还没有改善方案。
那么,如何在网络业务量庞大的云化网络环境中提升智能网卡硬件卸载流表的空间利用率,是一个亟待解决的重要问题。
发明内容
本申请提供了一种数据读取方法及装置,用以解决现有技术中存在的智能网卡硬件卸载流表利用率不高的问题。
第一方面,本申请提供了一种流表管理方法,应用于智能网卡,所述方法包括:
接收软转发层下发的第一类卸载流表,其中,所述第一类卸载流表包括源地址信息,目的地址信息和转发动作;
基于所述第一类卸载流表的目的地址信息,判断本地维护的卸载流表中是否存在与所述第一类卸载流表相匹配的第二类卸载流表,其中,所述第二类卸载流表包括目的地址信息和转发动作;
若存在,则删除所述第一类卸载流表;否则,将所述第一类卸载流表压缩为所述第二类卸载流表。
可选地,所述第一类卸载流表还包括转发策略;所述方法还包括:
判断所述第一类卸载流表包括的转发策略是否满足预设要求;
若确定所述第一类卸载流表包括的转发策略满足预设要求,则在本地维护所述第一类卸载流表。
可选地,所述源地址信息包括源MAC地址和/或源IP地址;所述目的地址信息包里目的MAC地址和/或目的IP地址。
可选地,所述第一类卸载流表还包括其他匹配项;所述方法还包括:
针对目的地址信息和其他匹配项相同的若干目标第一类卸载流表和目标第二类卸载流表,将所述若干目标第一类卸载流表的匹配优先级设置为第一优先级,并将所述目标第二类卸载流表的匹配优先级设置为第二优先级,其中,第一优先级的卸载流表的匹配优先级高于第二优先级的卸载流表。
可选地,将所述若干目标第一类卸载流表的匹配优先级设置为第一优先级的步骤包括:
分别确定所述若干目标第一类卸载流表的源地址的范围,基于所述若干目标第一类卸载流表的源地址的范围,分别设置所述若干目标第一类卸载流表的匹配优先级,其中,地址范围越小的目标第一类卸载流表的匹配优先级越高。
第二方面,本申请提供了一种流表管理装置,应用于智能网卡,所述装置包括:
接收单元,用于接收软转发层下发的第一类卸载流表,其中,所述第一类卸载流表包括源地址信息,目的地址信息和转发动作;
判断单元,用于基于所述第一类卸载流表的目的地址信息,判断本地维护的卸载流表中是否存在与所述第一类卸载流表相匹配的第二类卸载流表,其中,所述第二类卸载流表包括目的地址信息和转发动作;
处理单元,若所述判断单元判定本地维护的卸载流表中存在与所述第一类卸载流表相匹配的第二类卸载流表,则所述处理单元删除所述第一类卸载流表;否则,所述处理单元将所述第一类卸载流表压缩为所述第二类卸载流表。
可选地,所述第一类卸载流表还包括转发策略;
所述判断单元还用于,判断所述第一类卸载流表包括的转发策略是否满足预设要求;
若所述判断单元确定所述第一类卸载流表包括的转发策略满足预设要求,则所述处理单元还用于,在本地维护所述第一类卸载流表。
可选地,所述源地址信息包括源MAC地址和/或源IP地址;所述目的地址信息包里目的MAC地址和/或目的IP地址。
可选地,所述第一类卸载流表还包括其他匹配项;所述装置还包括:
设置单元,用于针对目的地址信息和其他匹配项相同的若干目标第一类卸载流表和目标第二类卸载流表,将所述若干目标第一类卸载流表的匹配优先级设置为第一优先级,并将所述目标第二类卸载流表的匹配优先级设置为第二优先级,其中,第一优先级的卸载流表的匹配优先级高于第二优先级的卸载流表。
可选地,将所述若干目标第一类卸载流表的匹配优先级设置为第一优先级时,所述设置单元具体用于:
分别确定所述若干目标第一类卸载流表的源地址的范围,基于所述若干目标第一类卸载流表的源地址的范围,分别设置所述若干目标第一类卸载流表的匹配优先级,其中,地址范围越小的目标第一类卸载流表的匹配优先级越高。
第三方面,本申请实施例提供一种智能网卡,该智能网卡包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如上述第一方面中任一项所述的方法的步骤。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行如上述第一方面中任一项所述方法的步骤。
综上可知,本申请实施例提供的流表管理方法,应用于智能网卡,所述方法包括:接收软转发层下发的第一类卸载流表,其中,所述第一类卸载流表包括源地址信息,目的地址信息和转发动作;基于所述第一类卸载流表的目的地址信息,判断本地维护的卸载流表中是否存在与所述第一类卸载流表相匹配的第二类卸载流表,其中,所述第二类卸载流表包括目的地址信息和转发动作;若存在,则删除所述第一类卸载流表;否则,将所述第一类卸载流表压缩为所述第二类卸载流表。
采用本申请实施例提供的流表管理方法,智能网卡基于预设规则,将目的地址相同的卸载流表压缩为一条卸载流表,这样,在访问服务器的客户端数量较多的情况下,能够压缩卸载流表的数量,从而提升智能网卡卸载流量空间的使用率。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
图1为本申请实施例提供的一种流表管理方法的详细流程图;
图2为本申请实施例提供的一种卸载流表压缩示意图;
图3为本申请实施例提供的一种流表管理装置的结构示意图;
图4为本申请实施例提供的一种智能网卡的结构示意图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
智能网卡中的e-switch是数据包硬件转发模块,类似于一个支持Openflow 的硬件交换机,有自己的处理器IO processor处理数据包转发。ARM cores是智能网卡的卡上嵌入式系统,可以安装Linux操作系统,这样可以将ovs-vswitchd 和ovsdb-server运行在卡上,流表卸载效率更高,同时减少了对主机的CPU、内存等资源占用。
智能网卡OVS硬件卸载是指Openvswitch的datapath数据通道下沉到智能网卡硬件上,通过智能网卡叫做e-switch的硬件加速实现的交换机来进行数据包的快速转发。e-switch的快速转发基于由ovs-vswitchd的用户态流表级联简化后生成的卸载offloaded形式的流表(简称卸载流表)进行。智能网卡OVS硬件卸载原理如图1所示。
智能网卡e-switch中的卸载流表(Flow-table offloaded)在初始情况下是空的,当数据包到达智能网卡后,会先到e-switch中的卸载流表中进行匹配,首包未命中流表,类似于cache miss,首包会被上送到用户态ovs-vswitchd中进行用户态流表匹配,用户态流表是全的,经过流表匹配后,将首包转发出去,同时会触发用户态流表卸载offload操作,将该条流经过的流表进行级联简化生成 offloaded形式的流表即卸载流表,并将该流的级联简化后的卸载流表下发到智能网卡硬件e-switch中。该条流的后续数据包来了之后,会直接在e-switch中命中对应的卸载流表,直接通过硬件转发出去,提高了转发效率。
本申请实施例中,流的转发分为软转发层和硬转发层,软转发层基于用户态流表进行包的转发,硬转发层基于卸载流表进行转发,卸载流表由软转发层生成并下发给硬转发层。
示例性的,参阅图1所示,为本申请实施例提供的一种流表管理方法的详细流程图,该方法应用于智能网卡,该方法包括以下步骤:
步骤100:接收软转发层下发的第一类卸载流表,其中,所述第一类卸载流表包括源地址信息,目的地址信息和转发动作。
由上可知,智能网卡在接收到一个流的首包后,将该首包上送到用户态 ovs-vswitchd中进行用户态流表匹配,根据用户态流表转发该首包,同时向智能网卡下发卸载流表。
需要说明的是,用户态下发的第一类卸载流表至少包括源地址信息,目的地址信息和转发动作,其中,所述源地址信息包括源MAC地址和/或源IP地址;所述目的地址信息包里目的MAC地址和/或目的IP地址。
步骤110:基于所述第一类卸载流表的目的地址信息,判断本地维护的卸载流表中是否存在与所述第一类卸载流表相匹配的第二类卸载流表,其中,所述第二类卸载流表包括目的地址信息和转发动作。
本申请实施例中,第二类卸载流表为仅包括目的地址信息而不包括源地址信息的流表,即第二类卸载流表可以包括目的地址信息和转发动作。
那么,智能网卡在接收到一个第一类卸载流表时,即可判断本地是否存在目的地址信息为该第一类卸载流表的目的地址信息的第二类卸载流表。
例如,假设第一类卸载流表1的目的通信地址为地址1,本地维护的第二类卸载流表中存在目的地址为地址1的第二类卸载流表2,则确定本地存在与该第一类卸载流表1相匹配的第二类卸载流表。
步骤120:若存在,则删除所述第一类卸载流表;否则,将所述第一类卸载流表压缩为所述第二类卸载流表。
实际应用中,由于用户态流表offload的卸载流表的规则特点,一般一条连接会相应卸载两条源目的地址(MAC+IP)互换的正反方向的流表。其中,每个方向的流表的源目的地址信息都是全的。这样,在多对一的场景中,如多个客户端访问同一个服务器,正向流表数量将随着源端数量的增加而增加。甚至在多并发场景,几个业务的并发访问就能将E-switch的卸载流表空间占满,所以需要压缩这部分的流表空间占用。一般ovs转发时,没有特殊策略限制的到同一目的地址的流,只需要根据目的地址进行转发就行,这样在多对一场景,可以压缩到一条流表表征。这样,多个客户端到同一服务器的数据流只需使用一条第二类卸载流表即可,大大降低了卸载流表使用量,从而提高了卸载流表空间的使用率。
那么,若所述第一类卸载流表还包括转发策略;上述流表管理方法还包括以下步骤:
判断所述第一类卸载流表包括的转发策略是否满足预设要求;若确定所述第一类卸载流表包括的转发策略满足预设要求,则在本地维护所述第一类卸载流表。
其中,可以预设特殊转发策略项,当判断一个第一类卸载流表包括的转发策略为预设特殊转发策略项之一时,确定满足预设要求。
也就是说,在合并第一类卸载流表为第二类卸载流表时,还需要同时考虑兼容有策略限制的情况,如ACL和QoS场景。不同情况下的卸载流表应该能够共存,且命中流表的动作结果符合转发业务预期。
例如,接收到的一个第一类卸载流表携带有特定的ACL或QoS转发策略,在转发该第一类卸载流表对应的数据流时,需按该ACL或QoS转发策略为转发依据,此时,就不适合将其压缩为第二类卸载流表。智能网卡需要在本地单独维护该第二类卸载流表。
综上可知,智能网卡本地维护有若干第一类卸载流表和若干第二类卸载流表,其中,进一步地,第一类卸载流表和第二类卸载流表还可以包括其他匹配项;那么,上述流表管理方法还可以包括以下步骤:
针对目的地址信息和其他匹配项相同的若干目标第一类卸载流表和目标第二类卸载流表,将所述若干目标第一类卸载流表的匹配优先级设置为第一优先级,并将所述目标第二类卸载流表的匹配优先级设置为第二优先级,其中,第一优先级的卸载流表的匹配优先级高于第二优先级的卸载流表。
本申请实施例中,将所述若干目标第一类卸载流表的匹配优先级设置为第一优先级时,一种较佳地实现方式为,分别确定所述若干目标第一类卸载流表的源地址的范围,基于所述若干目标第一类卸载流表的源地址的范围,分别设置所述若干目标第一类卸载流表的匹配优先级,其中,地址范围越小的目标第一类卸载流表的匹配优先级越高。
实际应用中,由于第一类卸载流表包括源地址信息,且第一类卸载流表包括由特定的转发策略,那么,即可将第一类卸载流表的匹配优先级设置为第一优先级,进一步地,由于存在多条第一类卸载流表,此时,就可以根据MAC地址(MAC掩码)和/或IP地址(IP的CIDR)来对流表中维护的若干第一类卸载流表进行排序处理(实际应用中,在进行卸载流表匹配时,依据流表中排列的各卸载流表的前后顺序进行匹配,即排在流表前部的卸载流表的匹配优先级较高),MAC掩码范围越小的,或者IP的CIDR范围越小的,匹配优先级越高,即对应的卸载流表在流表中的位置靠前。
下面结合具体应用场景对本申请实施例提供的卸载流表的管理过程进行详细说明。示例性的,参阅图2所示,为本申请实施例提供的一种卸载流表压缩示意图,具体地,本申请实施例中,到同一目的地址的多条流表,有策略限制的少数卸载流表,保留卸载流表中的源地址信息;无策略限制的多数卸载流表,可以合并整理成只保留目的地址信息的卸载流表,从而压缩卸载流表数量。图2 中以默认放行(黑名单模式)规则为例,其中,src和dst地址,包括二层Mac 和三层IP地址信息,其中二层Mac地址可以使用掩码表示Mac范围,IP地址可以是任意的CIDR格式地址。Other_matchfield1表征其他匹配域,如协议、frag 是否分片、eth_type等。按照这个思路压缩后,缩减为右侧少量的流表。
当然,默认禁止(白名单模式)的规则策略,做法也是类似,只是需要把默认禁止的卸载流表合并。
进一步地,智能网卡针对本地维护的各卸载流表,先将到同一目的地址且 other_matchfield也相同的卸载流表采取源地址信息深度优先法则进行排序:
具体地,比较卸载流表是否有源地址信息(即第一类卸载流表),若有,则排在流表的前部;若卸载流表均有源地址信息,则比较源地址信息范围(MAC 掩码和IP的CIDR),将范围小的排在流表的前部。
由上可知,当报文进入到E-switch进行硬件卸载流表匹配时,按照流表顺序从前往后匹配,首先匹配源地址信息范围小的,不成功再匹配范围大的,最后匹配无源地址信息的,一旦匹配成功直接执行actions。达到既压缩流表数量又遵从业务逻辑的目的。
本申请实施例中表述的是对于正向访问的流表压缩方法,对于反向的流,同样可以采用类似的压缩方法进行整合,达到提高流表空间利用率的目的。一般地,可以将数量少的特例规则流表的源地址信息保留,而将数量多的流表规则去除源地址信息加以简化进行压缩。
通过以上压缩算法,在流表数量精简的同时,在有限的卸载流表空间中能够表征更多的原始卸载流表,从而在整体上提高了流表命中率。另外,简化的流表也能被更多的流命中。
基于与上述方法实施例同样的发明构思,示例性的,参阅图3所示,为本申请实施例提供的一种流表管理装置的结构示意图,该装置应用于智能网卡,所述装置包括:
接收单元30,用于接收软转发层下发的第一类卸载流表,其中,所述第一类卸载流表包括源地址信息,目的地址信息和转发动作;
判断单元31,用于基于所述第一类卸载流表的目的地址信息,判断本地维护的卸载流表中是否存在与所述第一类卸载流表相匹配的第二类卸载流表,其中,所述第二类卸载流表包括目的地址信息和转发动作;
处理单元32,若所述判断单元31判定本地维护的卸载流表中存在与所述第一类卸载流表相匹配的第二类卸载流表,则所述处理单元32删除所述第一类卸载流表;否则,所述处理单元32将所述第一类卸载流表压缩为所述第二类卸载流表。
可选地,所述第一类卸载流表还包括转发策略;
所述判断单元31还用于,判断所述第一类卸载流表包括的转发策略是否满足预设要求;
若所述判断单元31确定所述第一类卸载流表包括的转发策略满足预设要求,则所述处理单元32还用于,在本地维护所述第一类卸载流表。
可选地,所述源地址信息包括源MAC地址和/或源IP地址;所述目的地址信息包里目的MAC地址和/或目的IP地址。
可选地,所述第一类卸载流表还包括其他匹配项;所述装置还包括:
设置单元,用于针对目的地址信息和其他匹配项相同的若干目标第一类卸载流表和目标第二类卸载流表,将所述若干目标第一类卸载流表的匹配优先级设置为第一优先级,并将所述目标第二类卸载流表的匹配优先级设置为第二优先级,其中,第一优先级的卸载流表的匹配优先级高于第二优先级的卸载流表。
可选地,将所述若干目标第一类卸载流表的匹配优先级设置为第一优先级时,所述设置单元具体用于:
分别确定所述若干目标第一类卸载流表的源地址的范围,基于所述若干目标第一类卸载流表的源地址的范围,分别设置所述若干目标第一类卸载流表的匹配优先级,其中,地址范围越小的目标第一类卸载流表的匹配优先级越高。
以上这些单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个单元通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些单元可以集成在一起,以片上系统 (system-on-a-chip,简称SOC)的形式实现。
进一步地,本申请实施例提供的智能网卡,从硬件层面而言,所述智能网卡的硬件架构示意图可以参见图4所示,所述智能网卡可以包括:存储器40和处理器41。
存储器40用于存储程序指令;处理器41调用存储器40中存储的程序指令,按照获得的程序指令执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本申请还提供一种智能网卡,包括用于执行上述方法实施例的至少一个处理元件(或芯片)。
可选地,本申请还提供一种程序产品,例如计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使该计算机执行上述方法实施例。
这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/ 或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种流表管理方法,其特征在于,应用于智能网卡,所述方法包括:
接收软转发层下发的第一类卸载流表,其中,所述第一类卸载流表包括源地址信息,目的地址信息和转发动作;
基于所述第一类卸载流表的目的地址信息,判断本地维护的卸载流表中是否存在与所述第一类卸载流表相匹配的第二类卸载流表,其中,所述第二类卸载流表是包括目的地址信息和转发动作,不包括源地址信息的流表;
若存在,则删除所述第一类卸载流表;否则,将所述第一类卸载流表压缩为所述第二类卸载流表。
2.如权利要求1所述的方法,其特征在于,所述第一类卸载流表还包括转发策略;所述方法还包括:
判断所述第一类卸载流表包括的转发策略是否满足预设要求;
若确定所述第一类卸载流表包括的转发策略满足预设要求,则在本地维护所述第一类卸载流表。
3.如权利要求1或2所述的方法,其特征在于,所述源地址信息包括源MAC地址和/或源IP地址;所述目的地址信息包里目的MAC地址和/或目的IP地址。
4.如权利要求1或2所述的方法,其特征在于,所述第一类卸载流表还包括其他匹配项;所述方法还包括:
针对目的地址信息和其他匹配项相同的若干目标第一类卸载流表和目标第二类卸载流表,将所述若干目标第一类卸载流表的匹配优先级设置为第一优先级,并将所述目标第二类卸载流表的匹配优先级设置为第二优先级,其中,第一优先级的卸载流表的匹配优先级高于第二优先级的卸载流表。
5.如权利要求4所述的方法,其特征在于,将所述若干目标第一类卸载流表的匹配优先级设置为第一优先级的步骤包括:
分别确定所述若干目标第一类卸载流表的源地址的范围,基于所述若干目标第一类卸载流表的源地址的范围,分别设置所述若干目标第一类卸载流表的匹配优先级,其中,地址范围越小的目标第一类卸载流表的匹配优先级越高。
6.一种流表管理装置,其特征在于,应用于智能网卡,所述装置包括:
接收单元,用于接收软转发层下发的第一类卸载流表,其中,所述第一类卸载流表包括源地址信息,目的地址信息和转发动作;
判断单元,用于基于所述第一类卸载流表的目的地址信息,判断本地维护的卸载流表中是否存在与所述第一类卸载流表相匹配的第二类卸载流表,其中,所述第二类卸载流表是包括目的地址信息和转发动作,不包括源地址信息的流表;
处理单元,若所述判断单元判定本地维护的卸载流表中存在与所述第一类卸载流表相匹配的第二类卸载流表,则所述处理单元删除所述第一类卸载流表;否则,所述处理单元将所述第一类卸载流表压缩为所述第二类卸载流表。
7.如权利要求6所述的装置,其特征在于,所述第一类卸载流表还包括转发策略;
所述判断单元还用于,判断所述第一类卸载流表包括的转发策略是否满足预设要求;
若所述判断单元确定所述第一类卸载流表包括的转发策略满足预设要求,则所述处理单元还用于,在本地维护所述第一类卸载流表。
8.如权利要求6或7所述的装置,其特征在于,所述源地址信息包括源MAC地址和/或源IP地址;所述目的地址信息包里目的MAC地址和/或目的IP地址。
9.如权利要求6或7所述的装置,其特征在于,所述第一类卸载流表还包括其他匹配项;所述装置还包括:
设置单元,用于针对目的地址信息和其他匹配项相同的若干目标第一类卸载流表和目标第二类卸载流表,将所述若干目标第一类卸载流表的匹配优先级设置为第一优先级,并将所述目标第二类卸载流表的匹配优先级设置为第二优先级,其中,第一优先级的卸载流表的匹配优先级高于第二优先级的卸载流表。
10.如权利要求9所述的装置,其特征在于,将所述若干目标第一类卸载流表的匹配优先级设置为第一优先级时,所述设置单元具体用于:
分别确定所述若干目标第一类卸载流表的源地址的范围,基于所述若干目标第一类卸载流表的源地址的范围,分别设置所述若干目标第一类卸载流表的匹配优先级,其中,地址范围越小的目标第一类卸载流表的匹配优先级越高。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110403397.9A CN113328944B (zh) | 2021-04-15 | 2021-04-15 | 一种流表管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110403397.9A CN113328944B (zh) | 2021-04-15 | 2021-04-15 | 一种流表管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113328944A CN113328944A (zh) | 2021-08-31 |
CN113328944B true CN113328944B (zh) | 2022-05-27 |
Family
ID=77414986
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110403397.9A Active CN113328944B (zh) | 2021-04-15 | 2021-04-15 | 一种流表管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113328944B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114448886A (zh) * | 2021-12-28 | 2022-05-06 | 天翼云科技有限公司 | 一种流表的处理方法及装置 |
CN116506355B (zh) * | 2023-06-27 | 2023-09-05 | 珠海星云智联科技有限公司 | 卸载流表存储的处理方法及相关装置 |
CN116886605B (zh) * | 2023-09-07 | 2023-12-08 | 珠海星云智联科技有限公司 | 一种流表卸载系统、方法、设备以及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5974458A (en) * | 1995-04-24 | 1999-10-26 | Fujitsu Limited | Data transfer accounting device and method for performing an accounting process including an accounting information collecting process |
CN105635343A (zh) * | 2016-02-02 | 2016-06-01 | 中国互联网络信息中心 | 应用于dns查询的ip地址列表存储和查询方法 |
CN106254244A (zh) * | 2016-07-28 | 2016-12-21 | 上海斐讯数据通信技术有限公司 | 一种基于sdn网络的合并流表项方法 |
CN106656809A (zh) * | 2015-11-03 | 2017-05-10 | 中国电信股份有限公司 | 流表聚合方法、控制器、网元和系统 |
CN109450798A (zh) * | 2018-12-13 | 2019-03-08 | 郑州云海信息技术有限公司 | 路由表信息的管理方法和计算机可读存储介质 |
CN109756424A (zh) * | 2019-03-25 | 2019-05-14 | 北京智芯微电子科技有限公司 | 业务流表聚合方法及系统 |
CN111984835A (zh) * | 2020-08-20 | 2020-11-24 | 国家计算机网络与信息安全管理中心 | 一种IPv4掩码五元组规则存储压缩方法及装置 |
-
2021
- 2021-04-15 CN CN202110403397.9A patent/CN113328944B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5974458A (en) * | 1995-04-24 | 1999-10-26 | Fujitsu Limited | Data transfer accounting device and method for performing an accounting process including an accounting information collecting process |
CN106656809A (zh) * | 2015-11-03 | 2017-05-10 | 中国电信股份有限公司 | 流表聚合方法、控制器、网元和系统 |
CN105635343A (zh) * | 2016-02-02 | 2016-06-01 | 中国互联网络信息中心 | 应用于dns查询的ip地址列表存储和查询方法 |
CN106254244A (zh) * | 2016-07-28 | 2016-12-21 | 上海斐讯数据通信技术有限公司 | 一种基于sdn网络的合并流表项方法 |
CN109450798A (zh) * | 2018-12-13 | 2019-03-08 | 郑州云海信息技术有限公司 | 路由表信息的管理方法和计算机可读存储介质 |
CN109756424A (zh) * | 2019-03-25 | 2019-05-14 | 北京智芯微电子科技有限公司 | 业务流表聚合方法及系统 |
CN111984835A (zh) * | 2020-08-20 | 2020-11-24 | 国家计算机网络与信息安全管理中心 | 一种IPv4掩码五元组规则存储压缩方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113328944A (zh) | 2021-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113328944B (zh) | 一种流表管理方法及装置 | |
CN109032533B (zh) | 一种数据存储方法、装置和设备 | |
US9639403B2 (en) | Receive-side scaling in a computer system using sub-queues assigned to processing cores | |
CN108848034B (zh) | 一种网络设备及表项学习方法 | |
EP2613479A1 (en) | Relay device | |
CN112311855B (zh) | 一种数据传输方法及装置 | |
US20180191640A1 (en) | Action references | |
CN112910802B (zh) | 一种报文处理方法及装置 | |
CN106331065A (zh) | 一种用于具有服务容器的主机系统的代理应用以及系统 | |
CN108390954B (zh) | 一种报文传输方法和设备 | |
CN112073438B (zh) | 一种访问控制规则配置方法、装置、交换机及存储介质 | |
CN110750793B (zh) | 一种漏洞扫描方法及装置 | |
CN108595346B (zh) | 一种特征库文件管理方法和装置 | |
CN102263701A (zh) | 队列调整方法及装置 | |
CN113486339A (zh) | 一种数据处理方法、装置、设备及机器可读存储介质 | |
CN108399175B (zh) | 一种数据存储、查询方法及其装置 | |
CN108259348B (zh) | 一种报文传输方法和装置 | |
TW201424315A (zh) | 一次及二次連線表使用技術 | |
CN112231191B (zh) | 一种日志采集方法及装置 | |
CN112148426A (zh) | 一种带宽分配方法及装置 | |
CN111404839A (zh) | 报文处理方法和装置 | |
CN116483477A (zh) | 一种api调用方法及装置 | |
CN114189477B (zh) | 一种报文拥塞控制方法及装置 | |
CN108259214B (zh) | 一种配置命令管理方法、装置和机器可读存储介质 | |
CN112367267A (zh) | 一种虚拟机管理方法及装置 |
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 |