Qu'est-ce que NVMe sur TCP (NVMe/TCP)

Découvrez ce qu'est NVMe sur TCP et comment fonctionne NVMe sur TCP dans un langage simple.

NVMe sur TCP expliqué

La demande croissante de cloud computing nécessite un système de stockage efficace et abordable. Bien que les disques durs (HDD) conventionnels soient très bon marché, ils ne sont pas capables d'héberger des logiciels ou des processus de calcul axés sur les performances sur le cloud.

Par conséquent, pour résoudre ce problème de stockage de masse pour les périphériques informatiques, NVM Express Inc. a publié l'architecture du SSD NVMe, un périphérique de stockage interne ultra-rapide pour les ordinateurs via PCIe ou le bus Peripheral Component Interconnect Express.

Cependant, PCIe est uniquement destiné aux communications de données directes entre la RAM et le SSD NVMe. Comment implémenterait-on la même chose pour un environnement de cloud computing où les ordinateurs hôtes et clients sont situés dans des endroits distants? Ces appareils ne peuvent communiquer que via Internet ou intranet.

Pour relever ce défi, le protocole NVMe over Fabric ou NVMe-oF a été conçu pour permettre le développement de solutions de stockage réseau NVMe. Il utilise l'interface de spécification de périphérique logique NVMe pour transférer des données entre l'ordinateur hôte ou le serveur et un réseau de stockage (SAN) ou un stockage à connexion directe (DAS).

Mais le déploiement de NVMe-oF est très coûteux, même pour les grandes entreprises. De plus, comme NVMe-oF exige principalement un câble à fibre optique comme moyen de transport des données d'un point A à un point B, il n'est pas seulement possible de déployer NVMe-oF pour les clouds publics.

Pour résoudre ce problème, NVM Express Inc. a mis au point le protocole NVMe over TCP ou NVMe/TCP.

Qu'est-ce que NVMe sur TCP (NVMe/TCP) ?

NVMe/TCP est une édition étendue de la spécification de commande d'E/S de stockage basée sur NVMe. C'est la version avancée de NVMe-oF et définit les fonctionnalités du protocole de transfert de données NVMe vers le protocole de communication basé sur les messages, TCP.

Il existe une spécification de transport NVMe/TCP qui décrit les éléments suivants :

  • Comment mapper les files d'attente NVMe en suivant un ensemble standard de règles
  • Comment créer des capsules pour NVMe sur Fabric
  • Comment fournir des capsules NVMe-oF aux systèmes de transport de réseau fibre, InfiniBand et non fibre en utilisant le familier Protocole de contrôle de transport ou TCP

En un mot, la combinaison de NVMe et TCP, NVMe/TCP transfère les données et les commandes plus rapidement et sans erreur entre les hôtes NVMe-oF et les dispositifs de contrôle NVMe-oF.

Ces appareils peuvent être connectés via Internet et Intranet à l'aide d'un réseau TCP/IP basé sur Ethernet. Le support de connectivité peut être des câbles à fibres optiques ou des câbles conventionnels Cat 5 et Cat 6

Pourquoi NVMe sur TCP ?

Le système de transport NVMe d'origine était destiné aux SSD qui iraient directement dans le système PC, principalement sur la carte mère. Le protocole de transport a été initialement optimisé pour les SSD NVM PCIe qui se connectent aux serveurs ou aux postes de travail en interne.

Plus tard, pour des besoins de stockage de données extrêmement rapides et massifs sur le cloud, le protocole de transport NVMe a été câblé avec une liaison de transport les spécifications que les centres de données cloud utilisent principalement, comme Fibre Channel, RDMA over Converged Ethernet (RoCE), Internet Wide Area RDMA Protocol (iWARP), et Infiniband.

Bien que la modification NVMe ci-dessus fonctionne très bien, elle ne convient pas aux clouds publics car un équipement matériel spécialisé est nécessaire du côté client. Par conséquent, le système de liaison de transport TCP a été incorporé, qui est facilement disponible dans le monde entier et fiable sur les réseaux longue distance.

Les composants de base de NVMe sur TCP

