CONTROL DE CONGESTION Y ASIGNACION DE RECURSOS Integrantes: Bello, Francy. Hernández, Yesika....

22
CONTROL DE CONGESTION Y ASIGNACION DE RECURSOS Integrantes: Bello, Francy. Hernández, Yesika. Martínez, Cristina. Mora, Diego. Romero, Mariano.

Transcript of CONTROL DE CONGESTION Y ASIGNACION DE RECURSOS Integrantes: Bello, Francy. Hernández, Yesika....

Page 1: CONTROL DE CONGESTION Y ASIGNACION DE RECURSOS Integrantes: Bello, Francy. Hernández, Yesika. Martínez, Cristina. Mora, Diego. Romero, Mariano.

CONTROL DE CONGESTION Y

ASIGNACION DE RECURSOS

Integrantes:Bello, Francy.Hernández, Yesika.Martínez, Cristina.Mora, Diego.Romero, Mariano.

Page 2: CONTROL DE CONGESTION Y ASIGNACION DE RECURSOS Integrantes: Bello, Francy. Hernández, Yesika. Martínez, Cristina. Mora, Diego. Romero, Mariano.

Para la comprensión de este tema en particular es necesario tener en cuenta los siguientes conceptos:

Asignación de Recursos: Proceso a través del cual un elemento de red busca obtener los recursos necesarios para satisfacer las necesidades de las aplicaciones.Los recursos principales son ancho de banda y buffers en los switches y routers.

Control de Congestión: Es el esfuerzo que realizan los nodos para responder (o prevenir) condiciones de sobrecarga. Normalmente frente a una situación de congestión hay que disminuir el envío de datos. El control de congestión en una red significa una inteligente asignación de recursos.

Control de Flujo: Se diferencia del control de congestión en que el control de flujo sólo se ocupa de que el transmisor no inunde al receptor, en cambio el control de congestión estudia el efecto agregado de varios transmisores enviando muchos datos a la red.

Page 3: CONTROL DE CONGESTION Y ASIGNACION DE RECURSOS Integrantes: Bello, Francy. Hernández, Yesika. Martínez, Cristina. Mora, Diego. Romero, Mariano.
Page 4: CONTROL DE CONGESTION Y ASIGNACION DE RECURSOS Integrantes: Bello, Francy. Hernández, Yesika. Martínez, Cristina. Mora, Diego. Romero, Mariano.

Flujos Sin Conexión

Básicamente este es el modelo Internet donde IP provee un servicio sin conexión y es TCP quién implementa una conexión abstracta del tipo end-to-end.

¿Qué significa “sin conexión"?

Flujos.

FuentesDestinos

Page 5: CONTROL DE CONGESTION Y ASIGNACION DE RECURSOS Integrantes: Bello, Francy. Hernández, Yesika. Martínez, Cristina. Mora, Diego. Romero, Mariano.

Modelo de servicio.

Existe una multiplicidad de modelos de servicios.

Mecanismos de Asignación de Recursos.

Existen incontables formas a través de las cuales los mecanismos de asignación de recursos difieren. El espacio total es un espacio tridimensional.

Centrado en routers vs. Centrado en host.

Basado en reserva vs. Basado en retroalimentación.

Basado en ventanas o basado en tasas de transmisión.

Page 6: CONTROL DE CONGESTION Y ASIGNACION DE RECURSOS Integrantes: Bello, Francy. Hernández, Yesika. Martínez, Cristina. Mora, Diego. Romero, Mariano.

Criterios de evaluación:Es necesario establecer métricas que evalúen distintas estrategias de asignación. Examinaremos algunas de estas métricas.

Asignación Efectiva.Es deseable lograr el mayor ancho de banda con el mínimo retardo.

Ancho de BandaPotencia

Retardo

Ancho de Banda vs. Retardo en función de la carga.

Page 7: CONTROL DE CONGESTION Y ASIGNACION DE RECURSOS Integrantes: Bello, Francy. Hernández, Yesika. Martínez, Cristina. Mora, Diego. Romero, Mariano.

Asignación Justa.Cuando múltiples flujos comparten un mismo enlace de comunicación, es deseable que cada flujo reciba un ancho de banda similar, en la figura que se muestra a continuación observamos un flujo compitiendo con otros 3.

El índice de justicia se define bajo la siguiente ecuación:

11 2

2

1

2

( , , ... )( )

