Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TEMA:
INFORME DE EVALUACION DEL COMPORTAMIENTO DE TCP
NEW RENO, WESTWOOD Y YEAH
TEMA:
INFORME DE EVALUACION DEL COMPORTAMIENTO DE TCP
NEW RENO, WESTWOOD Y YEAH
CUSCO – PERÚ
2017
PRESENTACION
Mediante el presente informe se busca dar a conocer los diversos algoritmos que se
presentan en control de congestionamiento, los cuales están incluidos en diversas
distribuciones que en este caso se usara en Linux. Los algoritmos que se consideraran
serán los siguientes: New Reno, Westhood y Yeah, en estos protocolos se observaran
las características que estos algoritmos presenten del mismo modo veremos sus
diferencias y similitudes que presentaran en el ancho de banda, rendimiento y velocidad,
para ello usaremos otras herramientas que nos permitan medir dichos parámetros como
el Wireshark y Wanem, estas herramientas nos permiten analizar protocolos y emular
el comportamiento de una wan, para todo ello se realizara pruebas con diferentes
protocolos que se asignaron para su evaluación y se pasara a realizar el diseño
experimental con el cual una vez terminada se pasara a dar las conclusiones para
determinar cuál de los protocolos asignados son los más eficienciente y explicando su
interpretación.
INTRODUCCION
Los algoritmos de control de congestionamiento buscan mejorar el rendimiento de la red
con una gran variedad de protocolos, proponiendo un conjunto de técnicas para evitar
situaciones de saturación en la red y recuperar los datos en caso de pérdida, estos están
asociados al protocolo principal de internet TCP. Se Implementara aplicaciones que
proporcionen un servicio de red utilizando TCP en 2 entornos Linux pero 2 Clientes y
uno como servidor, usando el administrador de líneas como el Wanem que es un
emulador de red de área amplia del cual permitirá configurar parámetros de retardo,
perdida, fluctuación, etc, el cual se usara para realizar las pruebas dentro de un entorno
LAN y conectara el paso entre los clientes y el servidor para transferir los archivos y
poder medir y analizar los datos que nos mostraran las herramientas. Así mismo
podremos comparar entre los algoritmos de TCP asignados como son: NEW RENO,
WESTHOOD Y YEAH mediante la herramienta de Wireshark que mantiene el
registro de las sesiones, nos permite comparar las velocidades de descarga de los
paquetes que el cliente envía al servidor y nos permitirá analizar cuál de todos estos
algoritmos TCP son los mejores para la transferencia de archivos.
INDICE
MARCO TEORICO
1.- TCP (TRANSMISSION CONTROL PROTOCOL)
TCP es uno de los protocolos en internet, este protocolo establecida en el RFC
793, es un protocolo de transporte orientado a la conexión enormemente
extendido en internet, como función principal del nivel de transporte es la de
permitir la comunicación extremo a otro extremo entre dos aplicaciones de
forma económica y fiable. La unidad base de transferencia se denomina
segmento, de tamaño máximo el denominado MSS (Maximun Segment Size),
expresado en octetos. Este protocolo permite ser más complejo, fiable y
orientado a la conexión permite que dos máquinas que están comunicadas
controlen el estado de la transmisión el cual garantiza que los datos entregados a
su destino no presenten errores y estén en el mismo orden que se transmitió.
Proporciona el servicio de comunicación aplicando los siguientes mecanismo:
Transferencia de datos: Transmite un flujo continuo de bytes a través del
sistema de internet, la aplicación no debe preocuparse por dividir los datos en
bloques básicos o datagramas, TCP lo que hace es agrupar los bytes en
segmentos TCP, que son entregados al módulo ip para ser transmitidos al
destino. TCP busca segmentar los datos, cuando bloquear y cuando enviar los
datos. A veces las aplicaciones necesitan estar seguras de que todos los datos
que habían entregado al módulo TCP han sido transmitidos, para ello se define
una función “push” (entrega inmediata) para así conocer que los datos
entregados son realmente entregados.
Fiabilidad: TCP debe poder recuperar los datos que se puedan corromper,
dupliquen, pierdan o se entreguen en desorden, esto se consigue asignando un
numero de secuencia a cada byte transmitido, y exigiendo un ACK
(reconocimiento) sino se recibe un ACK dentro de un cierto plazo de tiempo
prefijado, los datos se retransmitirán, el receptor se utilizan números de
secuencia para así poder ordenar correctamente cada segmento que pueda
haber llegado desordenados y para eliminar cualquier otro duplicado.
Control de flujo: TCP da al receptor el medio para poder controlar la cantidad
de datos enviados por el emisor, esto se da cuando el receptor envía un ACK
hacia el emisor, que indica el número de bytes que puede recibir de acuerdo a
su buffer interno este mecanismo se conoce como “Mecanismo de ventana
deslizante”.
Multiplexing: TCP permite que dentro de un mismo host se pueda realizar
simultáneamente comunicaciones entre diferentes proceso ya que TCP
proporciona una serie de direcciones o puertos dentro de cada host, esto se
concatena con las direcciones de red y de host de la capa de comunicación de
internet forman lo que se conoce como un “socket”.
Conexiones Lógicas: Estas conexiones son un conjunto de diferentes
características como son la fiabilidad, control de flujo, flujo de datos, números
de secuencia, los tamaños de las ventanas he incluido los sockets, cada
conexión queda como única por un par de sockets que corresponden dentro del
proceso de emisor y receptor.
Full Duplex: TCP proporciona que el flujo de datos concurrente en ambas
direcciones.
Prioridad y seguridad: TCP permite dentro de sus aplicaciones indicar el nivel
de seguridad y prioridad de su comunicación.
2.1. RENO
En 1990, se propone el algoritmo TCP RENO como sucesor de TCP
TAHOE y fue implementado por primera vez en el sistema 4.38SD Unix,
manteniendo las características de su antecesor incorporo el algoritmo de
recuperación rápida o fast recovery (FR) el cual evita el ingreso a la fase
de arranque lento (SS), cuando se detectan tres reconocimientos duplicados
(AKCs), en la fase prevención de congestion (CA) y bajo esta circunstancia
el emisor ejecuta las siguientes acciones: reconfigura la variable sstresh,
retransmite el segmento perdido y actualiza la ventana de congestion,
finalmente abandona la fase de recuperación rápida para regresar a la fase de
prevención de congestion (CA). El algoritmo implementado de recuperación
rápida actúa conjuntamente con el de retransmisión rápida, de esta forma
se permite la recuperación más rápida tras la retransmisión pero existe un
inconveniente el más destacado es el que, en caso de tener múltiples perdidas
por ventana, el protocolo de retransmisión rápida no puede recuperar de
forma rápida más que la primera perdida.
Como ya se mencionaba una de las vulnerabilidades de TCP reno se
manifestaba cuando en la fase FR (fast recovery), se origina un evento de
perdida múltiple en diferentes segmentos lo que se hacía era que tcp reno,
provoca una reducción sucesiva del valor de la variable umbral de arranque
lenta (sstresh) y de la ventana de congestion el cual produce una importante
disminución en el desempeño de la conexión TCP. Para resolver estos
problemas se introduce un simple modificación al algoritmo FR (fast
recovery), en donde la fase congestion avoindance (CA), al recibir tres
ACK’s duplicados, ingresa a la fase fast recovery pero este no abandona la
fase hasta que se produzca la confirmación de todos los segmentos de la
ventana de congestion , en otras palabras TCP NewReno utiliza una variable
de estado adicional para registrar el número de secuencia del último segmento
TCP enviado antes de entrar a la fase FR, así NewReno resuelve el
problema de bajo desempeño ante eventos de múltiples perdidas en la ventana
de congestion pero también existe un inconveniente ya que hay un
contratiempo pues emplea un tiempo excesivo en el proceso de recuperación
pues le toma un Round Trip Time (RTT) recuperar cada uno de los
segmentos perdido en la ventana de congestion.
2.2. WESTWOOD
El protocolo WESTWOOD es un protocolo que mejora la performance de la
ventana de congestion usando como feedback la medida extremo a extremo
en el que el emisor estima el ancho de banda de la red de manera dinámica,
midiendo el ratio de ACK’s que se reciben. El desarrollo de las redes de
comunicación no solo es mediante medios cableados sino de forma
inalámbrica, el cual atiende a las conexiones wifi, el algoritmo de
congestionamiento ofrece rendimientos considerables en la eficiencia de la
red de TCP WESTWOOD, las redes inalámbricas han usado medio de
transmisión como es el aire, el cual es propenso a la perdida de paquetes,
debido a diferentes interferencias u obstáculos y como se puede observar los
algoritmos de congestionamiento no conocen cual haya sido la fuente de
perdida es por ello que se implementa otros tipos de métodos para obtener
mejores rendimientos frente a esas topologías como son las inalámbricas.
El protocolo WESTWOOD suprime todo a lo que se refiere de FR,
proponiendo un método heurístico que permite la evolución de la ventana de
congestion mas adecuada para no reducir a tase de envió en caso de pérdida.
Este protocolo usa el ancho de banda que representa la tasa de envió, los
paquetes ACK’s por parte del receptor multiplicado por el RTT, esto hace
referencia a que el receptor mantiene constante la tasa del envió de ACK’s, se
considera que no hay un incremento de la congestion en los buffer, con este
protocolo se estima como es la red desde el punto de vista del transmisor,
dependiendo de lo recibido por parte del receptor, este algoritmo no solo
resulta optimo en rede inalámbricas sino también en redes en donde el ancho
de banda utilizado y el RTT toman valores altos, como es el caso de Cubic.
Como base lógica este protocolo establece un umbral de “slow start” y una
Como podemos ver que NEW RENO en Linux usa el protocolo RENO por su
implementación en la versión del kernel más actualizado.
En los algoritmo de control de congestionamiento se pudo observar ciertas
diferencias entre los diversos algoritmos:
PROTOCOLOS TCP
RENO WESTWOOD YEAH
Básicamente es el Siendo un versión Este algoritmo es de
mismo protocolo que más reciente que ha alta velocidad que
Tahoe pero si se da el de RENO y otra de utiliza un enfoque de
caso que recibe 3 de los uso común, controla perdida / retraso
mismos paquetes, este los parámetros mejor, mixto para calcular
se reduce a la mitad de ayudando a la ventanas de
la ventana en lugar de transmisión y calidad congestion, su
reducir a uno general de navegar propósito es apuntar a
cambiando el umbral de por internet. Uno de la alta eficiencia,
inicio lento igual al de los algoritmos más equidad y minimizar
la ventana de justos y más la perdida de enlaces
congestion. eficientes hasta la mientras se mantiene
fecha. la carga de los
elementos de red lo
más baja sea posible.
3. WANem
WANem es una herramienta para simular todo tipo de redes, simula el
comportamiento de una WAN dentro de una LAN y así poder ir a los clientes o
integrar entornos de una manera más real. Nos permite también crear una
Maquina Virtual que hará de “electrónica de red” intermedia entre dos nodos,
dándonos así la facilidad de simular todo tipo de entornos dentro de una red, se
podrá simular y obtener datos de típicos microcortes, perdidas de paquetes, etc.
Para usar Wanem se debe contar con el appliance de código abierto WANem, el
cual es un LiveCD Knoppix de libre distribución que nos permite emular tantos
enlaces WAN que deseemos con sus diferentes características.
WANem permite que el equipo de desarrollo de aplicaciones para configurar
una puerta de enlace de aplicación transparente que puede ser utilizado para
simular las características WAN como retardo de red, pérdida de paquetes, la
corrupción de paquetes, desconexiones, paquetes de reordenamiento, Jitter,
etc.WANem puede ser utilizado para simular de área amplia condiciones de la
red para el tráfico de datos / voz y es liberado bajo la licencia GPL v2
ampliamente aceptable. por lo tanto WANem proporciona la emulación de las
características de red de área extensa y por lo tanto permite que las aplicaciones
de datos / voz a ensayar en un entorno realista WAN antes de que se mueven en
la producción a un coste asequible. WANem se construye en la parte superior de
otro software libre, componentes y al igual que otros proyectos de software libre
inteligentes ha optado por no volver a inventar la rueda lo más posible.
DISEÑO EXPERIMENTAL
CONCLUSIONES
ANEXOS