一种虚拟转发设备的转发限速方法及系统技术方案

技术编号:28121308 阅读:23 留言:0更新日期:2021-04-19 11:28
本发明专利技术提出一种虚拟转发设备的转发限速方法及系统,包括通过测量得到服务提供商网络平均数据包大小和流数目作为流量特征,该服务提供商网络包含虚拟转发设备和多个租户,使用流量生成工具生成符合该特征的流量,通过在该虚拟转发设备中转发该流量的数据包并测量达到各个带宽所用于转发的CPU资源,构建CPU资源和带宽的对应关系;根据各租户的基础带宽需求以及该对应关系,为各租户分配基础CPU资源,并得到该服务提供商网络在满足该基础CPU资源后剩余的CPU资源,以为每一位租户按照权重再分配空闲CPU资源,每位租户用于转发的最终CPU资源为其分配的基础CPU资源和空闲CPU资源之和;该虚拟转发设备使用该最终CPU资源对其对应的租户完成数据包的转发。租户完成数据包的转发。租户完成数据包的转发。

【技术实现步骤摘要】
一种虚拟转发设备的转发限速方法及系统


[0001]本专利技术涉及限速方法,提出了一种软件转发下隔离性增强的限速方法和系统。

技术介绍

[0002]随着网络设备向通用化和高性价比方向演进,软件转发逐渐取代了传统的硬件交换机、路由器,在很多场景下如云计算,网络功能虚拟化(NFV)中被大量使用。随着网络流量的剧增、流量类型的丰富,在这些虚拟转发设备中对不同流量在性能上的隔离性提出了更高的要求。
[0003]软件转发设备与硬件转发设备的功能类似,为网络中数据包根据其五元组信息转发到对应的端口或链路上,典型的实现有虚拟交换机(vSwitch)、虚拟路由器(vRouter)等。软件转发设备的运行模式通常为启动若干轮询(PMD)线程来转发流量,这些PMD线程被绑定到通用服务器上若干专用的CPU核来提供能转发所需的物理计算资源。因此,软件转发设备所能提供的转发性能,即带宽上限,是由专用于转发的CPU和来提供的。
[0004]但是这些CPU所能提供的转发能力是不固定的,在不同特征流量情况下,所能提供的转发速率/带宽也不同。比如说,一个CPU核能够将包大小为1518字节的数据流转发至10Gbps,但是其转发64字节包大小的数据流却只能转发到2Gbps带宽。这就给租户的带宽保障带来了挑战。
[0005]目前已有的限速方法都是基于端口速率的,即直接按照带宽指标来限速,高于指标的流量不放行,例如广泛使用的基于每秒比特数(BPS)或每秒数据包数(PPS)的令牌桶策略,在软件转发设备中根据令牌来转发流量,但是这种方法很容易因为流量转发任务对于CPU资源的竞争而失效。很常见的现象就是,当一个流突然改变数据包大小(比如从1518字节更改为64字节),在软件转发设备中,虽然该流的带宽/转发速率依然保持不变且没有超过限制,但是该流的CPU资源消耗会增加几倍,这就抢占了原本属于别的流的转发CPU资源,使得别的流可用的CPU资源下降,进而降低带宽。
[0006]这种现象会造成一些流会因为别的流更改了流量特征而被干扰,带宽不稳定,网络性能的隔离性差。而已有的限速方法在实现上都没有考虑流量对CPU资源的竞争和软件转发设备不稳定的处理能力。因此一种资源隔离性好的软件转发限速方法亟待提出。

技术实现思路