n

ii

n n

ii

Xx x x

n Xf

Page 8: CONTROL DE CONGESTION Y ASIGNACION DE RECURSOS Integrantes: Bello, Francy. Hernández, Yesika. Martínez, Cristina. Mora, Diego. Romero, Mariano.

Disciplina de colas.

Independientemente del mecanismo de asignación utilizada, cada router debe implementar una disciplina de cola que establezca el criterio de como los paquetes se almacenan mientras esperan ser transmitidos.

Existen dos disciplinas de colas:

FIFO:

Page 9: CONTROL DE CONGESTION Y ASIGNACION DE RECURSOS Integrantes: Bello, Francy. Hernández, Yesika. Martínez, Cristina. Mora, Diego. Romero, Mariano.

Encolamiento Justo:

Este sirve para evitar las dificultades que presenta FIFO. La idea esencial es separar en distintas colas cada flujo manejado por el router, el router sirve las colas utilizando servicio del tipo round-robin tal como se muestra a continuación:

¿Cómo evitar esta injusticia? Una forma es modificar el servicio round-robin y hacerlo a nivel de bit, pero evidentemente esto no es factible ya que los bits de diferentes flujos no se pueden entrelazar. El Encolamiento Justo lo que hace es simular el comportamiento de bit estableciendo el orden de despacho de los paquetes si se transmitieran en un orden de bits y posteriormente se utiliza este orden para transmitir los paquetes.

Page 10: CONTROL DE CONGESTION Y ASIGNACION DE RECURSOS Integrantes: Bello, Francy. Hernández, Yesika. Martínez, Cristina. Mora, Diego. Romero, Mariano.

En los ejemplos que se muestran en la figura, se puede observar que el link de comunicación nunca estará ocioso si al menos hay un paquete en la cola. La consecuencia es que si se comparte el link de comunicación entre varios flujos que no están enviando datos, el link se utiliza a su máxima capacidad.

Page 11: CONTROL DE CONGESTION Y ASIGNACION DE RECURSOS Integrantes: Bello, Francy. Hernández, Yesika. Martínez, Cristina. Mora, Diego. Romero, Mariano.

Congestión.

Comprende todo un conjunto de técnicas para detectar y corregir los problemas que surgen cuando no todo el tráfico ofrecido a una red puede ser cursado, con los requerimientos de retardo, u otros, necesarios desde el punto de vista de la calidad del servicio. Por tanto, es un concepto global, que involucra a toda la red.

Causas de la congestión:

•Memoria insuficiente en los conmutadores.

•Insuficiente CPU en los nodos.

•Velocidad insuficiente de las líneas.

Page 12: CONTROL DE CONGESTION Y ASIGNACION DE RECURSOS Integrantes: Bello, Francy. Hernández, Yesika. Martínez, Cristina. Mora, Diego. Romero, Mariano.

Diferencias entre control de flujo y control de congestión

Control de flujo:

Esta es una técnica que permite sincronizar el envío de información entre dos entidades que producen/procesan la misma a distintas velocidades.

Control de congestión:

Este es un concepto más amplio que el control de flujo. El cual abarca todo un conjunto de técnicas para detectar y corregir los problemas que surgen cuando no todo el tráfico ofrecido a una red puede ser cursado, con los requerimientos de retardo

Page 13: CONTROL DE CONGESTION Y ASIGNACION DE RECURSOS Integrantes: Bello, Francy. Hernández, Yesika. Martínez, Cristina. Mora, Diego. Romero, Mariano.

Soluciones para el control de congestión

Soluciones en bucle abierto: También conocidas como soluciones pasivas. Combaten la congestión de las redes mediante un adecuado diseño de las mismas.

Soluciones en bucle cerrado: También llamadas soluciones activas. Actúan cuando se detectan problemas. Tienen tres fases:

Monitorización de parámetros: Donde se vigilan los siguientes parámetros:

1. Ocupación de los enlaces y de los buffers (colas de espera en los nodos).

2. Porcentaje de descartes.3. Número de retransmisiones.4. Retardos y "jitters". Jitter: oscilaciones de la separación temporal entre paquetes. En aplicaciones que requieren sincronización (videoconferencia, sincronizar audio con video), es muy importanteque esas oscilaciones sean pequeñas.

Page 14: CONTROL DE CONGESTION Y ASIGNACION DE RECURSOS Integrantes: Bello, Francy. Hernández, Yesika. Martínez, Cristina. Mora, Diego. Romero, Mariano.

