NVME-oF IP 设计7 :设计扫盲5

QP、WR、CQ、MR 等核心概念

RDMA 通信模型中涉及多个核心组件,其中包括队列对(QP)、工作请求(WR)、完成队列(CQ)以及内存区域(Memory Region,MR)等概念,这些组件共同构成了RDMA数据传输机制的基础。

(1)Queue Pair(QP)

QP是RDMA通信的核心结构,由发送队列(SQ)和接收队列(RQ)组成。SQ用于存放待发送的工作请求,而RQ用于存放接收缓冲区描述信息。RDMA通信双方通过QP实现数据交换,每个QP对应一个独立的通信连接。QP在初始化过程中需要经过多个状态转换,例如RESET、INIT、RTR(Ready to Receive)以及RTS(Ready to Send)等状态,当QP进入RTS状态后即可开始数据传输。

(2)Work Request(WR)

WR是RDMA操作的基本执行单元,用于描述一次数据传输请求。每个WR中包含操作类型、数据地址、数据长度以及远端内存地址等信息。根据操作类型的不同,WR可以分为SEND、RECV、READ和WRITE等多种类型。应用程序通过向SQ或RQ提交WR来发起数据传输操作。

(3)Completion Queue(CQ)

CQ用于存储通信操作完成后的结果。当RNIC执行完一个WR后,会在CQ中生成一个完成条目(Completion Queue Entry,CQE)。CQE中包含WR的执行状态、数据长度以及标识信息。应用程序可以通过轮询CQ或等待中断通知来获取CQE,从而判断对应的WR是否执行成功。

(4)Memory Region(MR)

MR是RDMA可访问的内存区域。在RDMA通信过程中,应用程序需要将内存注册为MR,RNIC才能够访问该内存空间。内存注册过程会生成本地密钥(Local Key,LKey)和远程密钥(Remote Key,RKey),其中LKey用于本地访问权限控制,而RKey用于远程节点访问权限验证。通过这种机制,RDMA可以在保证安全性的前提下实现远程内存访问。

上述组件共同构成了RDMA的通信基础,使RNIC能够独立完成数据传输操作。

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

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

相关推荐
ShineWinsu6 小时前
对于Linux:TCPsocket编程基础的解析
linux·网络协议·tcp/ip·面试·笔试·进程·远程指令
meilindehuzi_a7 小时前
浏览器端 HTTP 流式通信详解:从 SSE 到 EventSource、fetch 与 ReadableStream
网络·网络协议·http
REDcker8 小时前
用 eBPF 观测 SSL/TLS 明文:原理、钩点与边界
网络·网络协议·ssl
Tsuki_tl8 小时前
UDP传输协议
网络·网络协议·udp·传输层·udp校验和·tcp与udp区别·面向数据报
德迅云安全-上官19 小时前
源站隐身 + 流量清洗,高防 IP 品牌实力精选
网络·网络协议·tcp/ip
绘梨衣5471 天前
ssl-bad-ecpoint-经验帖
网络·网络协议·ssl
Ai拆代码的曹操1 天前
TCP RST 包全链路定位:从 Connection Reset 错误到 Nginx keepalive_timeout 不匹配
网络协议·tcp/ip·nginx
瓦学妹1 天前
代理IP连接失败怎么办?2026代理IP异常排查与解决方法
网络·网络协议·tcp/ip
ITxiaobing20231 天前
广告归因数据对齐实战:从IP溯源看点击欺诈与AppsFlyer P360的匹配度优化
大数据·网络协议·tcp/ip