Nuevo protocolo DETCP para sistema híbrido VLC



Anteriormente, ya hemos estudiado nuevas tecnologías de almacenamiento de información. Además de la importancia del almacenamiento de datos, aún debe poder transferirlos. El desarrollo de la tecnología ha permitido la creación de muchos métodos de transferencia de información. Y, al parecer, ya hay todo lo que necesita, simplemente puede mejorarlo. Sin embargo, los científicos no serían verdaderos científicos si no buscaran inventar algo nuevo. Y así obtuvimos la tecnología VLC (comunicación de luz visible): transmisión de datos por luz visible. Este método tiene ventajas impresionantes y desventajas decepcionantes. Los científicos de la Universidad de Ciencia y Tecnología de China lograron mejorar el sistema VLC gracias al nuevo protocolo TCP que desarrollaron. ¿Cómo funciona el nuevo sistema, cuáles son sus pros y sus contras, y también tiene futuro? Intentaremos encontrar respuestas a estas y otras preguntas. Vamos

Brevemente: ¿qué es VLC?



VLC (Visible Light Communicatio) es una tecnología de transmisión de luz visible que forma parte de OWC (comunicaciones inalámbricas ópticas). Suena impresionante, futurista e incluso de alguna manera poco realista. Todas las casas tienen lámparas que iluminan las habitaciones. Esta tecnología permite el uso de esta luz como canales de transmisión de datos. Para esto, se utiliza un cierto rango de luz visible: de 400 a 800 THz. Dependiendo del tipo de lámpara, la velocidad de transferencia de datos también cambia: una lámpara fluorescente - 10 kbit / s, y un LED - hasta 500 Mbit / s. Para recibir datos, el dispositivo debe tener un fotodiodo que capte las señales ópticas. En algunos casos, una cámara de teléfono inteligente puede ser suficiente para esto.

VLC es una tecnología muy prometedora. Su aplicación más obvia es la vida cotidiana. Los dispositivos con esta tecnología pueden estar en hogares privados, apartamentos, lugares públicos, etc. Sin embargo, hay ciertas desventajas que ralentizan el proceso de popularización de la tecnología VLC. Hay una tarea difícil: "forzar" al sistema VLC para que proporcione un buen enlace ascendente (enlace ascendente). ¿Por qué es dificil? En primer lugar, los dispositivos móviles son limitados en términos de consumo de energía y no pueden equiparse con fuentes de luz de alto consumo energético. En segundo lugar, para el funcionamiento del sistema VLC se requiere un haz dirigido "claramente". En consecuencia, los dispositivos móviles que movemos y rotamos todo el tiempo no pueden usar completamente la tecnología VLC.


Una representación gráfica aproximada del sistema VLC en la vida cotidiana.

Por supuesto, en los últimos años, varios grupos de investigación han propuesto el uso de transceptores de radiofrecuencia, infrarrojos y reflectores para resolver el problema del enlace ascendente VLC a nivel físico. Sin embargo, debido al modelo asimétrico que se utiliza en la construcción de sistemas VLC utilizando los enfoques anteriores, surgen nuevos problemas, esta vez con la compatibilidad de los protocolos de nivel superior.

Para eliminar todas estas deficiencias y problemas, los investigadores tuvieron que crear un sistema híbrido VLC / Wi-Fi: enlace descendente VLC (enlace descendente) y enlace ascendente Wi-Fi. Esto permitió el uso del protocolo TCP estándar. Todo funciona como se esperaba, pero aún hay un problema: conveniencia y simplicidad, o más bien su ausencia. Tal sistema híbrido requiere equipo adicional, enrutamiento complejo, sin mencionar la reprogramación especial de socket. Todo esto, por supuesto, repelerá a un usuario que quiera usar un sistema efectivo pero fácil de usar.

Detc

