Un nuevo protocolo de transporte SCTP-RR

Slides:



Advertisements
Presentaciones similares
Un nuevo protocolo de transporte SCTP-RR
Advertisements

Protocolos de Inter-red
Capa 4 Capa de Transporte
Análisis de Rendimiento
Preparado con materiales de: Carlos Vicente Servicios de Red/Universidad de Oregon Presentación: Carlos Armas Roundtrip Networks Hervey Allen NSRC.
Preparado con materiales de: Carlos Vicente Servicios de Red/Universidad de Oregon Presentación: Carlos Armas Roundtrip Networks Hervey Allen NSRC.
Planificación de Monoprocesadores
Capa de Transporte.
Capítulo 20: TCP Servicio de transporte confiable
Unidad 6 Calidad de Servicio: QOS
Unidad 7 MPLS: Multiprotocol Label Switching
Unidad 5 Redes IP Multiservicio: Control de Congestión
Capa de transporte.
ANÁLISIS DE DESEMPEÑO DEL EMULADOR DE CANAL NETEM SOBRE EL PROTOCOLO TCP 2013.
MODELO TCP/IP.
Capa Transporte3-1 Capítulo 3: Continuación r 3.1 Servicios de la capa transporte r 3.2 Multiplexing y demultiplexing r 3.3 Transporte sin conexión: UDP.
Estrategias de administración de recursos de radio en un sistema 3G INTEGRANTES: David Balseca Del Campo Francisco Andrade Briones.
TCP/IP V4 Redes de Computadoras uclv.
CAPA DE RED CARACTERÍSTICAS DE LA RED
SWITCHES.
2. ASYNCRONOUS TRANSFER MODE 2.1Características generales 2.2 Modelo de referencia del protocolo 2.3 Categorías de servicio ATM.
1 Capítulo 18: El futuro de IP, IPv6 ICD-327: Redes de Computadores Agustín J. González.
Ing. Karen Torrealba de Oblitas
Protocolos de enrutamiento por vector de distancia
III. Protocolo RIP Versión 1.
Universidad Nacional de Luján - Asignatura Teleinformática y Redes Tema: Capa de Transporte - TCP 1 Capa de Transporte “Ofrece a sus usuarios un sistema.
LISTAS DE CONTROL DE ACCESO (ACL)
Control de Congestion. Muchos paquetes en la red se retrasan o pierden provocando que se degrade el desempeño de la red. Congestión.
DIDACTIFICACION DE IPv6 2. CABECERA, DIRECC. Y CONFIG. BÁSICA
FUNCIONES GENERALES –SELECCIÓN DE LA MEJOR RUTA –DIRECCIONAMIENTO DE LA RED.
Capa Transporte3-1 Capítulo 3: Continuación r 3.1 Servicios de la capa transporte r 3.2 Multiplexing y demultiplexing r 3.3 Transporte sin conexión: UDP.
CALIDAD DE Servicio María Alejandra Bautista Sánchez
Capa Transporte3-1 Capítulo 3: Continuación r 3.1 Servicios de la capa transporte r 3.2 Multiplexing y demultiplexing r 3.3 Transporte sin conexión: UDP.
1 Control de Congestión Adaptación de Agustín J. González de la versión por Jennifer Rexford os461/
Sistemas de Comunicación Magistral Nro. 8 Capa 4: Transporte Las funciones principales de la capa de transporte son transportar y regular el flujo de información.
Funciones Capa de Transporte
1 MENSAJES DE CONTROL Y ERROR DE LA PILA TCP/IP Semestre 2 Capítulo 8 Carlos Bran
Capítulo 12: Protocolos y Capas
CAPA DE RED  Aquí se lleva a cabo el direccionamiento lógico que tiene carácter jerárquico, se selecciona la mejor ruta hacia el destino mediante el.
Capa Transporte 3-1 Capítulo 3: Capa Transporte - IV ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo.
Capítulo 17: Encapsulamiento IP, Fragmentación, y Reensamble.
Protocolo de Ventana Deslizante 2008
Procesos Estocásticos Edgar H Criollo V Mayo 2010
Algoritmos de Ruteo - Introducción Comunicación de Datos II – Aldo Rubiales Facultad de Ciencias Exactas - UNCPBA  La función principal de la capa de.
Redes de Comunicaciones de Datos
Escuela Normal “Profr. Darío Rodríguez Cruz”
Control de Congestión Administración de Ventanas (II Parte) Expositor: Mauricio Fierro E.
Clase 5: Banda Base, Enlace Dúplex y Autonegociación
Capítulo 7: Capa de transporte
CAPA DE RED DEL MODELO OSI.
CAPA DE RED PROTOCOLOS.
Capa Transporte 3-1 Capítulo 3: Capa Transporte - IV ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo.
TCP garantiza que la información es recibida en orden. Para ello, cada paquete enviado tiene un número de secuencia. Cada uno de los dos procesos involucrados.
Modo de Transferencia Asíncrono ( ATM )
Protocolos del modelo TCP/IP
Introducción a la conmutación LAN.
SEGMENTACIÓN DE LA RED UNIVERSIDAD NACIONAL DE INGENIERÍA
Ing. Elizabeth Guerrero V.
Tecnologías WAN (MODULO ESPECIALIDAD) Instituto Tecnológico Superior de Misantla. INGENIERIA EN SISTEMAS COMPUTACIONALES Unidad II: Protocolos WAN 2.1.-
Ing. Elizabeth Guerrero V.
Tema 1 – Introducción a las Redes informáticas
Traffic Performance Analysis at the NAP Alejandro Popovsky, Universidad de Palermo Pablo Fritz, CABASE. LACNOG 2012 – Montevideo, Uruguay LACNIC – INTERNET.
Nivel de Transporte en Internet
PROTOCOLOS Modelo TCP/IP
Ipv6.El protocolo Primera aproximación Introducción.
ASIGNACION DE RECURSOS
Perfomance TCP Reno Clase 8-Nov-2005 – Notas Complemetarias.
Redes Convergentes Calidad en el Servicio.
Clasificación y marcado de tráfico
Sistemas de Comunicación Magistral Nro. 6 Capa 3: Red La Capa de Red provee principalmente los servicios de envío, enrutamiento (routing) y control de.
Transcripción de la presentación:

