[en] ABSTRACT: Nowadays there are many different protocols that try to improve the network's efficiency. This project focuses on the congestion control algorithms which propose a group of techniques to avoid network saturation situations and to recover data in case of loss. Congestion control algorithms are especially associated to one of the main internet protocols, TCP, which deals with the transport layer in the protocol stack. Current networks have more and more bandwidth, while servers are many times still located in remote places. This makes it very common to find networks in which the large bandwidth delay product is high. As we will study during this project, the most extended version of TCP, New Reno, doesn't show an optimal behaviour under these conditions. Many alternatives have emerged to improve the benefits of TCP on this kind of networks, noting TCP CUBIC, that has achieve a relevant role. Special emphasis is put on congestion control algorithms that include TCP CUBIC, introduced automatically in the Kernel de Linux, that provides a important increase of the efficiency on this kind of networks. To do so, we have studied which are the main features and the benefits it provides compared to other sort of protocols. To analyze the benefits of CUBIC we have used the simulation tool Network Simulator 3. First of all, it has been integrated an available implementation of CUBIC of the Institute of Technology of Atlanta. Results show an exhaustive analysis of CUBIC about different topologies, wired and wireless. Results reveal under ideal conditions, an increase of more than 60% comparing the standard version of TCP New Reno.

[es] RESUMEN: En la actualidad existen una gran variedad de protocolos que buscan mejorar el rendimiento de la red. Este proyecto se centra en los algoritmos de congestión, los cuales proponen un conjunto de técnicas para evitar situaciones de saturación en la red y recuperar los datos en caso de pérdida. Los algoritmos de congestión están especialmente asociados a uno de los principales protocolo de Internet, TCP, que aborda la capa de transporte en la pila de protocolos. Las redes actuales cada vez disponen de un mayor ancho de banda, mientras que los servidores siguen estando ubicados, en muchas ocasiones, en lugares remotos. Esto hace que sea muy común redes donde el producto ancho de banda, retardo sea elevado. Como se estudiará durante este proyecto, la versión más extendida de TCP, New Reno, no muestra un comportamiento óptimo bajo estas condiciones. Varias alternativas han surgido para mejorar las prestaciones de TCP sobre este tipo de redes, destacando TCP CUBIC, que ha cobrado un papel relevante. Se pone especial atención sobre los algoritmos de congestión que incorpora TCP CUBIC, implementado por defecto en el Kernel de Linux, que proporciona un incremento considerable del rendimiento sobre este tipo de redes. Para ello, se ha estudiado cuáles son sus principales características y qué beneficios proporciona frente otro tipo de protocolos. Para analizar las prestaciones de CUBIC se ha hecho uso de la herramienta de simulación ns-3. Primero se ha integrado una implementación disponible de CUBIC, del Instituto Tecnológico de Atlanta. Los resultados muestran un análisis exhaustivo de CUBIC sobre diferentes topologías, tanto cableadas como inalámbricas. Los resultados ponen de manifiesto, en condiciones ideales, un incremento de más del 60% en comparación con la versión estándar, de TCP New Reno.