searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

浅谈 VPP Policy的限速工作原理以及使用方法

2023-08-16 08:28:09
171
0

关键词:VPP Qos 限速

 

引言

当前主流的数据转发平台VPP适用于多种NFV设备的底层转发底座,是一款兼容性和稳定性极高的转发平台。

流量限速是大多数网络设备都具备的基本功能,而VPP的Policy模块可以实现基于多种维度的流量限速,如:基于用户,基于session,基于流,等等。

 

VPP Policy模块流程图:

整个限速功能模块主要还是通过令牌桶算法实现该功能

 

控制面主要是将下发的配置进行一个表项的配置和单位转换

  • CLI:接收用户配置下发的上下行限速参数,单位Kbps
  • Attach:保存用户配置信息
  • Compute:将限速参数转换为单位为Byte/Tick

 

数据面功能根据当前令牌桶进行判定报文是否通行

  • 数据面多线程会通过Spinlock自旋锁进行临界资源判定,保证整个转发面的限速功能正常
  • 数据进入限速Policy模块会计算出当前数据包和上一个数据包之间的tick时间,通过限速配置算出当前令牌桶的总数
  • 判定令牌桶深度是否大于报文长度,如果大于则放行该报文
  • 放行报文之后令牌桶深度减去报文长度

 

总结:该限速模块逻辑清晰,可以移植到其他有需要的软件中作为限速功能模块代码。

0条评论
0 / 1000
袁****辉
3文章数
1粉丝数
袁****辉
3 文章 | 1 粉丝
原创

浅谈 VPP Policy的限速工作原理以及使用方法

2023-08-16 08:28:09
171
0

关键词:VPP Qos 限速

 

引言

当前主流的数据转发平台VPP适用于多种NFV设备的底层转发底座,是一款兼容性和稳定性极高的转发平台。

流量限速是大多数网络设备都具备的基本功能,而VPP的Policy模块可以实现基于多种维度的流量限速,如:基于用户,基于session,基于流,等等。

 

VPP Policy模块流程图:

整个限速功能模块主要还是通过令牌桶算法实现该功能

 

控制面主要是将下发的配置进行一个表项的配置和单位转换

  • CLI:接收用户配置下发的上下行限速参数,单位Kbps
  • Attach:保存用户配置信息
  • Compute:将限速参数转换为单位为Byte/Tick

 

数据面功能根据当前令牌桶进行判定报文是否通行

  • 数据面多线程会通过Spinlock自旋锁进行临界资源判定,保证整个转发面的限速功能正常
  • 数据进入限速Policy模块会计算出当前数据包和上一个数据包之间的tick时间,通过限速配置算出当前令牌桶的总数
  • 判定令牌桶深度是否大于报文长度,如果大于则放行该报文
  • 放行报文之后令牌桶深度减去报文长度

 

总结:该限速模块逻辑清晰,可以移植到其他有需要的软件中作为限速功能模块代码。

文章来自个人专栏
VPP限速策略
1 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0