Un nuevo protocolo de transporte SCTP-RR Julio Kriger Director: Dr. Claudio Righetti Jurado: Dra. Patricia Borensztejn Dr. Marcelo Risk Universidad de Buenos Aires Departamento de Computación Facultad de Ciencias Exactas y Naturales

Introducción Los problemas Objetivos Contribuciones del trabajo Stream Control Transmission Protocol (SCTP) Los problemas Reorden de paquetes. Cambios bruscos del RTT. Objetivos Mejorar SCTP bajo ciertas condiciones de red. Emular una red (condiciones de red en ambiente real y controlado). Contribuciones del trabajo Análisis de trabajos anteriores. Análisis de herramientas para emulación. Experimentos y resultados.

Los problemas, la congestión y SCTP Reordenamiento de Paquetes Causas: Ruteo multi-camino a nivel de paquete (por balanceo de carga). Route fluttering (función de ruteo por costo por retraso y congestión). Paralelismo inherente en routers modernos de alta velocidad (creación de banda de paquete para reducir costos). Retransmisiones a nivel de la capa de enlace (Router wireless). Treguas (actualización de tablas de ruteo). Cambios Bruscos del RTT El rendimiento inversamente proporcional al RTT.

Los problemas, la congestión y SCTP El impacto de los problemas Reordenamiento de Paquetes Retransmisiones espurias. Ventana de congestión innecesariamente pequeña. Pérdida de Reloj Ack. Cambios Bruscos del RTT Calculo del RTT. Timeout de Retransmisión (RTO).

