NVME-oF IP 设计11 : 控制面与数据面干什么用?

NVMe-oF协议在结构上可以分为控制面(Control Plane)和数据面(Data Plane)两个部分。控制面主要负责连接建立、队列创建以及设备管理等操作,而数据面则负责实际的数据读写传输。

控制面主要通过管理命令实现。例如,在NVMe-oF建立连接时,Initiator需要首先发送Discover命令获取可用Target信息,然后通过Connect命令建立NVMe-oF会话,如图1所示。在连接建立过程中,双方需要协商队列数量、队列深度以及其他协议参数。在这之后可能会进入认证阶段。完成这些操作后,Initiator才能够通过I/O队列发送读写请求。

图1 建立连接示意图

数据面则负责NVMe I/O命令的传输和执行。在NVMe-oF数据传输过程中,Initiator通过I/O队列向Target发送NVMe命令,而Target在执行命令后返回完成信息。对于数据读写操作,NVMe-oF通常通过RDMA或TCP传输数据。例如,在RDMA模式下,数据可以通过RDMA READ或RDMA WRITE操作在Initiator与Target之间直接传输,从而减少CPU参与度。

通过将控制面与数据面分离,NVMe-oF可以在保持系统灵活性的同时提高数据传输效率。控制面操作通常发生在连接建立或设备管理阶段,而数据面则主要处理高频率的I/O请求。

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

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

相关推荐
青瓦梦滋15 分钟前
NAT技术
linux·服务器·网络·网络协议·tcp/ip
G佳伟1 小时前
宝塔面板打不开且 Bt-Panel 未运行:从 HTTP 502 到 gevent 缺失的完整排查与修复
网络协议·http·php
keyipatience1 小时前
IP网络层
服务器·网络·网络协议·ubuntu·http
白狐_7982 小时前
408 计算机网络|HTTP 的 RTT 怎么数:用多道题讲清楚
网络协议·计算机网络·http
Discipline~Hai2 小时前
Linux网络编程03-HTTP协议
linux·运维·服务器·网络·网络协议·http·linux网络编程
Shadow(⊙o⊙)2 小时前
数据链路层ARP协议、NAT路由技术、代理服务器、内网穿透、内网打洞、交换机+集线器
网络·网络协议·tcp/ip
青瓦梦滋2 小时前
Linux高级IO
linux·运维·服务器·网络·网络协议·tcp/ip
gwf2163 小时前
Rail-Optimized拓扑:AI训练集群的RDMA拥塞消除与硬件实现深度解析
rdma·infiniband·nccl·ai集群·rnic·gpudirect·railoptimized
xieliyu.3 小时前
HTTPS 加密流程深度解析|从 HTTP 痛点到 TLS 握手全过程
网络·笔记·网络协议·计算机网络·http·https
我爱cope3 小时前
【计算机网络 | 传输层5:TCP 如何实现可靠传输?滑动窗口、累计确认与重传机制】
网络·网络协议·学习·tcp/ip·计算机网络·传输层