目录
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进展综述
网卡是计算机与局域网互连的设备
网卡,又称为网络适配器或网络接口卡NIC(Network interface Card),是构成计算机网络系统中最基本的、最重要的和必不可少的连接设备,计算机主要通过网卡接入网络.
网卡历史:上世纪80年代末期,国外微机界已经预测,90年代计算机使用的环境就是网络,事实上也确实如此.局域网的发展在整个计算机网络领域中有相当大的影响。网卡即局域网与计算机的连接设备.
网卡是局域网中连接计算机和传统介质的接口,不仅能实现与局域网传输介质之间的物理连接和电信号匹配,还涉及帧的发送与接收、帧的封装与拆封、介质的访问控制、数据的编码与解码以及数据缓存的功能.
网络在早期发展时,应用、数据都很少,网络的速率也很低,只有10M/100M等.而发展到现在,特别是大数据时代,数据成爆发性增长,这就要求网络的速率更高,延时也更小.
网卡在TCP/IP模型中,工作在物理层及数据链路层,用于接收和发送计算机数据.
发送数据时,加上首部和尾部;接收数据时,剥去首部和尾部
网卡主要功能
网卡包括OSI模型的物理层和数据链路层。
服务器专用网卡 vs 普通网卡
相对于服务器专用网卡来说,普通网卡指应用在普通PC、工作站、消费级电子产品中的网卡,对网卡的可靠性、安全性等要求不高。而服务器与普通PC工作站的不同在于,服务器一直处于工作中,且要求长时间稳定运行,这就要求服务器网卡具有以下特点:
数据传输速度快
服务器时刻处于大数据计算、交换过程中,普通网卡的10Mbps、100Mbps的数据已不满足大数据流量网络,当前服务器常用的网卡速率为10Gbps、25Gbps等;
CPU占用率低
服务器的CPU是不停工作的,处理着大量的数据。如果一台服务器的大部分时间都在为网卡提供数据响应,势必会影响到对其他任务的处理速度。服务器网卡有自带的控制芯片,可以处理一些CPU任务,从而减少CPU的计算开销;
安全性能高
如果服务器的网卡出现故障,则服务器将无法接收、发送数据,相当于宕机,所以高可靠性是服务器网卡的一个要求。服务器网卡大都具有容错功能,如intel的AFT(网卡出错冗余)、ALB(网卡负载均衡)等技术.
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
当前主流芯片厂家有intel、broadcom、cavium和Mellanox.
微软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.
基于DPU(数据处理单元)的SmartNIC十分火热,SmartNIC跟传统NIC有什么区别,它们的作用是什么?
由于SmartNIC卡提供商产品架构体系不同,导致业界对基于DPU的SmartNIC的定义完全集中在技术实现上,这导致基于某种技术实现SmartNIC的厂商认为,只有他们制造的NIC类型才有资格成为SmartNIC,但这是有问题的,因为基于DPU(数据处理单元)的SmartNIC可以基于ASIC,FPGA和片上系统(SOC)技术实现.
不同技术实现形式都在成本、编程的简易性和灵活性方面有各种权衡
ASIC具有很高的成本效益,可以提供最佳的价格性能,但其灵活性有限。虽然基于ASIC的NIC(例如Mellanox ConnectX-5)可以具有相对容易配置的可编程数据路径,但最终功能将受到基于ASIC中定义的功能的限制.
FPGA NIC(例如Mellanox Innova-2 Flex相比之下)是高度可编程的,并且可以花费足够的时间和精力来相对有效地支持几乎任何功能(在可用门的限制内),然而,众所周知,FPGA难以编程且价格昂贵.
因此,对于更复杂的用例,SOC(如Mellanox BlueField DPU可编程SmartNIC)提供了似乎是基于DPU的最佳SmartSmart实施选项:良好的价格性能,易于编程且高度灵活.
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功能等等.
Intel Arria 10设备相比同类设备可提供高出一个速度等级的内核性能及高达 20% 的最高频率优势.
此外,Arria 10系列提供可编程逻辑行业的仅有20nm的基于ARM的SoC,可提供高达1.5 GHz的时钟速度.Arria 10系列还为FPGA中的浮点运算提供了第一个强化支持,实现了新的DSP性能水平.
特性
英特尔 Stratix 10 FPGA和SoC在性能、功效、密度和系统集成度方面拥有业界领先的优势.
产品宣传特点:
随着VxLan等隧道协议的引入和虚拟交换的复杂行为,基于服务器的网络数据平面的复杂性大大提高;增加网络接口带宽意味着在软件中执行这些功能会在CPU资源上产生不能承受的负载,造成剩余CPU资源过少;SDN的关键需求是网络数据平面必须互换等需求,要求SmartNIC卡在设计时,需要考虑以下因素:
可编程硬件
Programmable ASIC (Mellanox/Broadcom/QLogic)
FPGA (Intel/Xilinx)
SOC (Huawei/Netronome)
通用处理器
ARM
ATOM(Intel x86)
功率能耗:>75w超出PCIe插槽供电,需外接电源,随着处理性能提升,功耗必然增长,尤其又引入了多核处理器
安全隔离:SmartNIC(即NIC)是检查网络流量,阻止攻击和加密传输的第一个/最简单/最佳的位置.
SmartNIC接口的标准化
SmartNIC技术成熟
对电信云承载网络方案,还需要考虑控制面(路由协议、路由信息传输、路由规格)