Los investigadores decidieron buscar soluciones a todos los problemas en los protocolos de la capa de transporte. Según los científicos, el uso del protocolo TCP estándar es ineficiente en un sistema híbrido VLC. Sugieren usar DETCP (TCP compartido desacoplado), que comparte la transmisión bidireccional de TCP. Es decir, una secuencia TCP puede usar dos conexiones simultáneamente: la conexión principal como un enlace descendente y la conexión adicional como un enlace ascendente. Por lo tanto, DETCP permitirá al usuario usar VLC con alguna otra línea de comunicación para formar un sistema bidireccional híbrido sin tener en cuenta su asimetría. Y la programación adicional de sockets y las rutas difíciles se hundirán en el olvido.

Hoy, la mayoría de las terminales tienen varias interfaces. Para resolver el problema de multidifusión, el Grupo de trabajo de ingeniería de Internet (IETF / Consejo de ingeniería de Internet) propuso una modificación para el protocolo TCP llamado MPTCP - TCP de múltiples rutas (TCP de múltiples rutas ). Permite que una sola conexión transmita paquetes en múltiples rutas simultáneamente. Los investigadores de la tecnología VLC han decidido aplicar esta modificación a su protocolo. El resultado fue el protocolo MP-DETCP .

Conceptos básicos del protocolo DETCP

El protocolo de capa de transporte más común es precisamente TCP, porque permite una transmisión de datos estable y confiable. Sin embargo, existen limitaciones: todas las ventajas de TCP se realizarán por completo solo si la conexión física permite utilizar por completo la transferencia de datos bidireccional. En el caso de VLC, el sistema solo puede proporcionar un enlace descendente que conduce a una interfaz de red unidireccional. Por lo tanto, TCP no puede utilizar completamente todas las capacidades de transferencia de datos.

El protocolo DETCP se creó específicamente para resolver este problema, es decir, para implementar la transferencia de datos en un sistema híbrido que consta de dos conexiones independientes, ya sean unidireccionales, bidireccionales o mixtas.

Según los investigadores, los objetivos más importantes del protocolo DETCP son:

  • separación de transmisiones TCP bidireccionales en dos transmisiones unidireccionales realizadas en dos conexiones físicas independientes y de acuerdo con la configuración del usuario;
  • hacer que el protocolo sea aplicable sin tener que realizar cambios en las aplicaciones existentes que usan el protocolo TCP estándar.

Arquitectura de conexión

El protocolo TCP estándar utiliza el socket para identificar un par de puntos finales para cada host. Por lo tanto, la conexión está vinculada a una conexión física específica, indicada por el zócalo. Sin embargo, en un sistema unidireccional como VLC, la estructura de conexión TCP existente no puede proporcionar transferencia de datos en cada dirección entre hosts debido al hecho de que una conexión unidireccional no puede formar un intercambio / transmisión de datos de circuito.

Para resolver este problema, el protocolo DETCP utiliza una arquitectura de conexión diferente a TCP. Hay dos conexiones físicas en este sistema que son responsables de TCP, y son responsables conjuntamente de la transmisión.


Arquitectura DETCP (derecha) y TCP (izquierda):

  • SIP (dirección IP de origen): dirección IP de origen;
  • OSIP (dirección IP de origen original): dirección IP de origen principal;
  • CSIP (dirección IP de origen complementaria): dirección IP de origen adicional;
  • DIP (dirección IP de destino): dirección IP de destino;
  • ODIP (dirección IP de destino original): dirección IP de destino principal;
  • CDIP (dirección IP de destino complementaria): una dirección IP de destino adicional.


A nivel de conexión, la transferencia de datos sigue siendo bidireccional, pero a nivel de canal hay dos transmisiones separadas dirigidas en diferentes direcciones.

Identificación de conexión

En el protocolo TCP estándar, cada conexión se identifica mediante una tupla de 4 (dirección de origen, puerto de origen, dirección de destino y puerto de destino). La esencia de este mecanismo de control es que la conexión TCP se crea en una conexión. Y dado que DETCP es una combinación de dos conexiones, se necesita una tupla de 6 dimensiones (dirección de origen principal, dirección de origen adicional, puerto de origen, dirección de destino principal, dirección de destino adicional y puerto de destino).