Los problemas, la congestión y SCTP Congestión en redes globales Congestión es el estado sostenido de sobrecarga de una red donde la demanda de recursos (ancho de banda y buffer) se encuentra al límite o excede la capacidad de los mismos. Una red se dice que está congestionada desde la perspectiva de un usuario si la calidad de servicio percibida por el usuario disminuye debido a un aumento en la carga de la red. Control de congestión y asignación de recursos Se asignan principalmente de buffer y ancho de banda (Router y Host). El objetivo de control de congestión es el uso eficiente de la red, hay que prevenir la congestión. Sobreprovisionamiento (ISP) Ancho de banda barato. Facilidad de administración. Preparado para más cantidad de clientes.

Los problemas, la congestión y SCTP Congestión en redes globales Esquema de funcionamiento de los Router Cuellos de botella Procesar paquetes entrantes. Tiempo de espera en buffer.

Los problemas, la congestión y SCTP Congestión en redes globales Clasificación de asignación de recursos Principales mecanismos: Centrada en los Router vs. Centrada en los Host (decisión de los Router o Host se adapta a la red). Basada en Reserva vs. Basada en Retroalimentación [explicita o implicita] (se reservan recursos en Router o Host se adapta). Basado en Ventana vs. Basado en Tasa (se informa tamaño de ventana/espacio de buffer entre origen y destino, o se regula la tasa de transmisión [bytes por segundo]).

Los problemas, la congestión y SCTP Congestión en redes globales Modelo de red Principales características de la arquitectura de red: Redes de conmutación de paquetes (Router que intercambian paquetes). Flujos no orientados a conexión (diferencia entre orientados a conexión y no orientados a conexión, uso de soft/hard state, flujos implícitos [Router inteligente para paquetes con mismo nodo de origen y destino] o explícitos [por mensaje de inicialización]). Modelo de servicio mejor esfuerzo (todo paquete es tratado igual, hay limitado QoS).

Los problemas, la congestión y SCTP Congestión en redes globales Congestión en redes de conmutación de paquetes no orientadas a conexión Como afecta la congestión en el rendimiento de la red.

Los problemas, la congestión y SCTP Protocolo SCTP Entrega de datos fuera de orden confiable (entrega rápida de datos). Preservación de los límites de mensaje (identificar partes de varios mensajes). Soporte para múltiples flujos de datos independientes (múltiples flujos en una misma conexión). Multihoming (múltiples direcciones IP por conexión). Confiabilidad parcial (definir que tan persistente debe se la entrega de mensajes). Soporta four-way-handshake (para evita ataques de Denial of Service). Un paquete tiene una cabecera común (12 bytes) y múltiples Chunk (de control o datos). Mismos concepto de puerto que TCP y UDP. Checksum de 32 bits. Dos tag de verificación de 32 bits.

Los problemas, la congestión y SCTP Protocolo SCTP Flexibilidad para agregar nuevos Chunk de control. Chunk de Hearbeat mantiene vivas las asociaciones.

Servicios o Características Los problemas, la congestión y SCTP Protocolo SCTP Servicios o Características SCTP TCP Transmisión de datos full duplex Si Orientado a conexión Transmisión de datos confiables Transmisión de datos parcialmente confiables Opcional No Envío de datos fuera de orden Control de flujo y congestión Soporte para notificación explícita de congestión (ECN) Ack selectivos Preservación de límite de mensajes Soporte de PMTU Discovery Fragmentación de datos de aplicación Multistreaming Protección contra ataques de SYN flooding Multihoming

