Leer wat NVMe over TCP is en hoe NVMe over TCP werkt in een gemakkelijke taal.
NVMe via TCP uitgelegd
De toenemende vraag naar cloud computing vraagt om een efficiënt en betaalbaar opslagsysteem. Hoewel conventionele harde schijven (HDD's) spotgoedkoop zijn, zijn deze niet in staat om prestatiegestuurde software of computerprocessen in de cloud te hosten.
Om dit probleem in massaopslag voor computerapparaten aan te pakken, publiceerde NVM Express Inc. daarom de architectuur voor NVMe SSD, een razendsnel intern opslagapparaat voor computers via PCIe of Peripheral Component Interconnect Express-bus.
PCIe is echter alleen voor directe datacommunicatie tussen de RAM en NVMe SSD. Hoe zou je hetzelfde implementeren voor een cloud computing-omgeving waar host- en clientcomputers zich op afgelegen plaatsen bevinden? Deze apparaten kunnen alleen communiceren via internet of intranet.
Om deze uitdaging aan te gaan, is het NVMe over Fabric- of NVMe-oF-protocol ontworpen om de ontwikkeling van NVMe-netwerkopslagoplossingen mogelijk te maken. Het gebruikt de NVMe-interface voor logische apparaatspecificaties om gegevens over te dragen tussen de hostcomputer of server en een Storage Area Network (SAN) of Direct Attached Storage (DAS).
Maar de implementatie van NVMe-oF is erg duur, zelfs voor grote ondernemingen. Aangezien NVMe-oF voornamelijk glasvezelkabel vereist als transportmedium van gegevens van punt A naar punt B, is het niet alleen haalbaar om NVMe-oF in te zetten voor openbare clouds.
Om dit probleem aan te pakken, heeft NVM Express Inc. het NVMe over TCP- of NVMe/TCP-protocol ontwikkeld.
Wat is NVMe over TCP (NVMe/TCP)?
NVMe/TCP is een uitgebreide editie van de op NVMe gebaseerde I/O-opdrachtspecificatie voor opslag. Het is de geavanceerde versie van NVMe-oF en definieert de functionaliteiten van het NVMe-protocol voor gegevensoverdracht naar het op berichten gebaseerde communicatieprotocol TCP.
Er is een NVMe/TCP-transportspecificatie die het volgende beschrijft:
- NVMe-wachtrijen in kaart brengen volgens een standaardset regels
- Hoe capsules te maken voor NVMe over Fabric
- NVMe-oF-capsules leveren aan glasvezel-, InfiniBand- en niet-glasvezelnetwerktransportsystemen met behulp van het bekende Transport Control Protocol of TCP
Kortom, de combinatie van NVMe en TCP, NVMe/TCP draagt gegevens en opdrachten sneller en foutloos over tussen NVMe-oF-hosts en NVMe-oF-controllerapparaten.
Dergelijke apparaten kunnen worden aangesloten via internet en intranet met behulp van een op Ethernet gebaseerd TCP/IP-netwerk. Het connectiviteitsmedium kan glasvezelkabels of conventionele Cat 5- en Cat 6-kabels zijn
Waarom NVMe over TCP?
Het oorspronkelijke NVMe-transportsysteem was bedoeld voor SSD's die rechtstreeks in het pc-systeem gaan, voornamelijk op het moederbord. Het transportprotocol is in eerste instantie geoptimaliseerd voor NVM PCIe SSD's die intern verbinding maken met de servers of werkstations.
Later, voor razendsnelle en enorme vereisten voor gegevensopslag in de cloud, werd het NVMe-transportprotocol hotwired met transportbindingsspecificaties die clouddatacenters meestal gebruiken, zoals Fibre Channel, RDMA over Converged Ethernet (RoCE), Internet Wide Area RDMA Protocol (iWARP) , en Infiniband.
Hoewel de bovenstaande NVMe-aanpassing prima werkt, is deze niet geschikt voor openbare clouds, aangezien er gespecialiseerde hardwareapparatuur nodig is van de kant van de klant. Daarom werd het TCP-transportbindingssysteem opgenomen dat wereldwijd direct beschikbaar is en betrouwbaar is via langeafstandsnetwerken.
De kerncomponenten van NVMe via TCP
Een NVMe/TCP-transportspecificatie voor NVMe-oF omvat de volgende netwerkcomponenten:
- Het systeem voor gegevenstoegang op afstand dat het NVMe-protocol gebruikt, volgt het Open Systems Interconnection (OSI)-model voor computernetwerksystemen.
- NVMe/TCP maakt gebruik van de Ethernet-netwerktechnologie die werkt in de fysieke OSI- en OSI-datalinklaag.
- Voor communicatieprotocollen en beleid voor pakketgegevensuitwisseling vertrouwt NVMe/TCP op het TCP/IP-protocol.
- NVMe-commandosets om alle door de gebruiker uitgegeven commando's en applicatie-I/O om te zetten in een specifieke NVMe-commandotabel zoals admin, I/O, fabric, etc.
- De externe overdracht van NVMe-commando's, in een op berichten gebaseerde structuur, vindt plaats met behulp van capsules. Deze capsules kunnen respons- of commandocapsules zijn. NVMe-opdrachtcapsules vertegenwoordigen een eenheid van NVMe-gegevensuitwisseling.
- Een subsysteem en hostcontroller communiceren onderling door NVMe/TCP Protocol Data Units of NVMe/TCP PDU's uit te wisselen.
- Er is een verbindingsproces in drie stappen tussen het controllersubsysteem en de host. Deze stappen of fasen zijn NVMe-oF Connect, NVMe/TCP Connect en Fabric Connect.
- In een NVMe/TCP-transportbindingsysteem worden automatisch dynamische I/O-controllers gemaakt en toegewezen aan de hostcomputer wanneer een subsysteem met succes verbinding maakt met de host NVMe-OF.
Voordelen van NVMe via TCP
- TCP is het meest gebruikte protocol voor gegevensoverdracht via internet of intranet en is beschikbaar bij elk datacenter en de klanten van cloud computing-bronnen.
- De datacenters en hun klanten hoeven bestaande netwerkhardware zoals routers, switches en NIC's niet te vervangen.
- TCP kan zowel glasvezelkabel als Cat 5- of Cat 6-kabel gebruiken en daarom is onderhoud vrij eenvoudig.
- TCP-transportbinding voor NVMe-oF biedt hoge prestaties en lage latentie. Het is dus perfect geschikt voor bedrijfskritische en CPU-intensieve processen op de hostcomputer en is gemakkelijk toegankelijk voor meerdere externe clients zonder lees-/schrijfconflicten.
- TCP biedt dynamische routering. In vergelijking met RDMA (Remote Direct Memory Access) presteert TCP dus het beste in grootschalige datacenter- en cloudoperaties over grotere afstanden.
- TCP heeft een grotere ontwikkelingsgemeenschap dan alle andere NVMe-transportspecificaties.
Uitdagingen van NVMe via TCP
- Wanneer u een TCP-stack gebruikt, moet u de CPU toestaan om de meeste TCP-bewerkingen op te lossen, zoals het berekenen van checksums. Dus, op grotere schaal, wanneer meerdere clientwerkstations zullen vragen om gegevens te schrijven en te lezen van netwerkopslagapparaten via de host-pc, zal de belasting van de host-CPU toenemen.
- Hyperconverged infrastructuur moet eenvoudig zijn. Wanneer u echter NVMe/TCP gebruikt, maakt u het complex.
- NVMe over TCP heeft ook enkele zwakke punten in de beveiliging die hackers kunnen gebruiken om uw cloudactiviteiten te infiltreren, de gegevens te stelen en vertrouwelijke gegevens beschikbaar te maken op het dark web , tenzij u een strenge cyberbeveiligings- en antivirusoplossing implementeert .
NVMe over TCP: laatste woorden
TCP is het leidende protocol voor datacenters in openbare of particuliere netwerken. Daarom is NVMe/TCP de eerste keuze voor het leveren van betaalbare opslagoplossingen via internet, intranet en cloudinfrastructuur.
Dit protocol is ook schaalbaar en betrouwbaar over langeafstandsnetwerkverbindingen. Aangezien de lees-/schrijflatentie voor cloudopslag gelijk is aan die van de meeste glasvezelprotocollen, is NVMe over TCP de transportoplossing voor cloudopslag die de voorkeur heeft.
Vervolgens drie alternatieven voor cloudopslag