推荐星级:
- 1
- 2
- 3
- 4
- 5
基于可编程硬件的NFV数据包加速处理结构
资料介绍
针对网络功能虚拟化(Network Function Virtualization,NFV)在通用服务器中部署的处理性能受限问题,该文提出了一种基于硬件加速的虚拟网络功能(Virtual Network Function,VNF)处理结构:FARD(Function Adaptive and Resource Dividable hardware structure).通过可编程的包头解析器和动作处理器,FARD可实现任意L2/3/4层功能实例的硬件加速处理;通过动态可分割的匹配表结构,FARD支持不同功能实例间的资源动态分配和隔离.基于NetFPGA-10G的实验结果表明,对比基于纯软件实现的VNF,FARD加速结构提升了近60倍的包处理吞吐率.
部分文件列表
文件名 | 大小 |
基于可编程硬件的NFV数据包加速处理结构.pdf | 2M |
部分页面预览
(完整内容请下载后查看)12
Vol. 45 No. 12
Dec. 2017
第
期
电
子
学
报
2017
12
ACTA ELECTRONICA SINICA
年
月
NFV
基于可编程硬件的
数据包加速处理结构
, , ,
兰天翼 郭云飞 兰巨龙 段 通
(
,
国家数字交换系统工程技术研究中心 河南郑州
450002)
:
( Network Function Virtualization,NFV)
,
在通用服务器中部署的处理性能受限问题
摘
要
针对网络功能虚拟化
( Virtual Network Function,VNF)
: FARD( Function Adaptive and
该文提出了一种基于硬件加速的虚拟网络功能
Resource Dividable hardware structure) .
处理结构
,FARD
L2 /3 /4
通过可编程的包头解析器和动作处理器
可实现任意
支持不同功能实例间的资源动态分配和隔离 基于
VNF,FARD 60
层功能实例
;
,FARD
.
NetFPGA-
的硬件加速处理 通过动态可分割的匹配表结构
10G
,
的实验结果表明 对比基于纯软件实现的
.
倍的包处理吞吐率
加速结构提升了近
:
;
;
;
;
关键词
中图分类号
URL: http: / /www. ejournal. org. cn
网络功能虚拟化 可编程硬件 通用加速结构 可分割匹配表 资源分割优化
TP393 0372-2112 ( 2017) 12-3076-05
DOI: 10. 3969 /j. issn. 0372-2112. 2017. 12. 034
:
:
A
:
文章编号
文献标识码
电子学报
Enabling Fast Packet Processing for NFV via
Programmable Hardware Acceleration
LAN Tian-yi,GUO Yun-fei,LAN Ju-long,DUAN Tong
( National Digital Switching System Engineering & Technology Research Center,Zhengzhou,Henan 450002,China)
Abstract: To improve the forwarding performance of NFV ( Network Function Virtualization) in general server,this
paper comes up with a hardware based VNF ( Virtual Network Function) packet processing acceleration structure which is
called FARD ( Function Adaptive and Resource Dividable hardware structure) . FARD can implement the hardware accelera-
tion of any function instance on the L2 /3 /4 layer with programmable parser and action processor. And FARD also supports
the dynamic resource allocation and function isolation between different instances with dynamic division on match table. The
results based on the NetFPGA-10G platform show that the FARD acceleration structure increases by nearly 60 times in pack-
ets processing throughput compared with VNF which is only implemented by software.
Key words: network function virtualization; programmable hardware; common acceleration structure; dividable match
table; resource division optimizing
, “ ” .
进行了抽象 并提出了 统一化处理 的加速方案 针对
1
引言
( Network-Intensive,NI)
,
网络密集型
统和网络处理器
( Compute-Intensive,CI)
功能 采用嵌入式系
( Network Function Virtualization,
网络功能虚拟化
( Network Processor,NP)
;
进行加速 而
[1]
NFV)
,
技术 实现了网络功能与专用硬件的分离 应用
. NFV x86
架构服务器中部署虚拟网络
,
功能 则采用通
对于计算密集型
前景广阔
在通用
CPU
GPU
. [3]
实现数据加速处理 文献 在
用架构的
SDN + NFV
或
( Virtual Network Function,VNF) .
,
然而 由于基于软
功能
,
架构中 将无状态功能卸载到数据平面中进
,
件的虚拟机的数据处理性能较差 难以满足以
L2 /L3 /
, ,
行处理 减少软硬件之间的上下行流量 提高数据处理
L4
层处理为主的对流处理速率要求较高的网络功能处
. [4] ( Stateful Da-
速率 文献 提出了带状态数据平面抽象
[2]
,
VNF
.
理需求
因此需要对
数据包处理进行加速
ta Plame Abstraction,SDPA)
,
架构 该架构重新设计了数
,
目前 主要的
NFV
加速方案包括专用硬件加速和
,
据平面 并在数据平面上提供了状态信息存储和管理
. , [2] NFV
通用硬件加速结构 例如 文献 对
的硬件加速
, ,
功能 将带状态功能有效地转移到了数据平面中 提高
: 2016-09-12;
: 2017-02-06;
:
责任编辑 覃怀银
收稿日期
修回日期
: “973”
基金项目 国家 计划资助项目
( No. 2012CB315901,No. 2013CB329104) ;
( No. 61309019,61372121) ;
“863”
国家
国家自然科学基金资助项目
( No. 2015AA016102)
计划资助项目
3077
12
: NFV
兰天翼 基于可编程硬件的 数据包加速处理结构
第
期
. [5] ,
带状态功能的处理效率 文献 利用云存储技术 通
,
.
,FARD
结构必须
并行运行 在性能方面互不影响 为此
VNF
仅使用系统分配给它的
,
过将状态信息与数据包分离 并存储在专用
RAMCloud
提供一种机制来确保每个
, ,
中 实现在数据平面上处理带状态功能 从而获得较高
.
硬件资源
2. 2
. ,
的数据处理性能 然而 使用专用硬件虽然能够有效提
解析器和动作处理器
VNF
,
的数据包处理性能 但也会增加网络中软硬件
高
, .
接收到数据包后 数据平面需要对其进行解析 解
,
之间的耦合度 这与
NFV
.
的设计目标背道而驰
.
析器须在提取指定域之前依次识别出包头格式 然而
,
,
综上 为了提升
NFV
数据处理速率并保证网络灵
、 ,
不同类型的网络 数据包之间 包头的长度和格式存在
,
活性 该文提出了
FARD
.
加速处理结构 它采用基于通
.
差异 为了解决该问题
,FARD
采用了可编程解析器
[7,8]
,
用硬件的同构设计 将
VNF
.
中所有的无状态处理转移
结构
, ,
到硬件中 并保证了各功能之间相互隔离 实现对
NFV
TCAM
可编程解析器由
来存储各数据包头的类型
.
, RAM
值 由
( 〈off-
来存储匹配域的偏移量和长度信息
数据包处理的通用硬件加速
[6]
FARD
,
允许
VNF
set,length〉) .
,
在解析过程中 首先解析器根据包头信息
通过采用可编程的数据平面
, ,
包处理在硬件中完成 从而提升数据传输性能 并降低
,
识别数据包协议类型 并在
TCAM
,
中进行匹配 然后根
/ , . ,
软件硬件间的上 下行流量 提高资源利用率 因此 与
RAM
〈offset,length〉
中存储的
据
值从包头中提取匹配
VNF ,FARD
. , ,
域 解析过程中 该操作会不断循环执行 直到提取出最
纯软件
处理速度 与专用硬件加速和软件加速方案相比更具
NFV
处理方式相比
结构显然有更快的
,
. ,
后一个匹配域 最后 结果输出模块将解析过程中提取
,
,
.
前瞻性 能够为
领域的创新提供一个更加开放的
的全部匹配域合并 生成匹配域组合并输出 由于可重
TCAM RAM VNF ,
进行配置 因
.
平台
构解析器的
和
能够通过
此用户能够提取任何所需的匹配域或向包头中添加新
2
FARD
整体架构介绍
[7,8]
,
的域 从而实现数据平面包处理的功能自适应性
.
2. 1
整体架构
FARD
,FARD
为了在数据平面中实现协议无关的包处理
[9]
结构提供了一个具有快速包处理能力的通
.
结构采用了具有协议无关性的可编程动作处理器
, ,
用硬件加速平台 并保证了较高灵活性和独立性 其可
,
该动作处理器与网络协议解绑 能够根据用户需求对
[8,9]
( Field Programmable Gate Array,
在现场可编程门阵列
FPGA) ( Network Processor,NP)
.
任何类型网络协议的数据进行处理
动作处理器能
和网络处理器
等设备上
主要由一个可编程解析
( Dividable Match Table,DMT)
VNF
、
下发的策略对指定包头域执行修改 添加
够根据
.
1
,FARD
进行实现 如图 所示
. , ,
或删除操作 另外 为了对数据包头执行指定的操作 需
、
器 可分割匹配表
和一个
, . ,
相应包头域 而这项工作已由解析器完成 因此 可以利
.
灵活的动作处理器组成 首先由解析器对数据包的协
TCAM RAM
和
,
中存储的包头域位置信息
用解析器的
,
议类型进行识别并获得指定的匹配域 然后在匹配表
,
对已由动作指令所指定的匹配域进行快速定位 然后
, ,
中进行匹配查询 得到匹配结果后 由动作处理器对数
.
处理器对指定域执行相应的操作
2. 3
匹配表结构
. ,
据包执行相应的操作 同时 在
FARD
中每个虚拟数据
TCAM
的
DMA RX/TX
平面都分配有一对
缓存和位于
解析器提取出指定匹配域后发送到数据平面的匹
,
独立路由表空间 这使得该结构的
I/O
性能和查找速度
, ,
配单元 经过匹配后 将其发送到动作处理器并执行相
.
得到有效的提高
. ,
应的操作 一般情况下 不同功能的匹配域在类型和数
,
量上存在差异 但对于同类
VNF,
需要的匹配域和执行
.
的动作是固定的 因此
,FARD
VNF
能够为每个
,DMT
由
动态地
.
分配匹配表 本文提出的
DMT
2
VID
如图 所示
、
查找表 一个比较器和多个细粒度的匹配表组成
.
FARD
, VNF
结构中 各
ID( Virtual
用不同的虚拟
在
ID,VID)
,VID
标记
数据包进行分类 并能得到表
DMT
查找模块根据解析器的输出结果对
,
ID( Table ID,TID)
和匹配
TCAM
来存
.
,
组合类型 在
储和查找包头域
VNF
中 采用支持模糊查找的
.
,
所需的匹配宽度和深度不同 因此
由于不同
,
另外 为了保证数据平面的灵活性
,FARD
结构需
FARD
. ,
结构中引入了多个细粒度的匹配表 首先 各
在
,
使各功能间相互独立 不同
VNF
在分离的逻辑实例中
m bit
匹配表对应的选择器从包头域中选取宽度为
的字
全部评论(0)