網卡(NIC)全稱為網絡接口控制器,也被稱為網絡適配器或網絡接口卡,多用于計算機和服務器上,可通過網絡連接線(雙絞線、光纖線纜等),與交換機、存儲設備、服務器、工作站等設備進行互連通信。隨著市場熱度以及技術能力的提升,也出現了各種類型的網卡,如以太網卡和IB網卡等。本文也將著重介紹以太網卡和IB網卡的區別,希望能幫助到您選擇最合適的網卡。
什么是以太網卡?
以太網卡是一種網絡適配器,是一種插入主板插槽的卡,支持以太網協議標準。每塊網卡都有全球唯一的物理地址,稱為MAC地址,在網絡中可以依據網卡的MAC地址將數據準確地發送到目的計算機中。以太網卡的種類很多,分類方法也多種多樣,可以按照帶寬、網絡接口類型、總線接口類型這三種方式進行劃分。其中,光口的以太網卡一般叫做光纖以太網卡(光纖以太網適配器,簡稱光纖網卡),其遵循光纖以太網通信協議,通常使用光纖線纜與光纖以太網交換機連接,是目前應用最為廣泛的網卡類型。目前光纖網卡主要可以從總線接口和帶寬進行分類;
以太網卡的總線接口類型可以分為PCI、PCI-Express(簡寫為PCI-E)、USB、ISA。ISA/PCI為較早時期的總線接口,隨著技術的愈發成熟逐漸被淘汰。其中PCIE是目前使用最多的總線接口,在工業級應用和服務器計算機上非常常見。
1. PCIe卡的工作原理是什么?
PCIe是一個串行連接,工作原理更像是一個網絡而不是總線,與其他處理不同來源數據的總線接口最明顯的區別在于,PCIe控制數據的流向方式是通過交換機來實現點對點連接。PCle網卡插入插槽后生成一個邏輯連接(互連或鏈路)從而實現互相通信。它一般支持兩個PCle端口之間的點對點通信通道并可以進行發送和接收普通PCI請求或者中斷的動作。
規格:通常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網卡也在數據中心中扮演著不可或缺的角色。
什么是IB網卡?
InfiniBand作為一個計算機網絡通信標準,依靠著高吞吐帶寬和超低的網絡傳輸時延的優勢在高性能計算(HPC)領域有著廣泛的應用。InfiniBand網絡可以通過交換機網絡實現橫向拓展從而適應各種規模的組網需求。從2014年開始,大多數的 TOP500 超級計算機都采用了Infiniband網絡技術。近些年,AI/大數據相關的應用,也已經大規模地采用IB網絡實現高性能的集群部署。
Infiniband作為一個分層的協議,定義了近似OSI七層協議模型的分層協議棧。IB協議通過IB交換機后可建立一個私有的并且受到保護的直連通道在服務器節點上。在這個通道中,數據和消息的傳遞將不再需要CPU處理,而是直接通過RDMA來實現。這樣接收和發送的功能都卸載到了IB網卡上進行處理。物理上來說,IB網卡將基于PCIe接口與CPU內存實現互聯,與其他通訊協議相比提高了更大的帶寬、更低的時延以及更強的可拓展性。
InfiniBand體系結構定義了部署體系結構所必需的一整套硬件組件,IB網卡則是其中一個。IB網卡也叫做HCA - Host Channel Adapter。HCA 是 InfiniBand 端節點(如服務器或存儲設備)連接到 InfiniBand 網絡的點。InfiniBand的架構師花了大量時間來確保架構能夠實現更多的內容,不要求在單一的硬件、固件或軟件中實現特定的 HCA 功能,所以最后代表 HCA 功能的硬件、軟件和固件的集合為一個應用程序提供了對網絡資源的訪問。HCA同時也包含了操作系統控制下的地址轉換機制,允許應用程序直接訪問HCA。實際上,應用程序用來訪問InfiniBand硬件的隊列結構將直接出現在應用程序的虛擬地址。同樣的地址轉換機制是HCA代表用戶級應用訪問內存的一種手段。通常應用程序指的是虛擬地址;HCA有能力將這些地址轉換為物理地址去進行信息傳輸。
InfiniBand網卡的優勢
1. IB網卡為服務器和存儲系統提供了最高性能和最可擴展的互連解決方案。尤其在高性能計算、Web 2.0、云計算、大數據、金融服務、虛擬化數據中心和存儲應用中將獲得明顯的性能改善,從而縮短完成時間,降低整個流程的成本。
3. IB網卡將CPU的協議處理和數據移動從CPU卸載到互連上,最大限度地提高了CPU的效率,對高分辨率模擬、超大數據集和高度并行化算法進行超快速處理。
對應正在挑選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功能支持
帶寬:因為兩者的應用的不同,帶寬的需求也各不相同。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-6以太網卡(MCX623106AN-CDAT)
ConnectX-6 VPI IB網卡(MCX653105A-ECAT-SP)
ConnectX-5 VPI IB網卡(MCX556A-ECAT)
從上面提到的IB網卡和以太網卡,不難發現他們都有自己的特點,相應的應用范圍。部署哪種類型的卡不僅取決于卡支持的協議,還取決于您的網絡環境和預算。