# Aplicaciones TCP/IP ## Redes multimedia Los tipos de dato que conforman el grupo de las *redes de datos* se clasifican como sigue: * **Texto** * Con formato * Sin formato * Hipertexto * **Imágen** * Generadas por computadora * Digitalizadas * **Audio** * En tiempo real * Bajo demanda * **Video** * En tiempo real * Bajo demanda ## QoS (*Quality of Service*). Calidad de servicio, se define como el conjunto de políticas y procesos de **administración y control de ciertos parámetros de la red**, *(clasificación de paquetes, descarte, marcado, colas, conformación de tráfico)*, relacionados con su rendimiento y eficiencia, tales como *tasa de transferencia, pérdida de paquetes, delay, jitter (variabilidad de delay)*, con el objeto de **adecuar el canal para una aplicación en particular.** > Definición UIT: “Efecto global de la calidad de funcionamiento de un servicio, que determina el grado de satisfacción de los usuarios.” ### Eficiencia Se puede medir la eficiencia de la red con respecto a los costos asociados según: $Eficiencia = \frac{tráfico-transportado}{costo}$ Donde el `tráfico` puede ser cuantificado por: * El volumen de tráfico soportado por la red. * El número de flujos o sesiones transportadas por la red. * El número de clientes servidos. Mientras que el `costo` puede contemplar: * Alquiler de las líneas. * Tarifas de interconexión. * Hardware. * Personal. Se requiere aspirar a un equilibro entre *eficiencia* y *QoS*, problema de optimización. ### Parámetros de QoS #### Asociados al canal de comunicación * **Bw**: Tasa de bit, ancho de banda. * **BER**: Tasa promedio de bits erróneos, probabilidad de que un bit binario se corrompa durante la transmisión en cierto intervalo de tiempo. `[bps]` * **Delay**: Retardo de transmisión, contemplando los que se producen en los dispositivos de red y de propagación así como los de códecs. Es independiente de la tasa de bits. `[s]` #### Asociados a la red * **Maximum size**: Tamaño máximo de paquetes. * **Rasa promedio de transferencia de paquetes**. * **Tasa promedio de paquetes erróneos**. * **Delay promedio** de transferencia de paquetes. * **Jitter**: Variación del retardo. * **Retardo de transmisión**. #### Definiciones de QoS Definiciones particulares de QoS: * **Requerimientos de calidad de servicio del usuario o cliente** * **Calidad de servicio ofrecida por el proveedor** * **Calidad de servicio lograda por el proveedor**. * **Calidad de servicio percibida por el cliente**. ### SLA: Service Level Agreement **Acuerdo de nivel de servicio** * Contrato entre usuario y operador de red. * Establecimiento delos valores delos parámetros de la red. * Redacción accesible por el usuario. * Incluye: * Delay * Jitter * Packet Loss * Throughput * Disponibilidad * Preservación de tráfico por flujos **Recomiendaciones sobre métricas de rendimiento IP**: [RFC2330](https://tools.ietf.org/html/rfc2330) * Conectividad ([RFC 2678](https://tools.ietf.org/html/rfc2678)). * Retardo en un sentido ([RFC 2679](https://tools.ietf.org/html/rfc2679)). * Pérdida de paquetes en un sentido ([RFC 2680](https://tools.ietf.org/html/rfc2680)). * Retardo de ida y vuelta ([RFC 2681](https://tools.ietf.org/html/rfc2681)). * Patrón de pérdidas en un sentido ([RFC 3357](https://tools.ietf.org/html/rfc3357)). * Variación del retardo ([RFC 3393](https://tools.ietf.org/html/rfc3393)). ## Parámetros de tráfico en ATM * **PCR**: *Peack Cell Rate*. Tasa pico de envío. * **MBS**: *Maximum Burst Size*. Máxima longitud de ráfaga, limita el número máximo de células seguidas enviadas a tasa PCR. * **SCR**: *Sustainable Cell Rate*. Tasa sostenible, limita la tasa media transmitida. * **MCR**: *Minimum Cell Rate*. Tasa mínima. ### Categorías de servicio ATM | Categoría | Características | | -------- | -------- | | CBR | Simula línea punto a punto. Reserva estricta de capacidad. Tasa de transferencia constante con mínima tolerancia a ráfagas. | | VBR-rt | Asegura una tasa de transferencia media y un retardo. Permite ráfagas. Utiliza un esquema de dos *leaky buckets*.| | VRT-nrt | Asegura una tasa de transferencia media, pero no retardo. Permite ráfagas. Emplea *leaky bucket* | | ABR | Asegura tasa de transferencia mínima, permite usar capacidad sobrante de la red, incorpora control de congestión. | | UBR | No asegura nada, aprovecha transferencia sobrante.| ![](https://i.imgur.com/3oEJN5R.png) *Leaky bucket* ![](https://i.imgur.com/OrN4Sqj.png) *Tocken bucket* #### Conformado de tráfico Se realiza en el host, altera las características del tráfico que se introduce a la red, aplicando algoritmos de control, con el objeto de oldear los paquetes generados, asegurandose de que las células sean admitidas. ## Control de ancho de banda Se implementa en las interfaces de entrada y/o salida de un router. A tener en cuenta: ● **Políticas de definición de clases**: Qué y cómo controlar/priorizar. (servicios, IP, redes, MAC) ● **Políticas de selección de paquetes**: Cómo seleccionar los paquetes. ● **Políticas de selección de algoritmos**: Qué algoritmos emplear para manejo de flujo de paquetes. ### Componentes del control de ancho de banda ![](https://i.imgur.com/dAgr9fm.png) ● **shaping**, configuración de clases. ● **scheduling**, planificación de las colas de paquetes. ● **classifying**, clasificación de los paquetes a través de filtros. ● **policing**, control del tráfico. ● **dropping**, descartado de paquetes fuera del filtro. ● **marking**, marcado de paquetes. ## Tráfico y congestión Si el flujo de datos alcanza o supera la capacidad de la red, se produce congestión, lo que viene aparejado con delay, pérdida de paquetes, etc. E impacta directa y negativamente con el *tiempo de servicio y rendimiento*. Según cómo se adapta el tráfico a las variaciones en retardo y rendimiento de la red se puede establecer la siguiente clasificación: * **Elástico**: Se adapta y satisface los parámetros requeridos por la aplicación. * **Semi Elástico**: El flujo continua de servidor a cliente, el cliente recibe los datos a pesar del retardo. * **Inelástico**: No se adapta. ### Control de tráfico Se realizan procesos, toman desiciones y establecen políticas asignando recursos tales que NO se produzca congestión en la red. ### Control de congestión Al sobrecargarse la red, se adaptan las condiciones o parámetros para retornar a un estado anterior. ## Flujo Secuencia de datagramas (unidireccional) transmitida de host origen a host destino, identificada por IPsrc, Puertosrc, IPdst, Puertodst y protocolo de transporte (UDP o TCP). Mínima entidad a la que se puede aplicar QoS. * **Stream**: Agregación de flujos según un criterio común, ej: VoIP. * **Traffic classes**: Agregación de flujos y stream a la que se aplica una acción determinada. ## TCP Protocolo de capa de transporte orientado a conexión *(socket: IP + puerto)* que garantiza confiabilidad en la transmisión de datos. Ofrece garantías respecto a la entrega de paquetes y uso eficiente del ancho de banda, está diseñado para **recuperarse ante situaciones de corrupción, pérdida, duplicación o desorden de los datos**, adaptandose a los temporzadores de pérdida o adaptando la ventana de congestión no así en retardos. ![](https://i.imgur.com/z6ycNdN.png) ### Adaptación de los temporizadores * **RTT**: *(Round Trip Time)* Tiempo de ida y vuelta, se mide con los ACK. Se obtiene el dato de la realimentación de la red, y se establece dinámicamente el valor de timeout en función del mismo. ### Ventana de congestión Limita la cantidad de paquetes a enviar antes de recibir ACK del receptor. Se incrementa la ventana en un paquete por cada enviado hasta detectar 3 ACK, evento a partir del cual se disminuye la ventana dinámicamente. ### QoS en capa 3 Se emplean técnicas de QoS en la capa de red, más específicamente en los routers. #### ToS ![](https://i.imgur.com/2JA5bsr.png) #### DS ![](https://i.imgur.com/aJlPqme.png) ### Diffserv Servicios de audio y video Internet de las cosas, conceptos y protocolos Programación de aplicaciones en redes