Está en la página 1de 16

UNIVERSIDAD ANDINA DEL CUSCO

FACULTAD DE INGENIERÍA Y ARQUITECTURA


ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS DE INFORMACIÓN

TEMA:
INFORME DE EVALUACION DEL COMPORTAMIENTO DE TCP
NEW RENO, WESTWOOD Y YEAH

ASIGNATURA:               Redes y Comunicación de Datos II


DOCENTE:                        Ing. Edwin Carrasco Poblete
ALUMNOS:                       Torres Carrión, Oscar Ángel
Sumerente Ayerbe, Joel Wilfredo
                                                      
UNIVERSIDAD ANDINA DEL CUSCO
FACULTAD DE INGENIERÍA Y ARQUITECTURA
ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS DE INFORMACIÓN

TEMA:
INFORME DE EVALUACION DEL COMPORTAMIENTO DE TCP
NEW RENO, WESTWOOD Y YEAH

ASIGNATURA:               Redes y Comunicación de Datos II


DOCENTE:                        Ing. Edwin Carrasco Poblete
ALUMNOS:                       Torres Carrión, Oscar Ángel
Sumerente Ayerbe, Joel Wilfredo
                                                      

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.- IMPLEMENTACION TCP


 Existen varias versiones del protocolo TCP la cual utiliza una estrategia de
control de la congestion multi-faceta aunque cada versión tiene diferente
comportamiento pues estos difieren en la manera de cómo es que detectan y
reaccionan ante la pérdida de paquetes.

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.1.2. NEW RENO


 El algoritmo de TCP RENO proponía como máximo una retransmisión por
cada RTT sin embargo no tiene en cuenta casos con múltiples perdidas
como ya se explicó existía un problema y lo que se optó por hacer fue que
en 1990 se desarrolló una variante de este protocolo llamado como el
algoritmo de NEW RENO, la cual se basa en la mayoría de los siguientes
protocolos como son los de CUBIC.
 Como ya se vio en TCP RENO, la espera del ack el segmento retransmitido
puede generar con gran probabilidad más perdidas de paquetes, entrando así
de manera continua en el modo de FR, a esto se le dio como solución el de
que NEW RENO una vez que haya recibido un triple ACK’S este entra al
igual que su antecesor en el modo FR tras realizar la caída de la ventana y
retrasmitir el paquete o los paquetes perdidos, por cada ACK recibido
reconozca un único paquete retransmitido, indicando que hay que seguir
retransmitiendo los paquetes sucesivos, el otro caso sería que el ACK que
confirme todos los paquetes que han sido retransmitidos lo cual supone el
fin del FR.

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

ventana de congestion que son consistentes con la capacidad de la red medida


cuando se experimenta la congestion, este protocolo introduce un mecanismo

llamado “faster recovery” para evitar una reducción excesiva de la ventana

de congestion. La ventaja de este mecanismo propuesto es que el emisor TCP

se recupera más rápido después de pérdidas, especialmente en conexión con

RTT elevados o en enlaces inalámbricos donde las pérdidas son esporádicas

son debidas a problemas en el enlace en vez de a congestion.

2.3. YEAH (YET ANOTHER HIGHSPEED)


 El protocolo de congestionamiento TCP YEAH, es un algoritmo de alta
velocidad que utiliza un enfoque de perdida / retraso mixto para calcular
ventanas de congestion, su propósito es de apuntar a la alta eficiencia,
equidad y minimizar a perdida de enlaces mientras se mantiene la carga de los
elementos de red lo más baja posible. En este algoritmo se considerar varios
objetivos:
a) La capacidad de la red deber ser explotada eficientemente modificando
las reglas de actualización de la ventana de congestion.
b) La mayoría de los protocolos TCP inducen eventos de congestion
frecuentemente en el enrutador de cuello de botella y el número de
paquetes en un solo evento de congestion es más alto comparado con el
control de congestion estándar de RENO, esto hace que se degrade el
desempeño obtenido por otras rutas compartidas, también cuenta el
retraso en las colas y la del jitter estas se ven afectadas negativamente.
c) Se dice que es un algoritmo políticamente aceptable, el cual debería ser
capaz de competir equitativamente con los flujos de RENO, evitando la
inanición de los flujos competidores y explotando la capacidad del enlace
así mismo debería ser interno y con un RTT justo.
d) El rendimiento no debe verse afectado sustancialmente por eventos de
perdida de paquetes lo cual no provocaría una degradación del
rendimiento sensible.
e) Los buffers de enlace pequeños no deben impedir un alto rendimiento ya
que no es factible diseñar un tamaño un tamaño de buffer igual al
producto de retardo de ancho de anda o cual llevara a considerar adoptar
una política de disminución en caso de pérdida de paquetes similar al
algoritmo de Westhood.
 El protocolo TCP YEAH intenta abordar todas las cuestiones antes
mencionadas con modos diferentes de operar, el primero sería el “modo
rápido y lento”, el cual incrementa la ventana de congestion de acuerdo con
una regla anti agresiva, en el modo lento actúa como el protocolo RENO, el
estado se decide según el número estimado de paquetes en la coa del cuello
de botella, RT TBASE sea el RTT mínimo medido por el emisor y RT
Tmin el RTT mínimo estimado en la ventana de datos actual de paquetes
CWND, el retraso de cola estimado es RTque = RT Tmin – RT TBASE de
RT RTueque , es posible inferir el número de paquetes enviados por el flujo
como:

Imagen 1° Nombre: Número de Paquetes enviados por el flujo


Fuente: Análisis del comportamiento de TCP – Universidad de Cantabria

 Donde G = goodputs También podemos evaluar la relación entre el RTT de


colas y el retardo de propagación L = RT Tqueue / R T Tbase, que indica el
nivel de congestionamiento de la red. Tenga en cuenta que RT Tmin se
actualiza una vez por ventana de datos. Si Q <Qmax y L <1 / φ, el algoritmo
está en el modo "Rápido", de lo contrario está en el modo "Lento".
Parámetros Qmax y φaretwo ajustables; Qmax es el número máximo de
paquetes que un único flujo se permite guardar en los búferes. 1 / φ es el nivel
máximo de congestión del búfer con respecto a BDP. En el modo "Lento", se
implementa un algoritmo descongestional precautorio3: cuando Q> Qmax, la
ventana de congestionamiento es disminuida por Q y ssthresh ajustado a
CWND/ 2. Puesto que RT Tmin se calcula una vez por RTT, la granularidad
de descongestión es un RTT.
 En resumen TCP YEAH es un algoritmo de control de congestión habilitado
por el estado con detección de retardo. Mediante medidas de retardo, cuando
la red se detecta descargada, explotará rápidamente la capacidad disponible,
tratando de mantener la utilización del buffer de red siempre inferior a un
umbral. Además está diseñado para ser interno y RTT justo, Reno-amigable
y resistente en enlaces con pérdidas.

2.4. DIFERENCIAS Y SIMILITUDES


 Las similitudes las encontramos más en los protocolos NEW RENO con
RENO ya que en la versión del kernel de la máquina virtual en Linux
-2.6.16..3 posee un versión superior a ya mencionado, el parche para los
algoritmos de control de congestion que se desea viene de la siguiente forma:

Imagen 2° Implementación de TCP EN Linux


Fuente: A Linux TCP Implementation for NS2 – Project NS-2 enhancement

 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.

Cuadro 1° Nombre: Cuadro de diferencias entre Protocolos Fuente: ---------

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

También podría gustarte