Reacción: envío de información a los puntos necesarios. Donde lacomunicación se realiza gracias a:

1. Paquetes especiales: No están sometidos a control de congestión y se saltan las colas de espera en los nodos. Los envía el nodo que, gracias a la monitorización, ha detectado la congestión.

2. Bits de cabecera: En los paquetes enviados, indico en la cabecera que empieza a haber congestión. (Ejemplo Frame Relay).

3. Información específica: Si se recibe una alerta de congestión (mediante bits de cabecera de paquetes que circulan por la red), se solicita más información.

Ajuste del sistema.

1. Hay varias medidas: 2. Reducir la velocidad de envío3. Control de acceso. No se permiten más conexiones.4. Tirar paquetes. Controlar ráfagas de paquetes que llegan.

Page 15: CONTROL DE CONGESTION Y ASIGNACION DE RECURSOS Integrantes: Bello, Francy. Hernández, Yesika. Martínez, Cristina. Mora, Diego. Romero, Mariano.

Nivel Variable de diseño

Enlace

Diseño de temporizadores y política de retransmisiones: Cuando los temporizadores agotan su cuenta, los paquetes afectados serán retransmitidos por la fuente. Si este tiempo es muy pequeño, habrá gran cantidad de retransmisiones. Por el contrario, si es grande, habrá menos congestión, pero el retardo medio aumentará. Además, podemos controlar lo que se retransmite cuando el temporizador se agota (por ejemplo, cuando un paquete es sólo una porción de un mensaje, puede retransmitirse el mensaje entero o sólo el paquete afectado). 

Política de descartes y almacenamiento de paquetes que llegan fuera de orden: El rechazo puede ser simple, que origina más retransmisiones, o bien selectivo, obligando a un almacenamiento temporal de los paquetes que llegan fuera de orden y mejorando la congestión. 

Política de asentimientos: El piggybacking, o utilización de parte de un paquete de datos para enviar asentimientos de paquetes anteriormente recibidos, reduce, en principio, el tráfico, pero puede dar lugar a retransmisiones que contribuyan a la congestión. 

Política de control de flujo: Parando a una fuente que vierte mucho tráfico podemos reducir el riesgo de congestión. 

Red

Circuitos Virtuales frente a datagramas: Muchos algoritmos de control de congestión funcionan sólo en modo circuito virtual. 

Política de colas y de servicio: Los router pueden diseñarse con una cola por línea de entrada, una cola por línea de salida, o ambos. Además, puede jugarse con el orden en que los paquetes son procesados, dan do más prioridad a los paquetes de control, que contienen información útil desde el punto de vista de la congestión. 

Política de descarte de paquetes: De nuevo, la correcta elección de los paquetes que se descartan puede disminuir el riesgo de congestión. 

Algoritmo de enrutamiento: Es bueno desde el punto de vista de la congestión el balanceo del tráfico entre todas las líneas de la red. 

Tiempo de vida de los paquetes: La correcta elección de esta variable permite reducir el número de retransmisiones, mejorando así el comportamiento de la red desde el punto de vista de la congestión. 

Transporte

Análogo al nivel de enlace, pero entre sistemas finales. 

Page 16: CONTROL DE CONGESTION Y ASIGNACION DE RECURSOS Integrantes: Bello, Francy. Hernández, Yesika. Martínez, Cristina. Mora, Diego. Romero, Mariano.

Algoritmos de Control de Congestión.

Se describen dos algoritmos en bucle cerrado: el algoritmo de descarte de paquetes, y un algoritmo de paquetes reguladores, así como un algoritmo en bucle abierto llamado mecanismo de Traffic Shaping.

Algoritmo de descarte de paquetes: Este es un algoritmo de control de congestión en bucle cerrado. Se basa en que los nodos descartan paquetes cuando su ocupación es alta. Para esto los nodos han de conocer sus recursos (CPU y memoria). Hace una asignación dinámica de los buffers en base a las necesidades de cada línea. Hay varias formas de hacer la asignación de buffers:

a) En base al uso: No es muy eficiente, porque cuando una línea se empieza a cargar acapara todos los recursos.

Page 17: CONTROL DE CONGESTION Y ASIGNACION DE RECURSOS Integrantes: Bello, Francy. Hernández, Yesika. Martínez, Cristina. Mora, Diego. Romero, Mariano.

