This application discloses an open virtual switch OVS comprising a general purpose processor and a hardware accelerator, which stores a protected cache table and a temporary cache table. The hardware accelerator is used to parse a message to obtain at least one matched field of the message, which is used to identify the data stream to which the message belongs, to find the protection cache table according to the at least one matched field, and to look up the corresponding protection cache table item of the data stream according to the at least one matched field when the corresponding protection cache item of the data stream is not found from the protection cache table. Find the temporary cache table to get the temporary cache table entries corresponding to the data stream; forward the message according to the temporary cache table entries; count the number of messages in the data stream; update the protected cache table and the temporary cache table according to the temporary cache table entries corresponding to the data stream when the number of messages in the data stream exceeds the set threshold.
【技术实现步骤摘要】
更新转发表的方法、硬件加速器、OVS和服务器
本申请涉及通信领域,尤其涉及一种一种更新转发表的方法以及实现所述方法的硬件加速器、开放虚拟交换机和服务器。
技术介绍
随着物联网发展、大数据汇聚、数据中心兴起,网络流量带宽越来越大,提高用于实现网络流量交换的网络交换设备的转发效率变得越来越重要。支持开放流(OpenFlow)协议的开放虚拟交换机(openvswitch,OVS)用于在开源的虚拟化平台中执行网络交换设备的功能,因此,同样需要提高OVS的转发速率。
技术实现思路
本申请实施例提供了一种更新转发表的方法、硬件加速器、OVS和服务器,用于提高OVS的转发效率。本专利技术第一方面提供了一种更新转发表的方法。该方法应用于开放虚拟交换机OVS中,所述OVS包括处理器和硬件加速器,所述硬件加速器上存储有保护缓存表和临时缓存表,所述保护缓存表用于存储大象流对应的转发表项,所述临时缓存表用于存储非大象流对应的转发表项。所述硬件加速器接收第一报文,解析所述第一报文以获取所述第一报文的至少一个待匹配字段,所述至少一个待匹配字段用于识别所述第一报文所属的第一数据流。所述硬件加速器根据所述第一报文的至少一个待匹配字段查找所述保护缓存表;当没有从所述保护缓存表中找到所述第一数据流对应的保护缓存表项时,所述硬件加速器根据所述第一报文的至少一个待匹配字段查找所述临时缓存表得到所述第一数据流对应的临时缓存表项。所述硬件加速器根据所述第一数据流对应的临时缓存表项转发所述第一报文。所述硬件加速器统计所述第一数据流的报文数,并确定所述第一数据流的报文数是否大于设定的阈值。当所述第一数据流的 ...
【技术保护点】
1.一种更新转发表的方法,其特征在于,应用于开放虚拟交换机OVS中,所述OVS包括处理器和硬件加速器,所述硬件加速器上存储有保护缓存表和临时缓存表,所述保护缓存表用于存储大象流对应的转发表项,所述临时缓存表用于存储非大象流对应的转发表项;所述方法包括:所述硬件加速器接收第一报文;所述硬件加速器解析所述第一报文以获取所述第一报文的至少一个待匹配字段,所述至少一个待匹配字段用于识别所述第一报文所属的第一数据流;所述硬件加速器根据所述第一报文的至少一个待匹配字段查找所述保护缓存表;当没有从所述保护缓存表中找到所述第一数据流对应的保护缓存表项时,所述硬件加速器根据所述第一报文的至少一个待匹配字段查找所述临时缓存表得到所述第一数据流对应的临时缓存表项;所述硬件加速器根据所述第一数据流对应的临时缓存表项转发所述第一报文;所述硬件加速器统计所述第一数据流的报文数;所述硬件加速器确定所述第一数据流的报文数是否大于设定的阈值;当所述第一数据流的报文数大于设定的阈值时,所述硬件加速器根据所述第一数据流对应的临时缓存表项更新所述保护缓存表和所述临时缓存表。
【技术特征摘要】
1.一种更新转发表的方法,其特征在于,应用于开放虚拟交换机OVS中,所述OVS包括处理器和硬件加速器,所述硬件加速器上存储有保护缓存表和临时缓存表,所述保护缓存表用于存储大象流对应的转发表项,所述临时缓存表用于存储非大象流对应的转发表项;所述方法包括:所述硬件加速器接收第一报文;所述硬件加速器解析所述第一报文以获取所述第一报文的至少一个待匹配字段,所述至少一个待匹配字段用于识别所述第一报文所属的第一数据流;所述硬件加速器根据所述第一报文的至少一个待匹配字段查找所述保护缓存表;当没有从所述保护缓存表中找到所述第一数据流对应的保护缓存表项时,所述硬件加速器根据所述第一报文的至少一个待匹配字段查找所述临时缓存表得到所述第一数据流对应的临时缓存表项;所述硬件加速器根据所述第一数据流对应的临时缓存表项转发所述第一报文;所述硬件加速器统计所述第一数据流的报文数;所述硬件加速器确定所述第一数据流的报文数是否大于设定的阈值;当所述第一数据流的报文数大于设定的阈值时,所述硬件加速器根据所述第一数据流对应的临时缓存表项更新所述保护缓存表和所述临时缓存表。2.根据权利要求1所述的方法,其特征在于,所述硬件加速器根据所述第一数据流对应的临时缓存表项更新所述保护缓存表和所述临时缓存表包括:所述硬件加速器将所述第一数据流对应的临时缓存表项写入所述保护缓存表作为所述第一数据流对应的保护缓存表项;以及所述硬件加速器从所述临时缓存表中删除所述临时缓存表项。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:所述硬件加速器接收第二报文;所述第二报文为所述第一数据流的后续报文;所述硬件加速器解析所述第二报文以获取所述第二报文的至少一个待匹配字段;所述硬件加速器根据所述第二报文的至少一个待匹配字段查找所述保护缓存表得到所述第一数据流对应的保护缓存表项;所述硬件加速器根据所述第一数据流对应的保护缓存表项转发所述第二报文。4.根据权利要求1-3中任意一项所述的方法,其特征在于,所述方法还包括:当满足预设条件时,所述硬件加速器从所述保护缓存表中删除所述第一数据流对应的保护缓存表项;所述预设条件为以下任意一个:所述第一数据流对应的保护缓存表项为所述保护缓存表中被最早写入的表项;所述第一数据流对应的保护缓存表项为所述保护缓存表中最长时间未被使用的表项;所述第一数据流对应的保护缓存表项为所述保护缓存表中设定时长内被使用次数最少的表项。5.根据权利要求4所述的方法,其特征在于,所述从所述保护缓存表中删除所述第一数据流对应的保护缓存表项之前,所述方法还包括:所述硬件加速器将所述第一数据流对应的保护缓存表项重新写入所述临时缓存表,作为所述第一数据流的临时缓存表项。6.根据权利要求1-5中任意一项所述的方法,其特征在于,所述硬件加速器提供N个哈希函数,N大于等于2,所述硬件加速器统计所述第一数据流的报文数包括:所述硬件加速器将所述至少一个待匹配字段分别应用于所述N个哈希函数得到N个哈希值,所述N个哈希值中每个哈希值分别对应N个计数器中的一个计数器,所述硬件加速器根据所述第一报文的至少一个匹配字段将所述N个计数器的值分别加1,得到更新后的N个计数器的值,将所述更新后的N个计数器的值的最小值作为所述第一数据流的报文数。7.根据权利要求1-6中任意一项所述的方法,其特征在于,所述方法还包括:所述硬件加速器接收第三报文;所述硬件加速器解析所述第三报文以获取所述第三报文的至少一个待匹配字段;所述至少一个待匹配字段用于识别所述第三报文所属的第二数据流;所述硬件加速器根据所述第三报文的至少一个待匹配字段查找所述保护缓存表;当所述保护缓存表中不存在所述第二数据流对应的保护缓存表项时,所述硬件加速器查找所述临时缓存表;当所述临时缓存表中不存在所述第二数据流对应的临时缓存表项时,所述硬件加速器向所述处理器发送所述第三报文的至少一个待匹配字段;所述硬件加速器接收所述处理器根据所述第三报文的至少一个待匹配字段生成的所述第二数据流对应的临时缓存表项;所...
【专利技术属性】
技术研发人员:汪波,魏明,胡新宇,陈锐,曹倩,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。