Los problemas, la congestión y SCTP Protocolo SCTP Definiciones Sender Maximum Segment Size (Smss): tamaño máximo de envío de segmento en un momento dado. CWnd: Limita la cantidad de datos que TCP puede enviar. SSThresh: Limite para usar Slow Start, luego usar Congestion Avoidance. Desconocimiento inicial de las condiciones de la red (CWnd = 2*Smss). Uso de Slow Start cuando CWnd < SSThresh (crecimiento exponencial, incrementa CWnd hasta Smss por cada Ack de datos nuevos). Uso de Congestion Avoidance cuando CWnd > SSThresh (crecimiento lineal, incrementa CWnd = CWnd + Smss * (Smss / CWnd)).

Los problemas, la congestión y SCTP Protocolo SCTP SCTP y la congestión Formato de Sack Chunk. Data Chunk identificados por TSN.

Los problemas, la congestión y SCTP Protocolo SCTP SCTP y la congestión Protocolo de ventana deslizante mediante Advertised Receiver Window Credit. Usa Slow Start. Usa Congestion Avoidance. Mantiene las variables de CWnd y SSThresh para cada dirección destino. No se retransmiten los TSN confirmados por Gap Ack Block.

Los problemas, la congestión y SCTP Protocolo SCTP Medición del Round Trip Time Sirve para calcular el Timeout de Retransmisión (RTO) (igual que TCP). No se toman retransmisiones. Distintos RTT en LAN y WAN.

Los problemas, la congestión y SCTP Protocolo SCTP Fast Retransmit y Fast Recovery Algoritmos heurísticos que generan retransmisión antes de Timeout. Basados en Ack duplicado. Uso del Gap Ack Block y algoritmo Highest TSN Newly Acked (HTNA). Se espera hasta DupTresh Ack duplicados para entrar en Fast Retransmit. Se disminuyen las variables SSThresh y CWnd. Se retransmite el paquete “perdido”. Una vez que Fast Retransmit resolvió la perdida de paquetes, Fast Recovery recupera el valor de SSThresh previo, para evitar Slow Start.

Los problemas, la congestión y SCTP Librería SCTP Desarrollada por Siemens, Univ. Essen y Univ. Münster. Ejecuta en el espacio de usuario. Fácil de extemder y depurar. Conceptos generales API basada en Callbacks. Uso de socket raw. Eventos de Timer. Función bloqueante sctp_eventLoop. Función no bloqueante sctp_getEvents.

Los problemas, la congestión y SCTP Emulador Emulador de red Técnica para emular distintas condiciones de red. Métodos de emulación Introducción de dispositivo dentro de una red. Emulación y simulación Simulación (basada en un modelo matemático). Emulación (reproducción precisa de comportamiento).

Trabajos Relacionados Mejoras a SCTP Implementrar Scalable TCP (mejora al esquema de control de congestión). Implementar Timestamp en cabecera de SCTP similar a Eifel (detecta más rápido transmisiones espurias). Implementar F-RTO (modifica comportamiento después de Timeout). Implementar Rhein cuando hay cambio de caminos (ataca problemas de transmisiones espurias y crecimiento no amigable a TCP del CWnd). Implementar Changeover aware congestion control (previene crecimiento incorrecto del CWnd eliminando Fast Retransmit espurios). Viene en 2 “sabores”: Conservative CACC (reorden por cambio de camino no incrementa reporte de paquetes perdidos) y Split Fast Retransmit CACC (utiliza SAck selectivamente para aplicar Fast Retransmit).

Trabajos Relacionados Emulación de red Simuladores de red más populares: NS2, OMNeT++, NetSim, OPNET, Modeler y QualNet. Umlsim, híbrido entre simulación y emulación. Dispositivos dedicados: Simena, PacketStorm, Gambit, Anue. Emulación por Software: Dummynet (FreeBSD, autocontenido). NIST Net (Linux, dificil de extender). NetEm (Linux). WANEM (basado en NetEm).

