Los servicios diferenciados o DiffServ son una arquitectura de redes informáticas que especifica un mecanismo para clasificar y gestionar el tráfico de red y proporcionar calidad de servicio (QoS) en las redes IP modernas . DiffServ se puede utilizar, por ejemplo, para proporcionar baja latencia al tráfico de red crítico, como la voz o la transmisión de contenido multimedia , al tiempo que ofrece un servicio de mejor esfuerzo a los servicios no críticos, como el tráfico web o las transferencias de archivos .
DiffServ utiliza un punto de código de servicios diferenciados ( DSCP ) de 6 bits en el campo de servicios diferenciados ( campo DS ) de 6 bits en la cabecera IP para la clasificación de paquetes. El campo DS, junto con el campo ECN , reemplaza al campo TOS de IPv4 obsoleto . [ 1 ]
Fondo
Las redes de datos modernas transportan muchos tipos diferentes de servicios, incluyendo voz, video, música en streaming, páginas web y correo electrónico. Muchos de los mecanismos de QoS propuestos que permitían la coexistencia de estos servicios eran complejos y no lograban escalar para satisfacer las demandas de Internet pública . En diciembre de 1998, el IETF reemplazó los campos TOS y de precedencia IP en el encabezado IPv4 con el campo DS , que posteriormente se dividió para referirse solo a los 6 bits superiores con el campo ECN en los dos bits inferiores. [ 2 ] [ 3 ] En el encabezado IPv6, el campo DS es parte del campo Traffic Class, donde ocupa los 6 bits más significativos. [ 2 ]
En el campo DS, se utiliza un rango de ocho valores (selectores de clase) para garantizar la compatibilidad con versiones anteriores del campo de precedencia IP de IPv4 . Actualmente, DiffServ ha reemplazado en gran medida a TOS y otros mecanismos de QoS de capa 3 , como los servicios integrados (IntServ), como la arquitectura principal que utilizan los enrutadores para proporcionar QoS.
Mecanismos de gestión del tráfico
DiffServ es un mecanismo de gestión de tráfico basado en clases y de grano grueso . En cambio, IntServ es un mecanismo basado en flujos y de grano fino . DiffServ se basa en un mecanismo para clasificar y marcar los paquetes como pertenecientes a una clase específica. Los enrutadores compatibles con DiffServ implementan comportamientos por salto (PHB), que definen las propiedades de reenvío de paquetes asociadas a una clase de tráfico. Se pueden definir diferentes PHB para ofrecer, por ejemplo, un servicio de baja pérdida o de baja latencia .
En lugar de diferenciar el tráfico de red según los requisitos de cada flujo individual, DiffServ opera bajo el principio de clasificación de tráfico , asignando cada paquete de datos a una de un número limitado de clases de tráfico. Cada enrutador de la red se configura para diferenciar el tráfico según su clase. Cada clase de tráfico se puede gestionar de forma diferente, lo que garantiza un tratamiento preferencial para el tráfico de mayor prioridad en la red. La premisa de DiffServ es que las funciones complejas, como la clasificación y el control de paquetes, se pueden llevar a cabo en el borde de la red mediante los enrutadores de borde. Dado que no se requiere clasificación ni control en los enrutadores centrales, su funcionalidad se puede mantener sencilla. Los enrutadores centrales simplemente aplican el tratamiento PHB a los paquetes según sus marcas. El tratamiento PHB se logra mediante una combinación de políticas de programación y de gestión de colas.
Un grupo de enrutadores que implementan políticas DiffServ comunes y definidas administrativamente se denomina dominio DiffServ . [ 4 ]
Si bien DiffServ recomienda un conjunto estandarizado de clases de tráfico, [ 5 ] su arquitectura no incorpora criterios predeterminados sobre qué tipos de tráfico deben recibir un tratamiento prioritario. DiffServ simplemente proporciona un marco para permitir la clasificación y el tratamiento diferenciado. Las clases de tráfico estándar (que se describen más adelante) sirven para simplificar la interoperabilidad entre diferentes redes y equipos de distintos proveedores.
Clasificación y marcado
El tráfico de red que ingresa a un dominio DiffServ está sujeto a clasificación y acondicionamiento. Un clasificador de tráfico puede inspeccionar muchos parámetros diferentes en los paquetes entrantes, como la dirección de origen, la dirección de destino o el tipo de tráfico, y asignar paquetes individuales a una clase de tráfico específica. Los clasificadores de tráfico pueden respetar cualquier marca DiffServ en los paquetes recibidos o pueden optar por ignorar o anular dichas marcas. Para un control estricto sobre los volúmenes y el tipo de tráfico en una clase determinada, un operador de red puede optar por no respetar las marcas en la entrada al dominio DiffServ. El tráfico en cada clase puede acondicionarse aún más sometiéndolo a limitadores de velocidad , controladores de tráfico o modeladores . [ 6 ] : §3
El comportamiento por salto está determinado por los campos DS y ECN en la cabecera IP. El campo DS contiene el valor DSCP de 6 bits. [ 2 ] La Notificación Explícita de Congestión (ECN) ocupa los 2 bits menos significativos del campo TOS de IPv4 y del campo de clase de tráfico (TC) de IPv6. [ 7 ] [ 8 ] [ 9 ]
En teoría, una red podría tener hasta 64 clases de tráfico diferentes utilizando los 64 valores DSCP disponibles. Los RFC de DiffServ recomiendan, pero no exigen, ciertas codificaciones. Esto proporciona al operador de red una gran flexibilidad para definir las clases de tráfico. Sin embargo, en la práctica, la mayoría de las redes utilizan los siguientes comportamientos por salto definidos comúnmente:
- PHB de reenvío predeterminado (DF): normalmente se trata de tráfico de mejor esfuerzo.
- PHB de reenvío acelerado (EF): dedicado al tráfico de baja pérdida y baja latencia.
- Envío garantizado (AF) PHB: garantiza la entrega bajo las condiciones prescritas.
- PHB de selector de clase : mantienen la compatibilidad con versiones anteriores del campo de precedencia IP.
Reenvío predeterminado
El único comportamiento requerido es un PHB de reenvío predeterminado (DF). Básicamente, cualquier tráfico que no cumpla con los requisitos de ninguna de las otras clases definidas utiliza DF. Por lo general, DF tiene características de reenvío de mejor esfuerzo. El DSCP recomendado para DF es 0. [ 5 ]
Envío urgente
El IETF define el comportamiento de Reenvío Expresado (EF) en el RFC 3246. El PHB EF tiene las características de baja latencia, baja pérdida y baja fluctuación. Estas características son adecuadas para voz, video y otros servicios en tiempo real. El tráfico EF a menudo recibe una estricta prioridad de cola sobre todas las demás clases de tráfico. Debido a que una sobrecarga de tráfico EF causará retrasos en la cola y afectará las tolerancias de fluctuación y latencia dentro de la clase, se pueden aplicar al tráfico EF control de admisión , control de tráfico y otros mecanismos. El DSCP recomendado para EF es 101110 B (46 o 2E H ).
Admisión por voz
El IETF define el comportamiento de admisión de voz en el RFC 5865. El PHB de admisión de voz tiene características idénticas al PHB de reenvío acelerado. Sin embargo, el tráfico de admisión de voz también es admitido por la red mediante un procedimiento de control de admisión de llamadas (CAC). El DSCP recomendado para la admisión de voz es 101100 B (44 o 2C H ).
Envío garantizado
El IETF define el comportamiento de Reenvío Garantizado (AF) en los RFC 2597 y 3260. El reenvío garantizado permite al operador asegurar la entrega siempre que el tráfico no supere una tasa contratada. El tráfico que exceda dicha tasa tiene mayor probabilidad de ser descartado en caso de congestión.
El grupo de comportamiento AF define cuatro clases AF distintas, donde todo el tráfico dentro de una misma clase tiene la misma prioridad. Dentro de cada clase, a los paquetes se les asigna una precedencia de descarte (alta, media o baja, donde una mayor precedencia implica un mayor número de descartes). La combinación de clases y la precedencia de descarte da como resultado doce codificaciones DSCP distintas, desde AF11 hasta AF43 (véase la tabla).
Se define algún grado de prioridad y equidad proporcional entre el tráfico de diferentes clases. Si se produce congestión entre clases, se da prioridad al tráfico de la clase superior. En lugar de utilizar colas de prioridad estricta, es probable que se utilicen algoritmos de servicio de cola más equilibrados, como la cola justa o la cola justa ponderada . Si se produce congestión dentro de una clase, los paquetes con mayor precedencia de descarte se descartan primero. A veces se utiliza el remarcado de un paquete para aumentar su precedencia de descarte si el ancho de banda de un flujo supera un cierto umbral. Por ejemplo, un flujo cuya tasa está por encima de la Tasa de Información Comprometida (CIR) según se define en RFC 2697 hace que el flujo se marque con una precedencia de descarte AF más alta. Esto permite decidir cuándo dar forma al flujo para dispositivos más alejados en caso de que encuentren congestión. Para evitar problemas asociados con el descarte de cola , a menudo se utilizan algoritmos de selección de descarte más sofisticados, como la detección temprana aleatoria .
Selector de clase
DF = Reenvío predeterminado
Antes de DiffServ, las redes IPv4 podían usar el campo de precedencia IP en el byte TOS de la cabecera IPv4 para marcar el tráfico prioritario. El octeto TOS y la precedencia IP no se usaban ampliamente. El IETF acordó reutilizar el octeto TOS como campo DS para las redes DiffServ, dividiéndolo posteriormente en el campo DS y el campo ECN. Para mantener la compatibilidad con versiones anteriores de dispositivos de red que aún usan el campo de precedencia, DiffServ define el PHB de selector de clase .
Los puntos de código del selector de clase tienen el formato binario 'xxx000'. Los tres primeros bits corresponden a los antiguos bits de precedencia IP. Cada valor de precedencia IP se puede asignar a una clase DiffServ. La precedencia IP 0 se asigna a CS0, la precedencia IP 1 a CS1, y así sucesivamente. Si se recibe un paquete de un enrutador que no admite DiffServ y que utiliza marcas de precedencia IP, el enrutador DiffServ aún puede interpretar la codificación como un punto de código del selector de clase.
En el RFC 4594 se ofrecen recomendaciones específicas para el uso de los puntos de código del selector de clases .
Directrices de configuración
El RFC 4594 ofrece recomendaciones detalladas y específicas para el uso y la configuración de los puntos de código. Otros RFC, como el RFC 8622 , han actualizado estas recomendaciones. La lista completa se encuentra en el registro de puntos de código DSCP del IETF. [ 12 ]
sr+bs = tasa única con control de tamaño de ráfaga (como un cubo de tokens ).
Consideraciones de diseño
Con DiffServ, todo el control y la clasificación se realizan en los límites entre los dominios DiffServ. Esto significa que, en el núcleo de Internet, los enrutadores no se ven obstaculizados por las complejidades de la recaudación de pagos o la aplicación de acuerdos. Es decir, a diferencia de IntServ , DiffServ no requiere configuración previa, ni reservas, ni negociaciones de extremo a extremo que consuman mucho tiempo para cada flujo.
Los detalles sobre cómo cada enrutador gestiona el campo DS dependen de su configuración, por lo que resulta difícil predecir el comportamiento de extremo a extremo. Esto se complica aún más si un paquete atraviesa dos o más dominios DiffServ antes de llegar a su destino. Desde un punto de vista comercial, esto significa que es imposible ofrecer diferentes clases de conectividad de extremo a extremo a los usuarios finales, ya que un paquete Gold de un proveedor puede ser Bronze de otro. DiffServ, o cualquier otro sistema de marcado de QoS basado en IP, no garantiza la calidad del servicio ni un acuerdo de nivel de servicio (SLA) específico. Al marcar los paquetes, el remitente indica que desea que se traten como un servicio específico, pero no hay garantía de que esto ocurra. Es responsabilidad de todos los proveedores de servicios y sus enrutadores en la ruta garantizar que sus políticas gestionen los paquetes de forma adecuada.
Agente de ancho de banda
En el marco de DiffServ, un agente de ancho de banda es un agente que conoce las prioridades y políticas de una organización y asigna ancho de banda en función de dichas políticas. [ 13 ] Para lograr una asignación de recursos de extremo a extremo entre dominios separados, el agente de ancho de banda que gestiona un dominio deberá comunicarse con sus pares adyacentes, lo que permite construir servicios de extremo a extremo a partir de acuerdos puramente bilaterales.
RFC de DiffServ
- RFC 2474 — Definición del campo de servicios diferenciados (campo DS) en las cabeceras IPv4 e IPv6 . Nótese que el campo DS de 8 bits (los dos últimos sin usar) en [ 2 ] se dividió posteriormente en el campo DS actual de 6 bits y un campo ECN separado de 2 bits. [ 3 ]
- RFC 2475 — Una arquitectura para servicios diferenciados.
- RFC 2597 — Grupo PHB de reenvío garantizado.
- RFC 2983 — Servicios diferenciados y túneles.
- RFC 3086 — Definición de comportamientos diferenciados por dominio para servicios y reglas para su especificación.
- RFC 3140 — Códigos de identificación de comportamiento por salto. (Sustituye a RFC 2836 ).
- RFC 3246 — Un PHB de reenvío acelerado. (Sustituye a RFC 2598 ).
- RFC 3247 — Información complementaria para la nueva definición del EF PHB (comportamiento de reenvío acelerado por salto).
- RFC 3260 — Nueva terminología y aclaraciones para Diffserv. (Actualiza RFC 2474 , RFC 2475 y RFC 2597 ).
- RFC 4594 — Directrices de configuración para las clases de servicio DiffServ.
- RFC 5865 : Un punto de código de servicios diferenciados (DSCP) para tráfico admitido por capacidad. (Actualiza los RFC 4542 y 4594 ).
- RFC 8622 — Un comportamiento de menor esfuerzo por salto (LE PHB) para servicios diferenciados. (Actualiza RFC 4594 y RFC 8325 , y reemplaza a RFC 3662 ).
RFC de gestión de DiffServ
Véase también
Referencias
- ↑ D. Grossman (abril de 2002). Nueva terminología y aclaraciones para DiffServ . IETF . doi : 10.17487/RFC3260 . RFC 3260 .Informativo. Actualiza los RFC 2474 , 2475 y 2597 .
- 1 2 3 4 K. Nichols; S. Blake; F. Baker ; D. Black (diciembre de 1998). Definición del campo de servicios diferenciados (campo DS) en los encabezados IPv4 e IPv6 . Grupo de trabajo de redes. doi : 10.17487/RFC2474 . RFC 2474 .Norma propuesta. Sustituye a las RFC 1455 y 1349. Actualizada por las RFC 3168 , 3260 y 8436 .
- 1 2 K. Ramakrishnan; S. Floyd; D. Black (septiembre de 2001). La adición de notificación explícita de congestión (ECN) a IP . Grupo de trabajo de redes. doi : 10.17487/RFC3168 . RFC 3168 .Estándar propuesto. Deja obsoleto el RFC 2481. Actualiza los RFC 2474 , 2401 y 793. Actualizado por los RFC 4301 , 6040 y 8311 .
- ↑ Guía de configuración de conmutadores Ethernet S3700HI - QoS , Huawei , pág. 7 , consultado el 07/10/2016 .
Un dominio DiffServ se compone de un grupo de nodos DiffServ interconectados que utilizan la misma política de servicio y PHB.
- 1 2 J. Babiarz; K. Chan; F. Baker (agosto de 2006). Directrices de configuración para las clases de servicio DiffServ . Grupo de trabajo de redes. doi : 10.17487/RFC4594 . RFC 4594 .Informativo. Actualizado según los RFC 5865 y 8622 .
- ↑ J. Heinanen; F. Baker ; W. Weiss; J. Wroclawski (junio de 1999). Assured Forwarding PHB Group . Grupo de trabajo de red. doi : 10.17487/RFC2597 . RFC 2597 .Norma propuesta. Actualizada por RFC 3260 .
- ↑ G. Tsirtsis; G. Giaretta; H. Soliman; N. Montavont (enero de 2011). Selectores de tráfico para enlaces de flujo . Grupo de trabajo de ingeniería de Internet . doi : 10.17487/RFC6088 . ISSN 2070-1721 . RFC 6088 . Norma propuesta.
- ↑ Worldwide. "Implementación de políticas de calidad de servicio con DSCP" . Cisco . Consultado el 16 de octubre de 2010 .
- ↑ Filtrado de DSCP Archivado el 29 de julio de 2016 en Wayback Machine
- ↑ Selector de clase . IETF . sec. 1.5.4. doi : 10.17487/RFC4594 . RFC 4594 .
- ↑ Mapeo para NTP . IETF . sec. 5.2. doi : 10.17487/RFC4594 . RFC 4594 . sugiere (énfasis añadido):
- Cuando se utiliza NTP para proporcionar una sincronización de alta precisión dentro de la red de un administrador (operador) o para usuarios/clientes finales, se debe utilizar la clase de servicio de telefonía y los paquetes NTP deben marcarse con el valor EF DSCP.
- Para aplicaciones que requieren una precisión de temporización equivalente a la del reloj de pared, se debe utilizar la clase de servicio estándar y los paquetes deben marcarse con DF DSCP.
- ↑ "Puntos de código de campo de servicios diferenciados (DSCP)" . www.iana.org .
- ↑ K. Nichols; V. Jacobson; L. Zhang (julio de 1999). Una arquitectura de servicios diferenciados de dos bits para Internet . IETF. doi : 10.17487/RFC2638 . RFC 2638 .
Lecturas adicionales
Enlaces externos
- Página del Grupo de Trabajo DiffServ de IETF
- Documento técnico de Cisco: DiffServ: el modelo escalable de calidad de servicio de extremo a extremo.
- Artículo de ACM SIGCOMM'09: Modelado y comprensión de políticas de clase de servicio de extremo a extremo en redes operativas : propone un modelo práctico para extraer políticas DiffServ.
- Cisco: Implementación de políticas de calidad de servicio con DSCP
- Registro de puntos de código de campo de servicios diferenciados en la Autoridad de Números Asignados de Internet
- Arquitectura de Internet
- Estándares de Internet
- Calidad del servicio