網(wǎng)卡(NIC)全稱為網(wǎng)絡(luò)接口控制器,也被稱為網(wǎng)絡(luò)適配器或網(wǎng)絡(luò)接口卡,多用于計算機和服務(wù)器上,可通過網(wǎng)絡(luò)連接線(雙絞線、光纖線纜等),與交換機、存儲設(shè)備、服務(wù)器、工作站等設(shè)備進行互連通信。隨著市場熱度以及技術(shù)能力的提升,也出現(xiàn)了各種類型的網(wǎng)卡,如以太網(wǎng)卡和IB網(wǎng)卡等。本文也將著重介紹以太網(wǎng)卡和IB網(wǎng)卡的區(qū)別,希望能幫助到您選擇最合適的網(wǎng)卡。
什么是以太網(wǎng)卡?
以太網(wǎng)卡是一種網(wǎng)絡(luò)適配器,是一種插入主板插槽的卡,支持以太網(wǎng)協(xié)議標準。每塊網(wǎng)卡都有全球唯一的物理地址,稱為MAC地址,在網(wǎng)絡(luò)中可以依據(jù)網(wǎng)卡的MAC地址將數(shù)據(jù)準確地發(fā)送到目的計算機中。以太網(wǎng)卡的種類很多,分類方法也多種多樣,可以按照帶寬、網(wǎng)絡(luò)接口類型、總線接口類型這三種方式進行劃分。其中,光口的以太網(wǎng)卡一般叫做光纖以太網(wǎng)卡(光纖以太網(wǎng)適配器,簡稱光纖網(wǎng)卡),其遵循光纖以太網(wǎng)通信協(xié)議,通常使用光纖線纜與光纖以太網(wǎng)交換機連接,是目前應(yīng)用最為廣泛的網(wǎng)卡類型。目前光纖網(wǎng)卡主要可以從總線接口和帶寬進行分類;
以太網(wǎng)卡的總線接口類型可以分為PCI、PCI-Express(簡寫為PCI-E)、USB、ISA。ISA/PCI為較早時期的總線接口,隨著技術(shù)的愈發(fā)成熟逐漸被淘汰。其中PCIE是目前使用最多的總線接口,在工業(yè)級應(yīng)用和服務(wù)器計算機上非常常見。
1. PCIe卡的工作原理是什么?
PCIe是一個串行連接,工作原理更像是一個網(wǎng)絡(luò)而不是總線,與其他處理不同來源數(shù)據(jù)的總線接口最明顯的區(qū)別在于,PCIe控制數(shù)據(jù)的流向方式是通過交換機來實現(xiàn)點對點連接。PCle網(wǎng)卡插入插槽后生成一個邏輯連接(互連或鏈路)從而實現(xiàn)互相通信。它一般支持兩個PCle端口之間的點對點通信通道并可以進行發(fā)送和接收普通PCI請求或者中斷的動作。
規(guī)格:通常PCle插槽內(nèi)的通道的數(shù)量決定了PCle卡的一個規(guī)格。常見的PCle卡的物理規(guī)格有以下五種:x1、x4、x8、x16和x32。如PClex8卡代表著該卡有八個通道。
版本:PCIe在取代舊的PCI和PCI-X總線標準時,不斷進行調(diào)整改進從而滿足日益增長的高帶寬需求。最早的PCIe 1.0(2.5GT/s)版本發(fā)布于2002年,后續(xù)又出現(xiàn)了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版本都是支持向后兼容的。
隨著互聯(lián)網(wǎng)流量的逐日增長,網(wǎng)絡(luò)設(shè)備也面臨著來自各大網(wǎng)絡(luò)服務(wù)供應(yīng)商的壓力,不斷地隨著更高的性能需求在迭代更新,實現(xiàn)10G、25G、40G或高達100G的數(shù)據(jù)傳輸。關(guān)于它們的一些基本信息將在以下部分詳細說明。
1. 10G光纖網(wǎng)卡(以太網(wǎng)服務(wù)器網(wǎng)卡)
10G光纖網(wǎng)卡采用32/64位PCI總線網(wǎng)絡(luò)接口卡,支持10G單模或多模光纖,適用于企業(yè)及校園骨干網(wǎng)建設(shè),同時,10G以太網(wǎng)最遠可以傳送高達100公里,可滿足城域范圍的傳輸要求,在城域網(wǎng)骨干層部署10G網(wǎng)絡(luò)可大大地簡化網(wǎng)絡(luò)結(jié)構(gòu)、降低成本、便于維護,通過端到端以太網(wǎng)打造低成本、高性能和具有豐富業(yè)務(wù)支持能力的城域網(wǎng)。
2. 25G光纖網(wǎng)卡
25G光纖網(wǎng)卡彌補了10G以太網(wǎng)的低帶寬和40G以太網(wǎng)的高成本缺陷,采用25Gb/s單通道物理層技術(shù),可基于4個25Gbps光纖通道實現(xiàn)100G傳輸。由于SFP28封裝是基于SFP+封裝研發(fā)而來,且兩者尺寸相同,因此25G光纖網(wǎng)卡端口可支持25G以及10G速率。相較10G網(wǎng)卡而言,25G光纖網(wǎng)卡的更大帶寬滿足高性能計算集群的網(wǎng)絡(luò)需求,在100G甚至更高速率的網(wǎng)絡(luò)升級中,25G光纖網(wǎng)卡將是不可或缺的基礎(chǔ)設(shè)施之一。
3. 40G光纖網(wǎng)卡
40G光纖網(wǎng)卡有一個40G QSFP+接口,支持40Gbps傳輸帶寬。它同時也支持PCI-e x8標準插槽,確保高效和穩(wěn)定地運行。通常情況下,40G光纖網(wǎng)卡有單端口和雙端口,是企業(yè)數(shù)據(jù)中心、云計算、高性能計算和嵌入式環(huán)境的最高性能的互連解決方案。
4. 100G光纖網(wǎng)卡
目前市場上常見的100G光纖網(wǎng)卡為單端口和雙端口的,每個端口最高可達 100Gb/s 以太網(wǎng),保障可靠傳輸?shù)淖赃m應(yīng)路由,增強的 vSwitch / vRouter 卸載能力。100G光纖網(wǎng)卡提供高性能和靈活的解決方案,在硬件中提供一系列創(chuàng)新的卸載和加速器,以提高數(shù)據(jù)中心網(wǎng)絡(luò)和存儲連接的效率。
服務(wù)器與交換機之前的連接不斷向更高帶寬方向發(fā)展,其中25G以太網(wǎng)卡作為連接25G服務(wù)器與100G交換機之間的中間設(shè)備已成為主流。以及隨著數(shù)據(jù)中心正以前所未有的速度向400G發(fā)展,服務(wù)器與交換機之間的連接將趨于100G發(fā)展,100G網(wǎng)卡也在數(shù)據(jù)中心中扮演著不可或缺的角色。
什么是IB網(wǎng)卡?
InfiniBand作為一個計算機網(wǎng)絡(luò)通信標準,依靠著高吞吐帶寬和超低的網(wǎng)絡(luò)傳輸時延的優(yōu)勢在高性能計算(HPC)領(lǐng)域有著廣泛的應(yīng)用。InfiniBand網(wǎng)絡(luò)可以通過交換機網(wǎng)絡(luò)實現(xiàn)橫向拓展從而適應(yīng)各種規(guī)模的組網(wǎng)需求。從2014年開始,大多數(shù)的 TOP500 超級計算機都采用了Infiniband網(wǎng)絡(luò)技術(shù)。近些年,AI/大數(shù)據(jù)相關(guān)的應(yīng)用,也已經(jīng)大規(guī)模地采用IB網(wǎng)絡(luò)實現(xiàn)高性能的集群部署。
Infiniband作為一個分層的協(xié)議,定義了近似OSI七層協(xié)議模型的分層協(xié)議棧。IB協(xié)議通過IB交換機后可建立一個私有的并且受到保護的直連通道在服務(wù)器節(jié)點上。在這個通道中,數(shù)據(jù)和消息的傳遞將不再需要CPU處理,而是直接通過RDMA來實現(xiàn)。這樣接收和發(fā)送的功能都卸載到了IB網(wǎng)卡上進行處理。物理上來說,IB網(wǎng)卡將基于PCIe接口與CPU內(nèi)存實現(xiàn)互聯(lián),與其他通訊協(xié)議相比提高了更大的帶寬、更低的時延以及更強的可拓展性。
InfiniBand體系結(jié)構(gòu)定義了部署體系結(jié)構(gòu)所必需的一整套硬件組件,IB網(wǎng)卡則是其中一個。IB網(wǎng)卡也叫做HCA - Host Channel Adapter。HCA 是 InfiniBand 端節(jié)點(如服務(wù)器或存儲設(shè)備)連接到 InfiniBand 網(wǎng)絡(luò)的點。InfiniBand的架構(gòu)師花了大量時間來確保架構(gòu)能夠?qū)崿F(xiàn)更多的內(nèi)容,不要求在單一的硬件、固件或軟件中實現(xiàn)特定的 HCA 功能,所以最后代表 HCA 功能的硬件、軟件和固件的集合為一個應(yīng)用程序提供了對網(wǎng)絡(luò)資源的訪問。HCA同時也包含了操作系統(tǒng)控制下的地址轉(zhuǎn)換機制,允許應(yīng)用程序直接訪問HCA。實際上,應(yīng)用程序用來訪問InfiniBand硬件的隊列結(jié)構(gòu)將直接出現(xiàn)在應(yīng)用程序的虛擬地址。同樣的地址轉(zhuǎn)換機制是HCA代表用戶級應(yīng)用訪問內(nèi)存的一種手段。通常應(yīng)用程序指的是虛擬地址;HCA有能力將這些地址轉(zhuǎn)換為物理地址去進行信息傳輸。
InfiniBand網(wǎng)卡的優(yōu)勢
1. IB網(wǎng)卡為服務(wù)器和存儲系統(tǒng)提供了最高性能和最可擴展的互連解決方案。尤其在高性能計算、Web 2.0、云計算、大數(shù)據(jù)、金融服務(wù)、虛擬化數(shù)據(jù)中心和存儲應(yīng)用中將獲得明顯的性能改善,從而縮短完成時間,降低整個流程的成本。
3. IB網(wǎng)卡將CPU的協(xié)議處理和數(shù)據(jù)移動從CPU卸載到互連上,最大限度地提高了CPU的效率,對高分辨率模擬、超大數(shù)據(jù)集和高度并行化算法進行超快速處理。
對應(yīng)正在挑選IB網(wǎng)卡的朋友,建議可按照以下實際網(wǎng)絡(luò)需求來對應(yīng)選用合適的IB網(wǎng)卡產(chǎn)品:
1.網(wǎng)絡(luò)帶寬: 100G、200G、400G
2.單機網(wǎng)卡數(shù)量
3.端口速率: 100Gb/s (HDR100/EDR)、200Gb/s (HDR)
4.端口數(shù)量:1/2
5.主機接口類型: PCIe3/4 x8/x16,OCP2.0/3.0
6.是否需要Socket-Direct或Multi-host功能支持
帶寬:因為兩者的應(yīng)用的不同,帶寬的需求也各不相同。Ethernet面向更多的是終端的設(shè)備互連,在帶寬上沒有太高的需求。InfiniBand應(yīng)用于高性能計算中服務(wù)器之間的互連,不僅考慮互通,還要考慮網(wǎng)絡(luò)在高速傳輸時如何降低對CPU的負載。受益于RDMA技術(shù),Infiniband網(wǎng)絡(luò)可以在高速傳輸中實現(xiàn)對CPU卸載的同時提高了網(wǎng)絡(luò)的利用率,因此CPU不會因為速率的大幅提升而犧牲更多的資源用于網(wǎng)絡(luò)處理而拖慢整個HPC性能的發(fā)展。
時延:主要分為交換機和網(wǎng)卡兩方面進行對比,交換機方面:作為網(wǎng)絡(luò)傳輸模型中的二層技術(shù),Ethernet交換機處理流程較長,一般會在若干us(支持cut-though的會在200ns以上),而InfiniBand交換機二層處理非常簡單,并且采用Cut-Through技術(shù)可大大縮短轉(zhuǎn)發(fā)時延至100ns以下,遠遠快于Ethernet交換機;網(wǎng)卡方面:由于采用RDMA技術(shù),InfiniBand網(wǎng)卡轉(zhuǎn)發(fā)報文不需要經(jīng)過CPU,大大加快了報文在封裝解封裝處理的時延(通常收發(fā)時延在600ns),而基于Ethernet上的TCP UDP應(yīng)用的收發(fā)時延會在10us左右,相差十幾倍之多。
可靠性:在高性能計算領(lǐng)域,丟包重傳對整體性能的影響非常大,所以需要一個高可靠的網(wǎng)絡(luò)協(xié)議從機制層面來保證網(wǎng)絡(luò)的無損特性,從而實現(xiàn)其高可靠特性。nfiniBand是一個完整的網(wǎng)絡(luò)協(xié)議有自己定義的一至四層格式,報文在網(wǎng)絡(luò)上的收發(fā)是基于端到端的流控來實現(xiàn)的。在InfiniBand的網(wǎng)絡(luò)上傳輸不會出現(xiàn)緩存積累,這樣時延抖動也就控制到了最小,從而構(gòu)造了一個理想純凈的網(wǎng)絡(luò);而Ethernet構(gòu)造的網(wǎng)絡(luò)沒有基于調(diào)度的流控機制,不僅成本高而且功耗也會更大,除此之外,由于沒有端到端的流控機制,導致網(wǎng)絡(luò)在略極端情況下,會出現(xiàn)緩存擁塞而導致的丟包,使得數(shù)據(jù)轉(zhuǎn)發(fā)性能大幅波動。
組網(wǎng):Ethernet的組網(wǎng)方式需要網(wǎng)絡(luò)內(nèi)的每個服務(wù)器來定時發(fā)送報文保證表項的實時更新,當網(wǎng)絡(luò)內(nèi)的節(jié)點數(shù)量增加到一定程度就會產(chǎn)生廣播風暴從而使得網(wǎng)絡(luò)帶寬被嚴重浪費。同時,由于Ethernet網(wǎng)絡(luò)本身表項學習機制的不足會導致環(huán)路網(wǎng)絡(luò),并且Ethernet不具備SDN特制,在部署網(wǎng)絡(luò)時需要改變報文格式或者轉(zhuǎn)發(fā)機制來滿足SDN的要求,因此增加了網(wǎng)絡(luò)配置的復(fù)雜度;而InfiniBand是天生具備SDN理念的,每個InfiniBand的二層網(wǎng)絡(luò)內(nèi)有會有一個子網(wǎng)管理器來配置網(wǎng)絡(luò)內(nèi)節(jié)點的ID(LocalID),然后通過控制面統(tǒng)一計算轉(zhuǎn)發(fā)路徑信息,下發(fā)至InfiniBand交換上,這樣組成一個InfiniBand的二層組網(wǎng)不需要做任何配置既可以完成網(wǎng)絡(luò)配置,同時沒有泛洪的問題,也省去了Vlan和環(huán)網(wǎng)破環(huán)的操作,可以輕松部署一個規(guī)模幾萬臺服務(wù)器的超大二層網(wǎng)絡(luò)。
網(wǎng)卡推薦
納多德作為NVIDIA網(wǎng)絡(luò)產(chǎn)品的精英級別合作伙伴,提供NVIDIA ConnectX-4/5/6全系列、10/25/100/200Gb全速率網(wǎng)卡。接下來分別為你重點推薦以下幾款產(chǎn)品:
ConnectX-5以太網(wǎng)卡(MCX512A-ACAT)
ConnectX-6以太網(wǎng)卡(MCX623106AN-CDAT)
ConnectX-6 VPI IB網(wǎng)卡(MCX653105A-ECAT-SP)
ConnectX-5 VPI IB網(wǎng)卡(MCX556A-ECAT)
從上面提到的IB網(wǎng)卡和以太網(wǎng)卡,不難發(fā)現(xiàn)他們都有自己的特點,相應(yīng)的應(yīng)用范圍。部署哪種類型的卡不僅取決于卡支持的協(xié)議,還取決于您的網(wǎng)絡(luò)環(huán)境和預(yù)算。