Académique Documents
Professionnel Documents
Culture Documents
Servicios Diferenciados
Marcos Chait B.
José Gallardo A.
Carlos Pon S.
Departamento de Ingeniería de Sistemas y Computación,
Facultad de Ingeniería. Universidad Católica del Norte.
Av. Angamos 0610. Antofagasta - Chile.
e-mail: jgallardo@.ucn.cl
1. Introducción
La conectividad en Internet ha estado basada desde sus inicios en el servicio de mejor esfuerzo
(best effort), en el que a todo tráfico por la red se le da un trato igualitario, no ofreciéndose ningún tipo de
garantía de calidad de servicio (QoS, Quality of Service). Sin embargo en los últimos años se han
desarrollado varios protocolos y mecanismos que permiten proveer la calidad de servicio necesaria a
aplicaciones con requerimientos temporales o de fiabilidad muy estrictos.1
Los requerimientos de QoS que involucran reserva de recursos (ancho de banda), dependen del
tipo de aplicación que un usuario solicita. De esta manera habrá aplicaciones que necesitan enviar toda
la información garantizando una determinada QoS, por lo que deberán reservar recursos siempre. Otras
no necesitarán garantías de servicio y el servicio best effort será suficiente. La Tabla Nº 1 muestra los
requerimientos de QoS para aplicaciones típicas.
Aplicación Fiabilidad Retardo Jitter Ancho de banda
Correo Alta (*) Alto Alto Bajo
electrónico
Transferencia Alta (*) Alto Alto Medio
de archivos
Acceso Web Alta (*) Medio Alto Medio
Login Remoto Alta (*) Medio Medio Bajo
Audio bajo Media Alto Medio Medio
Demanda
Video bajo Media Alto Medio Alto
Demanda
Telefonía Media Bajo Bajo Bajo
VideoConferencia Media Bajo Bajo Alto
SLS contiene especificaciones sobre el nivel de servicio, que incluyen la capacidad básica del
enlace, confiabilidad, tiempo de respuesta en caso de fallo, aspectos legales y seguridad incluida en el
servicio. TCA define la estructura del perfil de tráfico, en términos de la clasificación de tráfico, las
características de las ráfagas y las prioridades de los distintos servicios.
El SLA en su condición de contrato legal tiende a ser estático, con actualizaciones esporádicas.
En la actualidad se está investigando en la dinamización del contrato SLA, para optimizar la
disponibilidad de recursos y los costos3.
• IntServ (Integrated Services) y protocolo RSVP. El usuario solicita de antemano los recursos que
necesita; cada router del trayecto ha de tomar nota y efectuar la reserva solicitada.
• DiffServ (Differentiated Services). El usuario marca los paquetes con un determinado nivel de
prioridad; los routers van agregando las demandas de los usuarios y propagándolas por el
trayecto. Esto le da al usuario una confianza razonable de conseguir la QoS solicitada. Ambos
son compatibles y pueden coexistir.
En redes modernas es común soportar la plataforma de QoS mediante enrutamiento eficiente
provisto por MPLS (Multi Protocol Label Switching). A continuación se describen los mecanismos de
calidad de servicio incorporados en Servicios diferenciados, por ser la aplicación central en el presente
trabajo.
DiffServ utiliza el campo DS, en el encabezamiento de los paquetes IP que contiene suficiente
información para los mecanismos de encolamiento, planificación y eliminación de paquetes, denominados
los PHB (Per Hop Behaviour).
Aunque son los PHB los que determinan la efectividad de los parámetros QoS, los clientes sólo
están interesados en servicios extremo a extremo. De esta manera, clientes y proveedores de servicio
deben negociar acuerdos respecto a los servicios provistos. Estos contratos se denominan “Acuerdo de
Nivel de Servicio” (Service Level Agreement SLA). Los SLA, junto con la especificación técnica del
servicio SLS (Service Level Specification) contienen aspectos adicionales como condiciones de pago,
duración de contrato, etc. Desde el punto de vista técnico, el aspecto más importante de SLS es la
especificación de acondicionamiento del tráfico TCS (Traffic Conditioning Specification), que incorpora en
forma detallada los parámetros de calidad de servicio, tales como rendimiento esperado, tasa de pérdida
o retardo y elementos del perfil de tráfico, para lo cual el servicio requerido puede ser provisto.
Para poder proporcionar servicio extremo a extremo, los dominios DiffServ individuales deben
cooperar, es decir, el primer dominio debe negociar con el cliente mientras que los dominios consecutivos
deben negociar entre ellos, a nombre del cliente.
El campo Precedence del byte ToS consiste en tres bits que clasifican los flujos desde 111 =
Control de la Red (el más importante) hasta 000 (por defecto). Los siguientes campos son: D (Delay)
Retardo, T (Throughput), productividad, R (Reliability) confiabilidad, y C (Cost) Costo.
En DiffServ el campo ToS se modifica por un campo de 6 bits DSCP (DiffServ Code Point),
compatible con el campo de precedencia de ToS pero no con los bits DTRC. Los otros dos bits restantes
son el actual campo CU (Currently Unused), es decir no utilizado en la actualidad, pero propuesto para
utilizarse en contención de flujo.
Todo el tráfico con el mismo DSCP se junta y se supone parte del mismo grupo o BA (Behaviour
Aggregate). La circulación de los BA por la red está regida por los PHB (Per Hop Behaviour).
AF define cuatro clases de tráfico para asignarlo a las colas de un router y tres prioridades de
descarte de paquetes en cada clase (un total de doce DSCP’s), utilizadas normalmente con disciplina
WRED (Weighed Random Early Drop). Se realiza un perfilamiento de tráfico, aumentando la probabilidad
de descarte del tráfico fuera de perfil.
Router de frontera Ingres Router: Se sitúan en los puntos de entrada al backbone Diff-Serv (dominio
DS), efectuando la clasificación de los paquetes en base al campo DS o en base a múltiples campos de
la cabecera de éstos. Son responsables de la creación de los BA configurando y perfilando el tráfico de
acuerdo a las definiciones de DSCP, según los acuerdos SLA definidos con el cliente del servicio.
Egress Router: Se ubican en los puntos de salida de redes Diff-Serv (dominio DS), controlando el tráfico.
Efectúan la clasificación de paquetes en base solo al campo DS de las cabeceras.
Interior (core) Router: Tienen la misión de «sumar» flujos, realizar la clasificación DS y reenvío de
paquetes. Se sitúan dentro del backbone DS (dominio DS).
NS está construido sobre un interprete OTcl (Object Oriented Tool Command Language), que
tiene un programador de eventos de simulación, una biblioteca de objetos componentes de redes y
bibliotecas de interconexión de objetos de red.
Una red a simular es un programa (libreto del intérprete) en OTcl. El programa define una
secuencia de eventos, define la topología de la red y define el comportamiento de las fuentes de tráfico,
programando su inicio y término de transmisión de paquetes.
Todos los eventos se asocian a los paquetes transmitidos en su recorrido por la topología de la
red. Cada paquete tiene una identidad (ID) única con tiempo de activación y un puntero al objeto que
maneja el evento.
El programador de eventos (scheduler) lleva el registro del tiempo de simulación y activa todos
los eventos en la cola de simulación programados en un determinado tiempo mediante la activación del
objeto de red apropiado, permitiéndoles realizar la acción adecuada con el paquete apuntado por el
evento.
Las componentes de red se interconectan intercambiando paquetes. Todas las componentes que
requieren utilizar tiempo de simulación (experimentar un retardo) usan el programador de eventos
definiendo un evento de espera para el paquete, esperando que se active automáticamente después de
transcurrido el tiempo de retardo previsto.
5.1 Diseño de NS
Por razones de eficiencia, NS está desarrollado en OTcl y en C++, separando la lógica de la
trayectoria de datos de las estructuras de control y ejecución de la simulación. El programador de eventos
y los objetos componentes de red están escritos en C++, con el objeto de reducir los tiempos de
procesamiento.
Los objetos compilados quedan disponibles para el intérprete OTcl a través de un ligado dinámico
que crea una correspondencia OTcl para cada objeto C++ y hace que las funciones y variables invocadas
sobre el objeto OTcl, actúen realmente sobre el objeto C++.
Los datos generados pueden utilizarse directamente para análisis de la simulación o bien servir
de entrada para la herramienta de despliegue gráfico de la simulación NAM (Network Animador).
5.3 Diffserv en NS
El diseño e implementación de la arquitectura Diffserv en NS requiere de la adición de cuatro
módulos a la jerarquía de clases de NS 7: el primero para la funcionalidad básica de routers con Diffserv
(dsRED), el siguiente para la definición de los routers de núcleo, otro para los routers de frontera y el
último para la administración de la política. Técnicamente, cada módulo define una nueva clase en NS.
dsREDQueue forma una estructura de colas consistente en cuatro colas físicas, cada una de las
cuales contiene tres colas RED virtuales, que corresponden a los niveles de precedencia. Cada cola
física corresponde a un tipo de tráfico y cada combinación de cola y precedencia se asocia a un Code
Point.
Los paquetes se encolan en una determinada cola y número de precedencia de acuerdo a su
marca de Code Point. Su tratamiento se realiza a los parámetros correspondientes a esa cola y número
de precedencia. De esta manera el Code Point especifica el nivel de servicio.
La elección de cuatro colas físicas se realiza según la recomendación RFC 2597 8 y corresponde
a las clases de servicio definidas para AF (Assured Forwarding). No todas las colas físicas y virtuales
requieren ser usadas. El usuario puede configurar una instancia dsRED con menos colas físicas o
virtuales, sin embargo el valor no puede ser excedido sin modificar el código y recompilando NS.
La tabla PHB maneja este mapeo a través de un arreglo de tres campos que debe ser asignado
en la programación del simulador.
• Code point
• Clase (Cola física)
• Precedence (Cola virtual)
Una política se establece entre un nodo de origen y uno de destino. Todos los flujos con el mismo
par origen destino son tratados como un agregado de tráfico único. Cada política define un tipo de
aplicador de política (policer), una tasa de traspaso objetivo y otros parámetros dependientes de la
política específica. Como mínimo, una política define dos valores de Code Point y la elección depende de
la comparación entre la tasa objetivo del agregado y la tasa de envío actual (bits/seg).
Cada agregado de tráfico tiene asociado un aplicador de política, un medidor y un code point
inicial. El tipo de medidor especifica el método para medir las variables de estado requeridas por el
aplicador de política, por ejemplo el medidor TSW tagger mide la tasa de tráfico promedio a través de una
ventana de tiempo específica.
Tras la llegada de los paquetes al dispositivo de frontera, son examinados para determinar a que
agregado de tráfico pertenecen. Se invoca un medidor específico para ese agregado para actualizar
todas sus variables de estado. Se utiliza ya sea el code point inicial u otro degradado respecto del
primero y el paquete es encolado correspondientemente.
d i gi t a l
iMac
iMa c
En esta topología se pueden identificar tres nodos de origen y tres de destino. El nodo origen 1 se
comunica con el nodo destino 1, el nodo origen 2 con el nodo destino 2 y finalmente el nodo origen 3 con
el nodo destino 3.
Las condiciones de operación bajo las cuales se efectuaron los ensayos de simulación con el
servicio de Best Effort son las siguientes:
• Los enlaces entre los nodos de origen y el router frontera y entre el router frontera y nodos
destino son de 1 Mb/s.
• Los enlaces entre router frontera de entrada, router núcleo y router frontera de salida son de 2.9
Mb/s.
• Los flujos desde los nodos de origen son UDP, CBR
• Los tipos de cola en los nodos de origen son DropTail
• Las colas entre nodos frontera y nodo núcleo DropTail
• Los enlaces entre los nodos de origen y el router frontera y router frontera y nodos destino son
de 1 Mb/s.
• Los enlaces entre router frontera de entrada_1, router núcleo y router frontera_2 de salida son de
2.9 Mb/s.
• Los flujos desde los nodos de origen son UDP, CBR
• Los tipos de cola en los nodos de origen son DropTail
• Las colas entre nodos frontera y nodo core dsRed
• Tres colas físicas y dos colas virtuales por cada cola física.
• Tiempo de simulación: 10 segundos
• Tipo de política y parámetros: TokenBucket, y diferentes CIR y CBS por cada cola física.
En forma adicional en la figura Nº 2, se muestra las estadísticas generadas para cada code point
asociado a las diferentes colas. El despliegue se ejecuta cada dos segundos, de acuerdo a las líneas de
código incorporadas en el programa.
En lo referido a los resultados del comportamiento temporal de la red propuesta, bajo las
arquitecturas de best effort y servicios diferenciados, se muestran a modo de ejemplo en las figuras 3 y 4
los resultados obtenidos para los flujos: UDP, CBR entre los nodos origen1 y destino 1.
Media 842 us
Varianza 0,00000
Media 828 us
Varianza 0,0114
Media 857 us
Varianza 0,0196
Media 857 us
Varianza 0,0101
Media 842 us
Varianza 0,0000
Media 828 us
Varianza 0,0156
Media 828 us
Varianza 0,0156
Media 827 us
Varianza 0,0102
6. Conclusiones
El trabajo consignado en el presente informe, ha considerado una evaluación a nivel de ensayos
de simulación del comportamiento de la arquitectura de servicios diferenciados, frente a la provisión
tradicional de servicios del protocolo IP de Internet, el cual se basa en el servicio de best effort. El
software utilizado para este propósito es el Simulador de Redes Network Simulador NS2. Este software
ha sido ampliamente utilizado en diversos trabajos de investigación7 y posee una extensión que hace
posible la implementación de Servicios Diferenciados,
Estos dos parámetros que miden la calidad de los servicios y que presentan ventajas favorables
con la aplicación de servicios diferenciados, justifican ampliamente su aplicación. Sin embargo es
importante destacar, que la calidad de los servicios puede ser ampliamente mejorada aplicando una
combinación de arquitecturas de servicios diferenciados en los nodos frontera y MPLS o servicios
integrados dentro del dominio, el cual está considerado como trabajo futuro en las nuevas simulaciones.
Referencias
1. García, J, Raya, J., Rodrigo, V., “Alta Velocidad y Calidad de Servicio en redes IP”, Alfaomega, 2002.
2. Incera, J., “Métricas de desempeño en redes IP”, Presentación, Encuentro LAFMI Empresa, 2003.
3. Zhao, L, “Service Level Agreement Inmplementation”, Imperial Collage, D. of Computing, 2003.
4. Einsiedler J., “Quality of Service for the Internet: Solutions and Implementations”
5. Fall, K (Editor), “The ns Manual”, 2003.
6. Huang, P., “Intermediate NS”, Presentación Power Point.
7. Pieda J., “A Network Simulator Differenciated Services Implementation”, Nortel Networks, 2000.
8. Heinamen, J et al,” RFC 2597, Network Working Group”, 1999