EasyRoCE工具上新:RDMA会话追踪和路径还原
基于 RoCEv2 的 RDMA 网络已经在 AI 训练、推理、NVMe-oF 存储、高性能数据库等场景中大规模落地。
然而实际运维中,RDMA 层级的通信尚处于“黑盒”状态——业务侧工程师看不到RDMA 通信在网络中的真实路径。当出现推理速度下降、链路突发拥塞、尾部时延偏高等问题,定位问题的成本极高。
现有的RDMA通信观测方式
从协议栈视角看,一条 RDMA 连接大致包含以下几个维度的信息:
- 源/目的 IP、端口
- QP(Queue Pair):源QPN、目的QPN
- 连接管理(CM,Communication Manager)
- 通信ID(Communication ID,CID)
- 会话建立与断开阶段的交互报文
目前的端侧工具只能看到 IP 地址、QPN 等离散的信息,而 RDMA 通信会话的状态、网络转发路径是无法获悉的;现有的交换机上的观测手段也有其局限性,存在较大提升空间,例如:
- 设备/端口 DEBUG:通过交换机的端口计数器、PFC/ECN 统计,只能看到“哪个端口有问题”,看不到“哪条 RDMA 连接经过这里”
- 抓包/镜像:ERSPAN 等方式导出大量流量,依赖手工分析复杂
- 高级硬件特性:基于 INT 或自定义 Telemetry 的方案,需要底层芯片支持和现网改造,成本和落地难度相对较高
在这样的背景下,星融元推出的EasyRoCE Toolkit 新增了一款 RMDA可视化工具链——RST(RDMA Session Tracer,RDMA会话追踪和路径还原),为用户提供了一种轻量且无侵入的观测手段,辅助网络工程师完成 RDMA 网络运维的优化决策。
EasyRoCE – RST 工具
在EasyRoCE-RST工具的 1.0 版本,我们主要观察RDMA通信的关键点——建连阶段的控制面交互报文:CM 报文。
通过获取 CM 报文携带的 QPN、CID 等关键信息,从中解析构建出 RDMA 会话的生命周期,并将其关联到具体的交换设备和端口,最终通过多设备之间的 CID 和时间序列关联,还原出 RDMA 完整的通信路径。
CM协议(Communication Management Protocol,通信管理协议),在本文语境下指的是一种建立于 Infiniband/RoCE 协议基础之上的建链方式,它有一套专属的报文格式、交互流程和用户接口。
CM 协议通过报文的多次往返来建立连接,类似于 TCP 协议的握手,同时也规定了断链的方式。
RST 由两大子模块组成:RFT 和 RPT。
RFT – RDMA Flow Table
RFT 以容器形态运行在每台交换机的管理系统上,主要功能包括:
- CM报文捕获:匹配CM管理面通信报文并上送到AsterNOS的RFT容器中;
- 会话解析与状态管理:解析CM交互报文抽取关键字段,构建会话状态机,记录每条会话的生命周期与状态(如:Established / Closed);
- 流表输出:RDMA 流表信息通过 4791 端口暴露给工程师和 RST 控制器。
RPT – RDMA Path Table
RPT 运行在独立的 RST 控制器上,负责全网设备的流表采集和实时路径还原,并将最终结果以图形化的 WEB 界面(Grafana)提供给业务侧。
RST 工具的使用
获取交换机信息
RST 工具可从EasyRoCE-AID 中自动获取交换机信息(主机名、IP地址、用户名、密码),这是正确获取各交换机上的 RDMA 流表信息的前提。
分别安装 RST 下的子模块
- 将 RFT 的容器镜像上传到星融元交换机操作系统 AsterNOS ,导入运行此容器
- 将 RPT 的代码包上传管理节点服务器上,解压运行,一键生成 Grafana 面板
此时登录到刚生成 Grafana 面板即可访问、操作 RST 工具。
RST 工具首页
RST 工具首页可看到当前组网内的所有业务交换机的列表和功能指示开关,直观查看和修改交换机上 RFT 容器的启用和停止状态。
当设备对应的开关处于打开状态,用户可点击后方“查看”按钮,进入 RDMA 流表信息页,查看设备的流表与 RDMA 会话状态追踪。
RDMA流表信息页
当全网设备都开启 RFT 功能,点击 RST 工具首页左上角的流量路径按钮,即可进入 RDMA 流量路径表信息页,由此看到全网的 RMDA 通信会话的转发路径。
RDMA流量路径表信息页





