CN109873768B - 更新转发表的方法、硬件加速器、ovs和服务器 - Google Patents
更新转发表的方法、硬件加速器、ovs和服务器 Download PDFInfo
- Publication number
- CN109873768B CN109873768B CN201711245925.2A CN201711245925A CN109873768B CN 109873768 B CN109873768 B CN 109873768B CN 201711245925 A CN201711245925 A CN 201711245925A CN 109873768 B CN109873768 B CN 109873768B
- Authority
- CN
- China
- Prior art keywords
- cache table
- hardware accelerator
- message
- data stream
- protection
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种开放虚拟交换机OVS,该OVS包括通用处理器和硬件加速器,该硬件加速器上存储有保护缓存表和临时缓存表。该硬件加速器用于:解析报文以获取该报文的至少一个待匹配字段,该至少一个待匹配字段用于识别该报文所属的数据流;根据该至少一个待匹配字段查找该保护缓存表;当没有从该保护缓存表中找到该数据流对应的保护缓存表项时,根据该至少一个待匹配字段查找该临时缓存表得到该数据流对应的临时缓存表项;根据临时缓存表项转发该报文;统计该数据流的报文数;当该数据流的报文数大于设定的阈值时,根据该数据流对应的临时缓存表项更新该保护缓存表和该临时缓存表。
Description
技术领域
本申请涉及通信领域,尤其涉及一种一种更新转发表的方法以及实现所述方法的硬件加速器、开放虚拟交换机和服务器。
背景技术
随着物联网发展、大数据汇聚、数据中心兴起,网络流量带宽越来越大,提高用于实现网络流量交换的网络交换设备的转发效率变得越来越重要。
支持开放流(OpenF low)协议的开放虚拟交换机(open vswitch,OVS)用于在开源的虚拟化平台中执行网络交换设备的功能,因此,同样需要提高OVS的转发速率。
发明内容
本申请实施例提供了一种更新转发表的方法、硬件加速器、OVS和服务器,用于提高OVS的转发效率。
本发明第一方面提供了一种更新转发表的方法。该方法应用于开放虚拟交换机OVS中,所述OVS包括处理器和硬件加速器,所述硬件加速器上存储有保护缓存表和临时缓存表,所述保护缓存表用于存储大象流对应的转发表项,所述临时缓存表用于存储非大象流对应的转发表项。所述硬件加速器接收第一报文,解析所述第一报文以获取所述第一报文的至少一个待匹配字段,所述至少一个待匹配字段用于识别所述第一报文所属的第一数据流。所述硬件加速器根据所述第一报文的至少一个待匹配字段查找所述保护缓存表;当没有从所述保护缓存表中找到所述第一数据流对应的保护缓存表项时,所述硬件加速器根据所述第一报文的至少一个待匹配字段查找所述临时缓存表得到所述第一数据流对应的临时缓存表项。所述硬件加速器根据所述第一数据流对应的临时缓存表项转发所述第一报文。所述硬件加速器统计所述第一数据流的报文数,并确定所述第一数据流的报文数是否大于设定的阈值。当所述第一数据流的报文数大于设定的阈值时,所述硬件加速器根据所述第一数据流对应的临时缓存表项更新所述保护缓存表和所述临时缓存表。
本发明实施例中,将用于存储大象流的转发表项的保护缓存表存储在硬件加速器上,使得属于大象流的报文不经过处理器就被转发,提高了大象流的处理效率。进一步地,本发明实施例中,通过在临时缓存表中记录非大象流的转发表项,并统计临时缓存表中记录的数据流的报文数,可以准确识别大象流。故本申请实施例提供的硬件加速器和更新转发表的方法可以提高OVS的转发效率。
在第一方面的第一实施方式中,所述硬件加速器根据所述第一数据流对应的临时缓存表项更新所述保护缓存表和所述临时缓存表包括:所述硬件加速器将所述第一数据流对应的临时缓存表项写入所述保护缓存表作为所述第一数据流对应的保护缓存表项;以及所述硬件加速器从所述临时缓存表中删除所述临时缓存表项。
通过上述方式,使用保护缓存表存储大象流,使用临时缓存表存储非大象流,并且一旦将临时缓存表中的表项写入保护缓存表,就删除临时缓存表中的相应表项,可以节约硬件加速器的存储空间。
在第一方面的第二实施方式中,所述硬件加速器还接收第二报文;所述第二报文为所述第一数据流的后续报文。所述硬件加速器解析所述第二报文以获取所述第二报文的至少一个待匹配字段。所述硬件加速器根据所述第二报文的至少一个待匹配字段查找所述保护缓存表得到所述第一数据流对应的保护缓存表项。所述硬件加速器根据所述第一数据流对应的保护缓存表项转发所述第二报文。
通过上述方式,当保护缓存表中存储有大象流对应的表项时,硬件加速器可以直接根据该表项转发属于该大象流的报文,提高了OVS的转发效率。
在第一方面的第三实施方式中,当满足预设条件时,所述硬件加速器从所述保护缓存表中删除所述第一数据流对应的保护缓存表项;所述预设条件为以下任意一个:所述第一数据流对应的保护缓存表项为所述保护缓存表中被最早写入的表项;所述第一数据流对应的保护缓存表项为所述保护缓存表中最长时间未被使用的表项;所述第一数据流对应的保护缓存表项为所述保护缓存表中设定时长内被使用次数最少的表项。
通过上述方式,硬件加速器实时更新保护缓存表的表项,使保护缓存表中始终记录最新最活跃的大象流,最大限度提高保护缓存表的命中率,提高OVS的效率。
在第一方面的第四实施方式中,所述从所述保护缓存表中删除所述第一数据流对应的保护缓存表项之前,所述硬件加速器将所述第一数据流对应的保护缓存表项重新写入所述临时缓存表,作为所述第一数据流的临时缓存表项。
进一步地,硬件加速器还可以为该第一数据流设置一个较大的初始计数。
通过上述方式,当硬件加速器再次接收到该第一数据流的后续报文时,可以很快将该第一数据流再次确认为大象流,并将该第一数据流对应的临时缓存表项再次写入保护缓存表。
在第一方面的第五实施方式中,所述硬件加速器提供N个哈希函数,N大于等于2,所述硬件加速器统计所述第一数据流的报文数包括:所述硬件加速器将所述至少一个待匹配字段分别应用于所述N个哈希函数得到N个哈希值,所述N个哈希值中每个哈希值分别对应N个计数器中的一个计数器,所述硬件加速器根据所述第一报文的至少一个匹配字段将所述N个计数器的值分别加1,得到更新后的N个计数器的值,将所述更新后的N个计数器的值的最小值作为所述第一数据流的报文数。
通过上述方式,硬件加速器可以精确统计第一数据流的报文数,并识别出大象流。
在第一方面的第六实施方式中,所述硬件加速器接收第三报文;所述硬件加速器解析所述第三报文以获取所述第三报文的至少一个待匹配字段;所述至少一个待匹配字段用于识别所述第三报文所属的第二数据流。所述硬件加速器根据所述第三报文的至少一个待匹配字段查找所述保护缓存表;当所述保护缓存表中不存在所述第二数据流对应的保护缓存表项时,所述硬件加速器查找所述临时缓存表;当所述临时缓存表中不存在所述第二数据流对应的临时缓存表项时,所述硬件加速器向所述处理器发送所述第三报文的至少一个待匹配字段;所述硬件加速器接收所述处理器根据所述第三报文的至少一个待匹配字段生成的所述第二数据流对应的临时缓存表项;所述硬件加速器将所述第二数据流对应的临时缓存表项添加到所述临时缓存表。
通过上述方式,本发明实施例可以将最近处理的数据流对应的临时缓存表项添加到临时缓存表中,以根据该临时缓存表项转发该最近处理的数据流的报文,避免将该数据流的所有报文都发送给处理器处理,提高了报文处理效率。
本发明第二方面提供了一种硬件加速器,该硬件加速器包括缓存,用于存储保护缓存表和临时缓存表,所述保护缓存表用于存储大象流的转发表项,所述临时缓存表用于存储非大象流的转发表项。
所述硬件加速器还包括:接收电路,用于接收第一报文;解析电路,用于解析所述第一报文以获取所述第一报文的至少一个待匹配字段,所述至少一个待匹配字段用于识别所述第一报文所属的第一数据流;查找电路,用于根据所述第一报文的至少一个待匹配字段查找所述保护缓存表;当没有从所述保护缓存表中找到所述第一数据流对应的保护缓存表项时,根据所述第一报文的至少一个待匹配字段查找所述临时缓存表得到所述第一数据流对应的临时缓存表项;发送电路,用于根据所述第一数据流对应的临时缓存表项转发所述第一报文;计数电路,用于:统计所述第一数据流的报文数,确定所述第一数据流的报文数是否大于设定的阈值,当所述第一数据流的报文数大于设定的阈值时,触发所述缓存;所述缓存,还用于在所述计数电路的触发下所述根据所述第一数据流对应的临时缓存表项更新所述保护缓存表和所述临时缓存表。
在第二方面的第一实施方式中,所述缓存用于:将所述第一数据流对应的临时缓存表项写入所述保护缓存表作为所述第一数据流对应的保护缓存表项;以及
从所述临时缓存表中删除所述临时缓存表项。
在第二方面的第二实施方式中,所述接收电路还用于接收第二报文;所述第二报文为所述第一数据流的后续报文;所述解析电路还用于解析所述第二报文以获取所述第二报文的至少一个待匹配字段;所述查找电路还用于根据所述第二报文的至少一个待匹配字段查找所述保护缓存表得到所述第一数据流对应的保护缓存表项;所述发送电路还用于根据所述第一数据流对应的保护缓存表项转发所述第二报文。
在第二方面的第三实施方式中,所述缓存还用于:当满足预设条件时,从所述保护缓存表中删除所述第一数据流对应的保护缓存表项;所述预设条件为以下任意一个:所述第一数据流对应的保护缓存表项为所述保护缓存表中被最早写入的表项;所述第一数据流对应的保护缓存表项为所述保护缓存表中最长时间未被使用的表项;所述第一数据流对应的保护缓存表项为所述保护缓存表中设定时长内被使用次数最少的表项。
在第二方面的第四实施方式中,所述缓存还用于:将所述第一数据流对应的保护缓存表项重新写入所述临时缓存表,作为所述第一数据流的临时缓存表项。
在第二方面的第五实施方式中,所述硬件加速器提供N个哈希函数,N大于等于2,所述计数电路用于:将所述至少一个待匹配字段分别应用于所述N个哈希函数得到N个哈希值,所述N个哈希值中每个哈希值分别对应N个计数器中的一个计数器,根据所述第一报文的至少一个匹配字段将所述N个计数器的值分别加1,得到更新后的N个计数器的值,将所述更新后的N个计数器的值的最小值作为所述第一数据流的报文数。
在第二方面的第六实施方式中,所述接收电路还用于接收第三报文;所述解析电路还用于解析所述第三报文以获取所述第三报文的至少一个待匹配字段;所述至少一个待匹配字段用于识别所述第三报文所属的第二数据流;所述查找电路还用于:根据所述第三报文的至少一个待匹配字段查找所述保护缓存表,当所述保护缓存表中不存在所述第二数据流对应的保护缓存表项时,查找所述临时缓存表;当所述临时缓存表中不存在所述第二数据流对应的临时缓存表项时,向所述处理器发送所述第三报文的至少一个待匹配字段;所述缓存还用于:接收所述处理器根据所述第三报文的至少一个待匹配字段生成的所述第二数据流对应的临时缓存表项;将所述第二数据流对应的临时缓存表项添加到所述临时缓存表。
本发明第三方面提供一种开放虚拟交换机OVS,该OVS包括处理器和上述第二方面及第二方面的任意实现方式中的硬件加速器。
本发明第三方面提供一种服务器,该服务器包括上述第三方面的OVS。
本申请第二、第三和第三方面的方案的有益效果可以参考上述第一方面的方法。
附图说明
为了更清楚地说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为现有技术提供的一种OVS的结构示意图;
图2为本发明实施例提供的一种OVS的结构示意图;
图3为本发明实施例提供的一种更新转发表的方法的流程示意图;
图4为本发明实施例提供的一种统计数据流的报文数的过程示意图;
图5为本发明实施例提供的一种服务器的结构示意图。
具体实施方式
数据在网络中以报文(packet)或帧(frame)的形式传输。具有某些共同特征的报文或帧组成了数据流(data flow),属于同一数据流的报文或帧被同一个转发设备采用相同的方式转发。转发设备在转发报文的时候,需要先查找转发表,转发表用于指导报文的转发。转发表的每个转发表项包括特征字段和出接口,该特征通常至少包括源因特网协议(Internet Protocol,IP)地址,目的IP地址,源媒体访问控制(media access control,MAC)地址,目的MAC地址和传输协议中的一种。数据流又被称为流(flow)、传输流(trafficflow)、包流(packet flow)或者网流(network flow)。
据统计,网络中10%的数据流占用了该网络提供的带宽的90%,这10%的数据流通常被称为大象流(elephant flow)或者重流(heavy flow)。大象流是指在某一链路上根据TCP或者其他协议建立的超大(总比特数)的连续流。提高经过OVS的大象流的转发速率,必然会提高OVS的转发效率。如图1所示,提供了OVS 10的结构示意图。该OVS 10包括处理器110和存储器120。其中,处理器110可以为通用处理器,例如中央处理单元(centralprocessing unit,CPU)。处理器110包括接收单元110,解析单元120,查找单元130和发送单元140。此外,通用处理器1100上还设置了两个缓存,分别是用于存储精确匹配表的精确匹配缓存1301和用于存储通配符匹配表的通配符匹配缓存1302。存储器120包括第一存储块1201和第二存储块1202,其中第一存储块1201用于存储程序代码,第二存储块1202用于存储一般匹配表。在转发报文的时候,查找单元130最多需要查找精确匹配表,通配符匹配表和一般匹配表这三个转发表,因此,该OVS 10可以称为支持三级转发的OVS。以下具体说明图1所示的OVS 10转发报文的过程。
当报文进入OVS 10的接收单元110后,解析单元120从接收队列中获取该报文并解析,得到该报文的至少一个待匹配字段。OpenFlow协议支持的特性可以覆盖互联网协议组(Internet protocol suite)的各层,例如,第一层(layer 1)的隧道(tunnel)标识(identifier,ID),输入端口(in port),服务质量(quality of service,QoS)优先级;第二层(layer 2)的源MAC地址、目的MAC地址,虚拟局域网标识(virtual local area network,VLAN)ID,以太类型(Ethernet type);第三层(layer 3)的源IPv4地址,目的IPv4,源IPv6地址,目的IPv6地址;第四层(layer 4)的传输控制协议(Transmission Control Protocol,TCP),用户数据报协议(User Datagram Protocol,UDP),因特网消息控制协议(InternetControl Message Protocol,ICMP)等。以上特性只是枚举,并没有穷尽所有的可匹配特性。本申请将从报文中获取的特性的值称为待匹配字段,将存储在转发表中的特性的值称为特征字段。那么,查找转发表,就是用上述待匹配字段匹配转发表中的特征字段。
解析单元120将该至少一个待匹配字段发送给查找单元130,查找单元130根据该至少一个待匹配字段生成哈希值,并根据生成的哈希值查找精确匹配缓存1301。精确匹配缓存1301又称为microflow cache,用于存储精确匹配表(exact matching table)。该精确匹配表的每个表项包括一个哈希值和对应该哈希值的出接口。当根据该生成的哈希值在该精确匹配表中找到对应的精确匹配表项(即匹配成功)时,查找单元130将该报文发送给发送单元140,发送单元140根据该精确匹配表项通过快速路径转发该报文。
当根据该生成的哈希值在该精确匹配表中找不到对应的表项(即匹配失败)时,查找单元130根据该至少一个待匹配字段查找通配符匹配缓存1302,该通配符匹配缓存1302中存储有通配符匹配表,该通配符匹配表的每个表项包括用于匹配至少一个字段的通配符以及对应的出接口。当根据该至少一个待匹配字段在该通配符匹配表中找到对应的通配符匹配表项(即匹配成功)时,查找单元130将该报文发送给发送单元140,发送单元140根据该通配符匹配表项中的出接口对应的次快路径的发送该报文。并且,查找单元130根据该通配符匹配表项生成对应的精确匹配表项,并根据该精确匹配表项更新该精确匹配表。
当根据该至少一个待匹配字段在该通配符匹配表中找不到对应的表项(即匹配失败)时,查找单元130根据该至少一个待匹配字段查找第二存储块1202中存储的一般匹配表,该一般匹配表的每个表项包括至少一个特征字段以及对应该至少一个特征字段的出接口。当根据该至少一个待匹配字段在该一般匹配表中找到对应的一般匹配表项(即匹配成功)时,查找单元130将该报文发送给发送单元140,发送单元140根据该一般匹配表项中的出接口对应的慢速路径发送该报文。并且,处理器110根据该一般匹配表项生成对应的通配符匹配表项,并根据该通配符匹配表项更新该通配符匹配表。
如果查找单元130根据该至少一个待匹配字段在该一般匹配表中仍找不到对应的表项(即匹配失败)时,处理器110将该报文发送给控制器20,控制器20为该报文生成对应的转发表项,并根据该转发表项发送该报文。在发送该报文后,控制器20将该转发表项发送给OVS 10,OVS 10将该转发表项添加到该一般匹配表以更新该一般匹配表。由于控制器20接收的报文在被控制器20接收之前已经经过多次查表,需要的处理时间较长,因此,将控制器20转发报文的路径称为特慢路径。
图1中,快速路径是指查找一次转发表得到的转发路径,次快路径是指查找两次转发表得到的转发路径,慢速路径是指查找三次转发表得到的转发路径,特慢路径是指查找四次转发表得到的转发路径。
在上述架构中,精确匹配缓存1301和通配符匹配缓存1302均为硬件缓存,其缓存空间有限,因此限制了精确匹配表和通配符匹配表的大小。精确匹配表的表项数较少导致查找单元130因在精确匹配表中查找不到报文对应的转发表项,而不得不根据报文的待匹配字段查找通配符匹配缓存1302甚至第二存储块1202。并且,缓存更新(即在缓存中添加新的表项)会导致精确匹配缓存1301和通配符匹配缓存1302溢出。所述溢出是指如果接收到新的表项的时候,所述精确匹配缓存1301或通配符匹配缓存1302已经达到最大容量,即精确匹配缓存表或通配符匹配缓存表已经达到最大规格,则从精确匹配表或通配符匹配表中删除最早写入精确匹配表或通用符匹配表的表项,并在精确匹配表或通配符匹配表中添加该新的表项。精确匹配缓存1301溢出导致大象流对应的表项也可能被删除,当大象流对应的表项被删除后,在转发属于该大象流的报文时又需要再次查找通配符匹配缓存1302甚至第二存储块1202。并且,由于属于大象流的报文众多,精确匹配缓存1301溢出可能导致该大象流对应的表项不断被从精确匹配缓存1301删除又被重新添加到精确匹配缓存1301。上述精确匹配表的表项数较少或者精确匹配缓存1301的溢出都会导致OVS 10转发报文的效率低下。进一步地,不断地更新精确匹配表和通配符匹配表,浪费了处理器110的资源。
为了提高OVS的转发效率,在图1所示OVS 10的基础上,本发明实施例提供了另一种OVS,如图2所示,本发明实施例中的OVS 200包括处理器1000、硬件加速器2000和至少一个存储块,例如,第一存储块3001。其中,硬件加速器2000可以为现场可编程门阵列(field-programmable gate array,FPGA)或特定应用集成电路(application-specificintegratedcircuit,ASIC)等硬件单元。硬件加速器2000包括接收电路210,解析电路220,查找电路230,发送电路240,缓存260和计数电路270。其中,接收电路210,解析电路220和发送电路240的功能可以参考对接收单元110,解析单元120和发送单元140的描述,不同的是,接收电路210,解析电路220,发送电路240由硬件实现,具有更快的处理速度。处理器1000包括查找单元280,用于查找第一存储块3001,该第一存储块3001用于存储一般匹配表。缓存260用于存储保护缓存表261和临时缓存表262。其中,保护缓存表261用于存储大象流的转发表项。临时缓存表262用于存储非大象流的转发表项。其中,保护缓存表261的最大表项数为X。计数电路270用于统计接收的数据流的报文数并确定该数据流是否为大象流。下文将结合附图对本发明实施例中OVS 200的功能予以详细说明。
如图3所示,为本发明一实施例提供的更新转发表的方法流程示意图,所述方法由所述OVS 200执行。所述转发表至少包括保护缓存表261,所述保护缓存表261用于存储大象流的转发表项。由于图3所示的流程包括多个判断步骤,而在每个判断步骤中,每个报文只可能对应一个判断结果。因此,下面以多个报文为例,说明本发明实施例针对不同判断结果的处理过程。
在步骤301中,硬件加速器接收第一报文。在一个实施方式中,硬件加速器2000的接收电路电路210接收报文(例如第一报文)。具体地,接收电路210用于从网卡或者其他网络接口接收所述报文。
在步骤302中,所述硬件加速器解析所述第一报文以获取所述第一报文的至少一个待匹配字段;所述至少一个待匹配字段用于识别所述第一报文所属的第一数据流。在一个实施方式中,硬件加速器2000的解析电路220解析所述第一报文以获取所述第一报文的至少一个待匹配字段,并将所述至少一个待匹配字段发送给查找电路230。其中,所述至少一个待匹配字段可以是三元组(包括三个待匹配字段),五元组(包括五个待匹配字段),七元组(包括七个待匹配字段)等等,所述至少一个待匹配字段用于识别所述第一报文所属的第一数据流。
在步骤303中,所述硬件加速器根据所述第一报文的至少一个待匹配字段查找所述保护缓存表。在一个实施方式中,硬件加速器2000的查找电路230根据所述至少一个待匹配字段查找所述保护缓存表261,当查找电路230没有从所述保护缓存表261中查找到所述第一数据流对应的保护缓存表项(即没命中保护缓存表或保护缓存表匹配失败)时,表明该第一数据流尚未被标识为大象流,当查找电路230从所述保护缓存表261中查找到所述第一数据流对应的保护缓存表项(即命中保护缓存表或保护缓存表匹配成功)时,表明该第一数据流已经被标识为大象流。
在一个实施方式中,所述保护缓存表261的每个表项包括至少一个特征字段和对应的出接口,所述查找电路230直接根据所述至少一个待匹配字段查找该保护缓存表261。在另一个实施方式中,所述保护缓存表261的每个表项包括哈希值与对应的出接口,所述查找电路230根据所述至少一个待匹配字段和预设的哈希函数计算哈希值,并根据计算得到的哈希值查找所述保护缓存表261。
在步骤304中,当没有从所述保护缓存表中找到所述第一数据流对应的保护缓存表项时,所述硬件加速器根据所述第一报文的至少一个待匹配字段查找所述临时缓存表得到所述第一数据流对应的临时缓存表项。
在一个实施方式中,硬件加速器2000的查找电路230根据所述第一报文的至少一个待匹配字段查找临时缓存表262,如果查找电路230查找到所述第一数据流对应的临时缓存表项(即命中临时缓存表或临时缓存表匹配成功),表明OVS已经转发过该第一数据流的其他报文,但是该数据流尚未被标识为大象流,查找电路230将所述第一报文和查找到的临时缓存表项一起发送给发送电路240。
在一个实施方式中,所述临时缓存表262的每个表项包括至少一个特征字段和对应的出接口,所述查找电路230直接根据所述至少一个待匹配字段查找该临时缓存表262。在另一个实施方式中,所述临时缓存表262的每个表项包括哈希值与对应的出接口,所述查找电路230根据所述至少一个待匹配字段和预设的哈希函数计算哈希值,并根据计算得到的哈希值查找所述临时缓存表262。
在步骤305中,所述硬件加速器根据所述第一数据流对应的临时缓存表项转发所述第一报文。
在一个实施方式中,硬件加速器2000的发送电路240通过所述临时缓存表项中的出接口发送所述第一报文。
在步骤306中、所述硬件加速器统计所述第一数据流的报文数。
其中,步骤305和306没有执行顺序的限制。
在306的一个实施方式中,硬件加速器2000为临时缓存表262中记录的每个数据流设置一个计数器,硬件加速器2000根据所述第一报文的至少一个匹配字段将所述计数器的值加1并读取得到的所述计数器的值,就可得到所述第一数据流的报文数。具体地,该计数器关联计数电路270,查找电路230将所述第一报文的至少一个待匹配字段发送给计数电路270,电路计数电路270将所述至少一个待匹配字段对应的计数器的值加1,得到所述第一数据流的报文数。
在306的另一个实施方式中,硬件加速器2000提供N个哈希函数,N大于等于2,硬件加速器2000将所述至少一个待匹配字段分别应用于所述N个哈希函数得到N个哈希值,所述N个哈希值中每个哈希值分别对应N个计数器中的一个计数器,所述硬件加速器在转发所述第一报文后将所述N个计数器的值分别加1,得到更新后的N个计数器的值,将所述更新后的N个计数器的值的最小值作为所述第一数据流的报文数。
具体地,如图4所示,为本发明实施例提供的一种统计第一数据流的报文数的过程示意图。计数电路270中设置有包括N行计数器的计数器阵列2701和N个哈希函数2702,该N个哈希函数2702包括Hash1,Hash2,…HashN,每个哈希函数对应一行计数器;查找电路230将所述第一报文的至少一个待匹配字段发送给计数电路270,计数电路270将所述至少一个待匹配字段应用于所述N个哈希函数得到N个哈希值A,B,C…N,在所述计数器阵列2701中查找所述N个哈希值A,B,C…N分别对应的N个计数器(图中箭头指向的方块),将所述N个计数器的值分别加1,得到更新后的N个计数器的值,将所述更新后的N个计数器的值的最小值(即最小值(A,B,C…N))作为所述第一数据流的报文数。在所述计数器阵列2701中查找所述N个哈希值分别对应的N个计数器具体包括,对于所述N个哈希值中的每个哈希值,在生成所述哈希值的哈希函数对应的计数器行中查找所述哈希值对应的计数器。
本发明实施例中,硬件加速器2000只需要统计临时缓存表262中记录的数据流的报文数。
在步骤307中,所述硬件加速器确定所述第一数据流的报文数是否大于设定的阈值。
在一个实施方式中,计数电路270确定所述第一数据流的报文数是否大于设定的阈值。其中,该设定的阈值用于判断数据流是否为大象流。例如,设定时长为5秒,设定的阈值为1000,那么在5秒之内,如果计数电路270统计的某个数据流的报文数超过了1000,则确认该数据流的报文数大于设定的阈值。如果所述第一数据流的报文数大于设定的阈值,所述硬件加速器根据所述第一数据流对应的临时缓存表项更新所述保护缓存表261和所述临时缓存表262。如果所述第一数据流的报文数不超过设定的阈值,则所述电路计数电路270等待接收下一个报文的待匹配字段。
在步骤308中,当所述第一数据流的报文数大于设定的阈值时,所述硬件加速器根据所述第一数据流对应的临时缓存表项更新所述保护缓存表和所述临时缓存表。
在一个实施方式中,硬件加速器2000将所述第一数据流对应的临时缓存表项写入所述保护缓存表261作为所述第一数据流对应的保护缓存表项,以及从所述临时缓存表262中删除所述临时缓存表项。
在另一个实施方式中,硬件加速器2000的计数电路270在所述第一数据流的报文数大于设定的阈值时触发缓存260,缓存260在所述计数电路270的触发下将所述临时缓存表项从所述临时缓存表262读出并写入所述保护缓存表261,然后将所述临时缓存表项从所述临时缓存表262删除。其中,所述触发可以是发送迁移指令或者发送一个用于更新表项的信号。
通过以上过程,可以将已经记录在临时缓存表262中的数据流识别为大象流并在保护缓存表261中添加该大象流对应的保护缓存表项,这样,当硬件加速器2000(或接收电路210)接收到该大象流的后续报文,例如第二报文,时,就可以在执行步骤301-303后,查找到该保护缓存表项。然后,在步骤304中,硬件加速器2000可以根据查找到的该保护缓存表项转发该第二报文。即,所述方法还可以包括:所述硬件加速器接收第二报文;所述第二报文为所述第一数据流的后续报文;所述硬件加速器解析所述第二报文以获取所述第二报文的至少一个待匹配字段;所述硬件加速器根据所述第二报文的至少一个待匹配字段查找所述保护缓存表得到所述第一数据流对应的保护缓存表项;所述硬件加速器根据所述第一数据流对应的保护缓存表项转发所述第二报文。
在另一个实施方式中,如果经过执行步骤301-304之后,硬件加速器2000(或查找电路230)发现保护缓存表261和临时缓存表262中都没有记录接收的报文,例如第三报文,所属的数据流的转发表项,则在步骤309中,查找电路230将根据该第三报文得到的待匹配字段发送给处理器1000中的查找单元280。在步骤310中,查找单元280接收所述第三报文的待匹配字段,根据该第三报文的待匹配字段查找第一存储块3001中的一般匹配表,找到该第三报文对应的一般匹配表项,根据该一般匹配表项生成对应的临时缓存表项,将该临时缓存表项写入缓存260中的临时缓存表262,并通知查找电路230。查找电路230将该第三报文和该临时缓存表项发送给发送电路240,发送电路240通过该临时缓存表项中的出接口发送该第三报文。
即,所述方法还包括:所述硬件加速器解析所述第三报文以获取所述第三报文的至少一个待匹配字段;所述至少一个待匹配字段用于识别所述第三报文所属的第二数据流;所述硬件加速器根据所述第三报文的至少一个待匹配字段查找所述保护缓存表;当所述保护缓存表中不存在所述第二数据流对应的保护缓存表项时,所述硬件加速器查找所述临时缓存表;当所述临时缓存表中不存在所述第二数据流对应的临时缓存表项时,所述硬件加速器向所述处理器发送所述第三报文的至少一个待匹配字段;所述硬件加速器接收所述处理器根据所述第三报文的至少一个待匹配字段生成的所述第二数据流对应的临时缓存表项;所述硬件加速器将所述第二数据流对应的临时缓存表项添加到所述临时缓存表,以更新所述临时缓存表。所述硬件加速器没有从所述临时缓存表中找到所述第二数据流对应的临时缓存表项时,所述硬件加速器可以丢弃该第三报文,也可以保存该第三报文,并在从所述处理器接收到所述第二数据流对应的临时缓存表项后,根据所述第二数据流对应的临时缓存表项转发该第三报文。
在本发明实施例中,上述查找单元280可以由软件实现,也可以由硬件实现,还可以由软件和硬件结合实现。当该查找单元280由软件实现时,该OVS还包括第二存储块3002,用于存储程序代码。处理器1000还用于从第二存储块3002中调用该程序代码,以实现查找单元280的功能。
根据本发明实施例,OVS由处理器和硬件加速器组成,处理器用于存储一般匹配表,该一般匹配表用于记录OVS转发的所有数据流的转发表项。硬件加速器包括保护缓存表和临时缓存表。保护缓存表用于记录大象流的转发表项,临时缓存表用于记录非大象流的转发表项。由于网络中90%的流量为非大象流,用于记录大象流的转发表项的保护缓存表的最大表项数X远远小于一般匹配表的最大表项数,因此,通过查找保护缓存表能够更快找到大象流的转发表项。硬件加速器接收到报文后,先查找保护缓存表,使得属于大象流的报文不需要经过处理器处理就可以被快速转发。进一步地,本发明实施例中,通过在临时缓存表中记录非大象流的转发表项,并统计临时缓存表中记录的数据流的报文数,可以准确识别大象流。故本申请实施例提供的硬件加速器和更新转发表的方法可以提高OVS的转发效率。
本发明实施例还可以进一步更新经过图3所示的流程得到的保护缓存表和临时缓存表。
例如,当所述保护缓存表的表项数为最大表项数X时,如果硬件加速器发现了新的大象流,需要将该新的大象流对应的临时缓存表项写入所述保护缓存表。此时,如果第一数据流对应的保护缓存表项满足预设条件,所述硬件加速器就可以从所述保护缓存表中删除所述第一数据流对应的保护缓存表项。所述预设条件可以为以下任意一个:所述第一数据流对应的保护缓存表项为所述保护缓存表中被最早写入的表项;所述第一数据流对应的保护缓存表项为所述保护缓存表中最长时间未被使用的表项;所述第一数据流对应的保护缓存表项为所述保护缓存表中设定时长内被使用次数最少的表项(即使用频率最低的表项)。然后,硬件加速器可以将该新的大象流对应的临时缓存表项写入所述保护缓存表。
上述更新过程可以确保保护缓存表中的记录的是活跃的大象流的转发表项,避免数据流从大象流转为非大象流之后仍然占用保护缓存表的资源,提高大象流的报文命中保护缓存表的概率。
在从所述保护缓存表中删除所述第一数据流对应的保护缓存表项之前,所述硬件加速器还可以将所述第一数据流对应的保护缓存表项重新写入所述临时缓存表,作为所述第一数据流的临时缓存表项。进一步地,所述硬件加速器还可以在所述第一数据流对应的计数器中设置初始计数,所述初始计数大于0,以便所述硬件加速器在接收到所述第一数据流的后续报文后,将所述第一数据流快速确认为大象流。
上述更新保护缓存表和临时缓存表的过程具体可以由缓存260实现。
由于第一数据流曾经被确认为大象流,硬件加速器仍然有很大可能会收到第一数据流的后续报文,为了避免将第一数据流对应的保护缓存表项从保护缓存表中删除后,在接收到第一数据流的后续报文时再次为第一数据流生成临时缓存表项,所示硬件加速器可以将所述第一数据流对应的保护缓存表项重新写入所述临时缓存表,作为所述第一数据流的临时缓存表项。并且,第一数据流后续仍然后很大可能是大象流,因此,在一个实施方式中,将该第一数据流对应的保护缓存表项写入该临时缓存表,并为该第一数据流设置一个较大的初始计数。这样,当硬件加速器再次接收到该第一数据流的后续报文时,可以很快将该第一数据流再次确认为大象流,并将该第一数据流对应的临时缓存表项再次写入保护缓存表。通过这种将删除的大象流的保护缓存表项写入临时缓存表并为该大象流设定较大的初始计数的方式可以提高OVS的综合转发性能。
如图5所示,本发明实施例还提供了一种服务器500,该服务器500用于实现本发明上述实施例。例如,该服务器500上可以部署图2所示的OVS 200,以实现图3所示的方法。该服务器500包括入端口510,硬件加速器520,处理器530,存储器540和出端口550。其中,入端口510用于接收报文,并将报文发送给硬件加速器520,硬件加速器520用于执行图2和图3中硬件加速器2000的功能。处理器530用于执行图2和图3中处理器1000的功能,处理器530可以由软件或者硬件实现,或者由软件和硬件的结合实现。存储器540用于存储一般匹配表和程序代码,出端口550用于发送报文。
存储器540可以包括一个或多个磁盘,可以是随机存取存储器(random accessmemory,RAM)、闪存、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasable programmable ROM,EPROM)、电可擦可编程只读存储器(electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质。
处理器902可以包括一个或多个CPU、ASIC、多核处理器、数字信号处理器(digitalsignal processor,DSP)或者是被配置成实施本发明实施例的一个或多个集成电路。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (16)
1.一种更新转发表的方法,其特征在于,应用于开放虚拟交换机OVS中,所述OVS包括处理器和硬件加速器,所述硬件加速器上存储有保护缓存表和临时缓存表,所述保护缓存表用于存储大象流对应的转发表项,所述临时缓存表用于存储非大象流对应的转发表项;所述方法包括:
所述硬件加速器接收第一报文;
所述硬件加速器解析所述第一报文以获取所述第一报文的至少一个待匹配字段,所述至少一个待匹配字段用于识别所述第一报文所属的第一数据流;
所述硬件加速器根据所述第一报文的至少一个待匹配字段查找所述保护缓存表;
当没有从所述保护缓存表中找到所述第一数据流对应的保护缓存表项时,所述硬件加速器根据所述第一报文的至少一个待匹配字段查找所述临时缓存表得到所述第一数据流对应的临时缓存表项;
所述硬件加速器根据所述第一数据流对应的临时缓存表项转发所述第一报文;
所述硬件加速器统计所述第一数据流的报文数;
所述硬件加速器确定所述第一数据流的报文数是否大于设定的阈值;
当所述第一数据流的报文数大于设定的阈值时,所述硬件加速器根据所述第一数据流对应的临时缓存表项更新所述保护缓存表和所述临时缓存表。
2.根据权利要求1所述的方法,其特征在于,所述硬件加速器根据所述第一数据流对应的临时缓存表项更新所述保护缓存表和所述临时缓存表包括:
所述硬件加速器将所述第一数据流对应的临时缓存表项写入所述保护缓存表作为所述第一数据流对应的保护缓存表项;以及
所述硬件加速器从所述临时缓存表中删除所述临时缓存表项。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述硬件加速器接收第二报文;所述第二报文为所述第一数据流的后续报文;
所述硬件加速器解析所述第二报文以获取所述第二报文的至少一个待匹配字段;
所述硬件加速器根据所述第二报文的至少一个待匹配字段查找所述保护缓存表得到所述第一数据流对应的保护缓存表项;
所述硬件加速器根据所述第一数据流对应的保护缓存表项转发所述第二报文。
4.根据权利要求1-3中任意一项所述的方法,其特征在于,所述方法还包括:当满足预设条件时,所述硬件加速器从所述保护缓存表中删除所述第一数据流对应的保护缓存表项;
所述预设条件为以下任意一个:所述第一数据流对应的保护缓存表项为所述保护缓存表中被最早写入的表项;所述第一数据流对应的保护缓存表项为所述保护缓存表中最长时间未被使用的表项;所述第一数据流对应的保护缓存表项为所述保护缓存表中设定时长内被使用次数最少的表项。
5.根据权利要求4所述的方法,其特征在于,所述从所述保护缓存表中删除所述第一数据流对应的保护缓存表项之前,所述方法还包括:
所述硬件加速器将所述第一数据流对应的保护缓存表项重新写入所述临时缓存表,作为所述第一数据流的临时缓存表项。
6.根据权利要求1-3中任意一项所述的方法,其特征在于,所述硬件加速器提供N个哈希函数,N大于等于2,所述硬件加速器统计所述第一数据流的报文数包括:
所述硬件加速器将所述至少一个待匹配字段分别应用于所述N个哈希函数得到N个哈希值,所述N个哈希值中每个哈希值分别对应N个计数器中的一个计数器,所述硬件加速器根据所述第一报文的至少一个匹配字段将所述N个计数器的值分别加1,得到更新后的N个计数器的值,将所述更新后的N个计数器的值的最小值作为所述第一数据流的报文数。
7.根据权利要求1-3中任意一项所述的方法,其特征在于,所述方法还包括:
所述硬件加速器接收第三报文;
所述硬件加速器解析所述第三报文以获取所述第三报文的至少一个待匹配字段;所述至少一个待匹配字段用于识别所述第三报文所属的第二数据流;
所述硬件加速器根据所述第三报文的至少一个待匹配字段查找所述保护缓存表;
当所述保护缓存表中不存在所述第二数据流对应的保护缓存表项时,所述硬件加速器查找所述临时缓存表;
当所述临时缓存表中不存在所述第二数据流对应的临时缓存表项时,所述硬件加速器向所述处理器发送所述第三报文的至少一个待匹配字段;
所述硬件加速器接收所述处理器根据所述第三报文的至少一个待匹配字段生成的所述第二数据流对应的临时缓存表项;
所述硬件加速器将所述第二数据流对应的临时缓存表项添加到所述临时缓存表。
8.一种硬件加速器,其特征在于,应用于开放虚拟交换机OVS中,所述硬件加速器包括缓存,用于存储保护缓存表和临时缓存表,所述保护缓存表用于存储大象流的转发表项,所述临时缓存表用于存储非大象流的转发表项;
所述硬件加速器还包括:
接收电路,用于接收第一报文;
解析电路,用于解析所述第一报文以获取所述第一报文的至少一个待匹配字段,所述至少一个待匹配字段用于识别所述第一报文所属的第一数据流;
查找电路,用于根据所述第一报文的至少一个待匹配字段查找所述保护缓存表;当没有从所述保护缓存表中找到所述第一数据流对应的保护缓存表项时,根据所述第一报文的至少一个待匹配字段查找所述临时缓存表得到所述第一数据流对应的临时缓存表项;
发送电路,用于根据所述第一数据流对应的临时缓存表项转发所述第一报文;
计数电路,用于:统计所述第一数据流的报文数,确定所述第一数据流的报文数是否大于设定的阈值,当所述第一数据流的报文数大于设定的阈值时,触发所述缓存;
所述缓存,还用于在所述计数电路的触发下所述根据所述第一数据流对应的临时缓存表项更新所述保护缓存表和所述临时缓存表。
9.根据权利要求8所述的硬件加速器,其特征在于,所述缓存用于:
将所述第一数据流对应的临时缓存表项写入所述保护缓存表作为所述第一数据流对应的保护缓存表项;以及
从所述临时缓存表中删除所述临时缓存表项。
10.根据权利要求9所述的硬件加速器,其特征在于:
所述接收电路还用于接收第二报文;所述第二报文为所述第一数据流的后续报文;
所述解析电路还用于解析所述第二报文以获取所述第二报文的至少一个待匹配字段;
所述查找电路还用于根据所述第二报文的至少一个待匹配字段查找所述保护缓存表得到所述第一数据流对应的保护缓存表项;
所述发送电路还用于根据所述第一数据流对应的保护缓存表项转发所述第二报文。
11.根据权利要求8-10中任意一项所述的硬件加速器,其特征在于,所述缓存还用于:当满足预设条件时,从所述保护缓存表中删除所述第一数据流对应的保护缓存表项;
所述预设条件为以下任意一个:所述第一数据流对应的保护缓存表项为所述保护缓存表中被最早写入的表项;所述第一数据流对应的保护缓存表项为所述保护缓存表中最长时间未被使用的表项;所述第一数据流对应的保护缓存表项为所述保护缓存表中设定时长内被使用次数最少的表项。
12.根据权利要求11所述的硬件加速器,其特征在于,所述缓存还用于:
将所述第一数据流对应的保护缓存表项重新写入所述临时缓存表,作为所述第一数据流的临时缓存表项。
13.根据权利要求8-10中任意一项所述的硬件加速器,其特征在于,所述硬件加速器提供N个哈希函数,N大于等于2,所述计数电路用于:
将所述至少一个待匹配字段分别应用于所述N个哈希函数得到N个哈希值,所述N个哈希值中每个哈希值分别对应N个计数器中的一个计数器,根据所述第一报文的至少一个匹配字段将所述N个计数器的值分别加1,得到更新后的N个计数器的值,将所述更新后的N个计数器的值的最小值作为所述第一数据流的报文数。
14.根据权利要求8-10中任意一项所述的硬件加速器,其特征在于:
所述接收电路还用于接收第三报文;
所述解析电路还用于解析所述第三报文以获取所述第三报文的至少一个待匹配字段;所述至少一个待匹配字段用于识别所述第三报文所属的第二数据流;
所述查找电路还用于:根据所述第三报文的至少一个待匹配字段查找所述保护缓存表,当所述保护缓存表中不存在所述第二数据流对应的保护缓存表项时,查找所述临时缓存表;
当所述临时缓存表中不存在所述第二数据流对应的临时缓存表项时,向处理器发送所述第三报文的至少一个待匹配字段;
所述缓存还用于:接收所述处理器根据所述第三报文的至少一个待匹配字段生成的所述第二数据流对应的临时缓存表项;将所述第二数据流对应的临时缓存表项添加到所述临时缓存表。
15.一种开放虚拟交换机OVS,其特征在于,包括处理器和权利要求8-14中任意一项所述的硬件加速器。
16.一种服务器,其特征在于,包括如权利要求15所述的OVS。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711245925.2A CN109873768B (zh) | 2017-12-01 | 2017-12-01 | 更新转发表的方法、硬件加速器、ovs和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711245925.2A CN109873768B (zh) | 2017-12-01 | 2017-12-01 | 更新转发表的方法、硬件加速器、ovs和服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109873768A CN109873768A (zh) | 2019-06-11 |
CN109873768B true CN109873768B (zh) | 2021-06-22 |
Family
ID=66914542
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711245925.2A Active CN109873768B (zh) | 2017-12-01 | 2017-12-01 | 更新转发表的方法、硬件加速器、ovs和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109873768B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111130816B (zh) * | 2019-12-27 | 2022-06-24 | 北京东土军悦科技有限公司 | 一种报文转发处理设备、方法、装置和存储介质 |
CN111200561B (zh) * | 2019-12-31 | 2022-03-15 | 奇安信科技集团股份有限公司 | 数据包传输方法和装置、计算机系统和可读存储介质 |
CN113132262B (zh) * | 2020-01-15 | 2024-05-03 | 阿里巴巴集团控股有限公司 | 一种数据流处理及分类方法、装置和系统 |
CN112565091A (zh) * | 2020-11-18 | 2021-03-26 | 普联国际有限公司 | 一种报文转发方法、装置、存储介质及终端设备 |
CN114866488A (zh) * | 2021-01-18 | 2022-08-05 | 阿里巴巴集团控股有限公司 | 信息流识别方法、网络芯片及网络设备 |
CN113595822B (zh) * | 2021-07-26 | 2024-03-22 | 北京恒光信息技术股份有限公司 | 一种数据包管理方法、系统和装置 |
CN114024887B (zh) * | 2021-11-10 | 2024-06-14 | 北京天融信网络安全技术有限公司 | 转发表项的处理方法、装置、设备及存储介质 |
CN115514721B (zh) * | 2022-09-23 | 2023-11-07 | 北京东土军悦科技有限公司 | 未知组播数据的处理方法及装置、计算设备、存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102946354A (zh) * | 2012-11-15 | 2013-02-27 | 华为技术有限公司 | 一种报文转发的方法、装置及网络设备 |
CN104601468A (zh) * | 2015-01-13 | 2015-05-06 | 杭州华三通信技术有限公司 | 报文转发方法和设备 |
CN104601432A (zh) * | 2014-12-31 | 2015-05-06 | 杭州华三通信技术有限公司 | 一种报文传输方法和设备 |
CN104780071A (zh) * | 2015-04-21 | 2015-07-15 | 杭州华三通信技术有限公司 | 虚拟交换机的升级方法及装置 |
CN105306368A (zh) * | 2015-09-17 | 2016-02-03 | 杭州数梦工场科技有限公司 | 一种数据报文的传输方法和装置 |
US9525647B2 (en) * | 2010-07-06 | 2016-12-20 | Nicira, Inc. | Network control apparatus and method for creating and modifying logical switching elements |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9730102B2 (en) * | 2012-02-17 | 2017-08-08 | Intel Corporation | Methods and arrangements for packet flows in wireless networks |
-
2017
- 2017-12-01 CN CN201711245925.2A patent/CN109873768B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9525647B2 (en) * | 2010-07-06 | 2016-12-20 | Nicira, Inc. | Network control apparatus and method for creating and modifying logical switching elements |
CN102946354A (zh) * | 2012-11-15 | 2013-02-27 | 华为技术有限公司 | 一种报文转发的方法、装置及网络设备 |
CN104601432A (zh) * | 2014-12-31 | 2015-05-06 | 杭州华三通信技术有限公司 | 一种报文传输方法和设备 |
CN104601468A (zh) * | 2015-01-13 | 2015-05-06 | 杭州华三通信技术有限公司 | 报文转发方法和设备 |
CN104780071A (zh) * | 2015-04-21 | 2015-07-15 | 杭州华三通信技术有限公司 | 虚拟交换机的升级方法及装置 |
CN105306368A (zh) * | 2015-09-17 | 2016-02-03 | 杭州数梦工场科技有限公司 | 一种数据报文的传输方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109873768A (zh) | 2019-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109873768B (zh) | 更新转发表的方法、硬件加速器、ovs和服务器 | |
US10075338B2 (en) | Relay control unit, relay control system, relay control method, and relay control program | |
CN108243111B (zh) | 确定传输路径的方法和装置 | |
US20240098042A1 (en) | Egress packet processing using a modified packet header separate from a stored payload | |
US8767551B2 (en) | System and method for flow table management | |
US8886827B2 (en) | Flow cache mechanism for performing packet flow lookups in a network device | |
CN108141416B (zh) | 一种报文处理方法、计算设备以及报文处理装置 | |
US8169910B1 (en) | Network traffic analysis using a flow table | |
US9071576B1 (en) | Application rate limiting without overhead | |
US20160308770A1 (en) | Packet Processing Method, Node, and System | |
CN107547507B (zh) | 一种防攻击方法、装置、路由器设备及机器可读存储介质 | |
CN109981409B (zh) | 报文转发方法、装置及转发设备 | |
CN112673595B (zh) | 用于使用具有包括动态报头的数据包的流高速缓存的方法和系统 | |
US11095674B2 (en) | DDoS attack detection method and device | |
WO2020103574A1 (zh) | 报文处理方法及装置、存储介质 | |
US9270593B2 (en) | Prediction based methods for fast routing of IP flows using communication/network processors | |
Dang-Van et al. | A multi-criteria based software defined networking system Architecture for DDoS-attack mitigation | |
CN111193594B (zh) | 筛选服务基础设施接收的数据包的方法和数据包清理系统 | |
CN106878106B (zh) | 一种可达性检测方法及装置 | |
CN113890746B (zh) | 攻击流量识别方法、装置、设备以及存储介质 | |
CN110198290B (zh) | 一种信息处理方法、设备、装置及存储介质 | |
CN110224932B (zh) | 一种数据快速转发的方法及系统 | |
CN111224964A (zh) | 访问控制方法及设备 | |
CN113645188B (zh) | 一种基于安全关联的数据包快速转发方法 | |
CN110365667B (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 |