Algoritmo SCTP-RR Detección de Fast Retransmit y Timeout espurios Tres módulos independientes Detección de Fast Retransmit y Timeout espurios Basado en reporte de TSN duplicados del SAck. Evento de retransmisión. TRL con TSN retransmitidos Si para todos los TSN en la TRL llega un reporte de duplicado, entonces la retransmisión fue espuria. Solo detecta del último evento de retransmisión (por desambiguación). Basado en 2 condiciones: Conocer TSN de la última retransmisión (Dos TRL, una para último evento de retransmisión, otra para histórico). Manatener los TSN posibles de recibir reporte de duplicados (problema de crecimiento infinito de la TRL  eliminar TSN menores al Cumulative TSN Ack Point).

Algoritmo SCTP-RR Detección de Fast Retransmit y Timeout espurios Puede ocurrir Fast Restransmit dentro de Fact Recovery (no se modifican CWnd ni SSThresh, hasta no salir de Fact Recovery todo Fast Restransmit se considera único evento de retransmisión). Se ejecuta por cada destino. Los TSN retransmitidos se guardan en la TRL del destino original. Por cada TSN duplicado  eliminar el TSN de la TRL del destino original. Costo Computacional y de Almacenamiento 3 etapas: Evento de retransmisión (mover TRL último evento a TRL histórico, mantenimiento de TRL histórico), costo lineal. Retransmisión de TSN (agregar TSN a TRL), costo constante. Recepción reporte TSN duplicado (eliminar TSN de TRL), costo lineal.

Algoritmo SCTP-RR Recovery Costo computacional y de almacenamiento Ante Timeout y Fast Retransmit se disminuyen el SSThresh y CWnd (costo de Timeout más caro que costo de Fast Retransmit). Almacenar valores de SSThresh y CWnd antes de evento de retransmisión (por dirección). Si el evento fue espurio, actualizar SSThresh al valor previo de CWnd para entrar en Slow Start. En pocos RTT se recuperar CWnd y el rendimiento: Sin el algoritmo  SSThresh = CWnd previo / 2 Con el algoritmo  SSThresh = CWnd previo Retransmisiones anidadas reduciran SSThresh y CWnd. Se restaurarán las variables del último evento de retransmisión. Costo computacional y de almacenamiento 8 bytes. Costo constante.

Algoritmo SCTP-RR Adaptación dinámica del DupThresh Para evitar Fast Retransmit espurios, Dupthresh debe ser mayor que la media de reportes de TSN faltantes (generados por reorden). Contador de reporte de faltantes (CRF) por cada TSN transmitido. Fast Retransmit retransmitirá los TSN con CRF mayor que 3. Fijar el DupThresh según reorden de la red trae problemas: Si el Dupthresh es alto (disparará Timeout cuando Fast Retransmit lo habría corregido). Si el Dupthresh es bajo (disparará muchos Fast Retransmit). Medición y seguimiento del contador de reporte de faltantes Uso de histograma de CRF de TSN retransmitidos. Agregar el TSN al histograma si: el CRF del TSN es mayor o igual que 4. se recibió un reporte de TSN duplicado (el TSN no se perdió). el TSN pertenece al último evento de retransmisión.

Algoritmo SCTP-RR Adaptación dinámica del DupThresh Actualización del DupThresh El histograma guarda la distribución del reorden de la red. No variar el DupThresh (ejemplo del 90%), sino utilizar un percentil variable. Uso de “percentil para evitar Fast Restransmit” (PEF) para variar el DupThresh según corresponda. Cambiar el PEF según costo de: Timeout espurio: W * (T / R + log2(W) - 2) + 1. Fast Restransmit espurio: (k * (W - k + 1) / 2). W = Cantidad máxima de paquetes que se pueden enviar en un momento dado. R = Smoothed RTT. T = Duración de la retransmisión de paquetes durante un Timeout. k = Duración de Fast Retrsnamit espurio divido por R

