NVME-oF IP 设计8 :设计扫盲6

RoCEv2 协议封装与数据流

RoCE(RDMA over Converged Ethernet)是RDMA在以太网上的实现方式。RoCE协议通过在以太网帧中封装RDMA数据,使RDMA能够运行在标准以太网环境中。RoCE最初版本(RoCEv1)仅支持二层网络,而RoCEv2采用UDP/IP封装方式,使RDMA数据能够在三层网络中进行路由,从而适用于大规模数据中心环境。

在RoCEv2协议中,RDMA数据包的基本封装结构包括以太网头部、IP头部、UDP头部以及Infiniband传输头(IB Transport Header)。其中IP和UDP头部用于实现网络层路由,而IB Transport Header则用于描述RDMA操作类型以及队列信息。RDMA数据载荷被封装在UDP数据段中,通过以太网进行传输。

RoCEv2的数据传输流程如图1所示,通常包括以下几个阶段:首先,发送端应用程序向QP提交WR,RNIC从SQ中读取WR并构建RDMA数据包;随后RNIC将数据包封装为RoCEv2数据帧并发送至网络;网络交换设备根据IP地址进行路由转发;接收端RNIC在接收到数据帧后进行协议解析,并根据QP信息将数据写入对应的内存区域;最后,RNIC生成CQE并通知应用程序数据传输完成。

图1 RoCEv2的数据传输流程图

为了保证RDMA数据传输的可靠性,RoCEv2通常依赖无损以太网机制,例如Priority Flow Control(PFC)和 Explicit Congestion Notification(ECN)。PFC可以在网络拥塞时暂停特定优先级的数据流,从而避免数据包丢失;ECN则通过在数据包中标记拥塞信息,使发送端能够动态调整发送速率。通过这些机制,RoCEv2可以在以太网环境中实现与InfiniBand类似的可靠传输能力。

B站已给出之前的相关性能演示视频,如想进一步了解,请搜索B站用户:专注与守望

https://www.bilibili.com/video/BV1f6mbBeEiH/?spm_id_from=333.337.search-card.all.click\&vd_source=c355545d27a44fe96188b7caefeda6e7

相关推荐
XUEYUAN52123 天前
ASN 自治系统号风控:平台如何通过 IP 所属自治域批量识别代理流量
python·网络协议·http·网络安全·socks5
CHENKONG_CK3 天前
破解制鞋打磨痛点:RFID赋能去毛刺工序自动化升级
网络·单片机·嵌入式硬件·网络协议·tcp/ip
Eloudy3 天前
开源 gpunetio examples 01 解析 gpunetio_verbs_put_bw
gpu·fpga·rdma·roce·doca
z落落3 天前
C#UDP+串口服务端+UDP 客户端(含 CRC16 校验)
网络·网络协议·udp
曼巴UE53 天前
UE5 客户端 需要的网络同步概念总结(3 )-事件同步 RPC 以及三种调用方式
网络·c++·网络协议·学习·rpc·ue5
开开心心就好3 天前
安卓手写文字生成工具,多种纸张一直免费
网络·网络协议·tcp/ip·leetcode·智能手机·电脑·模拟退火算法
Eloudy4 天前
GPUNetIO开源实现与FPGA的 RoCEv2 通信延迟实验
gpu·fpga·rdma·roce·doca
K成长日志4 天前
DALI协议-Part209-颜色控制
物联网·网络协议·iot·智能照明·智能建筑·dali
gwf2164 天前
AI训练RDMA性能Profiling:瓶颈定位与调优方法论
芯片设计·rdma·nccl·拥塞控制·ai集群·rnic·gpudirect
IPdodo_5 天前
跨境 API 调用不稳定怎么办:出口、超时重试与链路监控的实践
网络·python·网络协议