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

相关推荐
ShineWinsu2 小时前
对于Linux:自定义协议(基于TCP)实现网络计算器的解析
linux·网络·c++·网络协议·tcp/ip·面试·网络计算器
q567315232 小时前
Scrapy 框架集成稳定 HTTP 代理:中间件配置与断线重试实战
爬虫·网络协议·scrapy·http·中间件·http代理
Shell运维手记4 小时前
交换机(二层交换机)完整工作原理
运维·网络·网络协议·macos·交换机
白色冰激凌4 小时前
[SECS/GEM研究] (四)HSMS 用TCP取代串口
网络·c++·网络协议·secs/gem
Eloudy5 小时前
ubuntu 22.04安装 Mellanox 的 MFT 工具包
rdma
ShineWinsu5 小时前
对于Linux:http的解析
linux·网络·c++·网络协议·http·请求·响应
mounter62517 小时前
高性能网络技术演进与创新探索:RDMA、eBPF/XDP 深度解析及 LSF/MM/BPF 2023 专题演讲
linux·ebpf·linux kernel·kernel·rdma·xdp
可爱系程序猿18 小时前
Windows 打印链路诊断:从设备枚举、TCP/IP 端口到 Spooler 服务恢复
网络·网络协议·tcp/ip
深念Y20 小时前
P2P组网选型与折腾记录
网络·网络协议·p2p·局域网·远程·组网