{
  "status": "shipping",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-17",
  "slug": "nvme-tcp",
  "term": "NVMe/TCP",
  "aliases": [
    "NVMe over TCP"
  ],
  "definition": "NVMe/TCP is an NVMe transport binding that carries commands, responses and data as protocol data units over TCP connections.",
  "note": "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 [tcp].\n\nEndpoint 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 [tcp].\n\nSecurity: 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 [spdk].\n\nIntegrity: Header and data digests are CRC32C error checks, separate from authentication and encryption; see nvme-tcp-digest [tcp].",
  "related": [
    "nvme-of",
    "nvme-discovery-controller",
    "nvme-rdma",
    "nvme-fc",
    "nvme",
    "queue-depth",
    "nvme-tcp-digest"
  ],
  "citations": [
    {
      "id": "tcp",
      "title": "NVM Express NVMe over TCP Transport 1.3, sections 2, 3.1, 3.2, 3.3.1.1 and 3.6",
      "url": "https://nvmexpress.org/wp-content/uploads/NVM-Express-NVMe-over-TCP-Transport-Specification-Revision-1.3-Ratified-2026.07.31.pdf",
      "accessed": "2026-10-17"
    },
    {
      "id": "spdk",
      "title": "SPDK NVMe over Fabrics target: transport support, TLS and in-band authentication",
      "url": "https://spdk.io/doc/nvmf.html",
      "accessed": "2026-10-17"
    }
  ],
  "provenance": [
    "Transport statements use revision 1.3, ratified 31 July 2026. SPDK is an implementation example, not a universal feature matrix."
  ]
}
