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

相关推荐
超级赛博搬砖工3 小时前
并发、多线程和HTTP连接之间有什么关系?
网络·网络协议·http
2401_891957315 小时前
简单了解传输层协议UDP
网络·网络协议·udp
一棵星5 小时前
WebSocket 长连接不稳?一次完整的排查与修复之旅
网络·websocket·网络协议
JackieDYH6 小时前
WebSocket-不同平台封装-Hooks和使用案例
网络·websocket·网络协议
牛马工作号1 天前
Wi‑Fi 完全指南:从 802.11 协议到 Wi‑Fi 7、AC+AP 与 Mesh 工程组网
网络·网络协议·智能路由器
Geek-Chow1 天前
ALB SSL policy conflict (AWS Load Balancer Controller)
网络协议·ssl·aws
爱刷碗的苏泓舒1 天前
FTP、FTPS 与 WinSCP:原理、连接机制及 GNSS 工程应用
网络协议·ftp·winscp·数据下载·ftps
雲帝1 天前
Windows虚拟机UDP大包分片排障
windows·网络协议·udp
八代臻1 天前
蒲公英免费异地组网
网络协议