【硬件相关】IB网/以太网基础介绍及部署实践

2024-03-03 00:20

本文主要是介绍【硬件相关】IB网/以太网基础介绍及部署实践,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 一、前言
      • 1、Infiniband网络
      • 1.1、网络类型
      • 1.2、网络拓扑
      • 1.3、硬件设备
        • 1.3.1、网卡
        • 1.3.2、连接线缆
          • a、光模块
          • b、线缆
        • 1.3.4、交换机
      • 2、Ethernet网络
    • 二、部署实践(以太网)
      • 1、Intel E810-XXVDA2
        • 1.1、网卡信息
        • 1.2、检查命令
        • 1.2、驱动编译
      • 2、Mellanox MCX456A-ECAT [ConnectX-4]
        • 2.1、网卡信息
        • 1.2、检查命令
        • 1.2、驱动安装

一、前言

1、Infiniband网络

What is InfiniBand Network and the Difference with Ethernet?

Infiniband是一种高带宽、低延迟、高可靠性的开放标准网络互连技术,这项技术是由 IBTA (InfiniBand Trade Association)定义的,该技术在超级计算机集群领域得到了广泛的应用。

1.1、网络类型

Infiniband在物理层定义了多种链路速度,如x1链路、x4链路、x12链路,每个单独的链路都是四线串行差分连接(每个方向两根线),目前大多采用x4链路,当前Infiniband主流常见网络类型参考如下:

在这里插入图片描述

网络类型信号速率编码方式x1链路速率x4链路速率x12链路速率
SDR(Single Data Rate)2.5Gb/s8b/10b2Gb/s8Gb/s24Gb/s
DDR(Double Data Rate)5Gb/s8b/10b4Gb/s16Gb/s48Gb/s
QDR(Quad Data Rate)10Gb/s8b/10b8Gb/s32Gb/s96Gb/s
FDR(Fourteen Data Rate)14.0625Gb/s64b/66b13.64Gb/s54.54Gb/s163.64Gb/s
EDR(Ehanced Data Rate)25.78125Gb/s64b/66b25Gb/s100Gb/s300Gb/s
HDR(High Data Rate)50Gb/s64b/66b50Gb/s200Gb/s600Gb/s
NDR(Next Data Rate)100Gb/s64b/66b100Gb/s400Gb/s1200Gb/s

1.2、网络拓扑

Infiniband是处理器和I/O设备之间数据流的通信链路,支持多达64,000个可寻址设备。IBA(InfiniBand Architecture)是一个行业标准规范,它定义了一个点对点交换输入/输出框架,用于互连服务器、通信基础设施、存储设备和嵌入式系统。

Infiniband具有广泛性、低时延、高带宽和低管理成本等优点,是将多个数据流(集群、通信、存储、管理)在一个连接中连接数千个节点的理想选择。最小的IBA完整单元是一个子网(单个子网最大可由6万多个节点组成),多个子网通过路由器相互连接,形成一个大的IBA网络。子网内部使用交换机进行二层处理,子网之间使用路由器或网桥进行连接。

在这里插入图片描述

Infiniband是一种基于通道的结构,通道适配器就是搭建Infiniband通道使用的,所有传输均以通道适配器开始或结束,以确保安全或在给定的QoS(服务质量)级别下工作。其组成单元可以分为以下四类:

  • HCA(Host Channel Adapters):主机通道适配器
  • TCA(Target Channel Adapters):目标通道适配器
  • IB Link(Infiniband Link):Infiniband连接通道,包括连接头和线缆两部分,其中线缆可以是电缆或光纤
  • Switch/Router:Infiniband组网设备

infiniband architecture

1.3、硬件设备

1.3.1、网卡

高端网卡通常支持IB RDMA和ROCE两种,可以接入IB交换机或以太网交换机,具体支持情况需要根据产品规格进行确定。
网卡按照速率可分为QDR(40Gb)、EDR(100Gb)、HDR(200Gb)及NDR(400Gb)

1.3.2、连接线缆

连接线缆包括光模块和线缆两部分

a、光模块