Une spécification de transport NVMe/TCP pour NVMe-oF inclut les composants réseau suivants :

  • Le système d'accès aux données à distance utilisant le protocole NVMe suit le modèle d'interconnexion de systèmes ouverts (OSI) pour les systèmes de réseau informatique.
  • NVMe/TCP utilise la technologie de mise en réseau Ethernet qui fonctionne dans la couche de liaison de données OSI physique et OSI.
  • Pour les protocoles de communication et les politiques d'échange de données par paquets, NVMe/TCP s'appuie sur le protocole TCP/IP.
  • Ensembles de commandes NVMe pour convertir toutes les commandes émises par l'utilisateur et les E/S d'application en une table de commandes NVMe spécifique comme admin, I/O, fabric, etc.
  • Le transfert à distance des commandes NVMe, dans une structure à base de messages, s'effectue à l'aide de capsules. Ces capsules pourraient être des capsules de réponse ou de commande. Les capsules de commande NVMe représentent une unité d'échange de données NVMe.
  • Un sous-système et un contrôleur hôte communiquent entre eux en échangeant des unités de données de protocole NVMe/TCP ou des PDU NVMe/TCP.
  • Il existe un processus de connexion en trois étapes entre le sous-système du contrôleur et l'hôte. Ces étapes ou phases sont NVMe-oF Connect, NVMe/TCP Connect et Fabric Connect.
  • Dans un système de liaison de transport NVMe/TCP, des contrôleurs d'E/S dynamiques sont automatiquement créés et affectés à l'ordinateur hôte lorsqu'un sous-système se connecte avec succès à l'hôte NVMe-OF.

Avantages de NVMe sur TCP

  • TCP est le protocole de transfert de données Internet ou Intranet le plus utilisé et est disponible avec tous les centres de données et les clients des ressources de cloud computing.
  • Les centres de données et leurs clients n'ont pas besoin de remplacer le matériel réseau existant comme les routeurs, les commutateurs et les cartes réseau.
  • TCP peut utiliser à la fois un câble fibre et un câble Cat 5 ou Cat 6 et la maintenance est donc assez facile.
  • La liaison de transport TCP pour NVMe-oF offre des performances élevées et une faible latence. Ainsi, il est parfaitement adapté aux processus critiques et gourmands en CPU sur l'ordinateur hôte et facilement accessible par plusieurs clients distants sans aucun conflit de lecture/écriture.
  • TCP offre un routage dynamique. Ainsi, par rapport à l'accès direct à la mémoire à distance (RDMA), TCP est le plus performant dans les centres de données à grande échelle et les opérations de cloud sur de plus longues distances.
  • TCP a une communauté de développement plus importante que toute autre spécification de transport NVMe.

Défis de NVMe sur TCP

  • Lorsque vous utilisez une pile TCP, vous devez autoriser le processeur à résoudre la plupart des opérations TCP, telles que le calcul des sommes de contrôle. Ainsi, à plus grande échelle, lorsque plusieurs postes de travail clients demanderont d'écrire et de lire des données à partir de périphériques de stockage en réseau via le PC hôte, la charge sur le processeur hôte augmentera.
  • L'infrastructure hyperconvergée doit être simple. Cependant, lorsque vous utilisez NVMe/TCP, vous le rendez complexe.
  • NVMe sur TCP présente également certaines faiblesses de sécurité que les pirates peuvent utiliser pour infiltrer vos opérations cloud, voler les données et rendre les données confidentielles disponibles sur le toile sombre sauf si vous déployez une cybersécurité rigoureuse et solution antivirus.

NVMe sur TCP: derniers mots

TCP est le protocole leader dans les centres de données en réseau publics ou privés. Par conséquent, NVMe/TCP est le premier choix pour fournir des solutions de stockage abordables sur Internet, intranet et infrastructure cloud.

Ce protocole est également évolutif et fiable sur les connexions réseau longue distance. Étant donné que la latence de lecture/écriture du stockage cloud est équivalente à la plupart des protocoles Fibre Channel, NVMe sur TCP est la solution de transport de stockage cloud préférée.

Ensuite, 3 alternatives au stockage cloud