Sunteți pe pagina 1din 17

Tecnolgico de Monterrey

Network Coding

Frank Josu Gonzlez 795025

1 Introduccin
1.1 Qu es Network Coding?
1.1.1 1.1.2 Ventajas Desventajas

2 Marco Terico
2.1 Tipologa y codificacin
2.1.1 Cdigo Lineal

3 Aplicaciones y Retos

1. Introduccin 1.1 Qu es Network Coding?


El internet ha estado creciendo a pasos agigantados desde su instauracin, y es por ello que se han buscado infinitas maneras de hacer ms eficiente la transmisin de datos. Una propuesta que se ha evaluado ltimamente se denomina, Network Coding. El concepto se remonta desde hace varios aos en un artculo escrito en 1948. (C. E. Shannon, BA mathematical theory of communication,[ Bell Syst. Tech. J., vol. 27,pp. 379423, 1948, 623-656.]. Es ah donde se proponen las bases de lo que hoy viene siendo el concepto de Network Coding. Una manera fcil de conceptualizar el cmo trabaja el network coding, es proponiendo la idea de un sistema que recibe, guarda, agrega, y enva (Baochun p.363). El concepto viene bsicamente en crear un modelo de red en el cual ciertos nodos contengan ya parte de la informacin requerida, por lo tanto digamos que cada nodo se est anticipando a la informacin que en un futuro podra ser enviada a el mismo (Baochun p.364). Dentro de cada paquete que cada nodo recibe, contiene informacin sobre qu datos faltan, es as que el nodo aade y reenva al siguiente nodo. Este esquema ayudara mucho a disminuir el trfico de paquetes, ya que en lugar de mandarse dos o tres paquetes se pueden enviar uno solo con informacin codificada, y en el transcurso a su destinatario final solo se va aadiendo informacin. Por lo tanto podramos decir que en lugar de mandarse 5 paquetes, se podra mandar uno solo con informacin codificada y se va aadiendo a lo largo de la ruta a su nodo destinatario final, que al llegar a su destino la informacin recibida llega completa pero sin haber generado tanto trfico. Con esto en mente, podemos ver una solucin viable para el problema del trfico de paquetes en el internet. El problema en implementar este tipo de sistemas es que se requiere de una restructuracin total de los

sistemas de informacin. Esto es porque se requiere reprogramar cada uno de los nodos que forman parte de la red. La idea de network coding se ha ido modificando a lo largo de los aos, pero su concepto original sigue intocable. Se ha demostrado por mltiples estudios que el network coding es una posible y real solucin para muchos de los problemas de congestionamiento en las redes. Los estudios tienen en su principal enfoque crear una atmsfera de confianza para que las organizaciones mayores empiecen a incluir en sus nuevos protocolos el concepto de network coding. Se han investigado diferentes tipologas para encontrar la manera ideal de implementar el network coding. La tipologa del tipo Butterfly es la ms sencilla propuesta hasta el momento, sin embargo eso no implica que no sea efectiva. Un estudio reciente elaborado sobre esta tipologa muestra como el network coding puede ser utilizado para redes del tipo TCP. El rendimiento fue tan satisfactorio que desde que se hizo pblico el resultado en la publicacin: Network CodingMeets TCP: Theory and Implementation. Jay Kumar Sundararajan, Devavrat Shah, Muriel Me dard, Fellow IEEE, Szymon Jakubczak, Michael Mitzenmacher, and Joao Barrosel ha desatado una serie de investigaciones sobre cul es la manera ms adecuada para implementar network coding en diferentes tipologas. Gracias a este estudio se ha generado un inters mayor por el network coding.

1.1.1 Ventajas

Los beneficios de usar network coding son extensos. Pero sin duda el rea que ms se vera beneficiada es la de multimedia. El problema principal en la transmisin de video se debe a que debido al congestionamiento en el trfico de una red, los paquetes se atrasan o se pierden (Weber p.1), generando un problema en la recepcin. Si nos referimos a transmisiones en vivo, esto representa un rubro an ms delicado. Network coding ayudara grandemente en este punto ya que reduce el trfico y la cantidad de paquetes que tienen que ser enviados, entonces esto automticamente mejorara la recepcin multimedia. La tipologa del tipo Mantis (Figura 1) es la que se ha probado recientemente en transmisiones del tipo multimedia. Esta se basa en la tipologa tipo Butterfly, solo que con pequeas modificaciones.

Figura 1 (Weber p2) Tipologa tipo Mantis [6]

Para obtener un alto rendimiento en este tipo de tipologa, cabe mencionar el uso de cdigos de Gabidulin. Utilizando cdigos de Gabidulin se puede crear un esquema de matrices en los cuales la informacin va avanzando de manera progresiva entre cada uno de los nodos de arriba hasta llegar a su destinatario final. (Weber p6) El rea donde el network coding podra verse ampliamente aprovechado es en las transmisiones de datos va P2P. Dado a la manera de trabajar del P2P, cualquier punto de transmisin, desde servidores cabeza hasta smartphones, podran ser considerados nodos (Niu p.514.). Para aprovechar esta ventaja, es necesario que se utilicen tipologas del tipo overlay (ver ejemplos a continuacin figura 2).

Figura 2 (Niu p.526)[7] . Ejemplos de tipologas P2P.

1.1.2 Desventajas

Las ventajas del Network Coding son extensas, pero as tambin tiene su lado opuesto. Una de las principales desventajas que el Network Coding presenta es la falta de confianza que han expresado los ingenieros y empresas hacia esta solucin. El costo de una reprogramacin de todos los servidores, as como la elaboracin de los diferentes algoritmos para poder hacer uso de los nodos segn la tipologa empleada, pone analizar a los empresarios y dueos de diversas empresas de que si es rentable el emplear esta solucin. La programacin de algoritmos tambin se puede tomar en cuenta como una gran desventaja, ya que, como veremos ms adelante, las diferentes tipologas obligan hacer uso de un extenso vocabulario matemtico, por lo que su programacin se ve complicada grandemente. Uso de cdigos no lineales hacen de la programacin un reto que an no se perfeccionado en todas sus reas. Otro problema que menciona Niu, es que las diferentes empresas y marcas de productos electrnicos debern ponerse de acuerdo para establecer una base sobre la cual se pueda trabajar (Niu p.521). Un proyecto tan ambicioso como el lograr el buen funcionamiento y rendimiento de archivos tipo streaming por medio de network coding, requiere de un trabajo combinado, ya que aplicar esta solucin en todas las tecnologas electrnicas y medios de transmisin se tiene que trabajar en todas las capas del model OSI, consecuente con esto, empresas encargadas de productos que manejan la capa fsica, protocolos y software deben de tener un estndar establecido. (Niu p.522).

2 Marco Terico

Dentro del artculo escrito por Shannon [9], deja muy en claro que hay una gran diferencia entre la seal y la informacin. Las dos son cosas separadas pero vienen juntas al momento de transmitir datos. Esto es importante ya que el objetivo principal del Network Coding es representar informacin generada de una fuente de informacin de la mejor manera posible, esto es usando la menor cantidad de datos (bits) posibles (Yeung p.367). Para explicar mejor el funcionamiento y acercarnos a un concepto matemtico, explicaremos el Network Coding utilizando como ejemplo un diseo sencillo de cintas magnticas del tipo RAID. En la figura 3 podemos observar en forma clara y sencilla como se puede llegar a distribuir informacin si cada uno de los nodos contiene parte de la informacin requerida por el destinatario quien solicito dicha informacin. Hay diferentes rutas que se pueden seguir pero al final el resultado es el mismo, que los dos solicitantes obtengan XY (Yeug p.367).

Figura 3 Transmisin de datos en Network Coding

Tomaremos otro ejemplo para profundizar ms en cmo trabaja Network Coding. Tomemos como base la siguiente ecuacin matemtica (1.1):

1.1 Aqu consideraremos dos fuentes de informacin estadsticamente independientes. Aqu se muestran las dos fuentes independientes, si consideramos nuestro ejemplo anterior, juntaremos las dos fuentes de transmisin. Al momento de juntarlas por medio de los caminos o rutas establecidas podemos hacer notorio que el nodo posicionado en la parte inferior izquierda, no tiene manera de recibir informacin de la fuente Y, ya que no tiene ruta trazada que lo pueda alimentar de dicha informacin.

Figura 4 La idea principal de Network Coding es reducir la cantidad de datos transmitidos.

Tomando en cuenta este ejemplo podemos darnos una visualizacin aproximada de cmo trabajara el Network Coding en una red mas compleja.

Figura 5 La combinacin de las dos redes anteriores

Figura 6

Vista general de como se implementara Network Coding en una topologa aleatoria.

2.1 Tipologa y Codificacin

Hemos ya introducido tipologas, pero ahora ahondaremos un poco ms en el tema. La tipologa mayormente propuesta para el uso de Network Coding en TCP es la del tipo Butterfly (Figura 7). Esta tipologa se utiliza dentro de un concepto de una red lineal.

Figura 7- Topologa del tipo Butterfly

El ruteo dentro de la tipologa Butterfly es muy efectivo ya que todos los nodos se encuentran conectados entre s. La codificacin que se utiliza es la lineal (Linear Network Coding) o LNC por sus siglas en ingls.

La herramienta utilizada para la construccin del LNC se basa en 5 teoremas y coralarias explicadas profundamente en [2]. Es fundamental examinar cada uno de las redes y tipologas por medio de mtodos matriciales, es aqu donde viene el problema matemtico de programacin. Es por eso que se prefiere utilizar el Linear Network Coding sobre cualquier otro mtodo de codificacin. Existen ms mtodos de codificacin, y estos van muy de la mano con las diferentes tipologas, pero estos an no han sido evaluados en su totalidad. Random Linear Coding, LNC para PID, LNC con algebra conmutativa, y LNC de manera convolucional solo son algunos aplicables a la topologa del tipo Buttefly.

2.1.1 Cdigo Lineal


La codificacin lineal es hasta hoy en da la codificacin que mas se usa dentro del esquema de Network Coding. La razn es sencilla: Es hasta ahorita el mtodo mas fcil de implementar, y a su ves es muy efectivo. Toda la teora matemtica de la codificacin se implementa utilizando el teorema de Shannon. Para corregir los errores y revisar los datos enviados se utiliza el cdigo de Hamming, por lo tanto, el cdigo lineal se basa en una transmisin matricial. Es necesario aplicar el cdigo lineal en todas las etapas o capas del modelo OSI. Esto implica a que una ves tomada la decisin de aplicar Network Coding utilizando una codificacin lineal, (Niu p523). Explicaremos la manera de trabajar de una codificacin lineal. Una codificacin lineal consta de varias etapas: generacin de la informacin, encripcin de la informacin, decodificacin, y verificacin y comprobacin de la informacin. Explicaremos primeramente como se comporta la codificacin lineal. Supongamos que tenemos un grupo de nodos P, los cuales son encargados en mover informacin y datos desde un nodo fuente S usando de intermediario los nodos K. Cada nodo genera un nuevo paquete, lo cual es una combinacin lineal de los paquetes recibidos anteriormente. Un mensaje es generado y se relaciona con el mensaje anteriormente recibido mediante la ecuacin 2.1

[2.1]

Cada nodo renva el valor calculado junto con todos los coeficientes (valores) anteriormente utilizado hasta ese punto, es decir hasta ese nodo. El tamao de la matriz resultante es del mismo tamao que el vector anteriormente recibido. Esto se debe a que los valores de los coeficientes vienen de un campo de Galois y los resultados se disean en base a un campo de operacin finito (Sundararaja p378) [3]. Cuando el nodo transmite el nuevo resultado, el nodo que recibi dicho paquete tiene que resolver una ecuacin lineal utilizando los ltimos paquetes que ya recibi, es as como usa informacin anteriormente recibida y mandada para recodificar la informacin y mandarla ya actualizada, esto es siempre teniendo en mente que el resultado de el nuevo vector generado es del mismo tamao que los anteriores [Figura 8]. Por ltimo cada no usa continuamente el mtodo de eliminacin Gaussiana para reducir cada matriz en su tamao (Sundararaja p378) [3].

Figura 8.

Se muestra para una topologa aleatoria la manera en que trabaja la codificacin lineal por medio de matrices. Figura tomada de(Sundararaja p379) [3].

3 Aplicaciones y Retos

Hay diversas maneras de poder utilizar la herramienta del Network Coding, estas van desde transmisin de datos por medio de una red P2P, hasta transmisin de video en vivo (streaming) y proteccin de datos. Una interesante propuesta es en el artculo escrito por Muril Medard y Bernhard Haeupler [10]. Aqu se demuestra queNetwork Coding no necesita ni ocupa mucho espacio en memoria de los ordenadores, por lo tanto se puede utilizar para ahorrar espacio en disco. Se utiliza el Random Linear Network Coding para lograr dicho ahorro. Tambin presentan 2 tipos de variantes que se pueden utilizar para la transmisin de paquetes dentro del esquema RLNC. Otra interesante aplicacin es una propuesta que lleva el Network Coding a la capa fsica. Explora diferentes soluciones para la interferencia, as como diferentes topologas que se pueden utilizar segn la aplicacin. Esto implica utilizar Network Coding como una manera de solucionar problemas de interferencia y ruido [11]. Una de las principales amenazas de un posible colapso en las redes mundiales es por el aumento del trfico por multimedia. Network Coding es una posible solucin a este problema que va en aumento. Usando tipologas del tipo Butterfly y matemticas extensas, se ha podido encontrar una solucin prctica y sin daar la resolucin de video streaming en formato mpeg[6].

Bibliografa

1. Baochun, Li, and Wu Yunnan. "Network Coding." "Network Coding." Proceedings of the IEEE 99.3 (2011): 357-58. Print. 2. Li, Shuo-Yen Robert, Qifu Tyler Sun, and Ziyu Shao. "Linear Network Coding: Theory and Algorithms." Proceedings of the IEEE 99.3 (2011): 372-87. Print.

3. Sundararajan, Jay Kumar, Devavrat Shah, Muriel Medard, Szymon Jakubczak, Michael Mitzenmacher, and Joo Barros. "Network Coding Meets TCP: Theory and Implementation." Proceedings of the IEEE 99.3 (2011): 490-512. Print. 4. Yeung, Raymond W. "Network Coding: A Historical Perspective." Proceedings of the IEEE 99.3 (2011): 366-71. Web.

5. Kim, Min Ji, Muriel Medard, and Joo Barros. "Modeling Network Coded TCP Throughput: A Simple Model and Its Validation." Web. 6. Walsh, John McLaren, and Steven Weber. "A Concatenated Network Coding Scheme for Multimedia Transmission." Web. 7. Li, Baochun, and Di Niu. "Random Network Coding in Peer-to-Peer Networks: From Theory to Practice." Proceedings of the IEEE 99.3 (2011): 513-23. Print. 8. Yeung, Raymond W. "Network Coding: A Historical Perspective." Proceedings of the IEEE99.3 (2011): 366-71. Print. 9. C. E. Shannon, BA mathematical theory of communication,[ Bell Syst. Tech. J., vol. 27,pp. 379 423, 1948, 623-656. 10. Haeupler, Bernhard, and Muriel Medard. "One Packet Sufces Highly Efcient Packetized Network Coding With Finite Memory." Print. 11. Nazer, Bobak, and Michael Gastpar. "Reliable Physical Layer Network Coding."Proceedings of the IEEE 99.3 (2011): 438-60. Print.

S-ar putea să vă placă și