Codificación y decodificación de paquetes con Random Linear Network Coding utilizando Sockets (2017)
Nuestro principal problema a resolver es presentar una prueba de concepto, en la que se muestre el proceso de codificación y decodificación de paquetes, utilizando coeficientes generados aleatoriamente y que formen un sistema de ecuaciones linealmente independientes. En este proyecto se propone diseñar, programar e implementar una aplicación para computadora, la cual debe emular una red N: 1. Dicha red debe permitir que mínimo 2 y máximo 4 nodos clientes puedan enviar paquetes de mensajes con contenido numérico al mismo tiempo a un solo destino. Se procura utilizar la técnica Random Linear Network Coding, la cual se encarga de codificar N mensajes a través de un agente de reenvío, combinándolos en un paquete, y posteriormente enviarlos a una aplicación servidora principal, la cual será responsable de realizar la decodificación de los paquetes utilizando el método de Cramer. Este envío de datos que se da a través de la red se desea lograr por medio del diseño de un algoritmo para controlar sockets, los cuales ayudan con el intercambio de todos los datos entre cada nodo. Lo primero que se verifica es que todos los clientes tengan la misma cantidad de mensajes, si alguno posee un número menor, se rellenaran con cero losmensajes faltantes. Luego, se da la creación de N ecuaciones con N incógnitas, y a su vez son generados N coeficientes de forma aleatoria, entre números de 0 a 99 para cada ecuación. Una vez generados todos los coeficientes, se da una verificación de que estas ecuaciones sean linealmente independientes. Una vez determinado que las ecuaciones son linealmente independientes, se procede a hallar los valores de las incógnitas, estos valores se encuentran realizando combinaciones lineales entre los coeficientes y los mensajes enviados por los clientes; esto se hará a cada una de las ecuaciones. Luego, se creará un paquete con todos los mensajes codificados y serán enviados al servidor principal para ser decodificados utilizando el algoritmo de Cramer.