NVMe® over Fabrics (NVMe-oF™) was created to enable non-volatile memory express (NVMe) commands that transfer data between a host and SSD or storage subsystem, to be completed over a networked fabric1.
It accomplishes this by defining extensions to the NVMe interface that enable operation over a fabric other than PCI Express (PCIe) including:
It was originally published in 2016 as a standalone specification that described generic fabric operation of NVMe along with the NVMe RDMA transport specifics and the NVMe TCP transport specifics.
Using NVMe-oF allows Hosts to access storage resources that are centrally located and managed.
Today, NVMe-oF generic operation is a fully integrated part of the NVMe Base Specification and independent specifications describe the NVMe-RDMA transport, NVMe-TCP transport, and the NVMe-FC transport.
This enables storage resources to be efficiently shared amongst groups of hosts and prevents waste by helping to eliminate stranded storage capacity.
Each NVMe transport may expose a memory model, a message model, or a combination of the two2.
Taxonomy of Transports
NVMe Transports

Each transport has unique performance, availability, and scalability attributes, making each suitable for use in a unique set of use cases, environments, and topologies.
More resources on NVMe-oF
2 - NVMe-over-Fabrics-1.1-Ratified