Aprenda qué es NVMe sobre TCP y cómo funciona NVMe sobre TCP en un lenguaje sencillo.
Explicación de NVMe sobre TCP
La creciente demanda de computación en la nube necesita un sistema de almacenamiento eficiente y asequible. Aunque las unidades de disco duro (HDD) convencionales son muy baratas, no son capaces de alojar software basado en el rendimiento o procesos computacionales en la nube.
Por lo tanto, para abordar este problema en el almacenamiento masivo para dispositivos informáticos, NVM Express Inc. publicó la arquitectura para NVMe SSD, un dispositivo de almacenamiento interno ultrarrápido para computadoras a través de PCIe o bus Peripheral Component Interconnect Express.
Sin embargo, PCIe es solo para comunicaciones de datos directas entre la RAM y la SSD NVMe. ¿Cómo se implementaría lo mismo para un entorno de computación en la nube donde las computadoras host y cliente están ubicadas en lugares remotos? Estos dispositivos solo pueden comunicarse a través de Internet o intranet.
Para abordar este desafío, se diseñó el protocolo NVMe over Fabric o NVMe-oF para permitir el desarrollo de soluciones de almacenamiento en red NVMe. Utiliza la interfaz de especificación de dispositivo lógico NVMe para transferir datos entre la computadora host o el servidor y una red de área de almacenamiento (SAN) o almacenamiento adjunto directo (DAS).
Pero la implementación de NVMe-oF es muy costosa incluso para las grandes empresas. Además, dado que NVMe-oF exige principalmente cable de fibra óptica como medio de transporte de datos del punto A al punto B, no solo es factible implementar NVMe-oF para nubes públicas.
Para solucionar este problema, NVM Express Inc. ha creado el protocolo NVMe sobre TCP o NVMe/TCP.
¿Qué es NVMe sobre TCP (NVMe/TCP)?
NVMe/TCP es una edición extendida de la especificación de comandos de E/S de almacenamiento basada en NVMe. Es la versión avanzada de NVMe-oF y define las funcionalidades del protocolo de transferencia de datos NVMe al protocolo de comunicación basado en mensajes, TCP.
Existe una especificación de transporte NVMe/TCP que describe lo siguiente:
- Cómo mapear colas NVMe siguiendo un conjunto estándar de reglas
- Cómo crear cápsulas para NVMe sobre Fabric
- Cómo entregar cápsulas NVMe-oF a sistemas de transporte de red de fibra, InfiniBand y que no son de fibra mediante el conocido Protocolo de control de transporte o TCP
En pocas palabras, la combinación de NVMe y TCP, NVMe/TCP transfiere datos y comandos más rápido y sin errores entre hosts NVMe-oF y dispositivos controladores NVMe-oF.
Dichos dispositivos se pueden conectar a través de Internet e Intranet utilizando una red TCP/IP basada en Ethernet. El medio de conectividad podría ser cables de fibra óptica o cables Cat 5 y Cat 6 convencionales
¿Por qué NVMe sobre TCP?
El sistema de transporte NVMe original estaba diseñado para SSD que irán directamente al sistema de la PC, principalmente en la placa base. El protocolo de transporte se optimizó inicialmente para SSD PCIe NVM que se conectan internamente a los servidores o estaciones de trabajo.
Más tarde, para requisitos de almacenamiento de datos masivos y ultrarrápidos en la nube, el protocolo de transporte NVMe se conectó con especificaciones de enlace de transporte que los centros de datos en la nube utilizan principalmente, como Fibre Channel, RDMA sobre Ethernet convergente (RoCE), Protocolo RDMA de área amplia de Internet (iWARP) e Infiniband.
Aunque la modificación de NVMe anterior funciona bien, no es adecuada para nubes públicas, ya que se necesita un equipo de hardware especializado por parte del cliente. Por lo tanto, se incorporó el sistema de enlace de transporte TCP, que está fácilmente disponible a nivel mundial y es confiable en redes de larga distancia.
Los componentes principales de NVMe sobre TCP
Una especificación de transporte NVMe/TCP para NVMe-oF incluye los siguientes componentes de red:
- El sistema de acceso remoto a datos que utiliza el protocolo NVMe sigue el modelo de interconexión de sistemas abiertos (OSI) para sistemas de redes informáticas.
- NVMe/TCP utiliza la tecnología de red Ethernet que opera en la capa de enlace de datos OSI física y OSI.
- Para los protocolos de comunicación y las políticas de intercambio de paquetes de datos, NVMe/TCP se basa en el protocolo TCP/IP.
- Conjuntos de comandos NVMe para convertir todos los comandos emitidos por el usuario y la E/S de la aplicación en una tabla de comandos NVMe específica como administración, E/S, estructura, etc.
- La transferencia remota de comandos NVMe, en un tejido basado en mensajes, se realiza mediante cápsulas. Estas cápsulas pueden ser cápsulas de respuesta o de comando. Las cápsulas de comando NVMe representan una unidad de intercambio de datos NVMe.
- Un subsistema y un controlador de host se comunican entre sí mediante el intercambio de unidades de datos de protocolo NVMe/TCP o PDU NVMe/TCP.
- Hay un proceso de conexión de tres pasos entre el subsistema del controlador y el host. Estos pasos o fases son NVMe-oF Connect, NVMe/TCP Connect y Fabric Connect.
- En un sistema de enlace de transporte NVMe/TCP, los controladores de E/S dinámicos se crean y asignan automáticamente a la computadora host cuando un subsistema se conecta correctamente con el host NVMe-OF.
Beneficios de NVMe sobre TCP
- TCP es el protocolo de transferencia de datos de Internet o Intranet más utilizado y está disponible con todos los centros de datos y los clientes de recursos informáticos en la nube.
- Los centros de datos y sus clientes no necesitan reemplazar el hardware de red existente, como enrutadores, conmutadores y NIC.
- TCP puede usar cable de fibra y cable Cat 5 o Cat 6 y, por lo tanto, el mantenimiento es bastante fácil.
- El enlace de transporte TCP para NVMe-oF ofrece alto rendimiento y baja latencia. Por lo tanto, es perfectamente adecuado para procesos de misión crítica y uso intensivo de la CPU en la computadora host y múltiples clientes remotos pueden acceder fácilmente a ellos sin ningún conflicto de lectura/escritura.
- TCP ofrece enrutamiento dinámico. Por lo tanto, en comparación con el acceso directo a memoria remota (RDMA), TCP tiene el mejor rendimiento en operaciones de centro de datos y en la nube a gran escala desde distancias más largas.
- TCP tiene una comunidad de desarrollo más grande que cualquier otra especificación de transporte NVMe.
Desafíos de NVMe sobre TCP
- Al usar una pila TCP, debe permitir que la CPU resuelva la mayoría de las operaciones TCP, como calcular sumas de verificación. Por lo tanto, a mayor escala, cuando varias estaciones de trabajo cliente soliciten escribir y leer datos de dispositivos de almacenamiento en red a través de la PC host, la carga en la CPU host aumentará.
- La infraestructura hiperconvergente debe ser simple. Sin embargo, cuando usa NVMe/TCP, lo hace complejo.
- NVMe sobre TCP también tiene algunas debilidades de seguridad que los piratas informáticos pueden utilizar para infiltrarse en sus operaciones en la nube, robar los datos y hacer que los datos confidenciales estén disponibles en la dark web , a menos que implemente una solución antivirus y de ciberseguridad estricta .
NVMe sobre TCP: palabras finales
TCP es el protocolo líder en los centros de datos de redes públicas o privadas. Por lo tanto, NVMe/TCP es la primera opción para brindar soluciones de almacenamiento asequibles a través de Internet, intranet e infraestructura en la nube.
Este protocolo también es escalable y confiable en conexiones de red de larga distancia. Dado que la latencia de lectura/escritura del almacenamiento en la nube es equivalente a la mayoría de los protocolos de canal de fibra, NVMe sobre TCP es la solución de transporte de almacenamiento en la nube preferida.
A continuación, 3 alternativas al almacenamiento en la nube