Ce este NVMe peste TCP (NVMe/TCP)

Aflați ce este NVMe peste TCP și cum funcționează NVMe peste TCP într-un limbaj simplu.

NVMe peste TCP explicat

Cererea tot mai mare de cloud computing are nevoie de un sistem de stocare eficient și accesibil. Deși hard disk-urile convenționale (HDD) sunt foarte ieftine, acestea nu sunt capabile să găzduiască software bazat pe performanță sau procese de calcul în cloud.

Prin urmare, pentru a aborda această problemă în stocarea în masă pentru dispozitivele computerizate, NVM Express Inc. a publicat arhitectura pentru NVMe SSD, un dispozitiv de stocare internă extrem de rapid pentru computere prin magistrala PCIe sau Peripheral Component Interconnect Express.

Cu toate acestea, PCIe este doar pentru comunicații directe de date între RAM și SSD NVMe. Cum ar implementa același lucru pentru un mediu de cloud computing în care computerele gazdă și client sunt situate în locuri îndepărtate? Aceste dispozitive pot comunica doar prin internet sau intranet.

Pentru a face față acestei provocări, protocolul NVMe over Fabric sau NVMe-oF a fost conceput pentru a permite dezvoltarea soluției de stocare în rețea NVMe. Utilizează interfața de specificație a dispozitivului logic NVMe pentru a transfera date între computerul gazdă sau server și o rețea de zonă de stocare (SAN) sau stocare atașată direct (DAS).

Dar, implementarea NVMe-oF este foarte costisitoare chiar și pentru întreprinderile mari. De asemenea, deoarece NVMe-oF solicită în principal cablu de fibră optică ca mijloc de transport al datelor de la punctul A la punctul B, nu este doar fezabil să implementați NVMe-oF pentru norii publici.

Pentru a rezolva această problemă, NVM Express Inc. a venit cu protocolul NVMe peste TCP sau NVMe/TCP.

Ce este NVMe peste TCP (NVMe/TCP)?

NVMe/TCP este o ediție extinsă a specificației pentru comenzile I/O de stocare bazate pe NVMe. Este versiunea avansată a NVMe-oF și definește funcționalitățile protocolului de transfer de date NVMe către protocolul de comunicare bazat pe mesaje, TCP.

Există o specificație de transport NVMe/TCP care descrie următoarele:

  • Cum să mapați cozile NVMe urmând un set standard de reguli
  • Cum se creează capsule pentru NVMe peste Fabric
  • Cum să livrați capsule NVMe-oF către sistemele de transport de rețea cu fibră, InfiniBand și non-Fibr, utilizând familiarul Protocolul de control al transportului sau TCP

Pe scurt, combinația dintre NVMe și TCP, NVMe/TCP transferă date și comenzi mai rapid și fără erori între gazdele NVMe-oF și dispozitivele de control NVMe-oF.

Astfel de dispozitive pot fi conectate prin Internet și Intranet folosind o rețea TCP/IP bazată pe Ethernet. Mediul de conectivitate ar putea fi cabluri de fibră optică sau cabluri convenționale Cat 5 și Cat 6

De ce NVMe peste TCP?

Sistemul de transport NVMe original a fost destinat SSD-urilor care vor intra direct în sistemul PC, în principal pe placa de bază. Protocolul de transport a fost inițial optimizat pentru SSD-urile NVM PCIe care se conectează la servere sau stații de lucru intern.

Mai târziu, pentru cerințe fulgerătoare și masive de stocare a datelor în cloud, protocolul de transport NVMe a fost conectat cu legături de transport specificațiile pe care centrele de date în cloud le folosesc în principal, cum ar fi Fibre Channel, RDMA over Converged Ethernet (RoCE), Internet Wide Area RDMA Protocol (iWARP), și Infiniband.

Deși modificarea NVMe de mai sus funcționează bine, nu este potrivită pentru cloud-urile publice, deoarece este nevoie de echipamente hardware specializate din partea clientului. Prin urmare, a fost încorporat sistemul de legare de transport TCP, care este ușor disponibil la nivel global și fiabil în rețelele de distanță lungă.

Componentele de bază ale NVMe peste TCP