The Big Differences Between SFP, SFP+, SFP28, QSFP+, QSFP28, QSFP-DD, and OSFP
Quickview about SFP, SFP+, SFP28, QSFP+, QSFP28, QSFP-DD and OSFP
sfp-vs-sfp-vs-sfp28-vs-qsfp-vs-qsfp28-vs-qsfp-dd-vs-osfp-differences

光模块在数据通信行业中起着关键的作用,SFP、SFP+、SFP28、QSFP+、QSFP28、QSFP56、QSFP-DD和OSFP是不同类型的光收发器。
它们都是可热插拔的网络接口模块,用于连接网络交换机和其他网络设备(如服务器)的数据传输,常见光模块类型参考如下:

光模块类型支持速率大小(mm2)兼容性线缆类型连接头
SFP100 Mb/s
1 Gb/s
113.9100 Mb/s SFP+Fiber、Twisted PairLC、RJ45
SFP+10 Gb/s113.91 Gb/s SFPFiber、Twisted Pair、DACLC、RJ45
SFP2825 Gb/s113.910 Gb/s SFP+Fiber、DACLC
SFP5650 Gb/s113.9SFP、SFP+、SFP28Fiber、DACLC
QSFP4 Gb/s156none
QSFP+40 Gb/s156noneFiber、DACLC、MTP/MPO
QSFP2850 Gb/s156QSFP+Fiber、DACLC
QSFP28100 Gb/s156noneFiber、DACLC、MTP/MPO-12
QSFP56200 Gb/s156noneFiber、DACLC、MTP/MPO-12
QSFP-DD400 Gb/s156QSFP+、QSFP28Fiber、DACLC、MTP/MPO-16
OSFP400 Gb/s
800 Gb/s
比QSFP略大noneFiber、DACLC、MTP/MPO-12
b、线缆

Infiniband网络中,使用的线缆区别于传统的以太网线缆和光纤线缆。针对不同的连接场景,需使用专用的InfiniBand线缆,可分为DAC高速铜缆、AOC有源线缆两种,两者材质不一(前者使用铜缆、后者使用光纤),AOC有源线缆价格要高于DAC高速铜缆
注:针对不同网络速率,QDR(40Gb)、EDR(100Gb)、HDR(200Gb)及NDR(400Gb)对应线缆有所不同,需要根据选定的IB交换机及网卡适配

1.3.4、交换机

Infiniband网络需使用专用的IB交换机

2、Ethernet网络

以太网(Ethernet)是由Xerox主导,并由Xerox、Intel、DEC联合开发的基带局域网规范标准,于1980年9月30日发布,是现有局域网所采用最通用的通信协议标准,通过电缆传输和接收数据。
以太网用于创建局域网并连接多台计算机或其他设备(如打印机、扫描仪等),在有线网络中通过光纤电缆完成,在无线网络中通过无线网络技术完成。
目前由IEEE主导的IEEE 802.3已发布100GE、200GE、400GE的以太网接口标准,常用的网络类型有以下几种

网络名称IEEE标准传输速率网络类型
Ethernet802.310 Mbps10Base-T
Fast Ethernet802.3u100 Mbps100Base-TX
100Base-FX
Gigabit Ethernet802.3z1000 Mbps1000Base-T
1000Base-SX
1000Base-LX
10 Gigabit EthernetIEEE 802.3ae10 Gbps10GBase-SR
10GBase-LX4
10GBase-LR/ER
10GBase-SW/LW/EW

二、部署实践(以太网)

1、Intel E810-XXVDA2

1.1、网卡信息

网卡介绍:英特尔® 以太网网络适配器 E810-XXVDA2

  • 网卡端口:双口(Dual-Port)
  • 网卡速率:25/10/1GbE
  • PCIe版本:16 GT/s(PCIe 4.0)
  • 插槽宽度:x8 lanes
  • 网卡控制器:Intel Ethernet Controller E810
  • 网卡驱动:ice
1.2、检查命令
  • 查看当前PCIe网卡列表:lspci | grep Eth
