目录
1.什么是网卡?
2.网卡的演进
3.网卡的主要功能
4.服务器网卡介绍
5.服务器网卡的分类
6.网卡接口介绍
7.业界网卡主流厂商
8.SmartNIC概念介绍
9.SmartNIC产业发展趋势
10.SmartNIC实现
10-1.实现形式
10-2.SmartNIC不同实现技术对比
11.Mellanox ConnectX-5 VPI/InnovaFlex FPGA卡
12.Intel Arria10 FPGA网卡
13.Intel Stratix 10 FPGA网卡
14.SmartNIC网卡设计考虑
15.SmartNIC进展综述
1.什么是网卡?
网卡是计算机与局域网互连的设备
网卡,又称为网络适配器或网络接口卡NIC(Network interface Card),是构成计算机网络系统中最基本的、最重要的和必不可少的连接设备,计算机主要通过网卡接入网络.
网卡历史:上世纪80年代末期,国外微机界已经预测,90年代计算机使用的环境就是网络,事实上也确实如此.局域网的发展在整个计算机网络领域中有相当大的影响。网卡即局域网与计算机的连接设备.
网卡是局域网中连接计算机和传统介质的接口,不仅能实现与局域网传输介质之间的物理连接和电信号匹配,还涉及帧的发送与接收、帧的封装与拆封、介质的访问控制、数据的编码与解码以及数据缓存的功能.
2.网卡的演进
网络在早期发展时,应用、数据都很少,网络的速率也很低,只有10M/100M等.而发展到现在,特别是大数据时代,数据成爆发性增长,这就要求网络的速率更高,延时也更小.
3.网卡的主要功能
网卡在TCP/IP模型中,工作在物理层及数据链路层,用于接收和发送计算机数据.
发送数据时,加上首部和尾部;接收数据时,剥去首部和尾部
- 链路管理:主要是CSMA/CD(冲突检测的载波监听多路访问)的实现
- 编码与译码:物理层数据的编码与译码
网卡主要功能
- 代表固定的网络地址
- 数据的发送与接收
- 数据的封装与解封
网卡包括OSI模型的物理层和数据链路层。
- 物理层定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接口.
- 数据链路层则提供寻址机构、数据帧的构建、数据差错检查、传送控制、向网络层提供标准的数据接口等功能.
4.服务器网卡介绍
服务器专用网卡 vs 普通网卡
相对于服务器专用网卡来说,普通网卡指应用在普通PC、工作站、消费级电子产品中的网卡,对网卡的可靠性、安全性等要求不高。而服务器与普通PC工作站的不同在于,服务器一直处于工作中,且要求长时间稳定运行,这就要求服务器网卡具有以下特点:
数据传输速度快
服务器时刻处于大数据计算、交换过程中,普通网卡的10Mbps、100Mbps的数据已不满足大数据流量网络,当前服务器常用的网卡速率为10Gbps、25Gbps等;
CPU占用率低
服务器的CPU是不停工作的,处理着大量的数据。如果一台服务器的大部分时间都在为网卡提供数据响应,势必会影响到对其他任务的处理速度。服务器网卡有自带的控制芯片,可以处理一些CPU任务,从而减少CPU的计算开销;
安全性能高
如果服务器的网卡出现故障,则服务器将无法接收、发送数据,相当于宕机,所以高可靠性是服务器网卡的一个要求。服务器网卡大都具有容错功能,如intel的AFT(网卡出错冗余)、ALB(网卡负载均衡)等技术.
5.服务器网卡的分类
NIC:Network interface Card
特指以太网卡,支持TCP/IP协议,应用于以太网络中
Network Card, Gigabit , LC Fiber Optic,2 Ports , PCIE 2.0 X4-8086-1522-2
CNA :Converged Network Adapter
融合网卡,本质上是以太网卡,但支持FCoE功能(FC over Ethernet)
Other Cards , FCoE-SFP Interface , 2 ports , PCIE 2.0 X8-Vendor ID 19a2-Device ID 0710|0714-4
HBA:Host Bus Adapter
特指FC网卡,支持FC协议,连接存储或光纤交换机
Single Port FC HBA Card , PCIE 2.0 X4|PCIE 1.0 X8-Vendor ID 10DF-Device ID F100-1,8Gbps,Fiber Channel Multimode LC Optic Interface
HCA:Host Channel Adapter
特指Infiniband网卡,即IB卡,应用于高带宽、低时延的高性能计算项目中;
Other Cards , Infiniband MCX353A-FCBT,FDR Single port-56Gb/sPCIE 3.0 X8-Vendor ID 15b3-Device ID 1003-1
6.网卡接口介绍
7.业界网卡主流厂商
当前主流芯片厂家有intel、broadcom、cavium和Mellanox.
- Intel是以太网卡领域重要厂商,基于DPDK构建生态,持续在网卡发力
- Avago收购Emulex、broadcom后的以太业务后,成立新的母公司Broadcom,整合NIC业务,发力云场景.
- Cavium聚焦FC HBA业务,发力存储HBA场景.
- Mellanox:业界infiniband唯一厂商,应用于极致性能场景,如HPC,同时也提供以太解决方案.目前已被NVIDIA收购.
8.SmartNIC概念介绍
微软Azure提出SmartNIC的概念,SmartNIC通过从服务器CPU卸载网络处理工作负载提高数据中心的服务器性能。用FPGA等加速网卡处理能力;Azure的计算规模定义是Milion级计算实例,Exabyte级存储空间,Pbps级网络带宽.VM之间通过vSwitch互连,vSwitch需要根据VM进行调度和流控.所以说到底复杂度会出现在vSwitch中,微软实现这个调度的算法称为VFP(Virtual Filtering Platform),通过VFP来给网卡调度数据流:
标准网卡(NIC)和智能网卡(Smart NIC)的根本区别在于Smart NIC从主机CPU卸载的处理量.Smart NIC是围绕FPGA平台设计的,FPGA被设计为接受本地化编程,在硬件实现上,NIC和FPGA不需要做在一起,FPGA通过CCIX连入一个自带网卡的SoC.
9.SmartNIC产业发展趋势
- 2020年,全球市场SmartNIC总量约为25亿美金,其中销售收入以CAGR 10%的速度在增长
- 高速率如25GE,50GE,100GE,200GE端口到2022年,占比约为45%左右发货量,主要在新建公有云中,总销售占比在60%左右;
- 未来几年智能网卡保持60%-70%左右的增长率,普通网卡呈现下降趋势
10.SmartNIC实现
10-1.实现形式
基于DPU(数据处理单元)的SmartNIC十分火热,SmartNIC跟传统NIC有什么区别,它们的作用是什么?
- NIC是插入服务器或存储盒以实现到以太网网络连接的PCIe卡.
- 基于DPU的SmartNIC不仅具有简单的连接性,而且还可以在NIC上实现网络流量处理实现数据加速.
由于SmartNIC卡提供商产品架构体系不同,导致业界对基于DPU的SmartNIC的定义完全集中在技术实现上,这导致基于某种技术实现SmartNIC的厂商认为,只有他们制造的NIC类型才有资格成为SmartNIC,但这是有问题的,因为基于DPU(数据处理单元)的SmartNIC可以基于ASIC,FPGA和片上系统(SOC)技术实现.
10-2.SmartNIC不同实现技术对比
不同技术实现形式都在成本、编程的简易性和灵活性方面有各种权衡
ASIC具有很高的成本效益,可以提供最佳的价格性能,但其灵活性有限。虽然基于ASIC的NIC(例如Mellanox ConnectX-5)可以具有相对容易配置的可编程数据路径,但最终功能将受到基于ASIC中定义的功能的限制.
FPGA NIC(例如Mellanox Innova-2 Flex相比之下)是高度可编程的,并且可以花费足够的时间和精力来相对有效地支持几乎任何功能(在可用门的限制内),然而,众所周知,FPGA难以编程且价格昂贵.
因此,对于更复杂的用例,SOC(如Mellanox BlueField DPU可编程SmartNIC)提供了似乎是基于DPU的最佳SmartSmart实施选项:良好的价格性能,易于编程且高度灵活.
11.Mellanox ConnectX-5 VPI/InnovaFlex FPGA卡
Innova-2具有PCIe 4.0 x8主机连接性和双端口SFP28 25GbE功能。板载PCIe交换机允许管理员使用Xilinx FPGA在网络流量路径中配置卡以进行高速数据包处理,或者将其配置为暴露给主机系统和网络以进行计算负载的设备.Xilinx FPGA具有4GB板载DDR4-2400存储器.
MelaNox加速交换和分组处理(ASAP2)技术允许通过在NIC硬件中处理数据平面来卸载vSwitc/vRouter,同时保持控制平面未被修改.在没有相关CPU负载的情况下,vSwitc/vRouter性能显著提高.
由CONTROX-5支持的vSwitc/ vRouter卸载功能包括覆盖网络(例如,VxLAN、NVGRE、MPLS、GNYVE和NSH)报头的封装和去封装,以及内部分组的无状态卸载、分组报头的NAT功能等等.
- -每个端口高达100Gb/s连通性
- -业界领先的吞吐量、低延迟、低CPU利用率和高消息率
- -利用多主机技术最大化数据中心ROI
- -基于主机链接技术的存储和机器学习的创新架构设计
- -X86、Power、ARM和基于GPU的计算和存储平台的智能互连
- -先进的存储能力,包括NVMe卸载能力
- -支持灵活流水线编程的智能网络适配器
- -包括网络功能虚拟化(NFV)在内的虚拟化网络中的前沿性能
- -启用高效的服务链接能力
- -高效的I/O合并,降低数据中心成本和复杂性
12.Intel Arria10 FPGA网卡
Intel Arria 10设备相比同类设备可提供高出一个速度等级的内核性能及高达 20% 的最高频率优势.
此外,Arria 10系列提供可编程逻辑行业的仅有20nm的基于ARM的SoC,可提供高达1.5 GHz的时钟速度.Arria 10系列还为FPGA中的浮点运算提供了第一个强化支持,实现了新的DSP性能水平.
- 功耗低,可编程功耗技术 — 降低了低性能电路的器件功耗,同时在需要的地方实现卓越性能
- 智能电压 ID — 器件以更低的电压运行,而且不会影响性能
- VCC 电源管理器 — 器件工作在不同电压电平下,获得更高性能或者更低功耗
- 低静态功耗 — 选择具有较低最大静态功耗的器件,业界唯一基于20nm ARM的SoC
- 多种SoC选择,具有双核ARM® Cortex®-A9 MPCoreTM 硬核处理器系统 (HPS)
- 现有的28nm Arria V SoC设计移植到Arria 10 SoC,无需修改处理器代码
特性
- 针对存储NoF卸载场景
- SoC FPGA,ARM核心运行Linux和NoF控制面
- 第三方RoCEv2协议栈
13.Intel Stratix 10 FPGA网卡
英特尔 Stratix 10 FPGA和SoC在性能、功效、密度和系统集成度方面拥有业界领先的优势.
产品宣传特点:
- 异构 3D 系统封装 (SiP)集成
- HBM2 DRAM 集成封装带来最高的内存带宽
- 支持58 Gbps PAM4和 30 Gbps NRZ 的双模收发器
- 具有550 万个逻辑元件 (LE) 的最高密度 FPGA 架构
- 符合 IEEE 754 标准的单精度 浮点数字信号处理 (DSP) 吞吐量高达每秒 10 万亿次浮点运算 (TFLOPS)
- 具有最全面安全功能的安全设备管理器 (SDM)
- 集成四核 64 位ARM* Cortex*-A53 硬处理器系统,主频高达 1.5 GHz
- 业经优化和验证的补充型英特尔 Enpirion® 电源解决方案
14.SmartNIC网卡设计考虑
随着VxLan等隧道协议的引入和虚拟交换的复杂行为,基于服务器的网络数据平面的复杂性大大提高;增加网络接口带宽意味着在软件中执行这些功能会在CPU资源上产生不能承受的负载,造成剩余CPU资源过少;SDN的关键需求是网络数据平面必须互换等需求,要求SmartNIC卡在设计时,需要考虑以下因素:
可编程硬件
Programmable ASIC (Mellanox/Broadcom/QLogic)
FPGA (Intel/Xilinx)
SOC (Huawei/Netronome)
通用处理器
ARM
ATOM(Intel x86)
功率能耗:>75w超出PCIe插槽供电,需外接电源,随着处理性能提升,功耗必然增长,尤其又引入了多核处理器
安全隔离:SmartNIC(即NIC)是检查网络流量,阻止攻击和加密传输的第一个/最简单/最佳的位置.
- 能够实现复杂的基于服务器的网络数据平面功能,包括多个匹配动作处理,隧道终止和发起,计量及流量统计
- 通过固件加载或客户编程来支持可替换的数据平面,对可执行的功能几乎没有预定的限制
- 与现有的开源生态系统无缝集成,最大限度地提高软件功能
15.SmartNIC进展综述
- 没有SmartNIC配合纯软overlay转发性能很差,必然无法推进
- SmartNIC无论采用Programmable ASIC、FPGA、SOC,只是实现手段不同,并无技术高低
- 关键看落地推进速度
SmartNIC接口的标准化
- 消除运营商被绑定的顾虑
- 运营商自己不做,所以也明白或多或少被lock-in,但最低要求是接口标准的开放、不私有
SmartNIC技术成熟
- 公有云已开始灰度测试
- 预计会在一两年内成熟井喷
对电信云承载网络方案,还需要考虑控制面(路由协议、路由信息传输、路由规格)
- 可把路由协议跑到SmartNIC上的通用CPU,下沉控制面,比如SRv6
- SmartNIC独立的DDR内存、存储路由表项,不占用主机存储资源