Para que el sistema se corresponda con la segunda tarea que los investigadores se propusieron, la estructura de los enchufes se mantuvo sin cambios. Por lo tanto, era necesario encontrar otra forma de incluir una dirección adicional en la pila de protocolos. Por lo tanto, se decidió utilizar el archivo de configuración del kernel. El usuario podría especificar direcciones adicionales en él, que implementaron una tupla de 6 dimensiones con el par principal estándar de sockets y direcciones adicionales. De esta manera, DETCP garantizó la compatibilidad con los protocolos de capa de aplicación.

Inicio de la apertura y cierre de una conexión.

Los procesos para iniciar la apertura y cierre de una conexión DETCP y TCP son muy similares. Se utilizó el mecanismo de "apretón de manos", ya que es el más efectivo. Sin embargo, se introdujeron dos cambios importantes que distinguen a DETCP de TCP:

  • Como la dirección secundaria local es desconocida para el host remoto antes de que se establezca la conexión, y para cada host se requiere información de dirección completa para realizar una transferencia dividida, se agregó un parámetro TCP para informar al host remoto de las direcciones adicionales durante el proceso de inicio de la conexión.
  • La característica de separación se muestra tanto en la etapa de inicio de la apertura como en la etapa de cierre de la conexión. La siguiente imagen muestra el proceso de un apretón de manos de tres vías, coordinado por una tupla de 6 dimensiones.


Apretón de manos de tres vías, coordinado por una tupla de 6 dimensiones, en la etapa de inicio de la apertura de la conexión.

Transferencia de datos

Para asegurarse de que el proceso de separación sea correcto durante la transferencia de datos, cuando el próximo paquete esté listo para ser enviado, se debe cambiar la dirección de conexión actual. Si esta dirección es de un host remoto a un host local, el envío se realizará a través de una conexión adicional.

En el proceso de obtención de datos, hay un problema que debe abordarse. Si el núcleo utiliza la dirección recibida analizando el encabezado IP directamente en los paquetes entrantes de demultiplexación, pueden estar vinculados a la conexión DETCP incorrecta.

Por ejemplo, el servidor envía un paquete de datos al cliente a través del enlace descendente, y el cliente envía la respuesta a través del enlace ascendente. En tal situación, las direcciones recibidas de la respuesta son direcciones de enlace ascendente, y para el servidor, la conexión está conectada a direcciones de enlace descendente. Este desajuste conduce a errores de paquete. Para evitar tales problemas, los investigadores agregaron la opción TCP.

Operación del protocolo DETCP

Primero necesitas configurar la interfaz. El protocolo DETCP permite al usuario asignar una dirección para una interfaz específica ("Out", "In", "Two-Way") a través del archivo de configuración. Cuando la interfaz asociada con el zócalo se configura como una interfaz unidireccional, el usuario debe designar otra interfaz como una interfaz adicional. La combinación de las cuatro interfaces determina todo el proceso de conexión.


Diagrama de estado DETCP (usando una conexión adicional a la izquierda para enviar paquetes, a la derecha - la conexión principal para enviar paquetes)

Al final del párrafo anterior, hablamos sobre el uso de una opción TCP específica. Esta opción es CPT_ADDR, creada específicamente para garantizar el proceso correcto de transferencia de datos.

Cada paquete transmitido consta de:

  • SYN (cliente a servidor): dirección IP adicional del cliente;
  • SYN / ACK (servidor a cliente): la dirección IP adicional del servidor.


El principio de separación funciona en todas las etapas de la transferencia de datos (inicio de abrir una conexión, transferencia de datos e inicio de cerrar una conexión).


Iniciación de abrir una conexión:

  • SYN (cliente a servidor): la conexión principal;
  • SYN / ACK (servidor a cliente): conexión adicional;
  • ACK (cliente a servidor) es la conexión principal.

Transferencia de datos:

  • Paquetes del cliente al servidor: la conexión principal;
  • Paquetes del servidor al cliente - conexión adicional.


Cierre de la conexión:

  • FIN (cliente a servidor): la conexión principal;
  • ACK (servidor a cliente): conexión adicional;
  • FIN (servidor a cliente): conexión adicional;
  • ACK (cliente a servidor) es la conexión principal.


