Erfahren Sie in einer einfachen Sprache, was NVMe over TCP ist und wie NVMe over TCP funktioniert.
NVMe über TCP erklärt
Die steigende Nachfrage nach Cloud Computing erfordert ein effizientes und erschwingliches Speichersystem. Obwohl herkömmliche Festplattenlaufwerke (HDDs) spottbillig sind, sind diese nicht in der Lage, leistungsorientierte Software oder Rechenprozesse in der Cloud zu hosten.
Um dieses Problem bei Massenspeichern für Computergeräte anzugehen, hat NVM Express Inc. veröffentlichte die Architektur für NVMe SSD, ein blitzschnelles internes Speichergerät für Computer über den PCIe- oder Peripheral Component Interconnect Express-Bus.
PCIe dient jedoch nur der direkten Datenkommunikation zwischen RAM und NVMe-SSD. Wie würde man dasselbe für eine Cloud-Computing-Umgebung implementieren, in der sich Host- und Client-Computer an entfernten Orten befinden? Diese Geräte können nur über das Internet oder Intranet kommunizieren.
Um dieser Herausforderung zu begegnen, wurde das NVMe-over-Fabric- oder NVMe-oF-Protokoll entwickelt, um die Entwicklung von NVMe-Netzwerkspeicherlösungen zu ermöglichen. Es verwendet die logische NVMe-Gerätespezifikationsschnittstelle, um Daten zwischen dem Hostcomputer oder Server und einem Storage Area Network (SAN) oder Direct Attached Storage (DAS) zu übertragen.
Aber die NVMe-oF-Bereitstellung ist selbst für große Unternehmen sehr teuer. Da NVMe-oF hauptsächlich Glasfaserkabel als Transportmedium für Daten von Punkt A nach Punkt B erfordert, ist es nicht nur möglich, NVMe-oF für öffentliche Clouds einzusetzen.
Um dieses Problem zu beheben, hat NVM Express Inc. hat das Protokoll NVMe over TCP oder NVMe/TCP entwickelt.
Was ist NVMe über TCP (NVMe/TCP)?
NVMe/TCP ist eine erweiterte Ausgabe der NVMe-basierten Speicher-E/A-Befehlsspezifikation. Es ist die erweiterte Version von NVMe-oF und definiert die Funktionalitäten des NVMe-Datenübertragungsprotokolls für das nachrichtenbasierte Kommunikationsprotokoll TCP.
Es gibt eine NVMe/TCP-Transportspezifikation, die Folgendes beschreibt:
- So ordnen Sie NVMe-Warteschlangen nach einem Standardsatz von Regeln zu
- So erstellen Sie Kapseln für NVMe over Fabric
- So stellen Sie NVMe-oF-Kapseln mithilfe des Vertrauten an Glasfaser-, InfiniBand- und Nicht-Glasfaser-Netzwerktransportsysteme bereit Transport Control Protocol oder TCP
Kurz gesagt, die Kombination aus NVMe und TCP, NVMe/TCP überträgt Daten und Befehle schneller und fehlerfrei zwischen NVMe-oF-Hosts und NVMe-oF-Controller-Geräten.
Solche Geräte können über Internet und Intranet mit einem Ethernet-basierten TCP/IP-Netzwerk verbunden werden. Das Verbindungsmedium könnten Glasfaserkabel oder herkömmliche Cat-5- und Cat-6-Kabel sein
Warum NVMe über TCP?
Das ursprüngliche NVMe-Transportsystem war für SSDs gedacht, die direkt in das PC-System gehen, hauptsächlich auf dem Motherboard. Das Transportprotokoll wurde zunächst für NVM-PCIe-SSDs optimiert, die sich intern mit den Servern oder Workstations verbinden.
Später für blitzschnelle und massive Datenspeicheranforderungen in der Cloud wurde das NVMe-Transportprotokoll mit der Transportbindung kurzgeschlossen Spezifikationen, die Cloud-Rechenzentren hauptsächlich verwenden, wie Fibre Channel, RDMA over Converged Ethernet (RoCE), Internet Wide Area RDMA Protocol (iWARP), und Infiniband.
Obwohl die obige NVMe-Modifikation gut funktioniert, ist sie nicht für Public Clouds geeignet, da auf der Client-Seite spezielle Hardware-Ausrüstung benötigt wird. Daher wurde das TCP-Transportbindungssystem integriert, das weltweit leicht verfügbar und über Langstreckennetzwerke zuverlässig ist.
Die Kernkomponenten von NVMe über TCP
Eine NVMe/TCP-Transportspezifikation für NVMe-oF umfasst die folgenden Netzwerkkomponenten:
- Das Remote-Datenzugriffssystem, das das NVMe-Protokoll verwendet, folgt dem Open Systems Interconnection (OSI)-Modell für Computernetzwerksysteme.
- NVMe/TCP nutzt die Ethernet-Netzwerktechnologie, die in der physischen OSI- und OSI-Datenverbindungsschicht arbeitet.
- Für Kommunikationsprotokolle und Paketdatenaustauschrichtlinien stützt sich NVMe/TCP auf das TCP/IP-Protokoll.
- NVMe-Befehlssätze zum Konvertieren aller vom Benutzer ausgegebenen Befehle und Anwendungs-E/A in eine bestimmte NVMe-Befehlstabelle wie Admin, E/A, Fabric usw.
- Die Remote-Übertragung von NVMe-Befehlen in einer nachrichtenbasierten Struktur erfolgt mithilfe von Kapseln. Diese Kapseln könnten Antwort- oder Befehlskapseln sein. NVMe-Befehlskapseln stellen eine Einheit des NVMe-Datenaustauschs dar.
- Ein Subsystem und ein Host-Controller kommunizieren untereinander, indem sie NVMe/TCP-Protokolldateneinheiten oder NVMe/TCP-PDUs austauschen.
- Es gibt einen dreistufigen Verbindungsprozess zwischen dem Controller-Subsystem und dem Host. Diese Schritte oder Phasen sind NVMe-oF Connect, NVMe/TCP Connect und Fabric Connect.
- In einem NVMe/TCP-Transportbindungssystem werden dynamische E/A-Controller automatisch erstellt und dem Hostcomputer zugewiesen, wenn ein Subsystem erfolgreich eine Verbindung mit dem Host-NVMe-OF herstellt.
Vorteile von NVMe über TCP
- TCP ist das am weitesten verbreitete Internet- oder Intranet-Datenübertragungsprotokoll und ist in jedem Rechenzentrum und den Clients von Cloud-Computing-Ressourcen verfügbar.
- Die Rechenzentren und ihre Clients müssen keine vorhandene Netzwerkhardware wie Router, Switches und NICs ersetzen.
- TCP kann sowohl Glasfaserkabel als auch Cat 5- oder Cat 6-Kabel verwenden und ist daher recht einfach zu warten.
- Die TCP-Transportbindung für NVMe-oF bietet hohe Leistung und geringe Latenz. Daher ist es perfekt für geschäftskritische und CPU-intensive Prozesse auf dem Host-Computer geeignet und kann problemlos von mehreren Remote-Clients ohne Lese-/Schreibkonflikte aufgerufen werden.
- TCP bietet dynamisches Routing. Daher ist TCP im Vergleich zu Remote Direct Memory Access (RDMA) der leistungsstärkste bei großen Rechenzentren und Cloud-Operationen über größere Entfernungen.
- TCP hat eine größere Entwicklergemeinschaft als alle anderen NVMe-Transportspezifikationen.
Herausforderungen von NVMe über TCP
- Wenn Sie einen TCP-Stack verwenden, müssen Sie der CPU erlauben, die meisten TCP-Operationen wie das Berechnen von Prüfsummen aufzulösen. Wenn mehrere Client-Arbeitsstationen Daten von vernetzten Speichergeräten über den Host-PC schreiben und von diesen lesen möchten, wird die Belastung der Host-CPU daher in größerem Maßstab zunehmen.
- Hyperkonvergente Infrastruktur muss einfach sein. Wenn Sie jedoch NVMe/TCP verwenden, machen Sie es komplex.
- NVMe over TCP hat auch einige Sicherheitsschwächen, die Hacker nutzen können, um Ihre Cloud-Operationen zu infiltrieren, die Daten zu stehlen und vertrauliche Daten auf dem verfügbar zu machen dunkles Netz es sei denn, Sie setzen eine strenge Cybersicherheit ein und Antivirus-Lösung.
NVMe über TCP: Schlussworte
TCP ist das führende Protokoll in öffentlichen oder privaten vernetzten Rechenzentren. Daher ist NVMe/TCP die erste Wahl für die Bereitstellung erschwinglicher Speicherlösungen über das Internet, das Intranet und die Cloud-Infrastruktur.
Dieses Protokoll ist auch über Langstrecken-Netzwerkverbindungen skalierbar und zuverlässig. Da die Lese-/Schreiblatenz des Cloud-Speichers den meisten Fibre-Channel-Protokollen entspricht, ist NVMe over TCP die bevorzugte Cloud-Speicher-Transportlösung.
Next Up, 3 Alternativen zum Cloud-Speicher