2、InfiniBand基础概念

2.1 什么是InfiniBand

InfiniBand(简称IB)是一种面向高性能计算(HPC)和企业级数据中心的高速串行互联网络技术。它诞生于1999年,由InfiniBand贸易联盟(IBTA)推动标准化,旨在解决传统总线架构在CPU、内存与存储之间日益严重的带宽瓶颈问题。与以太网“尽力而为”的转发模型不同,InfiniBand从设计之初就强调低延迟、高带宽、高可靠性和可扩展性,其核心特征是采用通道适配器(Channel Adapter)和子网管理器(Subnet Manager)来构建一个独立的、由交换机(Switch)和链路(Link)组成的子网(Subnet)。

从技术架构上看,InfiniBand采用点对点串行链路,每条链路支持2.5Gbps(SDR)、5Gbps(DDR)、10Gbps(QDR)、14.0625Gbps(FDR)乃至更高的速率,并支持4x、12x等链路宽度聚合。当前主流的HDR(200Gbps)和NDR(400Gbps)系统,单端口即可提供远超传统千兆/万兆以太网的吞吐能力。更重要的是,IB网络通过远程直接内存访问(RDMA)技术,允许应用绕过操作系统内核和CPU拷贝,直接从一台主机的内存写入另一台主机的内存,从而将端到端延迟降低到微秒甚至亚微秒级别。

核心要点:InfiniBand不是一种“更快的网卡”,而是一套完整的网络计算架构,它把网络适配器、交换机、子网管理、可靠传输和RDMA能力整合为一个整体,为并行计算和存储网络提供专用的、无丢包的传输通道。
InfiniBand 子网核心组件与寻址关系 计算节点 A HCA (主机通道适配器) LID: 0x0001 GID: fe80::1 计算节点 B HCA (主机通道适配器) LID: 0x0002 GID: fe80::2 IB 交换机 (Switch) 内部路由表: LID → 端口映射 端口1: 连接节点A 端口2: 连接节点B 子网管理器 (SM) 分配LID、发现拓扑、计算路由 链路 (4x HDR) 链路 (4x HDR) 管理通道 RDMA 数据流 (绕过CPU/内核) LID: 子网内本地路由ID (16位) SM: 负责发现与配置 GID: 全局ID (IPv6格式, 含子网前缀)

2.2 与传统以太网和光纤通道的对比

要理解InfiniBand的定位,最有效的方式是将其与数据中心另外两大网络技术——以太网(Ethernet)和光纤通道(Fibre Channel, FC)进行对比。三者虽然都承担数据传输任务,但设计哲学截然不同。

维度 InfiniBand 传统以太网 光纤通道 (FC)
设计目标 HPC并行计算、低延迟存储 通用网络、尽力而为 存储区域网络 (SAN)
核心传输机制 RDMA + 可靠传输 (硬件卸载) TCP/IP 软件协议栈 FC 协议 (专用ASIC)
端到端延迟 < 1 微秒 (交换机直连) 5 - 50 微秒 (受CPU影响) 2 - 10 微秒
丢包处理 无丢包 (基于信用流控) 丢包重传 (TCP) 无丢包 (信用机制)
寻址方式 LID (子网内) + GID (全局) MAC + IP 地址 WWPN + FC ID
管理模型 子网管理器 (集中式) 分布式 (STP/BGP等) Fabric 服务 (登录/注册)
典型速率 HDR 200Gbps / NDR 400Gbps 400GE / 800GE (演进中) 32GFC / 64GFC

从上表可以看出,以太网追求通用性和灵活性,但代价是协议栈开销大、延迟高;光纤通道专注于存储场景,可靠但生态封闭且速率演进较慢;而InfiniBand则站在“计算”角度,将网络视为计算系统的一部分,通过硬件卸载和集中管理实现极致的性能与确定性。

2.3 关键术语详解