Pruebas experimentales y evaluación de resultados.


La aparición de la implementación del sistema híbrido.

Para las pruebas de protocolo DETCP y MP-DETCP, se implementaron en el kernel de Linux. El sistema híbrido consistía en un VLC (como enlace descendente, 20 m) y una conexión Ethernet (como enlace ascendente, 100 m). El ancho de banda de todos los canales conectados al enrutador y al sistema VLC se estableció en 100 Mbps.


Topología de red DETCP: en la parte superior hay un enlace ascendente adicional, en la parte inferior hay un enlace descendente VLC.


Topología de red MP-DETCP:
  • Compuestos A y D : VLC de enlace descendente;
  • Los compuestos B y E son compuestos adicionales;
  • Las conexiones C y F son subflujo de Ethernet.


Prueba de disponibilidad

Primero, era necesario verificar si DETCP puede usar efectivamente la banda disponible en un entorno de sistema híbrido. Para probar la estabilidad de DETCP frente al bajo rendimiento de conexiones adicionales, el enlace ascendente del cliente se configuró para que se perdieran algunos paquetes de datos. Este es un tipo de prueba de esfuerzo.



El gráfico anterior muestra el alto rendimiento y la eficiencia de DETCP en un sistema híbrido. La capacidad del canal se usó al 95%, mientras que no se detectó pérdida de paquetes. Cuando el porcentaje de pérdida de paquetes fue de 0.5 a 2.0, el grado de utilización del canal disminuyó a 92%. Sin embargo, DETCP continuó siendo estable y eficiente. Solo con un aumento en el porcentaje de pérdida de paquetes a 5, el rendimiento de DETCP comenzó a disminuir drásticamente.

La conclusión de la prueba es que el uso de DETCP es efectivo en sistemas híbridos, y las conexiones adicionales, aunque afectan la imagen general del rendimiento, son muy insignificantes. Con una mejora adicional del sistema, estos efectos negativos pueden reducirse al mínimo.

Factores de rendimiento

Para probar el sistema y DETCP, es necesario, en primer lugar, determinar qué factores afectarán su rendimiento. Con estos factores, puede ver cómo cambiará la productividad.

Factor # 1: pérdida de paquetes

La interfaz se configuró para que del 0% al 4% de los paquetes de datos se perdieran al azar.



Como se puede ver en el gráfico anterior, el rendimiento disminuye linealmente con un aumento en el porcentaje de paquetes perdidos. También se reveló que con una gran tasa de pérdida de paquetes, aumenta el grado de discrepancia en las lecturas de mediciones repetidas y la tasa de transmisión promedio se vuelve inestable.

Factor # 2: retraso en la transferencia de datos

Para verificar el efecto de este factor, el retraso se ajustó de 0 a 100 ms.



El gráfico anterior muestra la relación entre el ancho de banda y el retraso de la transferencia de datos. Cuando este último es inferior a 20 ms, el ancho de banda es estable y el ancho de banda se utiliza por completo. Si el retraso alcanza los 50 ms, el rendimiento promedio se reduce significativamente. Con un retraso de 100 ms, el rendimiento disminuye hasta en un 35% y la transmisión de paquetes se vuelve inestable.

Factor 3: reordenamiento de paquetes

El factor de verificación final es el reordenamiento de paquetes: algunos de los paquetes se retrasarán y otros, por así decirlo, de manera oportuna.



El diagrama anterior muestra la relación explícita entre el ancho de banda y la reordenación de paquetes. Todas las pruebas mostraron una reducción significativa en el rendimiento. Sin embargo, con un aumento en el retraso, la disminución no se produjo linealmente. Entonces, con un retraso de 10 ms, y el porcentaje de paquetes reordenados es del 5%, la reducción en el rendimiento ocurre de manera gradual e insignificante. Sin embargo, al 10% o 20%, los indicadores simplemente colapsaron.

