CN113630342B - 一种虚拟交换机的转发表管理方法、系统及装置 - Google Patents
一种虚拟交换机的转发表管理方法、系统及装置 Download PDFInfo
- Publication number
- CN113630342B CN113630342B CN202110712437.8A CN202110712437A CN113630342B CN 113630342 B CN113630342 B CN 113630342B CN 202110712437 A CN202110712437 A CN 202110712437A CN 113630342 B CN113630342 B CN 113630342B
- Authority
- CN
- China
- Prior art keywords
- forwarding table
- forwarding
- heterogeneous acceleration
- message
- acceleration equipment
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 30
- 230000001133 acceleration Effects 0.000 claims abstract description 128
- 238000000034 method Methods 0.000 claims abstract description 29
- 230000032683 aging Effects 0.000 claims abstract description 10
- 230000010354 integration Effects 0.000 claims abstract description 9
- 238000012545 processing Methods 0.000 claims description 34
- 238000012795 verification Methods 0.000 claims description 16
- 230000003068 static effect Effects 0.000 claims description 7
- 238000013507 mapping Methods 0.000 claims description 2
- 230000007246 mechanism Effects 0.000 abstract description 11
- 238000004891 communication Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000009514 concussion Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/252—Store and forward routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出的一种虚拟交换机的转发表管理方法、系统及装置,所述方法包括:启动虚拟交换机,对异构加速设备的接口进行抽象整合;获取异构加速设备的硬件信息,进行线程CPU的亲和性绑定,并确定线程并发数量;若当前存在固定的流量转发模型,采用预先下发的方式将转发表下发到异构加速设备中;通过执行报文自学习生产转发表,并对转发表进行下发和报文的回注;对异构加速设备中的转发表进行核对校验,根据核对校验结果对无用的转发表进行老化处理。本发明在虚拟机交换机中引入了预下发机制,有效避免了报文上送泛洪的冗长的学习机制,既能够兼容各种异构加速设备,还能够提高虚拟交换机的稳定性,转发性能和转发延时。
Description
技术领域
本发明涉及计算机通信技术领域,更具体的说是涉及一种虚拟交换机的转发表管理方法、系统及装置。
背景技术
随着云计算、虚拟化等理念和技术的不断成熟,云计算生产环境部署的规模也在不断增长,在大规模云计算生产环境中,对虚拟交换机的转发延时、性能、稳定性的要求也原来越高,特别是在音视频、多媒体等应用领域对报文的转发的延时具有极高的要求,传统的通过报文上送,生成转发表、再下发等方式延时过高并且处理速度过慢,不能满足业务对性能的要求,同时,随着数据中心对带宽的要求也在快速增长,各种各样的智能加速卡涌现出来为网络带宽加速,但是由于异构加速设备的种类繁多,虚拟交换机无法实现对异构加速设备的完全兼容。
因此,需要设计一种高性能的虚拟机交换机转发表管理机制,既能够兼容各种异构加速设备,还能够提高虚拟交换机的稳定性,转发性能和转发延时。
发明内容
针对以上问题,本发明的目的在于提供一种虚拟交换机的转发表管理方法、系统及装置,既能够兼容各种异构加速设备,还能够提高虚拟交换机的稳定性,转发性能和转发延时。
本发明为实现上述目的,通过以下技术方案实现:一种虚拟交换机的转发表管理方法,包括如下步骤:
S1:启动虚拟交换机,对异构加速设备的接口进行抽象整合;
S2:获取异构加速设备的硬件信息,根据异构加速设备的硬件信息进行线程CPU的亲和性绑定,并确定线程并发数量;
S3:若当前存在固定的流量转发模型,采用预先下发的方式将转发表下发到异构加速设备中;
S4:处理报文的上送,通过执行报文自学习生产转发表,并对生产的转发表进行下发和报文的回注;
S5:对异构加速设备中的转发表进行核对校验,根据核对校验结果对无用的转发表进行老化处理。
进一步,步骤S1包括:
启动虚拟交换机,进行异构加速设备扫描;
若发现异构加速设备,则进行注册,并将预设的转发表下发接口统一映射为统一接口。
进一步,所述将预设的转发表下发接口统一映射为统一接口具体为:
将转发表TC flower、rte_flow和netlink_flow下发接口统一映射为如下统一接口:
int flows_install(flows,device);
int flows_uninstall(flows,device);
flows flows_dump(device)。
进一步,所述异构加速设备的硬件信息包括:异构加速设备采用的非统一内存访问架构信息、缓存信息和带宽信息。
进一步,步骤S2包括:
通过虚拟机交换机获取异构加速设备的硬件信息,并根据异构加速设备信息启动报文处理线程和转发表核验线程;
选择与异构加速设备相同非统一内存访问架构的CPU运行相关线程,并做线程的CPU亲和性绑定,同时根据异构加速设备的带宽信息计算需要启动的线程数量。
进一步,所述采用预先下发的方式下发的转发表内设置有static静态标记,static静态标记用于转发表的动态调整。
进一步,步骤S4包括:
虚拟机交换机接收异构加速设备上送的报文;
根据上送的报文从转发表数据库中查找是否存在相应的转发表,如果不存在则提取报文的源MAC地址和源端口作为转发表的目的MAC地址和出接口,并写入转发表数据库;然后,生产转发表并将生产的转发表下发到异构加速设备当中,将报文的首报文重新注入回异构加速设备进行泛洪处理。
进一步,步骤S5包括:
虚拟交换机对异构加速设备中的转发表进行周期性查询,并对异构加速设备现存的转发表的运行时间和匹配计数进行校验,如果发现转发表在指定的时间内没有流量匹配,则将该转发表标记为非活动状态,并在100ms后对非活动状态的转发表进行删除;如果转发表在100ms以内有报文匹配,那么将该转发表重新标记为活动状态。
相应的,本发明还公开了一种虚拟交换机的转发表管理系统,包括:
接口抽象模块,用于通过使用相同的接口来适配所有的异构加速设备,完成异构加速设备的接口抽象整合;
转发表预先下发模块,用于直接将转发表下发到异构加速设备中;
报文处理模块,用于处理报文的上送,通过执行报文自学习生产转发表,并对生产的转发表进行下发和报文的回注;
转发表核验模块,采用多线程并发设计并且与资源调度器配合,用于对异构加速设备中的转发表的核对校验,并对无用转发表进行老化处理;
资源调度器,用于根据异构加速设备的硬件信息调整模块线程运行的CPU,并设置CPU的亲和性;
转发表数据库,用于存储通过报文自学习的转发表。
进一步,所述接口抽象模块具体用于:
启动虚拟交换机,进行异构加速设备扫描;
若发现异构加速设备,则进行注册,并将预设的转发表下发接口统一映射为统一接口。
进一步,所述资源调度器具体用于:
通过虚拟机交换机获取异构加速设备的硬件信息,并根据异构加速设备信息启动报文处理线程和转发表核验线程;
选择与异构加速设备相同非统一内存访问架构的CPU运行相关线程,并做线程的CPU亲和性绑定,同时根据异构加速设备的带宽信息计算需要启动的线程数量。
进一步,所述转发表预先下发模块具体用于:
若当前存在固定的流量转发模型,采用预先下发的方式将转发表下发到异构加速设备中。
进一步,所述报文处理模块具体用于:
接收异构加速设备上送的报文;
根据上送的报文从转发表数据库中查找是否存在相应的转发表,如果不存在则提取报文的源MAC地址和源端口作为转发表的目的MAC地址和出接口,并写入转发表数据库;然后,生产转发表并将生产的转发表下发到异构加速设备当中,将报文的首报文重新注入回异构加速设备进行泛洪处理。
进一步,所述转发表核验模块具体用于:
对异构加速设备中的转发表进行周期性查询,并对异构加速设备现存的转发表的运行时间和匹配计数进行校验,如果发现转发表在指定的时间内没有流量匹配,则将该转发表标记为非活动状态,并在100ms后对非活动状态的转发表进行删除;如果转发表在100ms以内有报文匹配,那么将该转发表重新标记为活动状态。
相应的,本发明公开了一种虚拟交换机的转发表管理装置,包括:
存储器,用于存储虚拟交换机的转发表管理程序;
处理器,用于执行所述虚拟交换机的转发表管理程序时实现如上文任一项所述虚拟交换机的转发表管理方法的步骤。
相应的,本发明还公开了一种可读存储介质,所述可读存储介质上存储有存储虚拟交换机的转发表管理程序,所述存储虚拟交换机的转发表管理程序被处理器执行时实现如上文任一项所述虚拟交换机的转发表管理方法的步骤。
对比现有技术,本发明有益效果在于:本发明提供了一种虚拟交换机的转发表管理方法、系统及装置,在虚拟机交换机中引入了预下发机制,能够有效避免报文上送泛洪的冗长的学习机制;本发明针对异构加速设备进行抽象通用接口,从而兼容更多异构设备,同时采用资源调度器与异构加速设备硬件信息相结合的方式调度线程并做亲和性绑定,可以大幅提高报文处理和转发表下发的性能。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
附图1是本发明的方法流程图;
附图2是本发明的系统结构图。
图中,1为接口抽象模块;2为转发表预先下发模块;3为报文处理模块;4为转发表核验模块;5为资源调度器;6为转发表数据库。
具体实施方式
本发明的核心是提供一种虚拟交换机的转发表管理方法,现有技术中,虚拟交换机的转发进行报文转发时,采用传统的通过报文上送,生成转发表、再下发等方式延时过高并且处理速度过慢,不能满足业务对性能的要求,同时,随着数据中心对带宽的要求也在快速增长,各种各样的智能加速卡涌现出来为网络带宽加速,但是由于异构加速设备的种类繁多,虚拟交换机无法实现对异构加速设备的完全兼容。
而本发明提供的虚拟交换机的转发表管理方法,首先,对异构加速设备的接口进行抽象整合,提供了虚拟交换机的兼容性。然后,针对异构加速设备硬件信息和NUMA(NonUniform Memory Access,非统一内存访问架构)特点进行线程CPU的亲和性绑定和确定线程并发数量,并进行转发表预先下发,针对固定流量非常适用,省去传统学习的冗长流程,大幅提高报文转发延时。最后,进行报文处理和转发表核验,多线程并发,避免转发表震荡,使虚拟交换机运行更加稳定。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
如图1所示,本实施例提供了一种虚拟交换机的转发表管理方法,包括如下步骤:
S1:启动虚拟交换机,对异构加速设备的接口进行抽象整合。
本步骤具体为:首先,启动虚拟交换机,进行异构加速设备扫描。若发现异构加速设备,则进行注册,并将将转发表TC flower、rte_flow和netlink_flow下发接口统一映射为如下统一接口:
int flows_install(flows,device);
int flows_uninstall(flows,device);
flows flows_dump(device)。
S2:获取异构加速设备的硬件信息,根据异构加速设备的硬件信息进行线程CPU的亲和性绑定,并确定线程并发数量。
其中,异构加速设备的硬件信息包括:异构加速设备采用的非统一内存访问架构信息、缓存信息和带宽信息。
本步骤具体为:首先,通过虚拟机交换机获取异构加速设备的硬件信息,并根据异构加速设备信息启动报文处理线程和转发表核验线程;然后,选择与异构加速设备相同非统一内存访问架构的CPU运行相关线程,并做线程的CPU亲和性绑定,同时根据异构加速设备的带宽信息计算需要启动的线程数量。
S3:若当前存在固定的流量转发模型,采用预先下发的方式将转发表下发到异构加速设备中。
预先下发的转发表内设置有static静态标记,static静态标记用于转发表的动态调整。
S4:处理报文的上送,通过执行报文自学习生产转发表,并对生产的转发表进行下发和报文的回注。
首先,虚拟机交换机接收异构加速设备上送的报文。然后,根据上送的报文从转发表数据库中查找是否存在相应的转发表,如果不存在则提取报文的源MAC地址和源端口作为转发表的目的MAC地址和出接口,并写入转发表数据库;然后,生产转发表并将生产的转发表下发到异构加速设备当中,将报文的首报文重新注入回异构加速设备进行泛洪处理。
S5:对异构加速设备中的转发表进行核对校验,根据核对校验结果对无用的转发表进行老化处理。
虚拟交换机对异构加速设备中的转发表进行周期性查询,并对异构加速设备现存的转发表的运行时间和匹配计数进行校验,如果发现转发表在指定的时间内没有流量匹配,则将该转发表标记为非活动状态,并在100ms后对非活动状态的转发表进行删除;如果转发表在100ms以内有报文匹配,那么将该转发表重新标记为活动状态。
本实施例提供了一种虚拟交换机的转发表管理方法,在虚拟机交换机中引入了预下发机制,有效避免了报文上送泛洪的冗长的学习机制,既能够兼容各种异构加速设备,还能够提高虚拟交换机的稳定性,转发性能和转发延时。
实施例二:
基于实施例一,如图2所示,本实施例还公开了一种虚拟交换机的转发表管理系统,包括:接口抽象模块1、转发表预先下发模块2、报文处理模块3、转发表核验模块4、资源调度器5,转发表数据库6。
接口抽象模块1,用于通过使用相同的接口来适配所有的异构加速设备,完成异构加速设备的接口抽象整合。接口抽象模块1具体用于:启动虚拟交换机,进行异构加速设备扫描;若发现异构加速设备,则进行注册,并将预设的转发表下发接口统一映射为统一接口。
转发表预先下发模块2,用于直接将转发表下发到异构加速设备中。转发表预先下发模块2具体用于:若当前存在固定的流量转发模型,采用预先下发的方式将转发表下发到异构加速设备中。
报文处理模块3,用于处理报文的上送,通过执行报文自学习生产转发表,并对生产的转发表进行下发和报文的回注。报文处理模块3具体用于:接收异构加速设备上送的报文;根据上送的报文从转发表数据库中查找是否存在相应的转发表,如果不存在则提取报文的源MAC地址和源端口作为转发表的目的MAC地址和出接口,并写入转发表数据库;然后,生产转发表并将生产的转发表下发到异构加速设备当中,将报文的首报文重新注入回异构加速设备进行泛洪处理。
转发表核验模块4,采用多线程并发设计并且与资源调度器配合,用于对异构加速设备中的转发表的核对校验,并对无用转发表进行老化处理。转发表核验模块4具体用于:对异构加速设备中的转发表进行周期性查询,并对异构加速设备现存的转发表的运行时间和匹配计数进行校验,如果发现转发表在指定的时间内没有流量匹配,则将该转发表标记为非活动状态,并在100ms后对非活动状态的转发表进行删除;如果转发表在100ms以内有报文匹配,那么将该转发表重新标记为活动状态。
资源调度器5,用于根据异构加速设备的硬件信息调整模块线程运行的CPU,并设置CPU的亲和性。资源调度器5具体用于:通过虚拟机交换机获取异构加速设备的硬件信息,并根据异构加速设备信息启动报文处理线程和转发表核验线程;选择与异构加速设备相同非统一内存访问架构的CPU运行相关线程,并做线程的CPU亲和性绑定,同时根据异构加速设备的带宽信息计算需要启动的线程数量。
转发表数据库6,用于存储通过报文自学习的转发表。
本实施例提供了一种虚拟交换机的转发表管理系统,在虚拟机交换机中引入了预下发机制,能够有效避免报文上送泛洪的冗长的学习机制;本系统针对异构加速设备进行抽象通用接口,从而兼容更多异构设备,同时采用资源调度器与异构加速设备硬件信息相结合的方式调度线程并做亲和性绑定,可以大幅提高报文处理和转发表下发的性能。
实施例三:
基于上述实施例,本实施例公开了一种虚拟交换机的转发表管理系统,包括:转发表预先下发模块、报文处理模块、转发表核验模块、接口抽象模块、资源调度器和转发表数据库。转发表预先下发模块主要负责对一些报文转发延时要求高,非常稳定的流量可以不经过普通二层转发学习,直接将转发表下发到异构加速设备中;报文处理模块,采用多线程并发设计,并且与资源调度器配合,可以将线程运行cpu与异构加速设备设置在同一个numa内,达到超高性能。报文处理模块会处理报文的上送,学习以及转发表生产后下发和报文的回注,适用于流量不稳定或者对报文延时不敏感的业务。转发表核验模块,同样采用多线程并发设计并且与资源调度器配合,用于对异构加速设备中转发表的核对校验,及时老化相关无用转发表,释放资源。接口抽象模块用于对异构加速设备的接口抽象整合,可以使用相同的接口来适配所有的异构设备,具有更好的通用性和兼容性。资源调度器可以结合异构加速设备的硬件特点来及时调整模块线程运行的CPU和设置CPU的亲和性,提高缓存命中率,同时还可以根据当前系统负载来判断是否需要启动跟多线程来处理报文或者对转发表进行核验;转发表数据库用于存储通过报文自学习的转发表。
实施例四:
基于上述实施例,本实施例公开了一种虚拟交换机的转发表管理方法,包括:
1、当虚拟交换机启动时,会进行异构加速设备扫描,发现异构加速设备进行注册,通过接口抽象模块将比如TC flower,rte_flow,netlink_flow等转发表下发接口统一映射为如下统一接口
int flows_install(flows,device);
int flows_uninstall(flows,device);
flows flows_dump(device);
2、虚拟机交换机会获取异构加速设备的硬件信息,如NUMA信息,cache,带宽信息信息等,虚拟机交换机会根据异构加速设备信息,启动报文处理线程和转发表核验线程,选择与异构加速设备相同NUMA的CPU运行相关线程,并做线程的CPU亲和性绑定,同时根据异构加速设备带宽信息计算需要启动的线程数量。
3、根据大规模云环境的情况以及业务流量的特点,如果存在固定的流量转发模型,可以通过预先下发的方式将转发表下发到异构加速设备中,通过预先下发的转发表具有static静态标记,不会随着时间老化,同时也可以根据业务形态的变化,动态的调整预下发转发表。
4、对于普通的报文转发学习流程,则会采用虚拟机交换机的报文上送方式,也即是首包上送,报文处理模块根据上送的报文从转发表数据库中查找是否存在相应的转发表,如果不存在则会将报文源MAC地址,源端口作为转发表的目的MAC地址和出接口写入转发表数据库,然后将刚生产的转发表下发到异构加速设备当中,并且将报文的首报文重新注入回异构加速设备进行泛洪处理。
5、虚拟交换机同时会启动转发表核验模块周期性查询异构设备转发表,并对异构加速设备现存的转发表的运行时间,匹配计数等指标进行校验,如果发现转发表在指定的时间内没有流量匹配,那么转发表核验模块就将该转发表标记为非活动状态,并100ms后针对非活动状态转发表进行删除,如果转发表在100ms以内有报文匹配,那么状态会重新标记为活动状态,这样可以避免转发表的震荡而引起不断的下发删除,浪费资源,对流量稳定运行和系统稳定有着至关重要的作用。
实施例五:
本实施例公开了一种虚拟交换机的转发表管理方法,包括处理器和存储器;其中,所述处理器执行所述存储器中保存的虚拟交换机的转发表管理程序时实现以下步骤:
1、启动虚拟交换机,对异构加速设备的接口进行抽象整合。
2、获取异构加速设备的硬件信息,根据异构加速设备的硬件信息进行线程CPU的亲和性绑定,并确定线程并发数量。
3、若当前存在固定的流量转发模型,采用预先下发的方式将转发表下发到异构加速设备中。
4、处理报文的上送,通过执行报文自学习生产转发表,并对生产的转发表进行下发和报文的回注。
5、对异构加速设备中的转发表进行核对校验,根据核对校验结果对无用的转发表进行老化处理。
进一步的,本实施例中的虚拟交换机的转发表管理装置,还可以包括:
输入接口,用于获取外界导入的虚拟交换机的转发表管理程序,并将获取到的虚拟交换机的转发表管理程序保存至所述存储器中,还可以用于获取外界终端设备传输的各种指令和参数,并传输至处理器中,以便处理器利用上述各种指令和参数展开相应的处理。本实施例中,所述输入接口具体可以包括但不限于USB接口、串行接口、语音输入接口、指纹输入接口、硬盘读取接口等。
输出接口,用于将处理器产生的各种数据输出至与其相连的终端设备,以便于与输出接口相连的其他终端设备能够获取到处理器产生的各种数据。本实施例中,所述输出接口具体可以包括但不限于USB接口、串行接口等。
通讯单元,用于在虚拟交换机的转发表管理装置和外部服务器之间建立远程通讯连接,以便于虚拟交换机的转发表管理装置能够将镜像文件挂载到外部服务器中。本实施例中,通讯单元具体可以包括但不限于基于无线通讯技术或有线通讯技术的远程通讯单元。
键盘,用于获取用户通过实时敲击键帽而输入的各种参数数据或指令。
显示器,用于运行服务器供电线路短路定位过程的相关信息进行实时显示。
鼠标,可以用于协助用户输入数据并简化用户的操作。
实施例六:
本实施例还公开了一种可读存储介质,这里所说的可读存储介质包括随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动硬盘、CD-ROM或技术领域内所公知的任意其他形式的存储介质。可读存储介质中存储有虚拟交换机的转发表管理程序,所述虚拟交换机的转发表管理程序被处理器执行时实现以下步骤:
1、启动虚拟交换机,对异构加速设备的接口进行抽象整合。
2、获取异构加速设备的硬件信息,根据异构加速设备的硬件信息进行线程CPU的亲和性绑定,并确定线程并发数量。
3、若当前存在固定的流量转发模型,采用预先下发的方式将转发表下发到异构加速设备中。
4、处理报文的上送,通过执行报文自学习生产转发表,并对生产的转发表进行下发和报文的回注。
5、对异构加速设备中的转发表进行核对校验,根据核对校验结果对无用的转发表进行老化处理。
综上所述,本发明在虚拟机交换机中引入了预下发机制,有效避免了报文上送泛洪的冗长的学习机制,既能够兼容各种异构加速设备,还能够提高虚拟交换机的稳定性,转发性能和转发延时。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的方法而言,由于其与实施例公开的系统相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。
同理,在本发明各个实施例中的各处理单元可以集成在一个功能模块中,也可以是各个处理单元物理存在,也可以两个或两个以上处理单元集成在一个功能模块中。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的虚拟交换机的转发表管理方法、系统、装置及可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (5)
1.一种虚拟交换机的转发表管理方法,其特征在于,包括如下步骤:
S1:启动虚拟交换机,对异构加速设备的接口进行抽象整合;
S2:获取异构加速设备的硬件信息,根据异构加速设备的硬件信息进行线程CPU的亲和性绑定,并确定线程并发数量;
S3:若当前存在固定的流量转发模型,采用预先下发的方式将转发表下发到异构加速设备中;
S4:处理报文的上送,通过执行报文自学习生产转发表,并对生产的转发表进行下发和报文的回注;
S5:对异构加速设备中的转发表进行核对校验,根据核对校验结果对无用的转发表进行老化处理;
所述步骤S1包括:
启动虚拟交换机,进行异构加速设备扫描;
若发现异构加速设备,则进行注册,并将预设的转发表下发接口统一映射为统一接口;
所述将预设的转发表下发接口统一映射为统一接口具体为:
将转发表TC flower、rte_flow和netlink_flow下发接口统一映射为如下统一接口:
int flows_install;
int flows_uninstall;
flows flows_dump;
所述异构加速设备的硬件信息包括:异构加速设备采用的非统一内存访问架构信息、缓存信息和带宽信息;
所述步骤S2包括:
通过虚拟机交换机获取异构加速设备的硬件信息,并根据异构加速设备信息启动报文处理线程和转发表核验线程;
选择与异构加速设备相同非统一内存访问架构的CPU运行相关线程,并做线程的CPU亲和性绑定,同时根据异构加速设备的带宽信息计算需要启动的线程数量。
2.根据权利要求1所述的虚拟交换机的转发表管理方法,其特征在于,所述采用预先下发的方式下发的转发表内设置有static静态标记,static静态标记用于转发表的动态调整。
3.根据权利要求1所述的虚拟交换机的转发表管理方法,其特征在于,所述步骤S4包括:
虚拟机交换机接收异构加速设备上送的报文;
根据上送的报文从转发表数据库中查找是否存在相应的转发表,如果不存在则提取报文的源MAC地址和源端口作为转发表的目的MAC地址和出接口,并写入转发表数据库;然后,生产转发表并将生产的转发表下发到异构加速设备当中,将报文的首报文重新注入回异构加速设备进行泛洪处理。
4.根据权利要求1所述的虚拟交换机的转发表管理方法,其特征在于,所述步骤S5包括:
虚拟交换机对异构加速设备中的转发表进行周期性查询,并对异构加速设备现存的转发表的运行时间和匹配计数进行校验,如果发现转发表在指定的时间内没有流量匹配,则将该转发表标记为非活动状态,并在100ms后对非活动状态的转发表进行删除;如果转发表在100ms以内有报文匹配,那么将该转发表重新标记为活动状态。
5.一种虚拟交换机的转发表管理装置,其特征在于,包括:
存储器,用于存储虚拟交换机的转发表管理程序;
处理器,用于执行所述虚拟交换机的转发表管理程序时实现如权利要求1至4任一项权利要求所述的虚拟交换机的转发表管理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110712437.8A CN113630342B (zh) | 2021-06-25 | 2021-06-25 | 一种虚拟交换机的转发表管理方法、系统及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110712437.8A CN113630342B (zh) | 2021-06-25 | 2021-06-25 | 一种虚拟交换机的转发表管理方法、系统及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113630342A CN113630342A (zh) | 2021-11-09 |
CN113630342B true CN113630342B (zh) | 2023-08-15 |
Family
ID=78378438
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110712437.8A Active CN113630342B (zh) | 2021-06-25 | 2021-06-25 | 一种虚拟交换机的转发表管理方法、系统及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113630342B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102347900A (zh) * | 2010-07-30 | 2012-02-08 | 美国博通公司 | 整合虚拟和物理网络交换设备到异构交换域的方法和系统 |
CN104394080A (zh) * | 2014-11-28 | 2015-03-04 | 杭州华三通信技术有限公司 | 实现安全组功能的方法及装置 |
CN105681313A (zh) * | 2016-01-29 | 2016-06-15 | 博雅网信(北京)科技有限公司 | 一种针对虚拟化环境的流量检测系统及方法 |
CN106130900A (zh) * | 2016-08-05 | 2016-11-16 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟化网络分布式路由实现方法及系统 |
CN106502760A (zh) * | 2016-09-21 | 2017-03-15 | 华为技术有限公司 | 一种虚拟机亲和性策略可视化的方法及装置 |
CN107147533A (zh) * | 2017-05-31 | 2017-09-08 | 郑州云海信息技术有限公司 | 一种基于sdn框架的流表配置下发方法及系统 |
CN107276798A (zh) * | 2017-06-12 | 2017-10-20 | 郑州云海信息技术有限公司 | 一种虚拟化网络服务功能链的实现方法及装置 |
WO2017206787A1 (zh) * | 2016-06-02 | 2017-12-07 | 中兴通讯股份有限公司 | 通信网络设备的报文转发控制方法及通信网络设备 |
CN108282708A (zh) * | 2018-01-31 | 2018-07-13 | 北京电信规划设计院有限公司 | 多运营商odn共享及异构pon统一管理方法 |
CN109803016A (zh) * | 2019-01-24 | 2019-05-24 | 山东超越数控电子股份有限公司 | 一种利用虚拟交换机转发数据包的方法及设备 |
CN111371779A (zh) * | 2020-02-29 | 2020-07-03 | 苏州浪潮智能科技有限公司 | 一种基于dpdk虚拟化管理系统的防火墙及其实现方法 |
CN112565090A (zh) * | 2020-11-09 | 2021-03-26 | 烽火通信科技股份有限公司 | 一种高速转发方法及装置 |
-
2021
- 2021-06-25 CN CN202110712437.8A patent/CN113630342B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102347900A (zh) * | 2010-07-30 | 2012-02-08 | 美国博通公司 | 整合虚拟和物理网络交换设备到异构交换域的方法和系统 |
CN104394080A (zh) * | 2014-11-28 | 2015-03-04 | 杭州华三通信技术有限公司 | 实现安全组功能的方法及装置 |
CN105681313A (zh) * | 2016-01-29 | 2016-06-15 | 博雅网信(北京)科技有限公司 | 一种针对虚拟化环境的流量检测系统及方法 |
WO2017206787A1 (zh) * | 2016-06-02 | 2017-12-07 | 中兴通讯股份有限公司 | 通信网络设备的报文转发控制方法及通信网络设备 |
CN106130900A (zh) * | 2016-08-05 | 2016-11-16 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟化网络分布式路由实现方法及系统 |
CN106502760A (zh) * | 2016-09-21 | 2017-03-15 | 华为技术有限公司 | 一种虚拟机亲和性策略可视化的方法及装置 |
CN107147533A (zh) * | 2017-05-31 | 2017-09-08 | 郑州云海信息技术有限公司 | 一种基于sdn框架的流表配置下发方法及系统 |
CN107276798A (zh) * | 2017-06-12 | 2017-10-20 | 郑州云海信息技术有限公司 | 一种虚拟化网络服务功能链的实现方法及装置 |
CN108282708A (zh) * | 2018-01-31 | 2018-07-13 | 北京电信规划设计院有限公司 | 多运营商odn共享及异构pon统一管理方法 |
CN109803016A (zh) * | 2019-01-24 | 2019-05-24 | 山东超越数控电子股份有限公司 | 一种利用虚拟交换机转发数据包的方法及设备 |
CN111371779A (zh) * | 2020-02-29 | 2020-07-03 | 苏州浪潮智能科技有限公司 | 一种基于dpdk虚拟化管理系统的防火墙及其实现方法 |
CN112565090A (zh) * | 2020-11-09 | 2021-03-26 | 烽火通信科技股份有限公司 | 一种高速转发方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113630342A (zh) | 2021-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021253910A1 (zh) | 语音场景更新方法、装置、终端、服务器和系统 | |
CN109075988B (zh) | 任务调度和资源发放系统和方法 | |
US20170364697A1 (en) | Data interworking method and data interworking device | |
CN108536778B (zh) | 一种数据应用共享平台及方法 | |
WO2021135255A1 (zh) | 基于消息队列的行列权限管理的方法及相关装置 | |
CN107016027A (zh) | 实现业务信息快速搜索的方法和装置 | |
CN101222490B (zh) | 一种网络服务器系统及方法 | |
US11210277B2 (en) | Distributing and processing streams over one or more networks for on-the-fly schema evolution | |
CN110737682A (zh) | 一种缓存操作方法、装置、存储介质和电子设备 | |
CN108848108A (zh) | 基于移动互联网+的创新项目pdca过程管理平台 | |
CN109542907A (zh) | 数据库缓存构建方法、装置、计算机设备以及存储介质 | |
CN108595483B (zh) | 数据处理方法及相关装置 | |
CN110413595A (zh) | 一种应用于分布式数据库的数据迁移方法和相关装置 | |
CN103248666A (zh) | 一种离线下载资源的系统、方法及装置 | |
CN115237853A (zh) | 数据查询的方法、装置、电子设备和存储介质 | |
CN110019444B (zh) | 一种操作请求处理方法、装置、设备及系统 | |
CN108491499B (zh) | 数据采集方法、数据采集平台、客户端及业务服务器 | |
CN113051271B (zh) | 一种冷热数据分离方法、装置及其设备 | |
CN105978744A (zh) | 一种资源分配方法、装置及系统 | |
CN113630342B (zh) | 一种虚拟交换机的转发表管理方法、系统及装置 | |
CN110267077A (zh) | 离线缓存方法、装置、终端及可读存储介质 | |
CN109597825A (zh) | 规则引擎调用方法、装置、设备及计算机可读存储介质 | |
CN112527900A (zh) | 一种数据库读多副本一致性的方法、装置、设备及介质 | |
CN116974906A (zh) | 代码验证方法、装置、计算机设备和存储介质 | |
CN104391947A (zh) | 海量gis数据实时处理方法及系统 |
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 |