一、基本概念
网卡(Network Interface Card,简称NIC)全称为网络接口控制器,也被称为网络适配器或网络接口卡,是计算机、交换机、路由器等网络设备与外部网络相连的关键部件。网卡作为TCP/IP层的接口,可以在物理层传输信号,网络层传递数据包,充当计算机/服务器和数据网络之间的中间媒介,当用户请求一个web页面时,局域网卡从用户设备获取数据,并将它们发送到网络服务器上,然后接收所需的数据展示给用户。目前市场用于数据中心服务器的网卡主要有:以太网卡和IB网卡两种。
1、网卡的组成
网络适配器一般由一个控制器、一个boot ROM插槽、一/多个网卡端口、一个主板接口、LED指示灯、一个支架和一些其他电子元件组成。每个组件都有对应独特的功能:
控制器:控制器作为网卡的核心部分,直接决定了网卡的性能。控制器就像一个小型CPU,用于处理接收的数据。
Boot ROM 插槽:此插槽允许启用Boot ROM 功能。Boot ROM允许无盘工作站连接到网络,从而提高安全性并降低硬件成本。
网卡端口:通常情况下,该端口直接与以太网线或光模块连接,产生和接收网线或光纤跳线上的信号。
总线接口:该接口位于电路板的侧面,俗称“金手指”的总线接口插在计算机主板的扩展槽中,用于网卡与计算机或服务器之间的连接。
LED指示灯:指示灯用于帮助用户识别网卡的工作状态,网络是否连接,是否有数据传输。例如,Link/Act表示连接活动状态,Full表示是否全双工,而Power是电源指示。
2、以太网卡
以太网卡:是一种网络适配器,是一种插入主板插槽的卡,支持以太网协议标准。每块网卡都有全球唯一的物理地址,称为MAC地址,在网络中可以依据网卡的MAC地址将数据准确地发送到目的计算机中。以太网卡的种类很多,按照硬件形态、网络接口类型、速率等有多种方式划分。
- 硬件形态:分为PCIe、OCP2.0/3.0,PCIe和OCP3.0,也是当前主流。它们的区别在于硬件形态,如下图左(OCP3.0)、图右(PCIe)。
- OCP网卡是可以直接插拔的,易维护,且会节省整机的一个PCIe插槽用于其他卡类的功能满足。PCIe网卡则需要打开机型盖进行安装。PCle插槽内的通道数量决定了PCle卡的一个规格,常见的PCle卡的物理规格有以下五种:x1、x4、x8、x16和x32。如PCle x8卡代表着该卡有八个通道。随着通道数的增加,PCIe的带宽也在不断提升。PCIe 1.0(2.5GT/s)、PCIe 2.0(5GT/s)、PCIe 3.0(8GT/s)、PCIe 4.0(16GT/s)、PCIe 5.0(32GT/s)、PCIe 6.0(64GT/s)和PCIe7.0(128GT/s)。且所有的PCIe版本都是支持向后兼容的。
- 网络接口类型:电口和光口,光口的以太网卡一般叫光纤以太网卡(光纤以太网适配器,简称光纤网卡),其遵循光纤以太网通信协议,通常使用光纤线缆与光纤以太网交换机连接,也是目前应用最为广泛的网卡类型。如下图为外观上的区别。
- 网卡速率:分为1G、10G、25G、40G、50G、100G、200G等,5G、100G网卡,同时也在逐渐25G向100G演变切换。
3、IB网卡
- InfiniBand作为一个计算机网络通信标准,最初是为了解决高性能计算场景中突破集群中数据传输瓶颈痛点应运而生的一种互连标准,制定之初就定位为高端应用,互连互通不是主要矛盾,高性能通信才是主要切入点。Infiniband作为一个分层的协议,定义了近似OSI七层协议模型的分层协议栈。IB协议通过IB交换机后可建立一个私有的并且受到保护的直连通道在服务器节点上。在这个通道中,数据和消息的传递将不再需要CPU处理,而是直接通过RDMA来实现。这样接收和发送的功能都卸载到了IB网卡上进行处理。物理上来说,IB网卡将基于PCIe接口与CPU内存实现互联,与其他通讯协议相比提高了更大的带宽、更低的时延以及更强的可拓展性。
InfiniBand网卡:InfiniBand体系结构定义了部署体系结构所必需的一整套硬件组件,IB网卡则是其中一个。IB网卡也叫做HCA – Host Channel Adapter。HCA 是 InfiniBand 端节点(如服务器/存储设备)连接到 InfiniBand 网络的点。HCA同时也包含了操作系统控制下的地址转换机制,允许应用程序直接访问HCA。实际上,应用程序用来访问InfiniBand硬件的队列结构将直接出现在应用程序的虚拟地址。同样的地址转换机制是HCA代表用户级应用访问内存的一种手段。通常应用程序指的是虚拟地址,HCA有能力将这些地址转换为物理地址去进行信息传输。
InfiniBand网卡的优势:1.)IB网卡为服务器和存储系统提供了最高性能和最可扩展的互连解决方案。尤其在高性能计算、Web 2.0、云计算、大数据、金融服务、虚拟化数据中心和存储应用中将获得明显的性能改善,从而缩短完成时间,降低整个流程的成本。2.)IB网卡是需要高带宽、高消息速率和低延迟以实现高服务器效率和应用程序生产力的 HPC 集群的理想解决方案。3.)IB网卡将CPU的协议处理和数据移动从CPU卸载到互连上,最大限度地提高了CPU的效率,对高分辨率模拟、超大数据集和高度并行化算法进行超快速处理。
同时,IB网卡的使用需要搭配IB的交换机、cable等,且成本也相对较高,因此是否选择IB网卡需要根据业务实际网络需求。例如:1)网络带宽: 100G、200G、400G;2)单机网卡数量;3)端口速率: 100Gb/s (HDR100/EDR)、200Gb/s (HDR);4)端口数量:1/2;5)主机接口类型: PCIe3/4 x8/x16,OCP2.0/3.0;6)是否需要Socket-Direct或Multi-host功能支持。
4、以太网与InfiniBand的对比
|
IB网络 |
|
优势 |
1.使用标准的以太网设备、线缆和接口卡; 2.性价比高,后期维护成本低。 |
低延迟,高吞吐量,带宽领先。 |
劣势 |
1.延时较大; 2.带宽落后于IB网络 |
1.设备互联价格高,厂商单一; 2.与外部集群通信时需要交换设备在以太网和IB网络间转换。 |
带宽 |
面向更多终端的设备互连,在带宽上没有太高的需求 |
应用于高性能计算服务器之间的互连,不仅考虑互通,还要考虑网络在高速传输时如何降低对CPU的负载 |
时延 |
基于 TCP UDP应用的收发时延会在10us左右 |
采用RDMA技术转发报文不需要经过CPU,通常收发时延在600ns,降低几十倍 |
可靠性 |
没有基于调度的流控机制,导致成本高、功耗大; 没有端到端的流控机制,导致丢包、数据转发性能波动。 |
网络收发是基于端到端的流控,不会出现缓存积累,时延抖动可控制较小 |
组网 |
需要网络内的每个服务器来定时发送报文保证表项的实时更新 不具备SDN特制,在部署网络时需要改变报文格式或者转发机制来满足SDN的要求,增加了网络配置的复杂度 |
具备SDN理念的,每个InfiniBand的二层网络内有会有一个子网管理器来配置网络内节点的ID(LocalID),以此组成一个InfiniBand的二层组网不需要做任何配置既可以完成网络配置
|
二、网卡主要厂商产品
1、NVIDIA (Mellanox)
Mellanox是一家在全球范围内为服务器和存储提供端到端Infiniband和以太网互联解决方案的领军企业,2020年4月,被NVIDIA官方宣布收购。
Nvidia 有ConnectX-4、5、6、7全系列10G/25G/100G/200Gb全速率网卡
速率 |
Port |
PCLe |
支持的网络系列 |
物理规格 |
10/25G |
2xSFP28 |
Gen 4, x8 |
ConnectX-6 Lx ConnectX-6 Dx |
PCIe HHHL, OCP3 PCIe HHHL, OCP3 |
25G/50G |
2xSFP28/56 4xSFP28/56 |
Gen 4, x16 |
ConnectX-6 Dx ConnectX-7 |
PCIe HHHL, OCP3 |
50G |
1xQSFP28 |
Gen 4, x8 |
ConnectX-6 Lx |
PCIe HHHL, OCP3 |
100G |
1xQSFP56 2xQSFP56 |
Gen 4, x16 |
ConnectX-6 Dx |
PCIe HHHL, OCP3, OCP2 PCIe HHHL, OCP3 |
200G |
1xQSFP56 2xQSFP56/112 |
Gen 4, x16 Gen 5, x16 |
ConnectX-6 Dx ConnectX-7 |
PCIe HHHL, OCP3, OCP2 PCIe HHHL, OCP3 |
400G |
QSFP-DD QSFP112 |
Gen 5, x16 |
ConnectX-7 |
PCIe HHHL, OCP3 |
2、Broadcom
Broadcom有Cumulus、Whitney+、stratus、Thor、Thor2系列的10G/25G/100G/200Gb全速率网卡
3、intel
intel有300/200 、500、710、E80系列的1G/10G/25G/100G网卡
参考:
https://baijiahao.baidu.com/s?id=1744573996063184201&wfr=spider&for=pc
https://blog.csdn.net/legend050709/article/details/121270641
https://blog.51cto.com/u_15147478/5973070