网卡(NIC)全称为网络接口控制器,也被称为网络适配器或网络接口卡,多用于计算机和服务器上,可通过网络连接线(双绞线、光纤线缆等),与交换机、存储设备、服务器、工作站等设备进行互连通信。随着市场热度以及技术能力的提升,也出现了各种类型的网卡,如以太网卡和IB网卡等。本文也将着重介绍以太网卡和IB网卡的区别,希望能帮助到您选择最合适的网卡。
以太网卡是一种网络适配器,是一种插入主板插槽的卡,支持以太网协议标准。每块网卡都有全球唯一的物理地址,称为MAC地址,在网络中可以依据网卡的MAC地址将数据准确地发送到目的计算机中。以太网卡的种类很多,分类方法也多种多样,可以按照带宽、网络接口类型、总线接口类型这三种方式进行划分。其中,光口的以太网卡一般叫做光纤以太网卡(光纤以太网适配器,简称光纤网卡),其遵循光纤以太网通信协议,通常使用光纤线缆与光纤以太网交换机连接,是目前应用最为广泛的网卡类型。目前光纤网卡主要可以从总线接口和带宽进行分类;
以太网卡的总线接口类型可以分为PCI、PCI-Express(简写为PCI-E)、USB、ISA。ISA/PCI为较早时期的总线接口,随着技术的愈发成熟逐渐被淘汰。其中PCIE是目前使用最多的总线接口,在工业级应用和服务器计算机上非常常见。
1. PCIe卡的工作原理是什么?
PCIe是一个串行连接,工作原理更像是一个网络而不是总线,与其他处理不同来源数据的总线接口最明显的区别在于,PCIe控制数据的流向方式是通过交换机来实现点对点连接。PCle网卡插入插槽后生成一个逻辑连接(互连或链路)从而实现互相通信。它一般支持两个PCle端口之间的点对点通信通道并可以进行发送和接收普通PCI请求或者中断的动作。
2. PCIe卡有哪些分类?
规格:通常PCle插槽内的通道的数量决定了PCle卡的一个规格。常见的PCle卡的物理规格有以下五种:x1、x4、x8、x16和x32。如PClex8卡代表着该卡有八个通道。
版本:PCIe在取代旧的PCI和PCI-X总线标准时,不断进行调整改进从而满足日益增长的高带宽需求。最早的PCIe 1.0(2.5GT/s)版本发布于2002年,后续又出现了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版本都是支持向后兼容的。
随着互联网流量的逐日增长,网络设备也面临着来自各大网络服务供应商的压力,不断地随着更高的性能需求在迭代更新,实现10G、25G、40G或高达100G的数据传输。关于它们的一些基本信息将在以下部分详细说明。
1. 10G光纤网卡(以太网服务器网卡)
10G光纤网卡采用32/64位PCI总线网络接口卡,支持10G单模或多模光纤,适用于企业及校园骨干网建设,同时,10G以太网最远可以传送高达100公里,可满足城域范围的传输要求,在城域网骨干层部署10G网络可大大地简化网络结构、降低成本、便于维护,通过端到端以太网打造低成本、高性能和具有丰富业务支持能力的城域网。
2. 25G光纤网卡
25G光纤网卡弥补了10G以太网的低带宽和40G以太网的高成本缺陷,采用25Gb/s单通道物理层技术,可基于4个25Gbps光纤通道实现100G传输。由于SFP28封装是基于SFP+封装研发而来,且两者尺寸相同,因此25G光纤网卡端口可支持25G以及10G速率。相较10G网卡而言,25G光纤网卡的更大带宽满足高性能计算集群的网络需求,在100G甚至更高速率的网络升级中,25G光纤网卡将是不可或缺的基础设施之一。
3. 40G光纤网卡
40G光纤网卡有一个40G QSFP+接口,支持40Gbps传输带宽。它同时也支持PCI-e x8标准插槽,确保高效和稳定地运行。通常情况下,40G光纤网卡有单端口和双端口,是企业数据中心、云计算、高性能计算和嵌入式环境的最高性能的互连解决方案。
4. 100G光纤网卡
目前市场上常见的100G光纤网卡为单端口和双端口的,每个端口最高可达 100Gb/s 以太网,保障可靠传输的自适应路由,增强的 vSwitch / vRouter 卸载能力。100G光纤网卡提供高性能和灵活的解决方案,在硬件中提供一系列创新的卸载和加速器,以提高数据中心网络和存储连接的效率。
服务器与交换机之前的连接不断向更高带宽方向发展,其中25G以太网卡作为连接25G服务器与100G交换机之间的中间设备已成为主流。以及随着数据中心正以前所未有的速度向400G发展,服务器与交换机之间的连接将趋于100G发展,100G网卡也在数据中心中扮演着不可或缺的角色。
InfiniBand网络
InfiniBand作为一个计算机网络通信标准,依靠着高吞吐带宽和超低的网络传输时延的优势在高性能计算(HPC)领域有着广泛的应用。InfiniBand网络可以通过交换机网络实现横向拓展从而适应各种规模的组网需求。从2014年开始,大多数的 TOP500 超级计算机都采用了Infiniband网络技术。近些年,AI/大数据相关的应用,也已经大规模地采用IB网络实现高性能的集群部署。
Infiniband作为一个分层的协议,定义了近似OSI七层协议模型的分层协议栈。IB协议通过IB交换机后可建立一个私有的并且受到保护的直连通道在服务器节点上。在这个通道中,数据和消息的传递将不再需要CPU处理,而是直接通过RDMA来实现。这样接收和发送的功能都卸载到了IB网卡上进行处理。物理上来说,IB网卡将基于PCIe接口与CPU内存实现互联,与其他通讯协议相比提高了更大的带宽、更低的时延以及更强的可拓展性。
InfiniBand网卡
InfiniBand体系结构定义了部署体系结构所必需的一整套硬件组件,IB网卡则是其中一个。IB网卡也叫做HCA - Host Channel Adapter。HCA 是 InfiniBand 端节点(如服务器或存储设备)连接到 InfiniBand 网络的点。InfiniBand的架构师花了大量时间来确保架构能够实现更多的内容,不要求在单一的硬件、固件或软件中实现特定的 HCA 功能,所以最后代表 HCA 功能的硬件、软件和固件的集合为一个应用程序提供了对网络资源的访问。HCA同时也包含了操作系统控制下的地址转换机制,允许应用程序直接访问HCA。实际上,应用程序用来访问InfiniBand硬件的队列结构将直接出现在应用程序的虚拟地址。同样的地址转换机制是HCA代表用户级应用访问内存的一种手段。通常应用程序指的是虚拟地址;HCA有能力将这些地址转换为物理地址去进行信息传输。
InfiniBand网卡的优势
IB网卡为服务器和存储系统提供了最高性能和最可扩展的互连解决方案。尤其在高性能计算、Web 2.0、云计算、大数据、金融服务、虚拟化数据中心和存储应用中将获得明显的性能改善,从而缩短完成时间,降低整个流程的成本。
IB网卡是需要高带宽、高消息速率和低延迟以实现高服务器效率和应用程序生产力的 HPC 集群的理想解决方案。
IB网卡将CPU的协议处理和数据移动从CPU卸载到互连上,最大限度地提高了CPU的效率,对高分辨率模拟、超大数据集和高度并行化算法进行超快速处理。
InfiniBand网卡的选型帮助
对应正在挑选IB网卡的朋友,建议可按照以下实际网络需求来对应选用合适的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功能支持
InfiniBand与以太网的主要对比
带宽:因为两者的应用的不同,带宽的需求也各不相同。Ethernet面向更多的是终端的设备互连,在带宽上没有太高的需求。InfiniBand应用于高性能计算中服务器之间的互连,不仅考虑互通,还要考虑网络在高速传输时如何降低对CPU的负载。受益于RDMA技术,Infiniband网络可以在高速传输中实现对CPU卸载的同时提高了网络的利用率,因此CPU不会因为速率的大幅提升而牺牲更多的资源用于网络处理而拖慢整个HPC性能的发展。
时延:主要分为交换机和网卡两方面进行对比,交换机方面:作为网络传输模型中的二层技术,Ethernet交换机处理流程较长,一般会在若干us(支持cut-though的会在200ns以上),而InfiniBand交换机二层处理非常简单,并且采用Cut-Through技术可大大缩短转发时延至100ns以下,远远快于Ethernet交换机;网卡方面:由于采用RDMA技术,InfiniBand网卡转发报文不需要经过CPU,大大加快了报文在封装解封装处理的时延(通常收发时延在600ns),而基于Ethernet上的TCP UDP应用的收发时延会在10us左右,相差十几倍之多。
可靠性:在高性能计算领域,丢包重传对整体性能的影响非常大,所以需要一个高可靠的网络协议从机制层面来保证网络的无损特性,从而实现其高可靠特性。nfiniBand是一个完整的网络协议有自己定义的一至四层格式,报文在网络上的收发是基于端到端的流控来实现的。在InfiniBand的网络上传输不会出现缓存积累,这样时延抖动也就控制到了最小,从而构造了一个理想纯净的网络;而Ethernet构造的网络没有基于调度的流控机制,不仅成本高而且功耗也会更大,除此之外,由于没有端到端的流控机制,导致网络在略极端情况下,会出现缓存拥塞而导致的丢包,使得数据转发性能大幅波动。
组网:Ethernet的组网方式需要网络内的每个服务器来定时发送报文保证表项的实时更新,当网络内的节点数量增加到一定程度就会产生广播风暴从而使得网络带宽被严重浪费。同时,由于Ethernet网络本身表项学习机制的不足会导致环路网络,并且Ethernet不具备SDN特制,在部署网络时需要改变报文格式或者转发机制来满足SDN的要求,因此增加了网络配置的复杂度;而InfiniBand是天生具备SDN理念的,每个InfiniBand的二层网络内有会有一个子网管理器来配置网络内节点的ID(LocalID),然后通过控制面统一计算转发路径信息,下发至InfiniBand交换上,这样组成一个InfiniBand的二层组网不需要做任何配置既可以完成网络配置,同时没有泛洪的问题,也省去了Vlan和环网破环的操作,可以轻松部署一个规模几万台服务器的超大二层网络。
纳多德作为NVIDIA网络产品的精英级别合作伙伴,提供NVIDIA ConnectX-4/5/6全系列、10/25/100/200Gb全速率网卡。接下来分别为你重点推荐以下几款产品:
ConnectX-5以太网卡(MCX512A-ACAT)
ConnectX-5 以太网网络接口卡具有多达两个 10/25GbE 连接端口、750ns 延迟、每秒高达 2 亿条消息 (Mpps) 以及开发套件 (DPDK)。对于存储工作负载,ConnectX-5 提供了一系列创新加速,例如硬件中的签名切换 (T10-DIF)、嵌入式 PCIe 交换机和 NVMe over Fabric 目标卸载。ConnectX-5 适配器卡还为电信和云数据中心带来了先进的 Open vSwitch 卸载,以驱动极高的数据包速率和吞吐量,同时减少 CPU 资源消耗,从而提高数据中心基础设施的效率。
ConnectX-6以太网卡(MCX623106AN-CDAT)
ConnectX-6 Dx SmartNIC支持的传输速率有1/10/25/40/50/100GbE,用于新网络流的灵活可编程管道,具有高级 QoS 的多主机,支持IPsec 和 TLS 在线加密加速,阻止静态数据的加密加速。 是业界最安全、最先进的云网络接口卡,可加速关键任务数据中心应用程序,例如安全、虚拟化、SDN/NFV、大数据、机器学习和存储。
ConnectX-6 VPI IB网卡(MCX653105A-ECAT-SP)
ConnectX-6 VPI 卡提供 HDR100 EDR InfiniBand 和 100GbE 以太网连接的单端口、低于 600ns 的延迟和每秒 2.15 亿条消息。支持PCIe 3.0 和 PCIe 4.0 ;具有高级存储功能,包括块级加密和校验和卸载;可实现最高性能和最灵活的解决方案,旨在满足数据中心应用不断增长的需求。
ConnectX-5 VPI IB网卡(MCX556A-ECAT)
ConnectX-5 InfiniBand 适配器卡提供高性能和灵活的解决方案,具有双端口100Gb/s InfiniBand 和以太网连接端口、低延迟和高消息速率,以及嵌入式 PCIe 交换机和 NVMe over Fabrics 卸载。 这些支持智能远程直接内存访问 (RDMA) 的适配器为高性能计算 (HPC)、云超大规模和存储平台提供高级应用程序卸载功能。
从上面提到的IB网卡和以太网卡,不难发现他们都有自己的特点,相应的应用范围。部署哪种类型的卡不仅取决于卡支持的协议,还取决于您的网络环境和预算。