在IB网络中,以下术语是理解一切后续操作的基础,务必准确掌握:

  • 子网管理器(Subnet Manager, SM):负责整个IB子网的发现、配置和维护。SM启动后,会通过管理数据报(MAD)扫描所有端口,为每个端口分配LID,计算路由表并下发到各交换机。通常一个子网有一个主SM和一个备用SM,主SM故障时备用SM自动接管。
  • LID(Local Identifier):16位本地路由ID,仅在子网内有效。LID由SM在端口初始化时动态分配,用于交换机在子网内部转发数据包。LID 0xFFFF为广播地址,0x0000无效。
  • GID(Global Identifier):128位全局标识符,格式与IPv6相同。GID由子网前缀(64位)+ 端口GUID(64位)组成。子网前缀由SM配置,端口GUID由硬件出厂烧录。GID用于跨子网通信以及RoCE(RDMA over Converged Ethernet)场景。
  • HCA(Host Channel Adapter):即主机通道适配器,相当于IB网卡,负责将主机内存中的数据封装为IB报文,并执行RDMA操作。
  • QoS(服务质量):IB支持基于服务等级(SL)和虚拟通道(VL)的流量隔离,确保存储流量与计算流量互不干扰。
记忆技巧:可以把LID理解为“小区内部的门牌号”,只在小区(子网)内有效;GID则是“城市地址+门牌号”,跨小区通信时必须使用。SM就是“物业管理员”,负责给每户发门牌号并维护小区道路(路由)。

2.4 典型应用场景与配置案例

以一套典型的4节点GPU计算集群为例,展示IB基础配置过程。假设每台服务器安装一张Mellanox ConnectX-6 HDR网卡,通过一台IB交换机互联。

# 1. 在服务器上查看HCA状态 (使用ibv_devinfo)
$ ibv_devinfo -d mlx5_0
    hw_ver:           0x0
    fw_ver:           20.29.1010
    node_guid:        0x248a070300aabbcc
    sys_image_guid:   0x248a070300aabbcc
    port 1:
        state:            PORT_ACTIVE (4)
        physical_state:   LINK_ACTIVE (5)
        rate:             200 Gb/sec (HDR)
        lid:              0x2
        sm_lid:           0x1
        sm_sl:            0

# 2. 查看子网管理器是否运行 (OpenSM)
$ opensm -g 0x248a070300aabbcc --daemon
# 日志显示: "SUBNET UP: 4 nodes, 1 switch"

# 3. 测试节点间连通性 (ibping)
$ ibping -S -C mlx5_0 -P 1   # 服务端
$ ibping -c 100 -C mlx5_0 -P 1 -L 0x2  # 客户端ping LID 2

在上述输出中,lid: 0x2表示该端口被SM分配了LID 2;sm_lid: 0x1表示SM运行在LID 1的设备上(通常是交换机自身或指定服务器)。PORT_ACTIVE状态说明链路已成功建立并完成LID分配。

2.5 常见误区与复盘

误区一:认为IB就是“更快的以太网”。实际上,IB的RDMA机制、基于信用的流控(Credit-Based Flow Control)和集中式管理模型与以太网有本质区别。即使速率相同,IB在CPU占用率和延迟一致性上也远优于传统以太网。
误区二:混淆LID与IP地址。LID是二层地址,由SM动态分配,且不具备全局唯一性(不同子网可重复)。而IP地址是三层地址,由网络管理员静态规划。在IB上运行IPoIB(IP over IB)时,IP层仍然需要ARP等机制,但底层转发完全依赖LID。
误区三:忽略SM的重要性。如果SM未启动或故障,IB交换机不会转发任何数据,所有端口将停留在INIT状态。这与以太网交换机“插上就能通”的即插即用体验完全不同。在生产环境中,必须部署冗余SM,并监控其主备状态。

复盘建议:在排查IB网络故障时,第一反应应是检查ibstat或ibv_devinfo中的端口状态是否为ACTIVE,以及LID是否已分配。若端口处于DOWN或INIT,优先检查SM进程、光纤/线缆连接以及交换机端口配置,而不是盲目排查应用层问题。