网卡介绍篇

发布时间 2023-11-06 17:30:55作者: 我家有只江小白
网卡介绍篇

网卡介绍篇

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内存、存储路由表项,不占用主机存储资源