Red de conocimiento informático - Problemas con los teléfonos móviles - Explicación detallada de la red RoCE

Explicación detallada de la red RoCE

En la actualidad, la tecnología Ethernet siempre ha dominado la Internet global, pero ha dejado al descubierto muchas deficiencias en las redes propietarias de alto ancho de banda y baja latencia. Con el surgimiento del concepto de convergencia de red, el estándar DCB (Data Center Bridging) publicado por IETF resuelve el problema de los enlaces sin pérdidas basados ​​en RDMA/Infiniband, y Ethernet finalmente tiene su propio estándar en el campo de las redes propietarias. Al mismo tiempo, también se ha propuesto el concepto de RDMA sobre Ethernet convergente (RoCE). Después de la actualización de la versión (de RoCEv1 a RoCEv2), las nuevas tarjetas de red y conmutadores de 10 Gb y superiores básicamente tienen soporte RoCE integrado.

En abril de 2010, IBTA lanzó RoCE, que también se llama IBoE (InfiniBand over Ethernet) porque fue lanzado como un anexo a la especificación de arquitectura InfiniBand. En este momento, el estándar RoCE reemplaza la capa de red TCP/IP con la capa de red IB en la capa de enlace Ethernet, por lo que la función de enrutamiento IP no es compatible. El ID de tipo del protocolo RoCE V1 de la capa Ethernet es 0x8915.

En RoCE, el encabezado del protocolo de capa de enlace de infiniband se elimina y el GUID utilizado para representar la dirección se convierte en la MAC de Ethernet. Infiniband se basa en la transmisión física sin pérdidas y RoCE también se basa en la transmisión Ethernet sin pérdidas, lo que generará costos y gastos generales de administración para la implementación de Ethernet. La transmisión sin pérdidas de Ethernet debe depender del soporte QoS L2, como PFC (Control de flujo prioritario). Cuando el grupo de búfer excede el umbral, el receptor enviará una trama de pausa al remitente y la capa MAC del remitente reducirá automáticamente la velocidad de envío después de recibir la trama de pausa. Este requisito significa que todos los nodos en todo el enlace de transmisión, incluidos los extremos, conmutadores y enrutadores, deben admitir QoS L2; de lo contrario, el PFC en el enlace no podrá desempeñar un papel efectivo en ambos extremos.

Debido a que las tramas de datos RoCEv1 no tienen encabezados IP, solo pueden comunicarse dentro de la subred L2. Para solucionar este problema, IBTA propuso RoCE V2 en 2014. RoCEv2 extiende RoCEv1 y reemplaza el GRH (Global Routing Header) con un encabezado UDP y un encabezado IP. La siguiente imagen muestra la estructura del marco extendido.

El diagrama correspondiente al mensaje específico se muestra en la siguiente figura.

Hay dos puntos que vale la pena destacar:

En 4.9, el kernel de Linux implementa RoCEv2, es decir, Soft-RoCE. A diferencia de RoCE, softRoCE funciona en cualquier entorno Ethernet y no depende de NIC, conmutadores, L2QoS y otros soportes.

El objetivo de softRoCE es implementar transporte RDMA en todos los dispositivos habilitados para Ethernet. Su implementación se puede dividir en dos partes: la parte superior está acoplada con la pila RDMA (libibverbs) a través de librxe, y la parte inferior está acoplada con la pila de Linux Layer3 a través de rxe. El usuario ko transmite datos RoCE para el dispositivo RDMA virtual. el túnel UDP de la NIC eth.

ampRoCE puede ejecutarse en entornos de red con y sin pérdidas. Si se ejecuta en un entorno de red con pérdidas, se denomina ROCE resistente. Si se ejecuta en un entorno de red sin pérdidas, se denomina RoCE (RoCE sin pérdidas.

Resumen: aunque RoCE tiene dependencias especiales en la capa de enlace y la capa física, al implementar un nuevo centro de datos, integrará DCB y soporte RDMA para conmutadores, NIC y SOC más nuevos, lo que convierte a RoCE en la mejor opción al construir un nuevo centro de datos o SAN, en lugar de DC heredados, extensiones de SAN u optimizaciones sensibles a los costos, más adecuado para iWRAP que solo requiere RNIC o softRoCE y lo hace. No depender de ningún hardware en absoluto.

1 blogs.com/echo1937/p/7018266.html

2 - Historia de amor de InfiniBand

4 ¿InfiniBand? Especificación de arquitectura Versión 1.2.1 Apéndice A16: RoCE

5 InfiniBand? Especificación de arquitectura versión 1.2.1 Apéndice A17: RoCEv2

6 Ejemplo de formato de paquete RoCEv2 CNP