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

相关推荐
博客zhu虎康1 天前
实现局域网P2P通信:内网发送消息
网络·网络协议·p2p
xixingzhe22 天前
AI 对话打字机效果:SSE 和 HTTP 的区别与适用场景
网络·网络协议·http
叼烟扛炮2 天前
Linux 学习笔记(五十一):数据链路层与 ARP 协议——局域网寻址与黑客骗局
linux·网络·网络协议·php·tcpdump
沫璃染墨3 天前
从零入门计算机网络系列(十四):TCP报文与字节流本质——从数据封装到报文边界
linux·服务器·网络·网络协议·tcp/ip·tcp
byte轻骑兵3 天前
【LMP】规范精讲[13]: 参数的户口本、公钥的集装箱与出厂的兜底值
人工智能·网络协议·人机交互·lmp·蓝牙链路管理
流浪0013 天前
计算机网络篇17:传输层——TCP 超时重传、三次握手与四次挥手,TIME_WAIT 为什么要等 2MSL
网络协议·tcp/ip·计算机网络·三次握手·四次挥手·超时重传
AI 编程助手GPT3 天前
curl 返回成功就能收文件?用本地 HTTP 验证错误页与超时
网络·网络协议·http
流浪0013 天前
计算机网络篇16:传输层——TCP 报头属性字段:16 位窗口大小撑起流量控制,六个标志位标识报文类型
网络协议·tcp/ip·计算机网络·urg紧急指针·tcp报头
Jongkhurun4 天前
以太网的最小帧长为什么是 64 字节:从 CSMA/CD 冲突窗口推导 64 Byte
网络协议
honsor4 天前
SNMP 读取以太网温湿度传感器数据,监控平台对接实操
物联网·网络协议·tcp/ip