b) Asignación fija: Tampoco es muy buena, ya que desaprovecha recursos.

c) Asignación subóptima (de Irland). Llamando k al número de posiciones del buffer y s al número de líneas de salida, se tiene que el número de posiciones de memoria asociadas a cada línea es:

 

(3.9) 

Algoritmo de paquetes reguladores: En terminología inglesa, al paquete regulador se le llama choke packet. Se hace en bucle cerrado. Asocia un peso a cada línea que cambia con el tiempo según la ecuación:< P

Donde: un: función de peso, que depende del instante actual a través de f y del

anterior a través de un-1.

f: tiene un valor "0" si no transmitimos en el instante actual o "1" si transmitimos. a: constante comprendida entre 0 y 1 y que da más importancia al instante actual o al instante anterior según su valor.

Page 18: CONTROL DE CONGESTION Y ASIGNACION DE RECURSOS Integrantes: Bello, Francy. Hernández, Yesika. Martínez, Cristina. Mora, Diego. Romero, Mariano.

Si n supera un cierto umbral, se pone la línea en estado de alerta y se considera que puede haber congestión. Si llegan paquetes a esa línea, se envía un aviso hacia atrás con un paquete regulador que indica esta situación. Además, en los paquetes que se envían hacia delante se pone un flag a "1" para indicar al resto de los nodos que no manden paquetes reguladores hacia atrás, ya que el nodo origen está avisado. Al llegar el paquete regulador al origen, se reduce el flujo (por ejemplo, a la mitad).

Si pasa un determinado tiempo sin recibir notificaciones de congestión, se vuelve a subir el flujo que puede cursar el origen. Si por el contrario se supera un umbral mayor, se pasa directamente a hacer descarte de paquetes.

Page 19: CONTROL DE CONGESTION Y ASIGNACION DE RECURSOS Integrantes: Bello, Francy. Hernández, Yesika. Martínez, Cristina. Mora, Diego. Romero, Mariano.

Mecanismo de Traffic Shaping: Traffic Shaping significa conformado de tráfico. Es un mecanismo en bucle abierto. Conforma el tráfico que una fuente puede inyectar a la red. Se usa en redes ATM (Asynchronous Transfer Mode) con una tecnología de red orientada a conexión.

Si se tiene una ráfaga lista para transmitir, el sistema obliga a no transmitir todo seguido (porque conforma el tráfico). Requiere un acuerdo entre proveedor y cliente.

Protocolo TCP: Control de Congestión:

Un excelente ejemplo de control de congestión se aprecia en el protocolo TCP. Si bien TCP no utiliza ninguna estrategia de reserva de recursos lo que hace es reaccionar a eventos que pueden ocurrir. Se asume que en los routers, las colas son del tipo FIFO.

Page 20: CONTROL DE CONGESTION Y ASIGNACION DE RECURSOS Integrantes: Bello, Francy. Hernández, Yesika. Martínez, Cristina. Mora, Diego. Romero, Mariano.

Los algoritmos para el control de congestión son:  ● Slow Start / Congestion Avoidance ● Fast Retransmit / Fast Recovery

Para implantar estos algoritmos se agrega la siguiente variable: SSTHRESH (Slow Start Threshold): Se utiliza para determinar que algoritmo se usa: slow start o congestion avoidance.

Al comienzo de la transmisión TCP lentamente determina la capacidad de la red (utiliza slow start) y evitar el envío de una cantidad inapropiada de datos. La ventana inicial (Initial Window, IW) debe ser menor o igual que 2*SSMS (Sender Maximum Segment Size)

Page 21: CONTROL DE CONGESTION Y ASIGNACION DE RECURSOS Integrantes: Bello, Francy. Hernández, Yesika. Martínez, Cristina. Mora, Diego. Romero, Mariano.

Detección de congestión Si tenemos packet loss, el ACK para ese paquete no se recibirá. El paquete eventualmente puede demorarse (No ACK se interpreta como señal de congestión). Timeout significa congestiónCada vez que se detecta congestión SSTRESH = CWND/2 CWND = 1Y se entra en slow start nuevamente.   

Page 22: CONTROL DE CONGESTION Y ASIGNACION DE RECURSOS Integrantes: Bello, Francy. Hernández, Yesika. Martínez, Cristina. Mora, Diego. Romero, Mariano.