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

*Leaky bucket*

*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

● **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.

### 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

#### DS

### Diffserv
Servicios de audio y video
Internet de las cosas, conceptos y protocolos
Programación de aplicaciones en redes