Las tasas de rendimiento al 5% de los paquetes reordenados con un retraso de 10 ms corresponden aproximadamente a indicadores al 10% y un retraso de 5 ms o 20% y un retraso de 2 ms.

Como conclusión, para un funcionamiento estable y eficiente del sistema, necesita controlar tanto el número de paquetes reordenados como el tiempo de retraso.

Si el rendimiento del enlace descendente de VLC empeora en un sistema en el que el enlace ascendente se presenta como una conexión bidireccional, como mayorista o Wi-Fi, vale la pena considerar la posibilidad de volver al uso de TCP unidireccional estándar que se ejecuta en el enlace ascendente. Esta puede ser una forma efectiva de mejorar la confiabilidad del sistema cuando el rendimiento de VLC de enlace descendente se reduce considerablemente.

Comparación de rendimiento

Una de las principales tareas de subprocesamiento múltiple es aumentar el rendimiento. Esta prueba prueba MP-DETCP y DETCP en las mismas condiciones de conexión. Los resultados se registran cuando la tasa de pérdida de datos varía de 0% a 4%.



El diagrama anterior muestra que, aunque el rendimiento de VLC es inferior al DETCP, MP-DETCP todavía muestra una alta tasa de utilización de banda. Cuando los datos se transmiten sin pérdida de paquetes, se alcanza una velocidad de 115 Mbps, lo que confirma la capacidad de MP-DETCP para proporcionar una conexión eficiente y eficiente. A medida que aumenta la tasa de pérdida de paquetes, el rendimiento de VLC se reduce considerablemente. En este momento, la misma conexión Ethernet también está disminuyendo ligeramente. Sin embargo, el rendimiento general se mantuvo en un nivel bastante alto. Esto significa que si la conexión VLC está dañada y bloqueada, la transferencia de datos se completará en otra conexión.

Resultados de los investigadores

Para resolver el problema de la transmisión de datos en el sistema VLC, los investigadores propusieron usar el protocolo DETCP para separar la transmisión bidireccional. En base a esto, se puede decir que el uso de MP-DETCP mejorará el rendimiento del sistema híbrido VLC.Los protocolos DETCP y MP-DETCP han superado con éxito las pruebas de rendimiento y confiabilidad, lo que demuestra la efectividad de la separación de conexiones.

La implementación de los nuevos protocolos servirá como base para futuras investigaciones sobre tecnologías de red. Incluyendo la investigación en el campo de la hibridación de diversos compuestos físicos para obtener sistemas con un alto grado de rendimiento y rendimiento.

Puede familiarizarse con los detalles de los estudios con la ayuda del informe en este enlace

Epílogo

Cualquier tecnología requiere "pulido" antes de que pueda llamarse efectiva. En el caso de los nuevos protocolos DETCP y MP-DETCP, el trabajo sigue siendo mucho. Sin embargo, los resultados experimentales ya pueden llamarse impresionantes. El sistema VLC ahora es extremadamente popular entre los investigadores, pero no entre los usuarios. Este orden de cosas puede cambiar en los próximos años. Y luego, una bombilla fundida significará no solo la falta de iluminación, sino también Internet.

Gracias por quedarte con nosotros. ¿Te gustan nuestros artículos? ¿Quieres ver más materiales interesantes? Apóyenos haciendo un pedido o recomendándolo a sus amigos, un descuento del 30% para los usuarios de Habr en un análogo único de servidores de nivel de entrada que inventamos para usted: toda la verdad sobre VPS (KVM) E5-2650 v4 (6 núcleos) 10GB DDR4 240GB SSD 1Gbps de $ 20 o cómo dividir el servidor? (las opciones están disponibles con RAID1 y RAID10, hasta 24 núcleos y hasta 40GB DDR4).

Dell R730xd 2 veces más barato? ¡Solo tenemos 2 x Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 TV desde $ 249 en los Países Bajos y los Estados Unidos! Lea sobre Cómo construir un edificio de infraestructura. clase utilizando servidores Dell R730xd E5-2650 v4 que cuestan 9,000 euros por un centavo?

Source: https://habr.com/ru/post/es411907/


All Articles