[root@node155 ~]# lspci | grep Eth
18:00.0 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01)
18:00.1 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01)
60:00.0 Ethernet controller: Intel Corporation Ethernet Connection X722 for 1GbE (rev 09)
60:00.1 Ethernet controller: Intel Corporation Ethernet Connection X722 for 1GbE (rev 09)
61:00.0 Ethernet controller: Intel Corporation Device 159b (rev 02)
61:00.1 Ethernet controller: Intel Corporation Device 159b (rev 02)
  • 查看当前PCIe网卡产品型号:lspci -vvv -s <pci-device-num> | grep "Product Name"
[root@node155 ~]# lspci -vvv -s 61:00.0 | grep "Product Name"Product Name: Intel(R) Ethernet Network Adapter E810-XXVDA2
  • 查看当前PCIe网卡速率:lspci -vvv -s<pci-device-num> | grep -E '(LnkCap:|LnkSta:)'
    注:LnkCap表示网卡理论的传输速率,LnkSta表示网卡实际的传输速率,当出现LnkSta < LnkCap情况时,网卡速率会大幅下降,通常为服务器PCIe插槽和网卡存在兼容性问题,尝试更换网卡或PCIe插槽解决
[root@node8 ~]# lspci -vvv -s 61:00.0 | grep -E '(LnkCap:|LnkSta:)'LnkCap: Port #0, Speed 16GT/s, Width x8, ASPM not supported, Exit Latency L0s unlimited, L1 <4usLnkSta: Speed 8GT/s, Width x4, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
1.2、驱动编译

驱动下载:Intel® Network Adapter Driver for E810 Series Devices under Linux*

  • 下载驱动程序(下载地址:适用于 Linux* 下的 E810 系列装置的 Intel® 网络适配器驱动程序)
wget https://downloadmirror.intel.com/789309/ice-1.12.7.tar.gz
  • 源码编译安装,加载ice网卡驱动模块
tar -zxvf ice-1.12.7.tar.gz
cd ice-1.12.7/src/
make install
modprobe ice
  • 查看网卡速率信息
[root@node8 src]# ethtool enp97s0f0
Settings for enp97s0f0:Supported ports: [ FIBRE ]Supported link modes:   1000baseT/Full25000baseCR/Full25000baseSR/Full1000baseX/Full10000baseCR/Full10000baseSR/Full10000baseLR/FullSupported pause frame use: SymmetricSupports auto-negotiation: NoSupported FEC modes: NoneAdvertised link modes:  25000baseSR/Full10000baseSR/FullAdvertised pause frame use: NoAdvertised auto-negotiation: NoAdvertised FEC modes: None BaseR RSSpeed: 25000Mb/sDuplex: FullPort: FIBREPHYAD: 0Transceiver: internalAuto-negotiation: offSupports Wake-on: dWake-on: dCurrent message level: 0x00000007 (7)drv probe linkLink detected: yes

2、Mellanox MCX456A-ECAT [ConnectX-4]

环境信息
100G双口网卡 Mellanox MCX456A-ECAT
100G以太网DAC线缆(3米) Mellanox MCP1600-C003

2.1、网卡信息

NVIDIA ConnectX InfiniBand网卡介绍
NVIDIA ConnectX-4 InfiniBand/Ethernet Adapter Cards User Manual

  • 网卡端口:双口(Dual-port QSFP28)
  • 网卡速率:InfiniBand: SDR/DDR/QDR/FDR/EDREthernet: 10/25/40/50/100 Gb/s
  • PCIe版本:8.0GT/s(PCIe 3.0)
  • 插槽宽度:x16 lanes
  • 网卡驱动:mlx5_core
1.2、检查命令
  • 查看当前PCIe网卡列表:lspci | grep Eth