O specificație de transport NVMe/TCP pentru NVMe-oF include următoarele componente de rețea:

  • Sistemul de acces la date de la distanță folosind protocolul NVMe urmează modelul de interconectare a sistemelor deschise (OSI) pentru sistemele de rețea de calculatoare.
  • NVMe/TCP utilizează tehnologia de rețea Ethernet care funcționează în stratul fizic OSI și de legătură de date OSI.
  • Pentru protocoalele de comunicație și politicile de schimb de pachete de date, NVMe/TCP se bazează pe protocolul TCP/IP.
  • Seturi de comenzi NVMe pentru a converti toate comenzile emise de utilizator și I/O aplicației într-un tabel de comenzi NVMe specific, cum ar fi admin, I/O, fabric etc.
  • Transferul de la distanță al comenzilor NVMe, într-o țesătură bazată pe mesaje, are loc folosind capsule. Aceste capsule ar putea fi capsule de răspuns sau de comandă. Capsulele de comandă NVMe reprezintă o unitate de schimb de date NVMe.
  • Un subsistem și un controler gazdă comunică între ele prin schimbul de unități de date protocol NVMe/TCP sau PDU-uri NVMe/TCP.
  • Există un proces de conectare în trei etape între subsistemul controlerului și gazdă. Acești pași sau faze sunt NVMe-oF Connect, NVMe/TCP Connect și Fabric Connect.
  • Într-un sistem de legare de transport NVMe/TCP, controlerele I/O dinamice sunt create automat și atribuite computerului gazdă atunci când un subsistem se conectează cu succes la NVMe-OF gazdă.

Beneficiile NVMe peste TCP

  • TCP este cel mai utilizat protocol de transfer de date pe Internet sau Intranet și este disponibil pentru fiecare centru de date și clienții resurselor de cloud computing.
  • Centrele de date și clienții lor nu trebuie să înlocuiască hardware-ul de rețea existent, cum ar fi routerele, comutatoarele și NIC-urile.
  • TCP poate folosi atât cablu de fibră, cât și cablu Cat 5 sau Cat 6 și, prin urmare, întreținerea este destul de ușoară.
  • Legarea de transport TCP pentru NVMe-oF oferă performanță ridicată și latență scăzută. Prin urmare, este perfect potrivit pentru procesele critice și care necesită un proces intensiv de CPU pe computerul gazdă și este ușor de accesat de mai mulți clienți la distanță, fără conflicte de citire/scriere.
  • TCP oferă rutare dinamică. Astfel, în comparație cu accesul direct la memorie la distanță (RDMA), TCP este cel mai performant în operațiunile de centre de date la scară largă și în cloud de la distanțe mai lungi.
  • TCP are o comunitate de dezvoltare mai mare decât orice alte specificații de transport NVMe.

Provocările NVMe peste TCP

  • Când utilizați o stivă TCP, trebuie să permiteți procesorului să rezolve majoritatea operațiunilor TCP, cum ar fi calcularea sumelor de control. Astfel, la scară mai mare, atunci când mai multe stații de lucru client vor solicita să scrie și să citească date de pe dispozitivele de stocare în rețea prin PC-ul gazdă, sarcina CPU-ului gazdă va crește.
  • Infrastructura hiperconvergentă trebuie să fie simplă. Cu toate acestea, atunci când utilizați NVMe/TCP, îl faceți complex.
  • NVMe peste TCP are, de asemenea, unele deficiențe de securitate pe care hackerii le pot utiliza pentru a se infiltra în operațiunile dvs. în cloud, a fura datele și a face date confidențiale disponibile pe dark web cu excepția cazului în care implementați o securitate cibernetică strictă și soluție antivirus.

NVMe peste TCP: cuvinte finale

TCP este protocolul principal în centrele de date în rețea publice sau private. Prin urmare, NVMe/TCP este prima alegere pentru furnizarea de soluții de stocare la prețuri accesibile prin internet, intranet și infrastructura cloud.

Acest protocol este, de asemenea, scalabil și fiabil pentru conexiuni de rețea la distanță lungă. Deoarece latența de citire/scriere a stocării în cloud este echivalentă cu majoritatea protocoalelor de canal de fibră, NVMe peste TCP este soluția preferată de transport de stocare în cloud.

Urmatorul, 3 alternative la stocarea în cloud