Algoritmo SCTP-RR Adaptación dinámica del DupThresh Actualización del PEF Sea S la medida axiomática (un valor fijo) para adaptar el PEF. S debe ser pequeño para un ajuste fino del Dupthresh. Después de un Fast Transmit espurio  incrementar PEF en S. Después de un Timeout espurio  decrementar PEF en (Costo (Timeout) / Costo(Fast Retransmit)) * S . Costo computacional y de almacenamiento 8K por histograma de CRF por dirección. Mantenimiento del histograma de CRF (agregar CRF y eliminar CRF según su Timestamp) costo lineal. Cálculo del PEF (según funciones de costos) costo constante. Actualización del DupThresh (calcular percentil según PEF, ordenar histograma según CRF con quicksort costo [n * log(n)], actualizar Dupthresh), costo constante.

Las herramientas de Linux Disciplina de colas (qdics) Colas y disciplinas de cola Algoritmo que controla la cola de un dispositivo (de entrada o salida). Shaping/modelado de tráfico solo en el egreso. Disciplinas de cola simples, sin clases Aceptan datos y se limitan a reordenarlos, retrasarlos, descartarlos, etc. Ajustan el tráfico de una interfaz entera. Disciplinas de cola con clases Clasifican el tráfico entrante para dar tratamiento especial en una subclase. Usan filtros para tomar decisión de encolado.

Las herramientas de Linux NetEm Emula condiciones de red (demora, perdida, duplicación, corrupción y reorden). Disciplina de cola sin clases. Tiene dos colas internas TFIFO, ordenadas por Timestamp de los paquetes. Se agrego la opción fixed_delay. tc Pertenece al paquete Iproute2. Permite configurar qdisc.

Emulando condiciones de red Reordenamiento de paquetes Demora promedio de X ms y un gap de Y paquetes. Demora promedio de X ms y un desvío estándar Y ms. Demora promedio de X ms y un porcentaje Y % de reorden. Cambios bruscos de Round Trip Time Determinística y controlada. Aleatoria o no determinística Integrando las herramientas tc qdisc add dev eth1 root netem limit 999999 \ delay 15ms 5ms 90% reorder 90% fixed_delay 50ms

Experimentos Configuración del hardware Escenarios Dos objetivos: Medir el rendimiento en tiempo. Medir el rendimiento en bytes por segundo. Para cada objetivo hubieron tres tipos de condiciones.

Experimentos Escenarios Demora fija más demora variable por porcentaje de reorden: Demora fija de 50, 100, 200 y 300 ms, y el 0, 5, 10 y 15 % con demora variable de 100, 200 y 300 ms. Ejemplo demora fija de 200 ms más demora variable de 100 ms para porcentajes de reorden.

Experimentos Escenarios Demora fija más demora variable: Demora fija de 100, 200, 300 ms, más variable de 50, 100, 150 ± 50, 100, 150 ms. Ejemplo demora fija de 300 ms más demora variable de 100 ms ± varianza del Jitter.

Experimentos Escenarios Demoras fijas por cambio de tiempo: cada 250, 500, 750 y 1000 ms cambio de demora fija de 1 ms a 200 ms, 100 ms a 300 ms y de 200 ms a 400 ms. Ejemplo cambio de tiempo de cada 500 ms para distintos RTT.

Experimentos Análisis Medición del rendimiento en tiempo. Medición del rendimiento en bytes por segundo. Nivelación de los gráficos. Mejor rendimiento de SCTP-RR sobre SCTP.

Conclusiones Algoritmo para mejorar rendimiento de SCTP ante cambios bruscos de RTT y reordenamiento de paquetes. Módulo de detección de Timeout y Fast Retransmit espurios. Módulo de recupero de variables de control de congestión. Módulo de adaptación dinámica del DupThresh. Implementación sobre librería de SCTP. Modificaciones a NetEm y tc. Emulación de distintas condiciones de red. Mejora del rendimiento.

Trabajo Futuro Realizar distintas aplicaciones (servidor Web, FTP, etc.) Uso de hardware especializado. Implementar sobre LKSCTP.

Preguntas