nvme-tcp · shipping · also NVMe over TCP

NVMe/TCP

NVMe/TCP is an NVMe transport binding that carries commands, responses and data as protocol data units over TCP connections.

Related Observatory article: NVMe/TCP on hesela.com

Queue mapping: An ordinary Admin or I/O connection carries one Admin or I/O submission/completion queue pair. A controller can use multiple connections. Revision 1.3 separately defines kickstart discovery connections restricted to KDReq/KDResp exchanges [1].

Endpoint selection: TCP discovery defaults to port 8009. I/O controllers have no default TCP port in transport revision 1.3; use the advertised transport service identifier [1].

Security: TLS protects the TCP channel when configured and supported. In-band authentication is a separate mechanism, and its availability depends on the host and target implementation [2].

Integrity: Header and data digests are CRC32C error checks, separate from authentication and encryption; see nvme-tcp-digest [1].

Relations

related
nvme-of, nvme-discovery-controller, nvme-rdma, nvme-fc, nvme, queue-depth, nvme-tcp-digest

Citations

  1. NVM Express NVMe over TCP Transport 1.3, sections 2, 3.1, 3.2, 3.3.1.1 and 3.6 (accessed 2026-10-17)
  2. SPDK NVMe over Fabrics target: transport support, TLS and in-band authentication (accessed 2026-10-17)
Sources & caveats

JSON: /data/terms/nvme-tcp.json