[0007]针对现有技术的不足,本专利技术提出一种虚拟转发设备的转发限速方法,其中包括:
[0008]步骤1、通过测量得到服务提供商网络平均数据包大小和流数目作为流量特征,该服务提供商网络包含虚拟转发设备和多个租户,使用流量生成工具生成符合该特征的流量,通过在该虚拟转发设备中转发该流量的数据包并测量达到各个带宽所用于转发的CPU资源,构建CPU资源和带宽的对应关系;
[0009]步骤2、根据各租户的基础带宽需求以及该对应关系,为各租户分配基础CPU资源,并得到该服务提供商网络在满足该基础CPU资源后剩余的CPU资源,以为每一位租户按照权
重再分配空闲CPU资源,每位租户用于转发的最终CPU资源为其分配的基础CPU资源和空闲CPU资源之和;
[0010]步骤3、该虚拟转发设备使用该最终CPU资源对其对应的租户完成数据包的转发。
[0011]所述的虚拟转发设备的转发限速方法,其中该步骤3包括:该虚拟转发设备利用该最终CPU资源对租户转发数据包进行限速,超过该最终CPU资源时的数据流量将等待或被丢弃。
[0012]所述的虚拟转发设备的转发限速方法,其中该基础CPU资源、该空闲CPU资源和该最终CPU资源的单位均为CPUcycles/s。
[0013]所述的虚拟转发设备的转发限速方法,其中该步骤3包括:使用令牌桶或公平队列的方式对租户转发数据包进行限速。
[0014]所述的虚拟转发设备的转发限速方法,其中该虚拟转发设备为虚拟路由器或虚拟交换机。
[0015]本专利技术还提出了一种虚拟转发设备的转发限速系统,其中包括:
[0016]模块1,用于测量得到服务提供商网络平均数据包大小和流数目作为流量特征,该服务提供商网络包含虚拟转发设备和多个租户,使用流量生成工具生成符合该特征的流量,通过在该虚拟转发设备中转发该流量的数据包并测量达到各个带宽所用于转发的CPU资源,构建CPU资源和带宽的对应关系;
[0017]模块2,用于根据各租户的基础带宽需求以及该对应关系,为各租户分配基础CPU资源,并得到该服务提供商网络在满足该基础CPU资源后剩余的CPU资源,以为每一位租户按照权重再分配空闲CPU资源,每位租户用于转发的最终CPU资源为其分配的基础CPU资源和空闲CPU资源之和,该虚拟转发设备使用该最终CPU资源对其对应的租户完成数据包的转发。
[0018]所述的虚拟转发设备的转发限速系统,其中该虚拟转发设备利用该最终CPU资源对租户转发数据包进行限速,超过该最终CPU资源时的数据流量将等待或被丢弃。
[0019]所述的虚拟转发设备的转发限速系统,其中该基础CPU资源、该空闲CPU资源和该最终CPU资源的单位均为CPUcycles/s。
[0020]所述的虚拟转发设备的转发限速系统,其中该步骤3包括:使用令牌桶或公平队列的方式对租户转发数据包进行限速。
[0021]所述的虚拟转发设备的转发限速系统,其中该虚拟转发设备为虚拟路由器或虚拟交换机。
[0022]由以上方案可知,本专利技术的优点在于:
[0023](1)隔离性。该方法从根本上消除了不同的流或租户对软件转发设备中CPU资源的竞争,通过按照带宽

CPU资源的对应关系来合理分配CPU资源,每个流或租户能够享有自己所需的CPU资源来做流量转发而不受其他用户的影响,实现了带宽隔离性。
[0024](2)鲁棒性。鲁棒性是在隔离性的前提下实现的,我们提出的基于CPU

cycle的限速方法在保障了基本的带宽以后,为了充分利用软件转发设备中的CPU资源,将CPU上尚且空闲的资源按权重分给了流或租户,能够一定程度上抵御流量突发造成的丢包。
[0025](3)平台无关。我们提出是一种方法,其具有平台无关的特性,包括从建立带宽

CPU的对应关系、为不同的流或租户分配CPU资源,都是可以在任何软件实现的转发设备上
实现的,例如vRouter,vSwitch等。
[0026]综上,本专利技术关注的是软件转发下的限速方法的带宽隔离性问题,提出了一种基于CPU

cycle的限速方法。限速的指标是硬件CPU资源而不是传统的BPS/PPS等带宽指标,通过构建软转发设备中的带宽

CPU对应关系,为流或租户分配它们所需的转发CPU资源,用限制CPU资源的方式来实现对这些流或租户的限速和隔离性。在CPU资源层面上的分配和隔离保证了这些流或租户之间不受干扰,同时充分分配空闲的CPU资源又能抵御突发流量的丢包影响,实现了隔离且鲁棒地限速。
附图说明
[0027]图1为本专利技术的方法流程图;
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种虚拟转发设备的转发限速方法,其特征在于,包括:步骤1、通过测量得到服务提供商网络平均数据包大小和流数目作为流量特征,该服务提供商网络包含虚拟转发设备和多个租户,使用流量生成工具生成符合该特征的流量,通过在该虚拟转发设备中转发该流量的数据包并测量达到各个带宽所用于转发的CPU资源,构建CPU资源和带宽的对应关系;步骤2、根据各租户的基础带宽需求以及该对应关系,为各租户分配基础CPU资源,并得到该服务提供商网络在满足该基础CPU资源后剩余的CPU资源,以为每一位租户按照权重再分配空闲CPU资源,每位租户用于转发的最终CPU资源为其分配的基础CPU资源和空闲CPU资源之和;步骤3、该虚拟转发设备使用该最终CPU资源对其对应的租户完成数据包的转发。2.如权利要求1所述的虚拟转发设备的转发限速方法,其特征在于,该步骤3包括:该虚拟转发设备利用该最终CPU资源对租户转发数据包进行限速,超过该最终CPU资源时的数据流量将等待或被丢弃。3.如权利要求1所述的虚拟转发设备的转发限速方法,其特征在于,该基础CPU资源、该空闲CPU资源和该最终CPU资源的单位均为CPU cycles/s。4.如权利要求2所述的虚拟转发设备的转发限速方法,其特征在于,该步骤3包括:使用令牌桶或公平队列的方式对租户转发数据包进行限速。5.如权利要求2所述的虚拟转发设备的转发限速方法,其特征在于,该虚拟转发设备为虚拟路由器或虚拟交换机...

【专利技术属性】
技术研发人员:杨晔姜海洋谢高岗
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1