[root@node176 ~]# lspci | grep Eth
0000:01:00.0 Ethernet controller: Mellanox Technologies MT27700 Family [ConnectX-4]
0000:01:00.1 Ethernet controller: Mellanox Technologies MT27700 Family [ConnectX-4]
0001:06:00.0 Ethernet controller: Beijing Wangxun Technology Co., Ltd. WX1860A2 Gigabit Ethernet Controller (rev 01)
0001:06:00.1 Ethernet controller: Beijing Wangxun Technology Co., Ltd. WX1860A2 Gigabit Ethernet Controller (rev 01)
  • 查看当前PCIe网卡速率:lspci -vvv -s<pci-device-num> | grep -E '(LnkCap:|LnkSta:)'
    注:LnkCap表示网卡理论的传输速率,LnkSta表示网卡实际的传输速率,当出现LnkSta < LnkCap情况时,网卡速率会大幅下降,通常为服务器PCIe插槽和网卡存在兼容性问题,尝试更换网卡或PCIe插槽解决
[root@node176 ~]# lspci -vvv -s 0000:01:00.0 | grep -E '(LnkCap:|LnkSta:)'LnkCap: Port #0, Speed 8GT/s, Width x16, ASPM not supportedLnkSta: Speed 8GT/s, Width x16
1.2、驱动安装

驱动下载:Intel® Network Adapter Driver for E810 Series Devices under Linux*

  • 根据当前操作系统版本及硬件架构,选择下载对应驱动软件包(MLNX_OFED_LINUX-5.8-4.1.5.0-rhel8.2-aarch64.tgz)

在这里插入图片描述

  • 对于主流发行系统版本,在不升级默认内核版本情况下,mlnx_ofed提供了预构建RPM包,直接执行驱动软件安装即可
tar -zxvf MLNX_OFED_LINUX-5.8-4.1.5.0-rhel8.2-aarch64.tgz
cd MLNX_OFED_LINUX-5.8-4.1.5.0-rhel8.2-aarch64/
./mlnxofedinstall

这篇关于【硬件相关】IB网/以太网基础介绍及部署实践的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/767871

相关文章

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

Java内存泄漏问题的排查、优化与最佳实践

《Java内存泄漏问题的排查、优化与最佳实践》在Java开发中,内存泄漏是一个常见且令人头疼的问题,内存泄漏指的是程序在运行过程中,已经不再使用的对象没有被及时释放,从而导致内存占用不断增加,最终... 目录引言1. 什么是内存泄漏?常见的内存泄漏情况2. 如何排查 Java 中的内存泄漏?2.1 使用 J

java脚本使用不同版本jdk的说明介绍

《java脚本使用不同版本jdk的说明介绍》本文介绍了在Java中执行JavaScript脚本的几种方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine适用... 目录Java脚本使用不同版本jdk的说明1.使用ScriptEngine执行javascript2.

关于Maven生命周期相关命令演示

《关于Maven生命周期相关命令演示》Maven的生命周期分为Clean、Default和Site三个主要阶段,每个阶段包含多个关键步骤,如清理、编译、测试、打包等,通过执行相应的Maven命令,可以... 目录1. Maven 生命周期概述1.1 Clean Lifecycle1.2 Default Li

C#实现获取电脑中的端口号和硬件信息

《C#实现获取电脑中的端口号和硬件信息》这篇文章主要为大家详细介绍了C#实现获取电脑中的端口号和硬件信息的相关方法,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 我们经常在使用一个串口软件的时候,发现软件中的端口号并不是普通的COM1,而是带有硬件信息的。那么如果我们使用C#编写软件时候,如

numpy求解线性代数相关问题

《numpy求解线性代数相关问题》本文主要介绍了numpy求解线性代数相关问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 在numpy中有numpy.array类型和numpy.mat类型,前者是数组类型,后者是矩阵类型。数组

k8s部署MongDB全过程

《k8s部署MongDB全过程》文章介绍了如何在Kubernetes集群中部署MongoDB,包括环境准备、创建Secret、创建服务和Deployment,并通过Robo3T工具测试连接... 目录一、环境准备1.1 环境说明1.2 创建 namespace1.3 创建mongdb账号/密码二、创建Sec

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

Python实现NLP的完整流程介绍

《Python实现NLP的完整流程介绍》这篇文章主要为大家详细介绍了Python实现NLP的完整流程,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 编程安装和导入必要的库2. 文本数据准备3. 文本预处理3.1 小写化3.2 分词(Tokenizatio