Guía de administración del sistema: servicios IP

Parte VII Calidad de servicio IP (IPQoS)

Esta sección contiene tareas e información sobre Calidad de servicio IP (IPQoS), la implementación de servicios diferenciados de Oracle Solaris.

Capítulo 32 Introducción a IPQoS (Descripción general)

IP Quality of Service (IPQoS) permite priorizar, controlar y realizar un seguimiento de las estadísticas de control. Utilizando IPQoS, puede ofrece un nivel de servicio estable a los usuarios de la red. También puede administrar el tráfico para evitar que se congestione la red.

A continuación puede ve runa lista de temas de este capítulo:

Conceptos básicos de IPQoS

IPQoS posibilita la arquitectura de servicios diferenciados (Diffserv) definida por el grupo de trabajo de servicios diferenciados de IETF (Internet Engineering Task Force). En Oracle Solaris, IPQoS se implementa en el nivel de IP de la pila de protocolo TCP/IP.

¿Qué son los servicios diferenciados?

Utilizando IPQoS, puede proporcionar diferentes niveles de servicio de red para clientes seleccionados y aplicaciones específicas. Los diferentes niveles de servicios se denominan servicios diferenciados. Los servicios diferenciados que se proporcionan a los clientes pueden estar basados en una estrucutra de niveles de servicio que su compañía ofrezca a los clientes. También puede ofrecer servicios diferenciados según las prioridades definidas para aplicaciones o usuarios de la red.

Para proporicionar calidad de servicio se deben llevar a cabo las siguientes actividades:

Funciones de IPQoS

IPQoS proporciona las siguientes funciones:

Dónde obtener más información sobre la teoría y práctica de la calidad del serivicio

Puede obtener información sobre servicios diferenciados y calidad del servicio de diferentes fuentes impresas y en línea.

Libros sobre la calidad del servicio

Si necesita más información sobre la teoría y la práctica de la calidad del servicio, consulte los siguientes libros:

Petición de comentarios (RFC) sobre la calidad de servivio

IPQoS cumple las especificaciones descritas en las siguientes RFC y borradores de Internet:

Sitios web con información sobre calidad del servicio

El grupo de trabajo sobre servicios diferenciados del IETF mantiene un sitio web con vínculos a borradores de Internet sobre Diffserv: http://www.ietf.org/html.charters/diffserv-charter.html.

Los fabricantes de enrutadores, como Cisco Systems y Juniper Networks, proporcionan información en sus sitios web corporativos sobre cómo implementar servicios diferenciados en sus productos.

Páginas de comando man de IPQoS

La documentación de IPQoS incluye las siguientes páginas man:

Proporcionar calidad de servicio con IPQoS

Las funciones IPQoS permiten a los proveedores de Internet (ISP) y proveedores de aplicaciones (ASP) ofrecer diferentes niveles de servicio de red a los clientes. Estas funciones permiten a las empresas e instituciones educativas priorizar servicios para organizaciones internas o aplicaciones principales.

Utilización de acuerdos de nivel de servicio

Si su organización es un ISP o ASP, puede basar la configuración IPQoS en el acuerdo de nivel de servicio (SLA) que la empresa ofrezca a sus clientes. En un acuerdo SLA, un proveedor garantiza a un cliente un nivel de servicio de red específico según cateogorías de precios. Por ejemplo, un acuerdo SLA de máxima calidad garantiza que el cliente reciba la prioridad máxima para todos los tipos de tráfico de red 24 horas al día. Del mismo modo, un acuerdo SLA de calidad media garantiza que el cliente reciba prioridad máxima para el correo electrónico durante el horario de negocios. Y el resto de tráfico puede recibir prioridad media 24 horas al día.

Garantizar la calidad de servicio para una organización específica

Si su organización es una empresa o una institución, también puede proporcionar funciones de calidad de servicio para la red. Puede garantizar que el tráfico de un grupo específico o de una aplicación determinada reciba un grado de servicio mayor o menor.

Introducción a la directiva de calidad de servicio

Para utilizar la calidad de servicio es necesario definir una directiva de calidad de servicio (QoS). La polítca QoS define varios atributos de red, como prioridades de clientes o aplicaciones, y acciones para tratar diferentes categorías de tráfico. La directiva QoS de la organización se define en un archivo de configuración IPQoS. Este archivo configura los módulos IPQoS que residen en el núcleo de Oracle Solaris. Un host con una directiva IPQoS se considera un sistema con IPQoS.

Normalmente, la directiva QoS define lo siguiente:

Cuando los paquetes se transfieren a la red, el sistema con IPQoS evalúa los encabezados de los paquetes. La acción que realiza el sistema IPQoS la determina la directiva QoS.

Las tareas para diseñar la directiva QoS se describen en la sección Planificación de la directiva de calidad de servicio.

Mejorar la eficacia de la red con IPQoS

IPQoS incluye funciones que facilitan la mejora del rendimiento de la red al utilizar la calidad de servicio. Con la expansión de las redes informáticas, también aumenta la necesidad de administrar el tráfico de red generado por el número creciente de usuarios y los procesadores más potentes. Algunos de los síntomas de una red saturada son la pérdida de datos y la congestión del tráfico. Ambos síntomas dan como resultado tiempos de respuesta lentos.

En el pasado, los administradores de sistemas solucionaban los problemas de tráfico de red añadiendo más ancho de banda. A menudo, el nivel de tráfico de los vínculos variaba de manera notable. Con IPQoS, puede administrar el tráfico de la red y determinar con fácilidad si es necesario realizar una expansión, y dónde.

Por ejemplo, para una compañía o institución, es necesario mantener una red efectiva para evitar los cuellos de botella. También es necesario garantizar que un grupo o aplicación no consume más ancho de banda del asignado. Para un proveedor ISP o ASP, es necesario administrar el rendimiento de la red para garantizar que los clientes reciben el servicio de red por el que pagan.

Cómo afecta el ancho de banda al tráfico de red

Puede usar IPQoS para regular el ancho de banda de la red, es decir, la cantidad máxima de datos que un vínvulo de red o dispositivo puede transferir como límite máximo. La directiva QoS debe priorizar el uso del ancho de banda para proporcionar calidad de servicio a los clientes o usuarios. Los módulos de medición de IPQoS permiten medir y controlar la asignación de ancho de banda entre las diferentes clases de tráfico en un host con IPQoS.

Antes de poder administrar de manera efectiva el tráfico de la red, debe responder a estas preguntas sobre el uso del ancho de banda:

Utilización de clases de servicio para priorizar el tráfico

Para utilizar la calidad de servicio, debe analizar el tráfico de la red para determinar los grandes grupos en los que se puede dividir el tráfico. Después, debe organizar los grupos en clases de servicio con características y prioridades individuales. Estas clases forman las categorías básicas en las que se basa la directiva QoS de la organización. Las clases de servicio representan los grupos de tráfico que se desea controlar.

Por ejemplo, un proveedor puede ofrecer niveles de servicio platino, oro, plata y bronce, con una escala de diferentes precios. Un acuerdo SLA platino puede garantizar una prioridad máxima para el tráfico entrante destinado a un sitio web que el ISP aloja para el cliente. Por lo tanto, el tráfico entrante del sitio web del cliente podría ser una clase de tráfico.

Para una empresa, se pueden crear clases de servicio basadas en los requisitos de los departamentos. También se pueden crear clases basadas en el nivel de utilización de una aplicación específica en el tráfico de red. A continuación puede ver algunos ejemplos de clases de tráfico de una empresa:

Modelo de servicios diferenciados

IPQoS incluye los siguientes módulos, que forman parte de la arquitectura Diffserv (servicios diferenciados) definida en RFC 2475:

IPQoS añade las siguientes mejoras al modelo Diffserv:

En esta sección se explican los módulos Diffserv tal y como se utilizan en IPQoS. Es necesario conocer estos módulos, sus nombres y su utilización para configurar la directiva QoS. Si necesita información detallada sobre cada módulo, consulte la sección Arquitectura IPQoS y el modelo Diffserv.

Descripción general del clasificador (ipgpc)

En el modelo Diffserv, el clasificador selecciona paquetes del flujo de tráfico de una red. Un flujo de tráfico consiste en un grupo de paquetes con información idéntica en los siguientes campos de encabezado de IP:

En IPQoS, estos campos se conocen como 5-tuple.

El módulo clasificador de IPQoS se llama ipgpc. El clasificador ipgpc organiza los flujos de tráfico en clases basada en caraterísticas definidas en el archivo de configuración IPQoS.

Si necesita información detallada sobre ipgpc, consulte la sección Módulo Classifier.

Clases IPQoS

Una clase es un grupo de flujos de red que compaten características similares. Por ejemplo, un ISP puede definir clases que representen los diferentes niveles de servicio ofrecidos a los clientes. Un ASP puede definir acuerdos SLA que asignen diferents niveles de servicio a distintas aplicaciones. En la poítica QoS de un ASP, una clase puede incluir tráfico FTP saliente destinado a una dirección IP de destino específica. El tráfico saliente del sitio web externo de una empresa también puede definirse como una clase.

Agrupar el tráfico en clases es una parte importante de la planificación de la directiva QoS. Al crear clases utilizando la herramienta ipqosconf, se está configurando el clasificador ipgpc.

Si necesita información sobre cómo definir clases, consulte la sección Cómo definir las clases de la directiva QoS.

Filtros IPQoS

Los filtros son conjuntos de reglas que contienen parámetros denominados selectores. Cada filtro debe hacer referencia a una clase. IPQoS compara los paquetes con los selectores de cada filtro para determinar si el paquete pertenece a la clase del filtro. Se puede filtrar un paquete utilizando diferentes selectores, por ejemplo, 5-tuple de IPQoS y otros parámetros comunes:

Por ejemplo, un filtro sencillo puede incluir el puerto de destino con un valor de 80. A continuación, el clasificador ipgpc selecciona todos los paquetes que están vinculados con el puerto de destino 80 (HTTP) y gestiona los paquetes según lo estipulado en la directiva QoS.

Si necesita información sobre cómo crear filtros, consulte la sección Cómo definir filtros en la directiva QoS.

Descripción general de medidor (tokenmt y tswtclmt)

En el modelo Diffserv, el medidor controla la tasa de transmisión de los flujos de tráfico por clase. El medidor evalúa la medida en que la tasa actual del flujo se ajusta a las tasas configuradas para determinar el resultado apropiado. Según el resultado de los flujos de tráfico, elmedidor selecciona una acción subsiguiente. Las acciones subsiguientes pueden incluir enviar el paquete a otra acción o devolver el paquete a la red sin más procesamiento.

Los medidores IPQoS determinan si un flujo de red cumpe la tasa de transmisión definida para su clase en la directiva QoS. IPQoS incluye dos módulos de medición:

Ambos módulos de medición reconocen tres resultados: rojo, amarillo y verde. Las acciones que deben tomarse para cada resultado se definen en los parámetros red_action_name, yellow_action_name y green_action_name .

También puede configurar tokenmt para que tenga presente el color. Una instancia de medición que tenga presente el color utiliza el tamaño del paquete, DSCP, tasa de tráfico y parámetros configurados para determinar el resultado. El medidor utiliza el DSCP para asignar el resultado del paquete al color verde, amarillo o rojo.

Si necesita información sobre cómo definir parámetros para los medidores IPQoS, consulte la sección Cómo planificar el control de flujo.

Descripción general de marcadores (dscpmk y dlcosmk)

En el modelo Diffserv, el marcador marca un paquete con un valor que refleja un comportamiento de redirección. El marcado es el proceso de colocar un valor en el encabezado del paquete para indicar cómo se debe reenviar el paquete a la red. IPQoS contiene dos módulos de marcado:

Si necesita información sobre cómo utilizar un sistema de marcadores para la directiva QoS, consulte Cómo planificar el comportamiento de reenvío.

Descripción general del control de flujo (flowacct)

IPQoS añade el módulo de control flowacct al modelo Diffserv. El módulo flowacct puede usarse para recopilar estadísticas sobre el flujo de tráfico y cobrar a los clientes según su acuerdo SLA. El control de flujo también es útli para la planificación de la capacidad y la supervisión de sistemas.

El módulo flowacct puede usarse con el comando acctadm para crear un archivo de registro de control. Un registro básico incluye IPQoS 5-tuple y dos atributos adicionales, como se muestra en la siguiente lista:

También puede recopilar estadísticas de otros atributos, como se describe en la sección Registro de información sobre flujos de tráfico, y en las páginas de comando man flowacct(7ipp) y acctadm(1M).

Si necesita más información sobre cómo planificar una estrategia de control de flujo, consulte la sección Cómo planificar la recopilación de datos de flujo.

Cómo fluye el tráfico a través de los módulso IPQoS

En la siguiente figura se muestra una ruta que puede tomar el tráfico entrante a través de algunos de los módulos IPQoS.

Figura 32–1 Flujo de tráfico a través de la implementación IPQoS del modelo Diffserv

El contexto sigue el gráfico, que es un diagrama de flujo.

Esta figura ilustra una secuencia de flujo de tráfico común en un sistema con IPQoS:

  1. El clasificador selecciona todos los paquetes del flujo que cumplen los criterios de filtrado de la directiva QoS del sistema.

  2. A continuación, se evalúan los paquetes para determinar la acción que se debe ejecutar.

  3. El clasificador envía al marcador cualquier trafico que no requiera control de flujo.

  4. El tráfico que requiere control de flujo se envía al medidor.

  5. El medidor fuerza la tasa configurada. A continuación, el medidor asigna un valor de cumplimiento de tráfico a los paquetes de flujo controlado.

  6. Se evalúan los paquetes de flujo controlado para determinar si necesitan control.

  7. El medidor envía al marcador el tráfico que no requiere control de flujo.

  8. El módulo de control de flujo recopila estadísticas sobre los paquetes recibidos. A continuación, el módulo envía los paquetes al marcador.

  9. El marcador asigna un punto de código DS al encabezado del paquete. Este DSCP indica el comportamiento por salto que un sistema con Diffserv debe aplicar al paquete.

Reenvío del tráfico en una red con IPQoS

En esta sección se explican los elementos relacionados con el reenvío de paquetes en una red con IPQoS. Un sistema con IPQoS gestiona cualquier paquete del flujo de la red con la dirección IP del sistema como destino. A continuación, aplica la directiva QoS al paquete para establecer servicios diferenciados.

Punto de código DS

El punto de código DS (DSCP) define en el encabezado del paquete la acción que cualquier sistema con Diffserv debe ejecutar en un paquete marcado. La arquitectura diffserv define un conjunto de puntos de código DS que utilizarán los sistemas con IPQoS y enrutadores diffserv. La arquitectura Diffserv también define un conjunto de acciones denominadas comportamientos de reenvío, que corresponden a los DSCP. El sistema IPQoS marca los bits precedentes del campo DS del encabezado del paquete con el DSCP. Cuando un enrutador recibe un paquete con un valor DSCP, aplica el comportamiento de reenvío asociado a dicho DSCP. Después, el paquete se envía a la red.


Nota –

El marcador dlcosmk no utiliza el DSCP. En su lugar, dlcosmk marca los encabezados de frame Ethernet con un valor CoS. Si quiere configurar IPQoS en una red que utiliza dispositivos VLAN, consulte la sección Módulo marcador.


Comportamientos por salto

En la terminología Diffserv, el comportamiento de reenvío asignado a un DSCP se denomina comportamiento por salto (PHB). El PHB define la precedencia de reenvío que un paquete marcado recibe en relación con otro tráfico del sistema con Diffserv. Esta precedencia determina si el sistema con IPQoS o enrutador Diffserv reenvía o descarta el paquete marcado. Para un paquete reenviado, cada enrutador Diffserv que el paquete encuentra en la ruta hasta su destino aplica el mismo PHB. La excepción ocurre si otro sistema Diffserv cambia el DSCP. Si necesita más información sobre PHB, consulte la sección Utilización del marcador dscpmk para reenviar paquetes.

El objetivo de PHB es proporcionar una cantidad específica de recusros de red a una clase de tráfico en la red contigua. Puede conseguir este objetivo en la directiva QoS. Dfina los puntos DSCP que indican los niveles de precedencia para las clases de tráfico cuando los flujos de tráfico abandonan el sistema con IPQoS. Las precedencias pueden alternar entre alta precedencia/baja probabilidad de descarte y baja precedencia/alta probabilidad de descarte.

Por ejemplo, la directiva QoS puede asignar a una clase de tráfico un DSCP que garantice un PHB de baja probabilidad de descarte. Esta clase de tráfico recibirá un PHB de precedencia de baja probabilidad de descarte de cualquier enrutador con Diffserv, lo que garantiza el ancho de banda para paquetes de esta clase. Puede añadir a la directiva QoS otros puntos DSCP que asignen diferentes niveles de precedencia a las clases de tráfico. Los sistemas Diffserv asignan ancho de banda a los paquetes de baja precedencia según las prioridades indicadas en los puntos DSCP de los paquetes.

IPQoS admite dos tipos de comportamientos de reenvío, definidos en la arquitectura Diffserv, reenvío acelerado y reenvío asegurado.

Reenvío acelerado

el comportamiento por salto de reenvío acelerado (EF) asegura que cualquier clase de tráfico con reenvíos EF relacionados con DSCP tiene la máxima prioridad. El tráfico con DSCP EF no se pone en cola. EF proporciona una pérdida de datos, latencia y demora mínimas. El DSCP recomendado para EF es 101110. Un paquete que esté marcado con 101110 recibe una precedencia de baja probabilidad de descarte asegurada al atravesar redes Diffserv hacia su destino. Utilice DSCP EF al asignar prioridad a clientes o aplicaciones con un acuerdo SLA de nivel alto.

Reenvío asegurado

El comportamiento por salto de reenvío asegurado (AF) proporciona cuatro clases de reenvío diferentes que se pueden asignar a un paquete. Cada clase de reenvío proporciona tres precedencias de descarte, tal y como se muestra en la Tabla 37–2.

Los diferentes puntos de código AF permiten asignar distintos niveles de servicio a clientes y aplicaciones. Puede priorizar tráfico y servicios de la red al planificar la directiva QoS. Después, puede asignar diferentes niveles AF para priorizar el tráfico.

Reenvío de paquetes en un entorno Diffserv

La siguiente figura muestra parte de una intranet de una empresa con un entorno que utiliza Diffserv parcialmente. En este escenario, todos los hosts de las redes 10.10.0.0 y 10.14.0.0 utilizan IPQoS y los enrutadores locales de ambas redes tienen Diffserv. Aunque las redes intermedias no están configuradas para utilizar Diffserv.

Figura 32–2 Reenvío de paquetes en saltos de red con Diffserv

El contexto sigue el gráfico, que es un diagrama de flujo

Los siguientes pasos muestran el flujo del paquete mostrado en la figura. Los pasos comienzan con el progreso de un paquete originado en el host ipqos1. Los pasos continúan con varios saltos hasta el host ipqos2.

  1. El usuario de ipqos1 ejecuta el comando ftp para acceder al host ipqos2, que está tres saltos más allá.

  2. ipqos1 aplica su directiva QoS al flujo de paquetes resultante. Después, ipqos1 clasifica el tráfico ftp.

    El administrador del sistema ha creado una clase para todo el tráfico ftp saliente con origen en la red local 10.10.0.0. Se asigna el comportamiento por salto AF22 al tráfico de la clase ftp: clase dos, precedencia de descarte media. Se ha asignado una tasa de flujo de tráfico de 2 Mb/seg a la clase ftp.

  3. ipqos-1 mide el flujo ftp para determinar si excede la tasa asiganda de 2 Mbit/seg.

  4. El marcador de ipqos1 marca los campos DS de los paquetes ftp salientes con el DSCP 010100, que corresponde a AF22 PHB.

  5. El enrutador diffrouter1 recibe los paquetes ftp . A continuación, diffrouter1 comprueba el DSCP. Si diffrouter1 está congestionado, los paquetes marcados con AF22 se descartan.

  6. El tráfico ftp se reenvía al siguiente salto de acuerdo con el comportamiento por salto configurado para AF22 en los archivos de diffrouter1 .

  7. El tráfico ftp atraviesa la red 10.12.0.0 hasta genrouter, que no utiliza Diffserv. Como resultado, el tráfico recibe el comportamiento de reenvío "mejor posible".

  8. genrouter pasa el tráfico ftp a la red 10.13.0.0, donde lo recibe diffrouter2.

  9. diffrouter2 utiliza Diffserv. Por lo tanto, el enrutador reenvía los paquetes ftp a la red de acuerdo con el PHB definido en la directiva del enrutador para paquetes AF22.

  10. ipqos2 recibe el tráfico ftp. ipqos2 solicita al usuario de ipqos1 un nombre de usuario y contraseña.

Capítulo 33 Planificación para una red con IPQoS (Tareas)

Puede configurar IPQoS en cualquier sistema que ejecute Oracle Solaris. El sistema IPQoS funciona con enrutadores con Diffserv para proporcionar servicios diferenciados y administración del tráfico en una intranet.

Este capítulo contiene tareas de planificación para añadir sistemas con IPQoS a una red con Diffserv. Se tratan los temas siguientes.

Planificación de configuración IPQoS general (Mapa de tareas)

Utilizar servicios diferenciados, como IPQoS, en una red requiere una planificación exhaustiva. Debe considerarse no sólo la posición y función de cada sistema con IPQoS, sino también la relación de cada sistema con el enrutador de la red local. El mapa de tareas siguiente muestra las principales tareas de planificación para implementar IPQoS en la red, y contiene vínculos a procedimientos para realizar las tareas.

Tarea 

Descripción 

Para obtener instrucciones 

1. Planificar una distribución de red Diffserv que incorpore los sistemas con IPQoS. 

Adquirir conocimientos sobre las diferentes distribuciones de red Diffserv para determinar cuál es la mejor solución en su caso. 

Planificación de la distribución de la red Diffserv.

2. Planificar los diferentes tipos de servicios que ofrecerán los sistemas IPQoS. 

Organizar los tipos de servicios que proporciona la red en acuerdos de nivel de servicio (SLA). 

Planificación de la directiva de calidad de servicio.

3. Planificar la directiva QoS para cada sistema IPQoS. 

Decidir cuáles son las funciones de clases, medición y recopilación de datos necesarias para cada acuerdo SLA. 

Planificación de la directiva de calidad de servicio.

4. Si procede, planificar la directiva del enrutador Diffserv. 

Establecer las directivas de planificación y espera en cola del enrutador Diffserv utilizado con los sistemas IPQoS. 

Consulte la documentación del enrutador si necesita información sobre las directivas de espera en cola y planificación. 

Planificación de la distribución de la red Diffserv

Para proporcionar servicios diferenciados en la red, necesita al menos un sistema con IPQoS y un enrutador con Diffserv. Puede expandir esta configuración básica de diferentes modos, como se explica en esta sección.

Estrategias de hardware para la red Diffserv

Normalmente, los clientes utilizan IPQoS en servidores y consolidaciones de servidores, como Sun Enterprise™ 0000. También puede utilizar IPQoS en sistemas de sobremesa, como UltraSPARC®, según las necesidades de la red. La siguiente lista contiene posibles sistemas para una configuración IPQoS:

Puede integrar sistemas IPQoS en una distribución de red que ya tenga enrutadores con Diffserv en funcionamiento. Si el enrutador que utiliza no admite Diffserv, considere las soluciones Diffserv que ofrecen Cisco Systems, Juniper Networks y otros fabricantes de enrutadores. Si el enrutador local no utiliza Diffserv, se limita a transferir los paquetes marcados al siguiente salto sin evaluar las marcas.

Distribuciones de red IPQoS

En esta sección se ilustran estrategias IPQoS para redes con diferentes requisitos.

IPQoS en hosts individuales

La siguiente figura ilustra una red de sistemas con IPQoS.

Figura 33–1 Sistemas IPQoS en un segmento de red

El diagrama de distribución muestra una red local con un enrutador Diffserv y tres sistemas con IPQoS: Servidor FTP, servidor de base de datos y servidor web.

Esta red es sólo un segmento de una intranet empresarial. Activando IPQoS en los servidores de aplicaciones y servidores web, puede controlar la tasa a la que cada sistema IPQoS envía el tráfico saliente. Si configura el enrutador para utilizar Diffserv, puede obtener un mayor grado de control del tráfico entrante y saliente.

El ejemplo de esta guía utiliza una configuración con IPQoS en un único host. Para ver la distribución de ejemplo que se utiliza en esta guía, consulte la Figura 33–4.

IPQoS en una red de conjuntos de servidores

La siguiente figura muestra una red con varios conjuntos de servidores heterogéneos.

Figura 33–2 Red de conjuntos de servidores con IPQoS

El diagrama de distribución muestra una red con un enrutador Diffserv, un equilibrador de carga con IPQoS y tres conjuntos de servidores.

En esta distribución, el enrutador utiliza Diffserv y, por lo tanto, puede poner en cola y tasar el tráfico entrante y saliente. El equilibrador de carga también utiliza Diffserv y los conjuntos de servidiores usan IPQoS. El equilibrador de carga permite realizar un filtrado adicional al del enrutador utilizando selectores como el ID de usuario o de proyecto. Estos selectores están incluidos en los datos de aplicación.

Esta configuración permite controlar el flujo y reenviar el tráfico para administrar la congestión en la red local. También evita que el tráfico saliente de los conjuntos de servidores sobrecargue otros sectores de la intranet.

IPQoS en un cortafuegos

La siguiente figura muestra un segmento de una red corporativa protegido de otros segmentos mediante un cortafuegos.

Figura 33–3 Red protegida por un cortafuegos con IPQoS

El diagrama de distribución muestra una red que incluye un enrutador Diffserv, un cortafuegos con IPQoS, un sistema Oracle Solaris y otros hosts.

En esta configuración, el tráfico fluye hasta un enrutador con Diffserv que filtra y pone en cola los paquetes. Todo el tráfico entrante reenviado por el enrutador se transfiere al cortafuegos con IPQoS. Para utilizar IPQoS, el cortafuegos no debe omitir la pila de reenvío de IP.

La directiva de seguridad del cortafuegos determina si el tráfico entrante puede entrar o salir de la red interna. La directiva QoS controla los niveles de servicio para el tráfico entrante que ha pasado el cortafuegos. Según la directiva QoS, el tráfico saliente también puede marcarse con un comportamiento de reenvío.

Planificación de la directiva de calidad de servicio

Al planificar la directiva de calidad de servicio (QoS) debe revisar, clasificar y después priorizar los servicios que proporciona la red. También debe evaluar la cantidad de ancho de banda disponible para determinar la tasa a la que cada clase de tráfico se transfiere en la red.

Ayudas para planificar la directiva QoS

Recopile información para planificar la directiva QoS en un formato que incluya los datos necesarios para el archivo de configuración IPQoS. Por ejemplo, puede usar la siguiente plantilla para realizar una lista de las categorías de información principales que se utilizarán en el archivo de configuración IPQoS.

Tabla 33–1 Plantilla de planificación QoS

Clase 

Prioridad 

Filtro 

Selector 

Tasa 

¿Reenvío? 

¿Recopilación de datos? 

Clase 1 

Filtro 1 

Filtro 3 

Selector 1 

Selector 2 

Tasas de medidor, según tipo de medidor 

Precedencia de descarte de marador 

Requiere estadísticas de recopilación de datos de flujo 

Clase 1 

Filtro 2 

Selector 1 

Selector 2 

 

N/D 

N/D 

N/D 

Clase 2 

Filtro 1 

Selector 1 

Selector 2 

Tasas de medidor, según tipo de medidor 

Precedencia de descarte de marador 

Requiere estadísticas de recopilación de datos de flujo 

Clase 2 

Filtro 2 

Selector 1 

Selector 2 

N/D 

N/D 

N/D 

Puede dividir cada categoría principal para definir más la directiva QoS. En las siguientes secciones se explica cómo obtener información sobre las categorías mostradas en la plantilla.

Planificación de la directiva QoS (Mapa de tareas)

Este mapa de tareas enumera las tareas principales para planificar una directiva QoS.

Tarea 

Descripción 

Para obtener instrucciones 

1. Diseñar la distribución de red para que sea compatible con IPQoS. 

Identificar los hosts y enrutadores de la red para proporcionar servicios diferenciados. 

Cómo preparar una red para IPQoS

2. Definir las clases en las que los servicios de la red deben dividirse. 

Examinar los tipos de servicios y acuerdos SLA que ofrece su organización y determinar las clases de tráfico independientes a las que pertenece cada servicio. 

Cómo definir las clases de la directiva QoS

3. Definir filtros para las clases. 

Determinar el mejor modo de separar el tráfico de una clase específica del flujo de tráfico de la red. 

Cómo definir filtros en la directiva QoS

4. Definir tasas de control de flujo para medir el tráfico cuando los paquetes salen del sistema IPQoS. 

Determinar tasas de flujo aceptables para cada clase de tráfico. 

Cómo planificar el control de flujo

5. Definir los puntos DSCP o valores de prioridad de usuario que se deben untilizar en la directiva QoS. 

Planificar un esquema para determinar el comportamiento de reenvío asignado a un flujo de tráfico cuando lo controla el enrutador o nodo. 

Cómo planificar el comportamiento de reenvío

6. Si procede, definir un plan de supervisión de estadísticas para los flujos de tráfico de la red. 

Evaluar las clases de tráfico para determinar qué flujos de tráfico deben supervisarse por cuestiones de recopilación de datos o estadísticas. 

Cómo planificar la recopilación de datos de flujo


Nota –

En el resto de esta sección se explica cómo planificar la directiva QoS de un sistema con IPQoS. Para planificar la directiva QoS del enrutador Diffserv, consulte la documentación y el sitio web del fabricante del enrutador.


ProcedureCómo preparar una red para IPQoS

El siguiente procedimiento contiene tareas generales que llevar a cabo antes de crear la directiva QoS.

  1. Revisar la distribución de la red. Después, planificar una estrategia que utilice sistemas IPQoS y enrutadores Diffserv.

    Para ver ejemplos de distribución de la red, consulte la sección Planificación de la distribución de la red Diffserv.

  2. Identificar los hosts de la distribución de red que requieren IPQoS o que pueden ser buenos candidatos para el servicio IPQoS.

  3. Determinar qué sistemas con IPQoS pueden usar la misma directiva QoS.

    Por ejemplo, si piensa activar IPQoS en todos los hosts de la red, identifique los hosts que pueden usar la misma directiva QoS. Cada sistema con IPQoS debe tener una directiva QoS local, que se implementa en el archivo de configuración IPQoS correspondiente. Aunque puede crear un archivo de configuración IPQoS que utilicen varios sistemas. Después puede copiar el archivo de configuración en los sistemas que tengan los mismos requisitos de directiva QoS.

  4. Revisar y realizar cualquier tarea de planificación requerida por el enrutador Diffserv de la red.

    Consulte la documentación y el sitio web del fabricante del enrutador si necesita más información.

ProcedureCómo definir las clases de la directiva QoS

El primer paso para definir la directiva QoS es organizar los flujos de tráfico en clases. No es necesario crear una clase para cada tipo de tráfico en una red Diffserv. Según la distribución de la red, puede que necesite crear una directiva QoS diferente para cada sistema con IPQoS.


Nota –

Para ver una descripción general de las clases, consulte la sección Clases IPQoS.


En el siguiente procedimiento se asume que ya ha determinado qué sistemas de la red utilizarán IPQoS, como se explica en la sección Cómo preparar una red para IPQoS.

  1. Crear una tabla de planificación QoS para organizar la información de directiva QoS.

    Para ver sugerencias, consulte la Tabla 33–1.

  2. Realizar el resto de los pasos para cada directiva QoS de la red.

  3. Definir las clases que utilizar en la directiva QoS.

    Las siguientes preguntas son una guía para analizar el tráfico de red para posibles definiciones de clases.

    • ¿Su empresa ofrece acuerdos de nivel de servicio a los clientes?

      En caso afirmativo, evalúe los niveles de prioridad relativa de los acuerdos SLA que su empresa ofrece a los clientes. Las mismas aplicaciones pueden ofrecerse a clientes con niveles de prioridad diferentes garantizados.

      Por ejemplo, su empresa puede ofrecer alojamiento de sitios web a cada cliente, lo que indica que necesita definir una clase para cada sitio web de cliente. Un acuerdo SLA puede ofrecer un sitio web de nivel alto como un nilvel de servicio. Otro acuerdo SLA puede ofrecer un sitio web personal "best-effort" a clientes con descuento. Este factor no sólo implica diferentes clases de sitio web sino también diferentes comportambientos por salto que se asignan a las clases de sitio web.

    • ¿El sistema IPQoS ofrece aplicaciones comunes que necesitan control de flujo?

      Puede mejorar el rendimiento de la red activando IPQoS en servidores que ofrecen aplicaciones comunes que generan mucho tráfico. Algunos ejemplos son el correo electrónico, noticias de red y FTP. Considere la posibilidad de crear clases independientes para el tráfico entrante y saliente para cada tipo de servicio, si corresponde. Por ejemplo, puede crear una clase mail-in y una clase mail-out para la directiva QoS de un servidor de correo.

    • ¿La red contiene aplicaciones que requieren comportamientos de reenvío de máxima prioridad?

      Cualquier aplicación importante que requiera comportamientos de reenvío de máxima prioridad debe recibir la máxima prioridad en la cola del enrutador. Los ejemplos más típicos son el streaming de vídeo y audio.

      Definir clases de entrada y clases de salida para estas aplicaciones de alta prioridad. Después, añadir las clases a las directivas QoS del sistema con IPQoS que proporciona las aplicaciones y del enrutador Diffserv.

    • ¿La red tiene flujos de tráfico que deben controlarse porque consumen grandes cantidades de ancho de banda?

      Utilizar netstat , snoop y otras herrmientas de supervisión de la red para descubrir los tipos de tráfico que causan problemas en la red. Revisar las clases creadas hasta ahora y crear clases para cualquier categoría de tráfico con problemas no definidos. Si ya ha definido clases para una categoría de tráfico problemático, defina tasas para que el medidor controle el tráfico.

      Crear clases para el tráfico problemático en cada sistema con IPQoS de la red. Después, cada sistema IPQoS puede gestionar el tráfico problemático limitando la tasa a la que el flujo de tráfico se envía en la red. Asegúrese de definir estas clases de problemas en la directiva QoS del enrutador Diffserv. Después, el enrutador puede poner en cola y planificar los flujos problemáticos de acuerdo con la configuración de la directiva QoS.

    • ¿Necesita estadísticas sobre determinados tipos de tráfico?

      Una revisión rápida del acuerdo SLA permite determinar qué tipos de tráfico del cliente requieren recopilación de datos. Si su empresa ofrece acuerdos SLA, es probable que ya haya creado clases para el tráfico que requiere recopilación de datos. También puede definir clases para activar la recopilación de estadísticas en flujos de trafico qu eesté supervisando. También es posilbe crear clases para tráfico al que se restringe el acceso por motivos de seguridad.

  4. Enumerar las clases definidas en la tabla de planificación QoS creada en el paso 1.

  5. Asignar un nivel de prioridad a cada clase.

    Por ejemplo, el nivel de prioridad 1 representa la clase de prioridad máxima y se asignan priordiades de nivel descendentes al resto de clases. El nivel de priordiad que se asigna sólo tiene propósito organizativo. Los niveles de prioridad definidos en la plantilla de directiva QoS no se utilizan en IPQoS. De hecho, puede asignar la misma prioridad a varias clases, si es apropiado para la directiva QoS.

  6. Cuando haya terminado de definir las clases, puede definir filtros para cada clase, como se explica en Cómo definir filtros en la directiva QoS.

Priorizar las clases

Al crear clases, resulta fácil ver cuáles tiene la prioridad máxima, la prioridad media y la prioridad "best-effort". Un buen esquema para priorizar clases resulta especialmente importante si se asignan comportamientos por salto al tráfico saliente, como se explica en la sección Cómo planificar el comportamiento de reenvío.

Además de asignar un PHB a una clase, también puede definir un selector de prioridad en un filtro para la clase. El selector de prioridad está activo sólo en el host con IPQoS. Imagine que varias clases con tasas iguales y puntos DSCP idénticos en ocasiones compiten por el ancho de banda al salir del sistema IPQoS. El selector de prioridad de cada clase puede ordenar el nivel de servicio que se asigna a dos clases con valores que de otro modo serían idénticos.

Definir filtros

Puede crear filtros para identificar flujos de paquetes como miembros de una clase específica. Cada filtro contiene selectores, que definen los criterios para evaluar un flujo de paquetes. El sistema con IPQoS utiliza los criterios de los selectores para extraer paquetes de un flujo de tráfico. Después, el sistema IPQoS asocia los paquetes con una clase. Para ver una intruducción a los filtros, consulte la sección Filtros IPQoS.

En la siguiente tabla se enumeran los selectores más usados. Los cinco selectores representan el 5-tuple IPQoS, que el sistema IPQoS utiliza para identificar paquetes como miembros de un flujo. Para ver una lista completa de selectores, consulte la Tabla 37–1.

Tabla 33–2 Selectores IPQoS comunes

Nombre 

Definición 

saddr

Dirección de origen. 

daddr

Dirección de destino. 

sport

Número de puerto de origen. Puede usar un número de puerto conocido, definido en /etc/services o un número de puerto definido por el usuario.

dport

Número de puerto de destino. 

protocol

Número de protocolo IP o nombre de protocolo asignado al tipo de flujo de tráfico en /etc/protocols.

ip_version

Estilo de direcciones que usar. Se utiliza IPv4 o IPv6. IPv4 es el predeterminado. 

dsfield

Contenido del campo DS, es decir, el punto DSCP. Utilice este selector para extraer paquetes entrantes que ya están marcados con un DSCP específico. 

priority

Nivel de prioridad asignado a la clase. Si necesita más información, consulte Cómo definir las clases de la directiva QoS.

user

El ID de usuario de UNIX o nombre de usuario que se utiliza cuando se ejecuta la aplicación de nivel superior. 

projid

ID de proyecto que se utiliza cuando se ejecuta la aplicación de nivel superior. 

direction

Dirección del fujo de tráfico. El valor es LOCAL_IN, LOCAL_OUT, FWD_IN o FWD_OUT.


Nota –

Elija los selectores con detenimiento. Utilice sólo los selectores necesarios para extraer paquetes de una clase. Cuantos más selectores defina, más se verá afectado el rendimiento IPQoS.


ProcedureCómo definir filtros en la directiva QoS

Antes de empezar

Antes de llevar a cabo los siguientes pasos, debe haber completado el procedimiento Cómo definir las clases de la directiva QoS.

  1. Cree al menos un filtro para cada clase de la tabla de planificación QoS creada en la sección Cómo definir las clases de la directiva QoS.

    Considere la posibilidad de crear filtros independientes para el tráfico entrante y saliente de cada clase, si procede. Por ejemplo, añada un filtro ftp-in y un filtro ftp-out a la directiva QoS de un servidor con IPQoS. Después puede definir un selector direction apropiado además de los selectores básicos.

  2. Defina al menos un selector para cada filtro de una clase.

    Utilice la tabla de planificación QoS que se ha introducido en la Tabla 33–1 para rellenar los filtros de las clases definidas.


Ejemplo 33–1 Definir filtros para el tráfico FTP

La tabla siguiente es un ejemplo de cómo definir un filtro para el tráfico FTP saliente.

Clase 

Prioridad 

Filtros 

Selectores 

ftp-traffic

ftp-out

saddr 10.190.17.44

daddr 10.100.10.53

sport 21

direction LOCAL_OUT


Véase también

ProcedureCómo planificar el control de flujo

El control de flujo implica medir el flujo de tráfico de una clase y transferir los paquetes en la red a una tasa definida. Al planificar el control de flujo, se definen los parámetros que utilizarán los módulos de medición IPQoS. Los medidores determinan la tasa a la que se transfiere el tráfico en la red. Para ver una introducción a los módulos de medición, consulte la sección Descripción general de medidor (tokenmt y tswtclmt).

En el siguiente procedimiento se asume que ha definido filtros y selectores, como se describe en la sección Cómo definir filtros en la directiva QoS.

  1. Determine el ancho de banda máximo de la red.

  2. Revise cualquier acuerdo SLA que ofrezca su red. Identifique los clientes y los tipos de servicio garantizados a cada cliente.

    Para garantizar un nivel de servicio determinado, es posible que necesite medir ciertas clases de tráfico generadas por el cliente.

  3. Revise la lista de clases creadas en la sección Cómo definir las clases de la directiva QoS.

    Determine si hay alguna otra clase, a parte de las asociadas con acuerdos SLA, que deba medirse.

    Suponga que el sistema IPQoS incluye una aplicación que genera mucho tráfico. Después de clasificar el tráfico de la aplicación, mida los flujos para controlar la tasa a la que los paquetes del flujo vuelven a la red.


    Nota –

    No es necesario medir todas las clases. Tenga en mente estas directrices al revisar la lista de clases.


  4. Determine qué filtros de cada clase seleccionan el tráfico que necesita control de flujo. Después, refine la lista de clases que necesitan medición.

    Las clases que tengan varios filtros pueden necesitar medición sólo para un filtro. Suponga que define filtros para el tráfico entrante y saliente de una clase específica. Puede llegar a la conclusión de que sólo el tráfico en una dirección requiere control de flujo.

  5. Elija un módulo de medición para cada clase con control de flujo.

    Añada el nombre de módulo a la columna de medición de la tabla de planificación QoS.

  6. Añada las tasas de cada clase que se medirá a la tabla de organización.

    Si utiliza el módulo tokenmt, deberá definir las siguientes tasas en bits por segundo:

    • Tasa asignada

    • Tasa máxima

    Si estas tasas son suficientes para medir una clase específica, puede definir solamente la tasa asignada y ráfaga asignada para tokenmt.

    Si es necesario, puede definir también las siguientes tasas:

    • Ráfaga asignada

    • Ráfaga máxima

    Para ver una definición completa de las tasas de tokenmt, consulte la sección Configuración de tokenmt como medidor de doble tasa. También puede encontrar información detallada en la página de comando man tokenmt (7ipp).

    Si utiliza el módulo tswtclmt, debe definir las siguientes tasas en bits por segundo.

    • Tasa asignada

    • Tasa máxima

    También puede definir el tamaño de la ventana en milisegundos. Estas tasas están definidas en la sección Módulo de medición tswtclmt y en la página de comando man twstclmt (7ipp).

  7. Añada resultados de cumplimiento del tráfico al metro medido.

    Los resultados de ambos módulos de medición son verde, rojo y amarillo. Añada a la tabla de organización QoS los resultados de cumplimiento del tráfico aplicables a las tasas definidas. Los resultados de los medidores están explicados en la sección Módulo Meter.

    Debe determinar qué acciones deben realizarse con el tráfico que cumple, o no cumple, la tasa asignada. Normalmente, pero no siempre, la acción consiste en marcar el encabezado del paquete con un comportamiento por salto. Una acción aceptable para el tráfico de nivel verde es continuar el procesamiento mientras los flujos de tráfico no excedan la tasa asignada. Otra acción sería descartar los paquetes de la clase si los flujos exceden la tasa máxima.


Ejemplo 33–2 Definir medidores

La tabla siguiente muestra entradas de medidor para una clase de tráfico de correo electrónico. La red en la que se encuentra el sistema IPQoS tiene un ancho de banda total de 100 Mbits/seg, o 10000000 bits por segundo. La directiva QoS asigna una prioridad baja a la clase de correo electrónico. Esta clase también recibe un comportamiento de reenvío "best-effort".

Clase 

Prioridad 

Filtro 

Selector 

Tasa 

email

mail_in

daddr10.50.50.5

dport imap

direction LOCAL_IN

 

email

mail_out

saddr10.50.50.5

sport imap

direction LOCAL_OUT

medidor=tokenmt

tasa asignada=5000000 

ráfaga asignada =5000000 

tasa máxima =10000000 

ráfaga máxima=1000000 

precedencia verde=continuar procesando 

precendencia amarilla=marcar PHB amarillo 

precedencia roja=descartar 


Véase también

ProcedureCómo planificar el comportamiento de reenvío

El comportamiento de reenvío determina la prioridad y precedencia de descarte de los flujos de tráfico que se van a reenvíar a la red. Puede elegir dos comportamientos de reenvío principales: priorizar los flujos de una clase en relación con otras clases de tráfico o descartar los flujos por completo.

El modelo Diffserv utiliza el marcador para asignar el comportamiento de reenvío elegido a los flujos de tráfico. IPQoS ofrece los siguiente módulos de marcador.


Nota –

Las sugerencias de esta sección hacen referencia específicamente a paquetes IP. Si el sistema IPQoS incluye un dispositivo VLAN, puede usar el marcador dlcosmk para marcar comportamientos de reenvío para datagramas. Si necesita más información, consulte la sección Uso del marcador dlcosmk con dispositivos VLAN.


Para priorizar el tráfico IP, debe asignar un punto DSCP a cada paquete. El marcador dscpmk marca el campo DS del paquete con el DSCP. El DSCP de una clase se elige de un grupo de puntos de código conocidos asociados con el tipo de comportamiento de reenvío. Estos puntos de código conocidos son 46 (101110) para el comportamiento PHB EF y un conjunto de puntos de código para el comportamiento PHB AF. Para ver una descripción general de los puntos DSCP y el reenvío, consulte la sección Reenvío del tráfico en una red con IPQoS.

Antes de empezar

En los siguientes pasos se asume que ha definido clases y filtros para la directiva QoS. Aunque normalmente se usa el medidor con el marcador para controlar el tráfico, puede usarse solamente el marcador para definir un comportamiento de reenvío.

  1. Revise las clases creadas hasta ahora y las prioridades asignadas a cada clase.

    No es necesario que se marquen todas las clases de tráfico.

  2. Asigne el comportamiento por salto EF a la clase con la prioridad más alta.

    El comportamiento PHB EF garantiza que los paquetes con el punto DSCP EF 46 (101110) se transfieren a la red antes que los paquetes con cualquier comportamiento PHB AF. Utilice el comportamiento PHB EF para el tráfico de mayor prioridad. Si necesita más información sobre EF, consulte la sección Reenvío acelerado (EF) PHB.

  3. Asigen comportamientos de reenvío a clases cuyo tráfico se va a medir.

  4. Asigne puntos de código DS al resto de clases, de acuerdo con las prioridades asignadas a las clases.


Ejemplo 33–3 Directiva QoS para una aplicación de juegos

El tráfico se suele medir según los siguientes criterios:

Se utiliza el marcador con el medidor para proporcionar servicios diferenciados y administración del ancho de banda a estas clases. Por ejemplo, la siguiente tabla muestra una parte de una directiva QoS. Esta directiva define una clase para una aplicación de juegos muy utilizada que genera un alto volumen de tráfico.

Clase 

Prioridad 

Filtro 

Selector 

Tasa 

¿Reenvío? 

games_app

games_in

sport 6080

N/D 

N/D 

games_app

games_out

dport 6081

medidor=tokenmt

tasa asignada=5000000 

ráfaga asignada =5000000 

tasa máxima =10000000 

ráfaga máxima=15000000 

precedencia verde=continuar procesando 

precendencia amarilla=marcar PHB amarillo 

precedencia roja=descartar 

verde =AF31 

amarillo=AF42 

rojo=descartar 

Los comportamientos de reenvío asignan puntos DSCP de baja prioridad al tráfico games_app que cumple su tasa asignada o está por debajo de la tasa máxima. Cuando el tráfico games_app excede la tasa máxima, la directiva QoS indica que los paquetes de games_app deben descartarse. Todos los puntos de código AF se enumeran en la Tabla 37–2.


Véase también

ProcedureCómo planificar la recopilación de datos de flujo

El módulo IPQoS flowacct se utiliza para supervisar los flujos de tráfico por motivos de facturación o de administración de la red. Utilice el siguiente procedimiento para determinar si su directiva QoS debe incluir recopilación de datos sobre flujo.

  1. ¿Su empresa ofrece acuerdos SLA a los clientes?

    Si la respuesta es "sí", debe recopilar datos sobre el flujo. Revise los acuerdos SLA para determinar qué tipos de tráfico de red desea ofrecer su empresa a los clientes. A continuación, revise la directiva QoS para determinar qué clases seleccionan el tráfico que se facturará.

  2. ¿Hay aplicaciones que deben supervisarse o comprobarse para evitar problemas de red?

    Si la respuésta es "sí", considere la posibilidad de recopilar datos sobre el flujo para observar el comportamiento de estas aplicaciones. Revise la directiva QoS para determinar qué clases ha asignado al tráfico que requiere supervisión.

  3. En la tabla de planificación QoS, marque una Y en la columna de recopilación de datos sobre el flujo de las clases que requieran recopilación de datos.

Véase también

Introducción al ejemplo de configuración IPQoS

Las tareas de los siguientes capítulos de la guía utilizan la configuración IPQoS de ejemplo de esta sección. El ejemplo muestra la solución de servicios diferenciados de la intranet pública de BigISP, un proveedor de servicios ficticio. BigISP ofrece servicios a grandes empresas que acceder a BigISP a través de líneas arrendadas. Los indivíduos que se conectan desde módems también puede adquirir servicios de BigISP.

Distribución IPQoS

La siguiente figura muestra la distribución de red que utiliza la intranet pública de BigISP.

Figura 33–4 Ejemplo de distribución IPQoS

 El diagrama de distribución muestra dos tipos de usuarios, corporativos e individuos, que acceden a una red ISP definida en el siguiente contexto.

BigISP utiliza cuatro niveles en su intranet pública:

Capítulo 34 Creación del archivo de configuración IPQoS (Tareas)

En este capítulo se explica cómo crear archivos de configuración IPQoS. El capítulo trata los siguientes temas.

En este capítulo se asume que el usuario ha definido una directiva QoS completa y que está listo para utilizarla como base para el archivo de configuración IPQoS. Si necesita instrucciones sobre la planificación de directivas QoS, consulte el tema Planificación de la directiva de calidad de servicio.

Definición de una directiva QoS en el archivo de configuración IPQoS (Mapa de tarea)

Este mapa de tarea enumera las tareas generales para crear un archivo de configuración IPQoS y contiene vínculos a las secciones en que se describe cómo realizar esas tareas.

Tarea 

Descripción 

Para obtener instrucciones 

1. Planificar la configuración de red con IPQoS. 

Decidir qué sistemas de la red local van a utilizar IPQoS. 

Cómo preparar una red para IPQoS

2. Planificar la directiva QoS para sistemas IPQoS de la red. 

Identificar flujos de tráfico como diferentes clases de servicio. A continuación, determinar qué flujos requieren administración del tráfico. 

Planificación de la directiva de calidad de servicio

3. Crear el archivo de configuración IPQoS y definir la primera acción. 

Crear el archivo IPQoS, invocar el clasificador IP y definir una clase para procesar. 

Cómo crear el archivo de configuración IPQoS y definir las clases de tráfico

4. Crear filtros para un clase. 

Añadir los filtros que determinan qué tráfico se selecciona y organiza en una clase. 

Cómo definir filtros en el archivo de configuración IPQoS

5. Añadir más clases y filtros al archivo de configuración IPQoS. 

Crear más clases y filtros para que los procese el clasificador IP. 

Cómo crear un archivo de configuración IPQoS para un servidor web "Best-Effort"

6. Añadir una instrucción action con parámetros para configurar los módulos de medición.

Si la directiva QoS solicita control de flujo, asigne tasas de control de flujo y niveles de cumplimiento al medidor. 

Cómo configurar el control de flujo en el archivo de configuración IPQoS

7. Añadir una instrucción action con parámetros para configurar el marcador.

Si la poítica QoS solicita comportamientos de reenvío diferenciados, defina cómo deben reenviarse las clases de tráfico. 

Cómo definir el reenvío de tráfico en el archivo de configuración IPQoS

8. Añadir una instrucción action con parámetros para configurar el módulo de control de flujo.

Si la directiva QoS solicita recopilación de estadísticas sobre flujos de tráfico, defina cómo deben recopilarse las estadísticas de control. 

Cómo activar el control para una clase en el archivo de configuración IPQoS

9. Aplicar el archivo de configuración IPQoS. 

Añadir el contenido de un archivo de configuración IPQoS especificado a los módulos de núcleo apropiados. 

Cómo aplicar una nueva configuración a los módulos de kernel IPQoS

10. Configurar los comportamientos de reenvío en los archivos de enrutador. 

Si algún archivo de configuración IPQoS de la red define los comportamientos de reenvío, añada los puntos DSCP resultantes a los archivos de planificación correspondientes del enrutador. 

Cómo configurar un enrutador en una red con IPQoS

Herramientas para crear una directiva QoS

La directiva QoS de la red está definida en el archivo de configuración IPQoS. Este archivo de configuración se crea con un editor de texto. Después, se proporciona el archivo como un argumento a ipqosconf, la herramienta de configuración IPQoS. Al solicitar a ipqosconf que aplique la directiva definida en el archivo de configuración, la directiva se escribe en el núcleo del sistema IPQoS. Si necesita información detallada sobre el comando ipqosconf, consule la página de comando man ipqosconf(1M). Si necesita instrucciones sobre el uso de ipqosconf, consulte la sección Cómo aplicar una nueva configuración a los módulos de kernel IPQoS.

Archivo de configuración IPQoS básico

Un archivo de configuración IPQoS consiste en un árbol de instrucciones de acción que implementan la directiva QoS definida en la sección Planificación de la directiva de calidad de servicio. El archivo de configuración IPQoS configura los módulos IPQoS. Cada instrucción de acción contiene un conjunto de clases, filtros o parámetros que procesará el módulo al que llame la instrucción de acción.

Para ver la sintaxis completa del archivo de configuración IPQoS, consulte el Ejemplo 37–3 y la página de comando man ipqosconf(1M).

Configurar la topología de ejemplo IPQoS

Las tareas de este capítulo explican cómo crear archivos de configuración IPQoS para tres sistemas con IPQoS. Estos sistemas forman parte de la topología de red de la empresa BigISP, introducida en la Figura 33–4.

Estos tres archivos de configuración ilustran las configuraciones IPQoS más comunes. Puede usar los archivos de muestra de la siguiente sección como plantilla para su implementación IPQoS.

Crear archivos de configuración IPQoS para servidores web

Esta sección es una introducción al archivo de configuración IPQoS en la que se muestra cómo crear una configuración para un servidor web de nivel alto. También se muestra cómo configurar un nivel de servicio diferente mediante otro archivo de configuración para un servidor que aloja páginas web personales. Ambos servidores forman parte del ejemplo de red que se muestra en la Figura 33–4.

El siguiente archivo de configuración define actividades IPQoS para el servidor Goldweb. Este servidor aloja el sitio web de Goldco, la compañía que tiene un acuerdo SLA de nivel alto.


Ejemplo 34–1 Archivo de configuración IPQoS de ejemplo para un servidor web de nivel alto

fmt_version 1.0

action {
    module ipgpc
    name ipgpc.classify
    params {
        global_stats TRUE
    }
    class {
        name goldweb
        next_action markAF11
        enable_stats FALSE
    }
    class {
        name video
        next_action markEF
        enable_stats FALSE
    }
    filter {
        name webout
        sport 80
        direction LOCAL_OUT
        class goldweb
    }
    filter {
        name videoout
        sport videosrv
        direction LOCAL_OUT
        class video
    }
}
action {
    module dscpmk
    name markAF11
    params {
        global_stats FALSE
        dscp_map{0-63:10}
        next_action continue
    }
}
action {
    module dscpmk
    name markEF
    params {
        global_stats TRUE
        dscp_map{0-63:46}
        next_action acct
    }
}
action {
    module flowacct
    name acct
    params {
        enable_stats TRUE
        timer 10000
        timeout 10000
        max_limit 2048
    }
}

El siguiente archivo de configuración define actividades IPQoS en Userweb. Este servidor aloja sitios web de usuarios con acuerdos SLA de bajo precio o "best-effort". Este nivel de servicio garantiza el mejor servicio que puede ofrecerse a clientes "best-effort" después de que el sistema IPQoS administre el tráfico de clientes con acuerdos SLA de nivel alto.


Ejemplo 34–2 Configuración de muestra para un servidor web "Best-Effort"

fmt_version 1.0

action {
    module ipgpc
    name ipgpc.classify
    params {
        global_stats TRUE
    }
    class {
        name Userweb
        next_action markAF12
        enable_stats FALSE
    }
    filter {
        name webout
        sport 80
        direction LOCAL_OUT
        class Userweb
   }
}
action {
    module dscpmk
    name markAF12
    params {
        global_stats FALSE
        dscp_map{0-63:12}
        next_action continue
    }
}

ProcedureCómo crear el archivo de configuración IPQoS y definir las clases de tráfico

Puede crear el primer archivo de configuración IPQoS en el directorio que le resulte más fácil para su mantenimiento. En las tareas de este capítulo se utiliza el directorio /var/ipqos como ubicación para archivos de configuración IPQoS. En el siguiente procedimiento se genera el segmento inicial del archivo de configuración IPQoS introducido en el Ejemplo 34–1.


Nota –

Al crear el archivo de configuración IPQoS, asegúrese de comenzar y finalizar cada instrucción de acción y cláusula con llaves ({ }). Para ver un ejemplo del uso de llaves, consulte el Ejemplo 34–1.


  1. Inicie una sesión en el servidor web de nivel alto y cree un archivo de configuración IPQoS con extensión .qos.

    Los archivos de configuración IPQoS deben comenzar con el número de versión fmt_version 1.0 como primera línea sin comentar.

  2. A continuación del parámetro de abertura, escriba la instrucción de acción, que configura el clasificador IP genérico ipgpc.

    Esta primera acción inicia el árbol de instrucciones de acción que compone el archivo de configuración IPQoS. Por ejemplo, el archivo /var/ipqos/Goldweb.qos comienza con la instrucción de acción inicial para llamar al clasificador ipgpc.


    fmt_version 1.0
    
    action {
        module ipgpc
        name ipgpc.classify
    
    fmt_version 1.0

    Inicia el archivo de configuración IPQoS.

    action {

    Inicia la instrucción de acción.

    module ipgpc

    Configura el clasificador ipgpc como la primera acción del archivo de configuración.

    name ipgpc.classify

    Define el nombre de la instrucción de acción de clasificador, que siempre debe ser ipgpc.classify.

    Si necesita información sintáctica detallada sobre instrucciones de acción, consulte la sección Instrucción action y la página de comando man ipqosconf(1M).

  3. Añada una cláusula params con el parámetro de estadísticas global_stats.


    params {
              global_stats TRUE
       }
    

    El parámetro global_stats TRUE de la instrucción ipgpc.classify activa la recoplicación de estadísticas para dicha acción. global_stats TRUE también activa la recopliación de estadísticas por clase cuando una definición de cláusula de clase especifica enable_stats TRUE.

    Activar las estadísticas afecta al rendimiento. Puede ser útil recopilar estadísticas en un archivo de configuración IPQoS nuevo para verificar que IPQoS funciona correctamente. Más adelante, puede desactivar la recopliación de estadísticas cambiando el argumento de global_stats a FALSE.

    Las estadísticas globales son tan solo uno de los parámetros que se pueden definir en la cláusula params. Si necesita más información sobre sintaxis y otros datos de las cláusulas params, consulte la sección Cláusula params y la página de comando man ipqosconf(1M).

  4. Defina una cláusula que identifique el tráfico vinculado al servidor de nivel alto.


    class { 
            name goldweb 
            next_action markAF11   
            enable_stats FALSE 
        }
    

    Esta instrucción se denomina una cláusula class. Una cláusula class tiene el siguiente contenido.

    name goldweb

    Crea la clase goldweb para identificar el tráfico vinculado al servidor Goldweb.

    next_action markAF11

    Incica al módulo ipgpc que debe pasar los paquetes de la clase goldweb a la instrucción de acción markAF11. La instrucción de acción markAF11 llama al marcador dscpmk.

    enable_stats FALSE

    Activa la recopilación de estadísticas de la clase goldweb. Aunque, debido a que el valor de enable_stats es FALSE, las estadísticas de esta clase no están activadas.

    Si necesita información detallada sobre la sintaxis de la cláusula class, consulte la sección Cláusula class y la página de comando man ipqosconf(1M).

  5. Defina una clase que identifique una aplicación que deba tener reenvío de máxima prioridad.


    class {
            name video
            next_action markEF
            enable_stats FALSE
        }
    
    name video

    Crea la clase video para identificar el tráfico saliente de video streaming del servidor Goldweb.

    next_action markEF

    Indica al módulo ipgpc que debe pasar los paquetes de la clase video a la instrucción markEF después de que ipgpc haya terminado el procesamiento. La instrucción markEF llama al marcador dscpmk.

    enable_stats FALSE

    Activa la recopliación de estadísticas de la clase video. Aunque, debido a que el valor de enable_stats es FALSE, la recopilación de estadísticas para esta clase no se activa.

Véase también

ProcedureCómo definir filtros en el archivo de configuración IPQoS

El siguiente procedimiento muestra cómo definir filtros para una clase en el archivo de configuración IPQoS.

Antes de empezar

En el procedimiento se asume que ya ha comenzado la creación del archivo y ha definido clases. Los pasos continúan con la generación del archivo /var/ipqos/Goldweb.qos creado en la sección Cómo crear el archivo de configuración IPQoS y definir las clases de tráfico.


Nota –

Al crear el archivo de configuración IPQoS, asegúrese de comenzar y finalizar cada clásula class y cada filtro con llaves ({ }). Para ver un ejemplo del uso de llaves, consulte el Ejemplo 34–1.


  1. Abra el archivo de configuración IPQoS y busque la última clase definida.

    Por ejemplo, en el servidor con IPQoS Goldweb, empezaría después de la siguiente cláusula class de /var/ipqos/Goldweb.qos:


    class {
            name video
            next_action markEF
            enable_stats FALSE
        }
  2. Defina una cláusula filter para seleccionar el tráfico saliente del sistema IPQoS.


        filter {
            name webout
            sport 80
            direction LOCAL_OUT
            class goldweb
        }
    
    name webout

    Asigna el nombre webout al filtro.

    sport 80

    Selecciona el tráfico con origen en el puerto 80, el puerto de tráfico HTTP (web).

    direction LOCAL_OUT

    Selecciona el tráfico saliente del sistema local.

    class goldweb

    Identifca la clase a la que pertenece el filtro, en este caso, la clase goldweb.

    Si necesita información detallada y sintáctica sobre la cláusula filter del archivo de configuración IPQoS, consulte la sección Cláusula filter.

  3. Defina una clásula filter para seleccionar el tráfico de video streaming del sistema IPQoS.


        filter {
            name videoout
            sport videosrv
            direction LOCAL_OUT
            class video
        }
    
    name videoout

    Asgina el nombre videoout al filtro.

    sport videosrv

    Selecciona el tráfico con un puerto de origen videosrv, un puerto definido anteriormente para la aplicación de video streaming en este sistema.

    direction LOCAL_OUT

    Selecciona el tráfico saliente del sistema local.

    class video

    Identifica la clase a la que pertenece el filtro, en este caso, la clase video.

Véase también

ProcedureCómo definir el reenvío de tráfico en el archivo de configuración IPQoS

El siguiente procedimiento muestra cómo definir el reenvío de tráfico añadiendo comportamientos por salto para una clase en el archivo de configuración IPQoS.

Antes de empezar

En el procedimiento se asume que ya tiene un archivo de configuración IPQoS con clases y filtros definidos. Los pasos continúan con la creación del archivo /var/ipqos/Goldweb.qos del Ejemplo 34–1.


Nota –

El procedimiento muestra cómo configurar el reenvío de tráfico utilizando el módulo de marcador dscpmk. Si necesita información sobre el reenvío de tráfico en sistemas VLAN utilizando el marcador dlclosmk, consulte la sección Uso del marcador dlcosmk con dispositivos VLAN.


  1. Abra el archivo de configuración IPQoS y localice el final del último filtro definido.

    Por ejemplo, en el servidor con IPQoS Goldweb, empezaría después de la siguiente cláusula filter en /var/ipqos/Goldweb.qos:


    filter {
            name videoout
            sport videosrv
            direction LOCAL_OUT
            class video
        }
    }

    Observe que esta cláusula filter se encuentra al final de la instrucción action del clasificador ipgpc. Por lo tanto, necesita una llave de cierre para finalizar el filtro y otra para finalizar la instrucción action.

  2. Invoque al marcador con la siguiente instrucción action.


    action {
        module dscpmk
        name markAF11
    
    module dscpmk

    Llama al módulo de marcador dscpmk.

    name markAF11

    Asigna el nombre markAF11 a la instrucción action .

    La clase goldweb definida anteriormente incluye una instrucción next_action markAF11. Esta instrucción envía los flujos de tráfico a la instrucción de acción markAF11 cuando el clasificador ha finalizado el procesamiento.

  3. Defina acciónes que debe ejecutar el marcador en el flujo de tráfico.


        params {
            global_stats FALSE
            dscp_map{0-63:10}
            next_action continue
        }
    }
    
    global_stats FALSE

    Activa la recopilación de estadísticas de la instrucción action del marcador markAF11. Aunque, debido a que el valor de enable_stats es FALSE, no se recopilan estadísticas.

    dscp_map{0–63:10}

    Asigna un DSCP de valor 10 a los encabezados de paquetes de la clase de tráfico goldweb, que el marcador está procesando en ese momento.

    next_action continue

    Indica que no se necesita más procesamiento en los paquetes de la clase de tráfico goldweb, y que estos paquetes pueden volver al flujo de red.

    El DSCP de valor 10 indica al marcador que debe definir todas las entradas del mapa dscp en el valor decimal 10 (binario 001010). Este punto de código indica que los paquetes de la clase de tráfico goldweb están sujetos al comportamiento por salto AF11. AF11 garantiza que todos los paquetes con DSCP de valor 10 reciben un servicio de alta prioridad y baja probabilidad de descarte. Por lo tanto, el tráfico saliente para clientes de nivel alto en Goldweb recibe la prioridad más alta diponilble para el PHB de reenvío asegurado (AF). Para ver una tabla de puntos DSCP para AF, consulte la Tabla 37–2.

  4. Inicie otra instrucción action de marcador.


    action {
        module dscpmk
        name markEF    
    
    module dscpmk

    Llama al módulo de marcador dscpmk.

    name markEF

    Asigna el nombre markEF a la instrucción action.

  5. Defina acciones que deba ejecutar el marcador en el flujo de tráfico.


        params {
            global_stats TRUE
            dscp_map{0-63:46}
            next_action acct
        }
    }
    
    global_stats TRUE

    Activa la recopilación de estadísticas en la clase video, que selecciona paquetes de video streaming.

    dscp_map{0–63:46}

    Asgina un DSCP de valor 46 a los encabezados de paquetes de la clase de tráfico video, que el marcador está procesando en ese momento.

    next_action acct

    Indica al módulo dscpmk que debe pasar los paquetes de la clase video a la instrucción acct action cuando dscpmk haya completado el procesamiento. La instrucción acct action invoca al módulo flowacct.

    El DSCP de valor 46 indica al módulo dscpmk que debe establecer todas las entradas del mapa dscp en el valor decimal 46 (binario 101110) en el campo DS. Este punto de código indica que los paquetes de la clase de tráfico video están sujetos al comportamiento por salto de reenvío acelerado (EF).


    Nota –

    El punto de código recmendado para EF es 46 (binario 101110). Otros puntos DSCP asignan comportamientos PHB AF a un paquete.


    El PHB EF garantiza que los paquetes con el DSCP de valor 46 reciben la máxima precendencia en sistemas IPQoS y Diffserv. Las aplicaciones streaming requieren el servicio de prioridad más alta, por eso se les asignan comportamientos PHB EF en la directiva QoS. Si necesita más información sobre PHB de reenvío acelerado, consulte la sección Reenvío acelerado (EF) PHB.

  6. Añada los puntos DSCP que ha creado a los archivos correspondientes del enrutador Diffserv.

    Si necesita más información, consulte Cómo configurar un enrutador en una red con IPQoS.

Véase también

ProcedureCómo activar el control para una clase en el archivo de configuración IPQoS

El siguiente procedimiento muestra como activar el control de una clase de tráfico en el archivo de configración IPQoS. El procedimiento muestra como definir el control de flujo para la clase video, introducida en la sección Cómo crear el archivo de configuración IPQoS y definir las clases de tráfico. Esta clase selecciona el tráfico de video streaming, que debe formar parte de un acuerdo SLA de nivel alto del cliente.

Antes de empezar

En el procedimiento se asume que ya tiene un archivo de configuración IPQoS con clases, filtros y acciones de medición definidas, si correponde, y acciones de marcado, si corresponde. Los pasos continúan con la creación del archivo /var/ipqos/Goldweb.qos del Ejemplo 34–1.

  1. Abra el archivo de configuración IPQoS y localice el final de la última instrucción action definida.

    Por ejemplo, en el servidor con IPQoS Goldweb, empezaría después de la siguiente instrucción action markEF en /var/ipqos/Goldweb.qos.


    action {
        module dscpmk
        name markEF
        params {
            global_stats TRUE
            dscp_map{0-63:46}
            next_action acct
        }
    }
  2. Inice una instrucción action que llame al control de flujo.


    action {
        module flowacct
        name acct
    
    module flowacct

    Invoca al módulo de control de flujo flowacct.

    name acct

    Asigna el nombre acct a la instrucción action

  3. Defina una cláusula params para el control de la clase de tráfico.


    params {
            global_stats TRUE
            timer 10000
            timeout 10000
            max_limit 2048
            next_action continue
        }
    }
    global_stats TRUE

    Activa la recopilación de estadísticas de la clase video, que selecciona paquetes de video streaming.

    timer 10000

    Especifica la duración del intervalo, en milisengundos, que se utiliza al explorar la tabla de flujos para detectar flujos con tiempo de espera superado. En este parámetro, el intervalo es de 10000 milisegundos.

    timeout 10000

    Especifica el valor de tiempo de espera de intervalo mínimo. El tiempo de espera de un flujo se supera cuando los paquetes del flujo no se envían durante un intervalo de tiempo de espera. En este parámetro, se supera el tiempo de espera de paquetes cuando transcurren 10000 milisegundos.

    max_limit 2048

    Determina el número máximo de registros de flujos en la tabla de flujos para esta instancia de acción.

    next_action continue

    Indica que no es necesario más procesamiento en los paquetes de la clase de tráfico video y que los paquetes pueden volver al flujo de red.

    El módulo flowacct recopila información estadística sobre los flujos de paquetes de una clase específica hasta que se supera un valor de timeout.

Véase también

ProcedureCómo crear un archivo de configuración IPQoS para un servidor web "Best-Effort"

El archivo de configuración IPQoS para un servidor web "best-effort" es ligeramente diferente al de un servidor web de nivel alto. Como muestra, en el procedimiento se utiliza el archivo de configuración del Ejemplo 34–2.

  1. Inicie una sesión en el servidor web "best-effort".

  2. Cree un archivo de configuración IPQoS con extensión .qos.


    fmt_vesion 1.0
    action {
        module ipgpc
        name ipgpc.classify
        params {
            global_stats TRUE
       }
    

    El archivo /var/ipqos/userweb.qos debe comenzar con la intrucción action parcial para invocar al clasificador ipgpc. Además, la instrucción action también tiene una cláusula params para activar la recopilación de estadísticas. Si necesita una explicación de esta instrucción action, consulte la sección Cómo crear el archivo de configuración IPQoS y definir las clases de tráfico.

  3. Defina una clase que identifique el tráfico vinculado con el servidor web "best-effort".


    class {
            name userweb
            next_action markAF12
            enable_stats FALSE
        }
    
    name userweb

    Crea una clase llamada userweb para reenvíar el tráfico web de usuarios.

    next_action markAF1

    Indica al módulo ipgpc que debe transferir los paquetes de la clase userweb a la instrucción action markAF12 cuando ipgpc haya completado el procesamiento. La instrucción action markAF12 invoca al marcador dscpmk.

    enable_stats FALSE

    Activa la recopilación de estadísticas para la clase userweb. Aunque, debido a que el valor de enable_stats es FALSE, no se recopilan estadísticas para esta clase.

    Para ver una explicación de la tarea de la cláusula class, consulte la sección Cómo crear el archivo de configuración IPQoS y definir las clases de tráfico.

  4. Defina una cláusula filter para seleccionar los flujos de tráfico de la clase userweb.


       filter {
           name webout
           sport 80
           direction LOCAL_OUT
           class userweb
       }
    }
    
    name webout

    Asigna el nombre webout al filtro.

    sport 80

    Selecciona el tráfico con origen en el puerto 80, el puerto de tráfico HTTP (web).

    direction LOCAL_OUT

    Selecciona el tráfico saliente del sistema local.

    class userweb

    Identifica la clase a la que pertenece el filtro, en este caso, la clase userweb.

    Para ver una explicación de la tarea de la cláusula filter, consulte la sección Cómo definir filtros en el archivo de configuración IPQoS.

  5. Inice la instrucción action para invocar al marcador dscpmk.


    action {
        module dscpmk
        name markAF12
    
    module dscpmk

    Invoca al módulo de marcador dscpmk.

    name markAF12

    Asigna el nombre markAF12 a la instrucción action .

    La clase definida previamente userweb incluye una instrucción next_action markAF12. Esta instrucción envía flujos de tráfico a la instrucción action markAF12 cuando el clasificador finaliza el procesamiento.

  6. Defina parámetros que debe usar el marcador para procesar el flujo de tráfico.


        params {
            global_stats FALSE
            dscp_map{0-63:12}
            next_action continue
        }
    }
    
    global_stats FALSE

    Activa la recopilación de estadísticas para la instrucción action del marcador markAF12. Aunque, debido a que el valor de enable_stats es FALSE, no se recopilan estadísticas.

    dscp_map{0–63:12}

    Asigna un valor DSCP de 12 a los encabezados de paquetes de la clase de tráfico userweb, que esté procesando el marcador en ese momento.

    next_action continue

    Indica que no es necesario más procesamiento en los paquetes de la clase de tráfico userweb, y que los paquetes pueden volver al flujo de red.

    El valor DSCP de 12 indica al marcador que debe definir todas las entradas del mapa dscp en el valor decimal 12 (binario 001100). Este punto de código indica que los paquetes de la clase de tráfico userweb están sujetos al comportamiento por salto AF12. AF12 garantiza que todos los paquetes con el DSCP de valor 12 en el campo DS reciben un servicio de probabilidad de descarte media y prioridad alta.

  7. Cuando haya completado el archivo de configuración IPQoS, aplique la configuración.

Véase también

Crear un archivo de configuración IPQoS para un servidor de aplicaciones

En esta sección se explica cómo crear un archivo de configuración para un servidor de aplicaciones que proporciona aplicaciones básicas a clientes. En el procedimiento se usa como ejemplo el servidor BigAPPS de la Figura 33–4.

El siguiente archivo de configuración define actividades IPQoS para el servidor BigAPPS. Este servidor aloja FTP, correo electrónico (SMTP) y noticias de red (NNTP) para clientes.


Ejemplo 34–3 Archivo de configuración IPQoS para un servidor de aplicaciones

fmt_version 1.0

action {
    module ipgpc
    name ipgpc.classify
    params {
        global_stats TRUE
    }
    class {
        name smtp
        enable_stats FALSE
        next_action markAF13
    }
    class {
        name news
        next_action markAF21
    }
    class {
        name ftp
        next_action meterftp
    }
    filter {
        name smtpout
        sport smtp
        class smtp
    }
    filter {
        name newsout
        sport nntp
        class news
    }
    filter {
        name ftpout
        sport ftp
        class ftp
    }
   filter {
        name ftpdata
        sport ftp-data
        class ftp
    }
}
action {
    module dscpmk
    name markAF13
    params {
        global_stats FALSE
        dscp_map{0-63:14}
        next_action continue
    }
}
action {
    module dscpmk
    name markAF21
    params {
        global_stats FALSE
        dscp_map{0-63:18}
        next_action continue
    }
}
action {
    module tokenmt
    name meterftp
    params {
        committed_rate 50000000
        committed_burst 50000000
        red_action_name AF31
        green_action_name markAF22
        global_stats TRUE
    }
}
action {
    module dscpmk
    name markAF31
    params {
        global_stats TRUE
        dscp_map{0-63:26}
        next_action continue
    }
}
action {
    module dscpmk
    name markAF22
    params {
        global_stats TRUE
        dscp_map{0-63:20}
        next_action continue
    }
}

ProcedureCómo definir el archivo de configuración IPQoS para un servidor de aplicaciones

  1. Inicie una sesión en el servidor de aplicaciones con IPQoS y cree un archivo IPQoS con extensión .qos.

    Por ejemplo, /var/ipqos/BigAPPS.qos para el servidor de aplicaciones. Empiece con los siguientes comandos necesarios para iniciar la instrucción action que invoca al clasificador ipgpc:


    fmt_version 1.0
    
    action {
        module ipgpc
        name ipgpc.classify
        params {
            global_stats TRUE
        }    
    

    Si necesita una explicación de la instrucción action inicial, consulte la sección Cómo crear el archivo de configuración IPQoS y definir las clases de tráfico.

  2. Cree clases para seleccionar el tráfico de tres aplicaciones en el servidor BigAPPS.

    Añada las definicioes de clases después de la instrucción action de apertura.


        class {
            name smtp
            enable_stats FALSE
            next_action markAF13
        }
        class {
            name news
            next_action markAF21
        }
        class {
            name ftp
            enable_stats TRUE
            next_action meterftp
        }       
    
    name smtp

    Crea una clase llamada smtp, que incluye los flujos de tráfico de correo electrónico que debe administrar la aplicación SMTP

    enable_stats FALSE

    Activa la recopilación de estadísticas para la clase smtp. Aunque, debido a que el valor de enable_stats es FALSE, no se recopilan estadísticas para esta clase.

    next_action markAF13

    Indica al módulo ipgpc que debe transferir los paquetes de la clase smtp a la instrucción action markAF13 cuando ipgpc haya completado el procesamiento.

    name news

    Crea una clase llamada news, que incluye los flujos de tráfico de noticias de red que debe administrar la aplicación NNTP.

    next_action markAF21

    Indica al módulo ipgpc que debe transferir los paquetes de la clase news a la instrucción action markAF21 cuando ipgpc haya completado el procesamiento.

    name ftp

    Crea una clase llamada ftp, que administra el tráfico saliente gstionado por la aplicación FTP.

    enable_stats TRUE

    Activa la recopilación de estadísticas para la clase ftp.

    next_action meterftp

    Indica al módulo ipgpc que debe transferir los paquetes de la clase ftp a la instrucción action meterftp cuando ipgpc haya completado el procesamiento.

    Si necesita más información sobre cómo definir clases, consulte la sección Cómo crear el archivo de configuración IPQoS y definir las clases de tráfico.

  3. Defina cláusulas filter para seleccionar el tráfico de las clases definidas en el paso 2.


        filter {
            name smtpout
            sport smtp
            class smtp
        }
        filter {
            name newsout
            sport nntp
            class news
        }
            filter {
            name ftpout
            sport ftp
            class ftp
        }
            filter {
            name ftpdata
            sport ftp-data
            class ftp
        }
    }
    
    name smtpout

    Asigna el nombre smtpout al filtro.

    sport smtp

    Selecciona el tráfico con puerto de origen 25, el puerto para la aplicación sendmail (SMTP).

    class smtp

    Identifica la clase a la que pertenece el filtro, en este caso, la clase smtp.

    name newsout

    Asigna el nombre newsout al filtro.

    sport nntp

    Selecciona el tráfico con nombre de puerto origen nntp, el nombre de puerto para la aplicación de noticias de red (NNTP).

    class news

    Identifica la clase a la que pertenece el filtro, en este caso, la clase news.

    name ftpout

    Asigna el nombre ftpout al filtro.

    sport ftp

    Selecciona los datos de control con un puerto origen 21, el número de puerto para tráfico FTP.

    name ftpdata

    Asigna el nombre ftpdata al filtro.

    sport ftp-data

    Selecciona el tráfico con puerto de origen 20, el número de puerto para tráfico FTP.

    class ftp

    Identifica la clase a la que pertenecen los filtros ftpout y ftpdata, en este caso ftp.

Véase también

ProcedureCómo configurar el reenvío para el tráfico de aplicaciones en el archivo de configuración IPQoS

En el siguiente procedimiento se muestra cómo configurar el reenvío para el tráfico de aplicaciones. En el procedimiento, se definen comportamientos por salto para clases de tráfico de aplicaciones que pueden tener precedencia más baja que otro tráfico de la red. Los pasos continúan con la creación del archivo /var/ipqos/BigAPPS.qos del Ejemplo 34–3.

Antes de empezar

En el procedimiento se asume que ya tiene un archivo de configuración IPQoS con clases y filtros definidos para las aplicaciones que se van a marcar.

  1. Abra el archivo de configuración IPQoS creado para el servidor de aplicaciones y localice el final de la última cláusula filter.

    En el archivo /var/ipqos/BigAPPS.qos, el último filtro es el siguiente:


     filter {
            name ftpdata
            sport ftp-data
            class ftp
        }
    }
  2. Invoque al marcador del siguiente modo:


    action {
        module dscpmk
        name markAF13
        
    
    module dscpmk

    Invoca al módulo de marcador dscpmk.

    name markAF13

    Asigna el nombre markAF13 a la instrucción action .

  3. Defina el comportamiento por salto que debe marcarse en los flujos de tráfico de correo electrónico.


        params {
            global_stats FALSE
            dscp_map{0-63:14}
            next_action continue
        }
    }
    
    global_stats FALSE

    Activa la recopilación de estadísticas para la instrucción action del marcador markAF13. Aunque, debido a que el valor de enable_stats es FALSE, no se recopilan estadísticas.

    dscp_map{0–63:14}

    Asigna un DSCP de valor 14 a los encabezados de paquetes de la clase de tráfico smtp, que esté procesando el marcador en ese momento.


    next_action continue

    Indica que no se necesita más procesamiento en los paquetes de la clase de tráfico smtp. Estos paquetes pueden volver al flujo de red.

    El valor DSCP de 14 indica al marcador que debe efinir todas las entradas del mapa dscp en el valor decimal 14 (binario 001110). El DSCP de valor 14 define el comportamiento por salto AF13. El marcador marca paquetes de la clase de tráfico smtp con el DSCP de valor 14 en el campo DS.

    AF13 asigna todos los paquetes con un DSCP de 14 a una precedencia de alta probabilidad de descarte. Aunque, debido a que AF13 también garantiza una prioridad de Clase 1, el enrutador sigue garantizando una alta prioridad en cola al tráfico de correo electrónico saliente. Para ver una tabla de códigos para AF, consulte la Tabla 37–2.

  4. Añada una instrucción action de marcador para definir un comportamiento por salto para el tráfico de noticias de red:


    action {
        module dscpmk
        name markAF21
        params {
            global_stats FALSE
            dscp_map{0-63:18}
            next_action continue
        }
    }
    
    name markAF21

    Asigna el nombre markAF21 a la instrucción action .

    dscp_map{0–63:18}

    Asigna un valor DSCP de 18 a los encabezados de paquetes de la clase de tráfico nntp que esté procesando el marcador en ese momento.

    El valor DSCP de 18 indica al marcador que debe definir todas las entradas del mapa dscp en el valor decimal 18 (binario 010010). El valor DSCP 18 define el comportamiento por salto AF21. El marcador marca los paquetes de la clase de tráfico news con el valor DSCP 18 en el campo DS.

    AF21 garantiza que todos los paquetes con un valor DSCP de 18 reciben una precedencia de baja probabilidad de descarte, pero sólo con prioridad Clase 2. Por lo tanto, la posibilidad de que se descarte el tráfico de noticias de red es bajo.

Véase también

ProcedureCómo configurar el control de flujo en el archivo de configuración IPQoS

Para controlar la tasa a la que un flujo de tráfico específico se envía en la red, debe definir parámetros para el medidor. Puede usar cualquiera de los dos módulos de medidor, tokenmt o tswtclmt, en el archivo de configuración IPQoS.

El siguiente procedimiento continúa con la creación del archivo de configuración IPQoS para el servidor de aplicaciones del Ejemplo 34–3. En el procedimiento, no sólo se configura el medidor, sino también las acciones de marcador a las que se llama desde la instrucción action.

Antes de empezar

En los pasos se asume que ya ha definido una clase y un filtro para controlar el flujo de la aplicación.

  1. Abra el archivo de configuración IPQoS que ha creado para el servidor de aplicaciones.

    En el archivo /var/ipqos/BigAPPS.qos , empiece después de la siguiente acción de marcador:


    action {
        module dscpmk
        name markAF21
        params {
            global_stats FALSE
            dscp_map{0-63:18}
            next_action continue
        }
    }
  2. Cree una instrucción action de medidor para controlar el flujo de tráfico de la clase ftp.


    action {
        module tokenmt
        name meterftp
                
    
    module tokenmt

    Invoca al medidor tokenmt.

    name meterftp

    Asigna el nombre meterftp a la instrucción action .

  3. Añada parámetros para configurar la tasa del medidor.


    params {
           committed_rate 50000000
           committed_burst 50000000
      
    
    committed_rate 50000000

    Asigna una tasa de transmisión de 50.000.000 bps al tráfico de la clase ftp.

    committed_burst 50000000

    Dedica un tamaño de ráfaga de 50.000.000 al tráfico de la clase ftp.

    Para ver una explicación de los parámetros tokenmt, consulte la sección Configuración de tokenmt como medidor de doble tasa.

  4. Añada parámetros para configurar las precedencias de cumplimiento de tráfico:


        red_action markAF31
        green_action_name markAF22
        global_stats TRUE
        }
    }
    
    red_action_name markAF31

    Idinca que si el flujo de tráfico de la clase ftp excede la tasa asignada, los paquetes se envían a la instrucción action del marcador markAF31.

    green_action_name markAF22

    Indica que si los flujos de tráfico de la clase ftp cumplen la tasa asignada, los paquetes se envían a la instrucción action de markAF22.

    global_stats TRUE

    Activa las estadísticas de medición para la clase ftp.

    Si necesita más información sobre el cumplimiento del tráfico, consulte la sección Módulo Meter.

  5. Añada uns instrucción action de marcador para asignar un comportamiento por salto a los flujos de tráfico de la clase ftp que no cumplan la tasa.


    action {
        module dscpmk
        name markAF31
        params {
            global_stats TRUE
            dscp_map{0-63:26}
            next_action continue
        }
    }
    
    module dscpmk

    Invoca al módulo de marcador dscpmk.

    name markAF31

    Asigna el nombre markAF31 a la instrucción action.

    global_stats TRUE

    Activa las estadísticas para la clase ftp.

    dscp_map{0–63:26}

    Asigna un valor DSCP de 26 a los encabezados de paquetes de la clase de tráfico ftp cuando el tráfico excede la tasa asignada.

    next_action continue

    Indica que no se requiere más procesamiento para los paquetes de la clase de tráfico ftp. Estos paquetes pueden devolverse al flujo de red.

    El valor DSCP de 26 indica al marcador que debe establecer todas las entradas del mapa dscp en el valor decimal 26 (binario 011010). El valor DSCP 26 define el comportamiento por salto AF31. El marcador marca los paquetes de la clase de tráfico ftp con el valor DSCP 26 en el campo DS.

    AF31 garantiza que todos los paquetes con un valor DSCP de 26 reciben una precedencia de baja probabilidad de descarte, pero sólo con prioridad Clase 3. Por lo tanto, la posibilidad de que se descarte el tráfico FTP que no cumple la tasa es baja. Para ver una tabla de códigos para AF, consulte la Tabla 37–2.

  6. Añada una instrucción action de marcador para asignar un comportamiento por salto a los flujos de tráfico ftp que cumplen la tasa asignada.


    action {
        module dscpmk
        name markAF22
        params {
            global_stats TRUE
            dscp_map{0-63:20}
            next_action continue
        }
    }
    
    name markAF22

    Asigna el nombre markAF22 a la acción marker.

    dscp_map{0–63:20}

    Asigna un valor DSCP de 20 a los encabezados de paquetes de la clase de tráfico ftp cuando el tráfico ftp cumple la tasa configurada.

    El valor DSCP de 20 indica al marcador que debe definir todas las entradas del mapa dscp en el valor decimal 20 (binario 010100). El valor DSCP de 20 define el comportamiento por salto AF22. El marcador marca los paquetes de la clase de tráfico ftp con el valor DSCP de 20 en el campo DS.

    AF22 garantiza que todos los paquetes con un valor DSCP de 20 reciben una precedencia de probabilidad de descarte media con prioridad de Clase 2. Por lo tanto, el tráfico FTP que cumple la tasa tiene garantizada una precedencia con probabilidad de descarte media entre los flujos envíados simultáneamente por el sistema IPQoS. Aunque el enrutador asigna una prioridad de reenvío más alta a las clases de tráfico con una marca de precedencia de probabilidad de descarte media de Clase 1 o superior. Para ver una tabla de códigos para AF, consulte la Tabla 37–2.

  7. Añada los puntos DSCP que ha creado para el servidor de aplicaciones a los archivos correspondientes del enrutador Diffserv.

Véase también

Suministro de servicios diferenciados en un enrutador

Para proporcionar servicios diferenciados reales, debe incluir un enrutador con Diffserv en la red, como se describe en Estrategias de hardware para la red Diffserv. Los pasos necesarios para configurar Diffserv en un enrutador y actualizar los archivos del enrutador no se explican en esta guía.

En esta sección se detallan los pasos generales para coordinar la información de reenvío entre varios sistemas con IPQoS en la red y el enrutador Diffserv.

ProcedureCómo configurar un enrutador en una red con IPQoS

En el siguiente procedimiento se utiliza como ejemplo la topología de la Figura 33–4.

Antes de empezar

En el siguiente procedimiento se asume que ya ha configurado los sistemas IPQoS de la red realizando las tareas anteriores de este capítulo.

  1. Revise los archivos de configuración de todos los sistemas con IPQoS de la red.

  2. Identifique cada punto de código utilizado en las directivas QoS.

    Haga una lista de los puntos de código, y los sistemas y clases a los que se aplican. La siguiente tabla ilustra áreas en las que puede haberse usado el mismo punto de código. Esta práctica es aceptable. Aunque debe especificar otros criterios en el archivo de configuración IPQoS, como un selector de precedencia, para determinar la precedencia de las clases con marcas idénticas.

    Por ejemplo, en la red de muestra que se utiliza en los procedimientos de este capítulo, puede generar la siguiente tabla de puntos de código.

    Sistema 

    Clase 

    PHB 

    Punto de código DS 

    Goldweb

    video

    EF 

    46 (101110) 

    Goldweb

    goldweb

    AF11 

    10 (001010) 

    Userweb

    webout

    AF12 

    12 (001100) 

    BigAPPS

    smtp

    AF13 

    14 (001110) 

    BigAPPS

    news

    AF18 

    18 (010010) 

    BigAPPS

    ftp conformant traffic

    AF22 

    20 (010100) 

    BigAPPS

    ftp nonconformant traffic

    AF31 

    26 (011010) 

  3. Añada los puntos de código de los archivos de configuración IPQoS de la red a los archivos correspondientes del enrutador Diffserv.

    Los puntos de código proporcionados deben facilitar la configuración del mecanismo de planificación Diffserv del enrutador. Consulte la documentación y el sitio web del fabricante del enrutador si necesita instrucciones.

Capítulo 35 Inicio y mantenimiento de IPQoS (Tareas)

Este capítulo contiene tareas para activar un archivo de configuración IPQoS y para el registro de eventos relacionados con IPQoS. Contiene los temas siguientes:

Administración IPQoS (Mapa de tareas)

Esta sección contiene el conjunto de tareas para iniciar y mantener el servicio IPQoS en un sistema Oracle Solaris. Antes de utilizar las tareas, debe tener un archivo de configuración IPQoS completado, como se describe en Definición de una directiva QoS en el archivo de configuración IPQoS (Mapa de tarea).

La tabla siguiente enumera y describe esas tareas y contiene vínculos a las secciones que describen cómo realizarlas.

Tarea 

Descripción 

Para obtener instrucciones 

1. Configure IPQoS en un sistema. 

Utilice el comando ipqosconf para activar el archivo de configuración IPQoS en un sistema.

Cómo aplicar una nueva configuración a los módulos de kernel IPQoS

2. Haga que los comandos de inicio de Oracle Solaris apliquen el archivo de configuración IPQoS depurado cada vez que se inicie el sistema. 

Asegúrese de que la configuración IPQoS se aplica cada vez que se reinicia el sistema. 

Cómo garantizar que la configuración IPQoS se aplica cada vez que se reinicia.

3. Active el regirstro syslog para IPQoS.

Añada una entrada para activar el registro syslog de mensajes IPQoS.

Cómo activar el registro de mensajes IPQoS durante el inicio.

4. Solucione cualquier problema IPQoS que surja. 

Solucione los problemas IPQoS utilizando mensajes de error. 

Consulte los mensajes de error de la Tabla 35–1.

Aplicación de una configuración IPQoS

La configuración IPQoS se activa y manipula con el comando ipqosconf.

ProcedureCómo aplicar una nueva configuración a los módulos de kernel IPQoS

Se utiliza el comando ipqosconf para leer el archivo de configuración IPQoS y para configurar los módulos IPQoS del kernel UNIX. En el siguiente procedimiento se utiliza como ejemplo el archivo /var/ipqos/Goldweb.qos, creado en la sección Crear archivos de configuración IPQoS para servidores web. Si necesita información detallada, conulte la página de comando man ipqosconf(1M).

  1. Asuma la función de administrador principal o hágase superusuario en el sistema con IPQoS.

    La función de administrador principal incluye el perfil de administrador principal. Para crear el rol y asignarlo a un usuario, consulte el Capítulo 2, Working With the Solaris Management Console (Tasks) de System Administration Guide: Basic Administration.

  2. Aplique la nueva configuración.


    # /usr/sbin/ipqosconf -a/var/ipqos/Goldweb.qos
    

    ipqosconf escribe la información en el archivo de configuración IPQoS especificado de los módulos IPQoS del kernel de Oracle Solaris. En este ejemplo, el contenido de /var/ipqos/Goldweb.qos se aplica al kernel de Oracle Solaris actual.


    Nota –

    Cuando se aplica un archivo de configuración IPQoS con la opción -a, las acciones del archivo sólo se activan para la sesión actual.


  3. Compruebe y depure la nueva configuración IPQoS.

    Utilice las herramientas de UNIX para supervisar el comportamiento IPQoS y recopilar estadísticas sobre la implementación IPQoS. Esta información permite determinar si la configuración funciona como se esperaba.

Véase también

ProcedureCómo garantizar que la configuración IPQoS se aplica cada vez que se reinicia

Debe hacer que la configuración IPQoS sea persistente en cada reinicio. En caso contrario, la configuración actual sólo se aplica hasta que el sistema se reinicia. Cuando la configuración IPQoS funcione correctamente en un sistema, haga lo siguiente para que la configuración sea persistente cada vez que se reinicia.

  1. Asuma la función de administrador principal o hágase superusuario en el sistema con IPQoS.

    La función de administrador principal incluye el perfil de administrador principal. Para crear el rol y asignarlo a un usuario, consulte el Capítulo 2, Working With the Solaris Management Console (Tasks) de System Administration Guide: Basic Administration.

  2. Compruebe que existe una configuración IPQoS en los módulos de kernel.


    # ipqosconf -l
    

    Si existe una configuración, ipqosconf la muestra en pantalla. Si no recibe ninguna respuesta, aplique la configuración, como se explica en la sección Cómo aplicar una nueva configuración a los módulos de kernel IPQoS.

  3. Asegúrese de que la configuración IPQoS se aplica cada vez que el sistema IPQoS se reinicia.


    # /usr/sbin/ipqosconf -c
    

    La opción -c hace que la configuración IPQoS actual esté presente en el archivo de configuración de inicio /etc/inet/ipqosinit.conf .

Activación del registro syslog para mensajes IPQoS

Para registrar mensajes de inicio IPQoS, es necesario modificar el archivo /etc/syslog.conf como se explica en el siguiente procedimiento.

ProcedureCómo activar el registro de mensajes IPQoS durante el inicio

  1. Asuma la función de administrador principal o hágase superusuario en el sistema con IPQoS.

    La función de administrador principal incluye el perfil de administrador principal. Para crear el rol y asignarlo a un usuario, consulte el Capítulo 2, Working With the Solaris Management Console (Tasks) de System Administration Guide: Basic Administration.

  2. Abra el archivo /etc/syslog.conf.

  3. Añada el siguiente texto como última entrada en el archivo.


    user.info                 /var/adm/messages
    

    Utilice tabuladores en lugar de espacios entre las columnas.

    La entrada registra todos los mensajes de inicio generados por IPQoS en el archivo /var/adm/messages .

  4. Reinicie el sistema para aplicar los mensajes.


Ejemplo 35–1 Salida IPQoS de /var/adm/messages

Al revisar /var/adm/messages después de reiniciar el sistema, la salida puede contener mensajes de registro IPQoS similares a los siguientes.


May 14 10:44:33 ipqos-14 ipqosconf: [ID 815575 user.info]
 New configuration applied.
May 14 10:44:46 ipqos-14 ipqosconf: [ID 469457 user.info] 
Current configuration saved to init file.
May 14 10:44:55 ipqos-14 ipqosconf: [ID 435810 user.info]
Configuration flushed.

También puede encontrar mensajes de error IPQoS similares a los siguientes en el archivo /var/adm/messages del sistema con IPQoS.


May 14 10:56:47 ipqos-14 ipqosconf: [ID 123217 user.error]
 Missing/Invalid config file fmt_version.
May 14 10:58:19 ipqos-14 ipqosconf: [ID 671991 user.error] 
No ipgpc action defined.

Para ver una descripción de estos mensajes de error, consulte la Tabla 35–1.


Resolución de problemas con mensajes de error IPQoS

Esta sección contiene una tabla de mensajes de error generados por IPQoS y su posible solución.

Tabla 35–1 Mensajes de error IPQoS

Mensaje de error 

Descripción 

Solución 

Undefined action in parameter nombre de parámetro action nombre de acción

En el archivo de configuración IPQoS, el nombre de acción especificado en nombre de parámetro no existe en el archivo de configuración.

Cree la acción. O haga referencia a otra acción en el parámetro. 

action nombre de acción involved in cycle

En el archivo de configuración IPQoS, nombre de acción forma parte de un ciclo de acciones, lo que no estár pemitido por IPQoS.

Determine el ciclo de acciones. A continuación, elimine una de las referencias cíclicas del archivo de configuración IPQoS. 

Action nombre de acción isn't referenced by any other actions

Una definición de acción no ipgpc no es referenciada por ninguna otra acción definida en la configuración IPQoS, lo que no está permitido por IPQoS.

Elimine la acción no referenciada. También puede hacer que otra acción haga referencia a la acción no referenciada. 

Missing/Invalid config file fmt_version

El formato del archivo de configuración no está especificado como primera entrada del archivo como requiere IPQoS. 

Añada la versión de formato, como se explica en Cómo crear el archivo de configuración IPQoS y definir las clases de tráfico.

Unsupported config file format version

La versión de formato especificada en el archivo de configuración no es compatilbe con IPQoS. 

Cambie la versión de formato por fmt_version 1.0, esto es necesario para ejecutar la versión Solaris 9 9/02 de IPQoS y versiones posteriores.

No ipgpc action defined.

No ha definido una acción para el clasificador ipgpc en el archivo de configuración, como requiere IPQoS.

Defina una acción para ipgpc, como se muestra en la sección Cómo crear el archivo de configuración IPQoS y definir las clases de tráfico.

Can't commit a null configuration

Cuando ejecutó ipqosconf -c para confirmar una configuradción, dicha configuración estaba vacía, lo que no está permitido por IPQoS.

Asegúrese de aplicar un archivo de configuración antes de intentar confirmar una configuración. Si necesita instrucciones, consulte Cómo aplicar una nueva configuración a los módulos de kernel IPQoS.

Invalid CIDR mask on line número de línea

En el archivo de configuracion, ha utilizado una máscara CIDR como parte de la dirección IP que está fuera del intervalo de direcciones IP válidas.  

Cambie el valor de máscara por uno que se encuentre entre 1–32 para IPv4 y 1–128 para IPv6. 

Address masks aren't allowed for host names line número de línea

En el archivo de configuración, ha definido una máscara CIDR para un nombre de host, lo que no está permtido en IPQoS. 

Elimine la máscara o cambie el nombre de host por una dirección IP. 

Invalid module name line número de línea

En el archivo de configuración, el nombre de módulo que ha especificado en una instrucción de acción no es válido. 

Compruebe que el nombre de módulo esté bien escrito. Para ver una lista de módulos IPQoS, consulte la Tabla 37–5.

ipgpc action has incorrect name line número de línea

El nombre asignado a la acción ipgpc en el archivo de configuración no es el nombre ipgpc.classify requerido.

Cambie el nombre de la acción ipgpc.classify.

Second parameter clause not supported line número de línea

En el archivo de configuración, ha especificado dos cláusulas de parámetro para una única acción, lo que no está permitido por IPQoS. 

Combine todos los parámetros de la acción en una única cláusula de parámetro. 

Duplicate named action

En el archivo de configuración, ha asignado el mismo nombre a dos acciones. 

Cambie el nombre de una de las acciones o elimínela. 

Duplicate named filter/class in action nombre de acción

Ha asignado el mismo nombre a dos filtros o dos clases en la misma acción, lo que no se permite en el archivo de configuración IPQoS. 

Cambie el nombre de uno de los filtros o clases, o elimínelo. 

Undefined class in filter nombre de filtro in action nombre de acción

En el archivo de configuración, el filtro hace referencia a una clase no definida en la acción. 

Cree la clase, o cambie la referencia del filtro a una clase existente. 

Undefined action in class nombre de clase action nombre de acción

La clase hace referencia a una acción no definida en el archivo de configuración. 

Cree la acción, o cambie la referencia a una acción existente. 

Invalid parameters for action nombre de acción

En el archivo de configuración, uno de los parámetros no es válido. 

Para ver el módulo al que llama la acción especificada, consulte la entrada de módulo de la sección Arquitectura IPQoS y el modelo Diffserv. También puede consultar la página de comando man ipqosconf(1M).

Mandatory parameter missing for action nombre de acción

No ha definido un parámetro requerido para una acción en el archivo de configuración. 

Para ver el módulo al que llama la acción especificada, consulte la entrada de módulo de la sección Arquitectura IPQoS y el modelo Diffserv. También puede consultar la página de comando man ipqosconf(1M).

Max number of classes reached in ipgpc

Ha especificado más clases de las permitidas en la acción ipgpc del archivo de configuración IPQoS. El número máximo es 10007.

Revise el archivo de configuración y elimine las clases innecesarias. También puede aumentar el número máximo de clases añadiendo al archivo /etc/system la entrada ipgpc_max_classesnúmero de clases.

Max number of filters reached in action ipgpc

Ha especificado más filtros de los permitidos en la acción ipgpc del archivo de configuración IPQoS. El número máximo es 10007.

Revise el archivo de configuración y elimine los filtros innecesarios. También puede aumentar el número máximo de filtros añadiendo al archivo /etc/system la entrada ipgpc_max_filtersnúmero de filtros.

Invalid/missing parameters for filter nombre de filtro in action ipgpc

En el archivo de configuración, el filtro nombre de filtro tiene parámetros no válidos o no especificados.

Consulte la página de comando man ipqosconf(1M) para ve runa lista de parámetros válidos.

Name not allowed to start with '!', line número de línea

Inicia una acción, un filtro o un nombre de clase con un signo de exclamación (!), lo cual no está permitido en el archivo IPQoS. 

Elimine el signo de exclamación o cambie el nombre completo de la acción, clase o filtro. 

Name exceeds the maximum name length line número de línea

Ha definido un nombre de una acción, clase o filtro en el archivo de configuración que excede la longitud máxima de 23 caracteres. 

Asigne un nombre más corto a la acción, clase o filtro. 

Array declaration line número de línea is invalid

En el archivo de configuración, la declaración de matriz del parámetro de la línea número de línea no es válido.

Para ver la sintaxis correcta de la declaración de matriz a la que llama la instrucción de acción con la matriz no válida, consulte la sección Arquitectura IPQoS y el modelo Diffserv. También puede consultar la página de comando man ipqosconf(1M).

Quoted string exceeds line, número de línea

La cadena no tiene las comillas de cierre en la misma línea, lo que es obligatorio en el archivo de configuración. 

Asegúrese de que la cadena citada empieza y termina en la misma línea en el archivo de configuración. 

Invalid value, line número de línea

El valor definido en la línea número de línea del archivo de configuración no es compatible con el parámetro.

Para ver los valores aceptables para el módulo al que llama la instrucción de acción, consulte la descripción del módulo en la sección Arquitectura IPQoS y el modelo Diffserv. También puede consultar la página de comando man ipqosconf(1M).

Unrecognized value, line número de línea

El valor de número de línea del archivo de configuración no es un valor de enumeración admitido para este parámetro.

Compruebe que el valor de anumeración es correcto para el parámetro. Para ver una descripción del módulo al que llama la instrucción de acción con el número de línea no reconocido, consulte la sección Arquitectura IPQoS y el modelo Diffserv. También puede consultar la página de comando man ipqosconf(1M).

Malformed value list line número de línea

La enumeración especificada en número de línea del archivo de configuración no cumple la sintaxis de especificación.

Para ver la sintaxis correcta del módulo al que llama la instrucción de acción con la lista de valores mal formada, consulte la descripción del módulo en la sección Arquitectura IPQoS y el modelo Diffserv. También puede consultar la página de comando man ipqosconf(1M).

Duplicate parameter line número de línea

Se ha especificado un parámetro duplicado en número de línea, lo que no está permitido en el archivo de configuración.

Elimine uno de los parámetros duplicados. 

Invalid action name line número de línea

Ha asignado a la acción de número de línea del archivo de configuración un nombre que utiliza el nombre predefinido “continue” o “drop".

Cambie el nombre de la acción de modo que no utilice un nombre predefinido. 

Failed to resolve src/dst host name for filter at line número de línea, ignoring filter

ipqosconf no ha podido determinar la dirección de origen o destino definida para el filtro en el archivo de configuración. Por lo tanto, se omite el filtro.

Si el filtro es importante, intente aplicar la configuración más adelante. 

Incompatible address version line número de línea

La versión IP de la dirección de número de línea es incompatible con la versión de una dirección IP especificada previamente o parámetro ip_version.

Cambie las dos entradas en conflicto para que sean compatibles. 

Action at line número de línea has the same name as currently installed action, but is for a different module

Ha intentado cambiar el módulo de una acción que ya existe en la configuración IPQoS del sistema, lo que no está permitido. 

Vacíe la configuración actual antes de aplicar la nueva configuración.  

Capítulo 36 Uso de control de flujo y recopilación de estadísticas (Tareas)

En este capítulo se explica como obtener datos de control y estadísticas sobre el tráfico administrador por un sistema IPQoS. Se explican los siguientes temas:

Establecimiento del control de flujo (Mapa de tareas)

En el siguiente mapa de tareas se enumeran las tareas genéricas para obtener información sobre flujos de tráfico utilizando el módulo flowacct . El mapa también ofrece vínculos a los procedimientos para realizar estas tareas.

Tarea 

Descripción 

Para obtener instrucciones 

1. Cree un archivo para guardar la información de control de flujos de tráfico. 

Utilice el comando acctadm para crear un archivo en el que se almacenarán los resultados del procsamiento de flowacct.

Cómo crear un archivo para datos de control de flujo

2. Defina los parámetros flowacct en el archivo de configuración IPQoS.

Defina valores para los parámetros timer, timeout y max_limit.

Cómo activar el control para una clase en el archivo de configuración IPQoS

Registro de información sobre flujos de tráfico

Se utiliza el módulo IPQoS flowacct para recopilar información sobre flujos de tráfico. Por ejemplo, puede recopilar direcciones de origen y destino, número de paquetes de un flujo y datos similares. El proceso de recopilar y registrar información sobre flujos se denomina control de flujo.

Los resultados del control de flujo de tráfico de una clase determinada se guardan en una tabla de registros de flujo. Cada registro de flujo contiene una serie de atributos. Estos atributos contienen datos sobre flujos de tráfico de una clase deteminada en un intervalo de tiempo. Para ver una lista de los atributos de flowacct, consulte la Tabla 37–4.

El control de flujo es especialmente útil para facturar a los clientes como está definido en su acuerdo de nivel de servicio. También puede utilizar el control de flujo para obtener estadísitcas de aplicaciones importantes. Esta sección contiene tareas para utilizar flowacct con la herramienta de contabilidad ampliada de Oracle Solaris para obtener datos sobre flujos de tráfico.

La siguiente información se encuentra en otras fuentes, no en este capítulo:

ProcedureCómo crear un archivo para datos de control de flujo

Antes de añadir una acción flowacct al archivo de configuración IPQoS, debe crear un archivo para los registros de flujo desde el módulo flowacct. Para esto se utiliza el comando acctadm. acctadm puede registrar atributos básicos o extendidos en el archivo. Todos los atributos flowacct están enumerados en la Tabla 37–4. Si necesita información detallada sobre acctadm, consulte la página de comando man acctadm(1M).

  1. Asuma la función de administrador principal o hágase superusuario en el sistema con IPQoS.

    La función de administrador principal incluye el perfil de administrador principal. Para crear el rol y asignarlo a un usuario, consulte el Capítulo 2, Working With the Solaris Management Console (Tasks) de System Administration Guide: Basic Administration.

  2. Cree un archivo de control de flujo básico.

    En el siguiente ejemplo se muestra cómo crear un archivo de control de flujo básico para el servidor web configurado en el Ejemplo 34–1.


    # /usr/sbin/acctadm -e basic -f /var/ipqos/goldweb/account.info flow
    
    acctadm -e

    Invoca a acctadm con la opcón -e. La opción -e activa los argumentos que hay a continuación.

    basic

    Determina que sólo los datos de los ocho atributos básicos flowacct se registran en el archivo.

    /var/ipqos/goldweb/account.info

    Especifica el nombre de ruta completo del archivo que contendrá los registros de flujo de flowacct.

    flow

    Indica a acctadm que debe activar el control de flujo.

  3. Para ver la información de control de flujo del sistema IPQoS, escriba acctadm sin argumentos.

    acctadm genera la siguiente salida:

    Task accounting: inactive
           Task accounting file: none
         Tracked task resources: none
       Untracked task resources: extended
             Process accounting: inactive
        Process accounting file: none
      Tracked process resources: none
    Untracked process resources: extended,host,mstate
                Flow accounting: active
           Flow accounting file: /var/ipqos/goldweb/account.info
         Tracked flow resources: basic
       Untracked flow resources: dsfield,ctime,lseen,projid,uid

    Todas las entradas menos las cuatro últimas son para su uso con la función Solaris Resource Manager. En la siguiente tabla se explican las entras específicas de IPQoS.

    Entrada 

    Descripción 

    Flow accounting: active

    Indica que el control de flujo está activado. 

    Flow accounting file: /var/ipqos/goldweb/account.info

    Da el nombre del archivo de control de flujo actual. 

    Tracked flow resources: basic

    Indica que sólo se supervisan los atributos de flujo básicos. 

    Untracked flow resources: dsfield,ctime,lseen,projid,uid

    Enumera los atributos flowacct que no se supervisan en el archivo.

  4. (Optativo) Añadir los atributos ampliados al archivo de control.


    # acctadm -e extended -f /var/ipqos/goldweb/account.info flow
  5. (Optativo) Volver a registrar sólo los atributos básicos en el archivo de control.


    # acctadm -d extended -e basic -f /var/ipqos/goldweb/account.info

    La opción -d desactiva la contabilidad ampliada.

  6. Ver el contenido de un archivo de control de flujo.

    En Interfaz Perl para libexacct de Guía de administración de sistemas: administración de recursos y contenedores de Oracle Solaris y zonas de Oracle Solaris encontrará instrucciones para ver el contenido de un archivo de control de flujo.

Véase también

Recopilación de estadísticas

Puede utilizar el comando kstat para generar estadísticas de los módulos IPQoS. Use la sintaxis siguiente:


/bin/kstat -m ipqos-module-name

Puede especificar cualquier nombre de módulo IPQoS válido, como se muestra en la Tabla 37–5. Por ejemplo, para ver estadísticas generadas por el marcador dscpmk, utilice el siguiente comando de kstat:


/bin/kstat -m dscpmk

Si necesita información técnica, consulte la página de comando man kstat(1M).


Ejemplo 36–1 Estadísticas kstat de IPQoS

A continuación se muestra un ejemplo del posible resultado al ejecutar kstat para obtener estadísticas sobre el módulo flowacct.


# kstat -m flowacct
module: flowacct                        instance: 3     
name:   Flowacct statistics             class:    flacct 
        bytes_in_tbl                    84
        crtime                          345728.504106363
        epackets                        0
        flows_in_tbl                    1
        nbytes                          84
        npackets                        1
        snaptime                        345774.031843301
        usedmem                         256
class: flacct

Da el nombre de la clase a la que pertenecen los flujos de tráfico, en este caso flacct.

bytes_in_tbl

Número total de bytes en la tabla de flujo. El número total de bytes es la suma en bytes de todos los registros de flujo actuales de la tabla de flujo. La cantidad total de bytes de esta tabla de flujo es de 84. Si no hay ningún flujo en la tabla, el valor de bytes_in_tbl es 0.

crtime

La última vez que se creó está salida de kstat.

epackets

Número de paquetes que resultaron en un error durante el procesamiento, en este ejemplo 0.

flows_in_tbl

Número de registros de flujo que hay en la tabla de flujos, en este ejemplo es 1. Si no hay ningún registro en la tabla, el valor de flows_in_tbl es 0.

nbytes

Número total de bytes observados por esta instancia de acción flowacct, en este ejemplo 84. El valor incluye bytes que se encuentran actualmente en la tabla de flujo. El valor también incluye bytes obsoletos que ya no se encuentran en la tabla de flujo.

npackets

Número total de paquetes observados por esta instancia de acción flowacct, en este ejemplo 1. npackets incluye paquetes que se encuentran actualmente en la tabla de flujo. npackets también incluye paquetes obsoletos que ya no se encuentran en la tabla de flujo.

usedmem

Memoria en bytes en uso por la tabla de flujo mantenida por esta instancia flowacct. En el ejemplo, el valor usedmem es 256. El valor de usedmem es 0 cuando la tabla de flujo no contiene ningún registro de flujo.


Capítulo 37 IPQoS detallado (Referencia)

Este capítulo contiene material de referencia con información detallada sobre los siguientes temas de IPQoS:

Para obtener una descripción general, consulte el Capítulo 32Introducción a IPQoS (Descripción general). Si necesita información sobre la planificación, consulte el Capítulo 33Planificación para una red con IPQoS (Tareas). Para ver los procedimientos para configurar IPQoS, consulte el Capítulo 34Creación del archivo de configuración IPQoS (Tareas).

Arquitectura IPQoS y el modelo Diffserv

En esta sección se describe la arquitectura IPQoS y cómo IPQoS implementa el modelo de servicios diferenciados (Diffserv) definido en RFC 2475, An Architecture for Differentiated Services. Los siguientes elementos del modelo Diffserv están incluidos en IPQoS:

Además, IPQoS incluye el módulo de control de flujo y el marcador dlcosmk para su uso en dispositivos VLAN (red de área local virtual).

Módulo Classifier

En el modelo Diffserv, el módulo classifier se encarga de organizar los flujos de tráfico seleccionados en grupos a los que se aplican diferentes niveles de servicio. Los clasificadores definidos en RFC 2475 se diseñaron originalmente para enrutadores de límite de sistema. En cambio, el clasificador IPQoS ipgpc está diseñado para administrar flujos de tráfico en hosts internos de la red local. Por lo tanto, una red con sistemas IPQoS y un enrutador Diffserv puede proporcionar un alto nivel de servicios diferenciados. Para ver una descripción técnica de ipgpc, consulte la página de comando man ipgpc(7ipp).

El clasificador ipgpc se encarga de lo siguiente:

  1. Selecciona los flujos de tráfico que cumplen los criterios especificados en el archivo de configuración IPQoS en el sistema con IPQoS

    La directiva QoS define varios criterios que deben estar presentes en los encabezados de paquetes. Estos criterios se denominan selectores. El clasificador ipgpc compara estos selectores con los encabezados de paquetes que recibe el sistema IPQoS. Después, ipgpc selecciona todos los paquetes que coinciden.

  2. Separa los flujos de paquetes en clases, tráfico de red con las mismas características, como se ha definido en el archivo de configuraión IPQoS

  3. Examina el valor del campo de servicios diferenciados (DS) del paquete para comprobar si contiene un punto de código de servicios diferenciados (DSCP)

    La presencia de un punto de código DSCP indica si el tráfico entrante ha sido marcado en su origen con un comportamiento de reenvío.

  4. Determina qué otras acciones están especificadas en la configuración IPQoS para paquetes de una clase específica

  5. Transfiere los paquets al siguiente módulo IPQoS especificado en el archivo de configuración IPQoS, o los devuelve al flujo de red

Para ver una descripción general del clasificador, consulte Descripción general del clasificador (ipgpc). Si necesita información sobre cómo invocar al clasificador en el archivo de configuración IPQoS, consulte Archivo de configuración IPQoS.

Selectores IPQoS

El clasificador ipgpc admite varios selectores que se pueden usar en la cláusula filter del archivo de configuración IPQoS. Al usar un filtro, utilice siempre el número mínimo de selectores necesarios para extraer el tráfico de una clase determinada. El número de filtros definidos repercute en el rendiemiento de IPQoS.

En la siguiente tabla se muestran los selectores disponibles para ipgpc .

Tabla 37–1 Selectores de filtro para el clasificador IPQoS

Selector 

Argumento 

Información seleccionada 

saddr

Número de dirección IP. 

Dirección de origen. 

daddr

Número de dirección IP. 

Dirección de destino. 

sport

Un número de puerto o nombre de servicio, definido en /etc/services .

Puerto de origen del que proviene una clase de tráfico. 

dport

Un número de puerto o nombre de servicio, definido en /etc/services .

Puerto de destino de una clase de tráfico. 

protocol

Un número o nombre de protocolo, definido en /etc/protocols.

Protocolo que usará esta clase de tráfico. 

dsfield

Punto de código DS (DSCP) con un valor de 0–63. 

DSCP que define cualquier comportamiento de reenvío que deb aplicarse al paquete. Si se especifica este parámetro, el parámetro dsfield_mask también debe especificarse.

dsfield_mask

Máscara de bit con un valor de 0–255. 

Se utiliza en combinación con el selector dsfield. dsfield_mask se aplica al selector dsfield para determinar qué bit se utiliza para la comparación.

if_name

Nombre de interfaz. 

Interfaz que se utiliza para el tráfico entrante o saliente de una clase determinada. 

user

Número del ID de usuario o nombre de usuario de UNIX que se seleccionará. Si no hay ningún ID de usuario ni nombre de usuario en el paquete, se utilizará la opción predeterminada, –1. 

ID de usuario que se suministra a una aplicación. 

projid

Número de ID de proyecto que se seleccionará. 

ID de proyecto que se suministra a una aplicación. 

priority

Número de prioridad. La prioridad más baja es 0. 

Prioridad que se asigna a paquetes de esta clase. La prioridad se utiliza para ordenar la importancia de filtros de la misma clase. 

direction

El argumento puede ser uno de los siguientes: 

Dirección del flujo de paquete en el equipo IPQoS.  

 

LOCAL_IN

Tráfico de entrada local del sistema IPQoS. 

 

LOCAL_OUT

Tráfico de salida local del sistema IPQoS. 

 

FWD_IN

Tráfico de entrada que se debe reenviar. 

 

FWD_OUT

Tráfico de salida que se debe reenviar. 

precedence

Valor de precedencia. La precedencia más alta es 0. 

La precedencia se utiliza para ordenar filtros con la misma prioridad. 

ip_version

V4 o V6

Esquema de direcciones utilizado por los paquetes, IPv4 o IPv6. 

Módulo Meter

El medidor controla la tasa de transmisión de flujos por paquete. Después, determina si el paquete cumple los parámetros configurados. El módulo medidor (Meter) determina la siguietne acción para un paquete de un conjunto de acciones, que dependen del tamaño del paquete, los parámetros configurados y la tasa de flujo.

Meter consta de dos módulos de medición, tokenmt y tswtclmt, que se configuran en el archivo de configuracón IPQoS. Puede configurar uno de los módulos, o ambos, para una clase.

Al configurar un módulo de medición, puede definir dos parámetros de tasa:

Una acción de medición en un paquete puede dar tres resultados:

Puede configurar cada resultado con acciones diferentes en el archivo de configuración IPQoS. La tasa aprobada y la tasa máxima se explican en la siguiente sección.

Módulo de medición tokenmt

El módulo tokenmt utiliza conjuntos de tokens para medir la tasa de transmisión de un flujo. Puede configurar tokenmt para que funcione como medidor de tasa única o de doble tasa. Una instancia de acción tokenmt mantiene dos conjuntos de tokens que determinan si el flujo de tráfico cumple los parámetros configurados.

En la página de comando man tokenmt(7ipp) se explica cómo utiliza IPQoS el paradigma de medidor de tokens. Puede encontrar más información general sobre conjuntos de tokens en el documento Differentiated Services for the Internet escrito por Kalevi Kilkki y en varias páginas web.

Los parámetros de configuración de tokenmt son los siguientes:

Configuración de tokenmt como medidor de tasa única

Para configurar tokenmt como medidor de tasa única, no especifique un parámetro peak_rate para tokenmt en el archivo de configuración IPQoS. Para configurar una instancia de tokenmt de tasa única para que dé un resultado rojo, verde o amarillo, debe especificar el parámetro peak_burst. Si no utiliza el parámetro peak_burst, sólo puede configurar tokenmt para que dé un resultado rojo o verde. Para ver una muestra de tokenmt de tasa única con dos resultados consulte el Ejemplo 34–3.

Cuando tokenmt funciona como medidor de tasa única, el parámetro peak_burst es el tamaño de ráfaga de exceso. committed_rate , y committed_burst o peak_burst deben ser números enteros positivos (no cero).

Configuración de tokenmt como medidor de doble tasa

Para configurar tokenmt como medidor de doble tasa, especifique un parámetro peak_rate para la acción tokenmt en el archivo de configuración IPQoS. Un tokenmt de doble tasa siempre tiene los tres resultados: rojo, amarillo y verde. Los parámetros committed_rate, committed_burst y peak_burst deben ser números enteros positivos (no cero).

Configuración de tokenmt para que reconozca los colores

Para configurar un tokenmt de doble tasa para que reconozca los colores, debe añadir parámetros para agregar específicamente "reconocimiento de color". A continuación se muestra un ejemplo de instrucción de acción que configura tokenmt para que reconozca colores.


Ejemplo 37–1 Acción tokenmt de reconocimiento de color para el archivo de configuración IPQoS

action {
    module tokenmt
    name meter1
    params {
	      committed_rate 4000000
	      peak_rate 8000000
	      committed_burst 4000000
	      peak_burst 8000000
	      global_stats true
	      red_action_name continue
	      yellow_action_name continue
	      green_action_name continue
	      color_aware true
	      color_map {0-20,22:GREEN;21,23-42:RED;43-63:YELLOW}
    }
}

Para activar el reconocimiento de color, hay que establecer el parámetro color_aware en true. Como medidor con reconocimiento de color, tokenmt asume que el paquete ya se ha marcado como rojo, amarillo o verde por una acción tokenmt anterior. tokenmt con reconocimiento de color evalúa los paquetes utilizando el punto de código DSCP del encabezado, además de los parámetros de un medidor de doble tasa.

El parámetro color_map contiene una matriz en la que se asigna el punto de código DSCP del encabezado del paquete. Observe la siguiente matriz color_map :

color_map {0-20,22:GREEN;21,23-42:RED;43-63:YELLOW}

Los paqutes con un DSCP de 0–20 y 22 se asignan al verde. Los paquetes con un DSCP de 21 y 23–42 se asignan al rojo. Los paquetes con un DSCP de 43–63 se asignan al amarillo. tokenmt mantiene un mapa de color predeterminado. Aunque puede cambiar los valores predeterminados utilizando los parámetros color_map .

En los parámetros color_action_name, puede especificar continue para completar el procesamiento del paquete. También puede añadir un argumento para enviar el paquete a una acción de marcador, por ejemplo yellow_action_name mark22.

Módulo de medición tswtclmt

El módulo de medición tswtclmt realiza una esttimazión del ancho de banda medio para una clase de tráfico utilizando un estimador de tasa basado en tiempo. tswtclmt siempre funciona como medidor con tres resultados. El estimador de tasa proporciona una estimación de la tasa de llegada del flujo. Esta tasa debe ser aproximada al ancho de banda medio del flujo de tráfico en un periodo de tiempo determinado, la fase temporal. El algoritmo de estimación de tasa se toma de RFC 2859, un marcador de tres colores con fase temporal de desplazamiento.

Para configurar tswtclmt, se utilizan los siguiente parámetros:

Si necesita información técnica sobre tswtclmt, consulte la página de comando man tswtclmt(7ipp) Si necesita información general sobre formadores de tasa similares a tswtclmt, consulte RFC 2963, A Rate Adaptive Shaper for Differentiated Services.

Módulo marcador

IPQoS incluye dos módulos de marcador, dscpmk y dlcosmk. Esta sección contiene información sobre cómo usar ambos marcadores. Normalmente se utiliza dscpmk, porque dlcosmk sólo está disponible para sistemas IPQoS con dispositivos VLAN.

Si necesita información técnica sobre dscpmk, consulte la página de comando man dscpmk(7ipp). Si necesita información técnica sobre dlcosmk, consulte la página de comando man dlcosmk(7ipp).

Utilización del marcador dscpmk para reenviar paquetes

El marcador recibe flujos de tráfico después de que el clasificador o los módulos de medición los hayan procesado. El marcador marca el tráfico con un comportamiento de reenvío. Este comportamiento de reenvío es la acción que se realizará en los flujos cuando salgan del sistema IPQoS. El comportamiento de reenvío para una clase de tráfico se define en el comportamiento por salto (PHB). El PHB asigna una prioridad a una clase de tráfico, que indica los flujos de precedencia de esa clase en relación con otras clases de tráfico. Los comportamientos PHB sólo determinan los comportamientos de reenvío en la red contigua del sistema IPQoS. Si necesita más información sobre comportamientos PHB, consulte Comportamientos por salto.

El reenvío de paquetes es el proceso de enviar tráfico de una clase determinada a su siguiente destino en una red. En un host como un sistema IPQoS, un paquete se reenvía del host al flujo de red local. Para un enrutador Diffserv, un paquete se reenvía de la red local al siguiente salto del enrutador.

El marcador marca el campo DS del encabezado del paquete con un comportamiento de reenvío común, definido en el archivo de configuración IPQoS. A partir de ahí, el sistema IPQoS y los sistemas con Diffserv siguientes, reenvían el tráfico como se indica en el campo DS, hasta que cambia la marca. Para asignar un PHB, el sistema IPQoS marca un valor en el campo DS del encabezado del paquete. Este valor se denomina punto de código de servicios diferenciados (DSCP). La arquitectura Diffserv define dos tipos de comportamientos de reenvío, EF y AF, que utilizan diferentes puntos DSCP. Si necesita información general sobre DSCP, consulte Punto de código DS.

El sistema IPQoS lee el punto de código DSCP del flujo de tráfico y evalúa la precedencia del flujo con respecto a otros flujos de tráfico saliente. A continuación, el sistema IPQoS prioriza todos los flujos de tráfico concurrentes y envía cada flujo a la red según su prioridad.

El enrutador Diffserv recibe los flujos de tráfico saliente y lee el campo DS de los encabezados de los paquetes. El punto de código DSCP permite al enrutador priorizar y programar los flujos de tráfico concurrentes. El enrutador reenvía cada flujo según la prioridad indicada en el PHB. Tenga en cuenta que el PHB no puede aplicarse fuera del enrutador de límite de sistema de la red, a no ser que haya sistemas con Diffserv en los siguientes puntos que también reconozcan el mismo PHB.

Reenvío acelerado (EF) PHB

El reenvío acelerado (EF) garantiza que los paquetes con el punto de código EF recomendado, 46 (101110), reciben el mejor tratamiento posible al enviarse a la red. El reenvío acelerado puede compararse con una línea alquilada. Los paquetes con el punto de código 46 (101110) tienen garantizado un tratamiento preferencial por todos los enrutadores Diffserv que se encuentren hasta el destino del paquete. Si necesita información técnica sobre EF, consulte RFC 2598, Un PHB de reenvío acelerado.

Reenvío asegurado (AF) PHB

El reenvío asegurado (AF) proporciona cuatro clases diferentes de comportamientos de reenvío que pueden especificarse al marcador. La siguiente tabla muestra las clases, las tres precedencias de descarte proporcionadas para cada clase y los puntos de código DSCP recomendados asociados con cada precedencia. Cada DSCP está representado por su valor AF, su valor decimal y su valor binario.

Tabla 37–2 Puntos de código de reenvío asegurado

 

Clase 1 

Clase 2 

Clase 3 

Clase 4 

Precedencia con baja probabilidad de descarte

AF11 = 

10 (001010) 

AF21 = 

18 (010010) 

AF31 = 

26 (011010) 

AF41 = 

34 (100010) 

Precedencia con probabilidad de descarte media

AF12 = 

12 (001100) 

AF22 = 

20 (010100) 

AF32 = 

28 (011100) 

AF42 =  

36 (100100) 

Precedencia con alta probabilidad de descarte

AF13 = 

14 (001110) 

AF23 = 

22 (010110) 

AF33 = 

30 (011110) 

AF43 = 

38 (100110) 

Cualquier sistema con Diffserv puede utilizar el punto de código AF como guía para proporcionar comportamientos de reenvío diferenciados a diferentes clases de tráfico.

Cuando estos paquetes llegan a un enrutador con Diffserv, el enrutador evalúa los puntos de código de los paquetes junto con los puntos de código DSCP de otro tráfico en cola. Después, el enrutador reenvía o descarta paquetes, según el ancho de banda disponible y las prioridades asignadas por los puntos DSCP de los paquetes. Los paquetes marcados con PHB EF tienen ancho de banda garantizado con respecto a paquetes marcados con cualquier comportamiento PHB AF.

El marcado de paquetes debe coordinarse entre cualquier sistema IPQoS de la red y el enrutador Diffserv, para garantizar que los paquetes se reenvían de manera apropiada. Por ejemplo, suponga que los sistemas IPQoS de la red marcan los paquetes con puntos de código AF21 (010010), AF13 (001110), AF43 (100110) y EF (101110). Deberá añadir los puntos de código DSCP AF21, AF13, AF43 y EF al archivo correspondiente del enrutador Diffserv.

Para obtener una explicación técnica sobre la tabla de puntos de código AF, consulte RFC 2597. En las páginas web de los fabricantes de enrutadores Cisco Systems y Juniper Networks puede encontrar información detallada acerca de la configuración de comportamientos AF PHB. Puede usar esta información para definir comportamientos PHB AF para sistemas IPQoS y enrutadores. La documentación del fabricante del enrutador contiene instrucciones para definir puntos de código DS en el equipo.

Suministrar un DSCP al marcador

El DSCP tiene un tamaño de 6 bits. El campo DS tiene un tamaño de 1 byte. Al definir un DSCP, el marcador marca los 6 primeros bits significativos del encabezado del paquete con el punto de código DS. Los 2 bits menos significativos no se utilizan.

Para definir un DSCP, se utiliza el siguiente parámetro en una instrucción de acción de marcador:


 dscp_map{0-63:DS_codepoint}

El parámetro dscp_map es una matriz de 64 elementos, que se rellena con el valor (DSCP). dscp_map se utiliza para asignar puntos DSCP entrantes a puntos DSCP salientes que aplica el marcador dscpmk.

Debe especificar el valor DSCP de dscp_map en notación decimal. Por ejemplo, el punto de código EF 101110 debe traducirse al valor decimal 46, que da como resultado dscp_map{0-63:46}. Para puntos de código AF, debe convertir los diferentes puntos de código que se muestran en la Tabla 37–2 a notación decimal para usarlos con dscp_map.

Uso del marcador dlcosmk con dispositivos VLAN

El módulo de marcador dlcosmk marca un comportamiento de reenvío en el encabezado MAC de un datagrama. dlcosmk sólo se puede usar en un sistema IPQoS con una interfaz VLAN.

dlcosmk añade cuatro bytes, denominados etiqueta VLAN, al encabezado MAC. La etiqueta VLAN incluye un valor de prioridad de usuario de 3 bits, definido en el estándar IEEE 801.D. Los nodos de red con Diffserv que admitan VLAN pueden leer el campo de prioridad de usuario en un datagrama. Los valores de prioridad de usuario 801.D utilizan marcas CoS (Class of Service), que son comunes e interpretables para nodos de red comerciales.

Puede utilizar los valores de prioridad de usuario de la acción de marcador dlcosmk definiendo la clase de marcas de servicio de la siguiente tabla.

Tabla 37–3 Valores de prioridad de usuario 801.D

Clase de servicio 

Definición 

Mejor posible 

Segundo plano 

Momentos libres 

Excelente 

Carga controlada 

Vídeo, latencia de menos de 100ms 

Vídeo, latencia de menos de 10ms 

Control de red 

Si necesita más información sobre dlcosmk, consulte la página de comando man dlcosmk(7ipp).

Configuración IPQoS para sistemas con dispositivos VLAN

En esta sección se presenta un escenario de red simple para mostrar cómo utilizar IPQoS en sistemas con dispositivos VLAN. El escenario incluye dos sistemas IPQoS, machine1 y machine2, conectados mediante un nodo. El dispositivo VLAN de machine1 tiene la dirección IP 10.10.8.1. El dispositivo VLAN de machine2 tiene la dirección IP 10.10.8.3.

El siguiente archivo de configuración IPQoS de machine1 muestra una solución simple para marcar el tráfico a través del nodo a machine2.


Ejemplo 37–2 Archivo de configuración IPQoS para un sistema con un dispositivo VLAN

fmt_version 1.0
action {
        module ipgpc
	      name ipgpc.classify

        filter {
                name myfilter2
                daddr 10.10.8.3
                class myclass
        }

        class {
                name myclass
                next_action mark4
        }
}

action {
        name mark4
        module dlcosmk
        params {
                cos 4
                next_action continue
		global_stats true
        }
}

En esta configuración, todo el tráfico de machine1 destinado para el dispositivo VLAN de machine2 se transfiere al marcador dlcosmk. La acción de marcador mark4 indica a dlcosmk que debe añadir una marca VLAN a datagramas de la clase myclass con un valor CoS de 4. El valor de prioridad de usuario de 4 indica que el conmutador que hay entre los dos equipos debe proporcionar reenvío de carga controlado a los flujos de tráfico myclass desde machine1 .

Módulo flowacct

El módulo IPQoS flowacct registra información sobre flujos de tráfico, un proceso que se denomina control de flujo. El control de flujo genera datos que pueden utilizarse para la facturación de clientes o para evaluar la cantidad de tráfico de una clase determinada.

El control de flujo es optativo. flowacct es, generalmente, el último módulo que los módulos medidos o marcados encuentras antes de enviarse al flujo de red. Para ver una ilustración de la ubicación de flowacct en el modelo Diffserv, consulte la Figura 32–1. Para ver información técnica detallada sobre flowacct, consulte la página de comando man flowacct(7ipp).

Para activar el control de flujo, debe usar la herramienta de control de Oracle Solaris exacct y el comando acctadm, además de flowacct. Para ver los pasos necesarios para configurar el control de flujo, consulte la sección Establecimiento del control de flujo (Mapa de tareas).

Parámetros de flowacct

El módulo flowacct recopila información sobre flujos en una tabla de flujo compuesta por registros de flujo. Cada entrada de la tabla contiene un registro de flujo. No se puede ver una tabla de flujo.

En el archivo de configuración IPQoS, se definen los siguientes parámetros de flowacct para medir los registros de flujo y escribirlos en la tabla de flujo:

Para ver un ejemplo de cómo se utilizan los parámetros flowacct en el archivo de configuración IPQoS, consulte Cómo configurar el control de flujo en el archivo de configuración IPQoS.

Tabla de flujo

El módulo flowacct mantiene una tabla de flujo que registra todos los flujos de paquetes supervisados por una instancia de flowacct. Un flujo se identifica mediante los siguientes parámetros, que incluyen flowacct 8–tuple:

Si todos los parámetros de 8–tuple de un flujo siguen siendo los mismos, la tabla de flujo contiene sólo una entrada. El parámetro max_limit determina el número de entradas que puede contener una tabla de flujo.

La tabla de flujo se explora en el intervalo especificado en el archivo de configuración IPQoS del parámetro timer. El tiempo predeterminado es 15 segundos. El tiempo de espera de un flujo se supera cuando el sistema IPQoS no envía los paquetes del flujo en el intervalo timeout definido en el archivo de configuración IPQoS. El intervalo de tiempo de espera predeterminado es de 60 segundos. Las entradas con tiempo de espera superado se escriben en el archivo de control creado con el comando acctadm.

Registros flowacct

Un registro flowacct contiene los atributos descritos en la siguiente tabla.

Tabla 37–4 Atributos de un registro flowacct

Nombre de atributo 

Contenido de atributo 

Tipo 

src-addr-tipo de dirección

Dirección de oregien del originador. El tipo de dirección es v4 para IPv4 o v6 para IPv6, especificado en el archivo de configuración IPQoS.

Básico  

dest-addr-tipo de dirección

Dirección de destino de los paquetes. El tipo de dirección es v4 para IPv4 o v6 para IPv6, especificado en el archivo de configuración IPQoS.

Básico 

src-port

Puerto de origen del que proviene el flujo.  

Básico 

dest-port

Número de puerto de destino al que está vinculado el flujo.  

Básico 

protocol

Número de protocolo del flujo.  

Básico 

total-packets

Número de paquetes del flujo. 

Básico 

total-bytes

Número de bytes del flujo. 

Básico  

nombre de acción

Nombre de la acción flowacct que ha registrado este flujo.

Básico 

creation-time

Primera vez que flowacct examina un paquete del flujo.

Sólo ampliado 

last-seen

Última vez que se observó un paquete del flujo. 

Sólo ampliado 

diffserv-field

DSCP en los encabezados del paquete saliente del flujo. 

Sólo ampliado 

user

ID o nombre de usuario UNIX, obtenido de la aplicación. 

Sólo ampliado 

projid

ID de proyecto, obtenido de la aplicación. 

Sólo ampliado 

Utilización de acctadm con el módulo flowacct

El comando acctadm se utiliza para crear un archivo en el que se almacenan los registros de flujo generados por flowacct . acctadm funciona en combinación con la herramienta de contabilidad ampliada. Si necesita información técnica sobre acctadm, consulte la página de comando man acctadm(1M).

El módulo flowacct observa los flujos y rellena la tabla de flujo con registros. A continuación, flowacct evalúa los parámetros y atributos en el intervalo especificado por timer . Cuando un paquete no se detecta durante el tiempo definido en el valor last_seen más el valor timeout, se supera su tiempo de espera. Todas las entradas con tiempo de espera superado se eliminan de la tabla de flujo. Estas entradas se escriben en el archivo de control cada vez que pasa el intervalo de tiempo especificado en el parámetro timer.

Para invocar a acctadm para utilizarlo con el módulo flowacct, utilice la siguiente sintaxis:

acctadm -e file-type -f filename flow
acctadm -e

Invoca a acctadm con la opcón -e. "-e" indica que a continuación hay una lista de recursos.

tipo de archivo

Especifica los atributos que se deben recopilar. tipo de archivo debe reemplazarse por basic o extended. Para ver una lista de atributos de cada tipo de archivo, consulte la Tabla 37–4.

-fnombre de archivo

Crea el archivo nombre de archivo que contendrá los registros de flujo.

flow

Indica que acctadm debe ejecutarse con IPQoS.

Archivo de configuración IPQoS

Esta sección contiene información detallada sobre las secciones del archivo de configuración IPQoS. La directiva IPQoS activada en el inicio se almacena en el archivo /etc/inet/ipqosinit.conf. Aunque puede editar este archivo, el mejor método para un sistema IPQoS nuevo es crear un archivo de configuración con un nombre diferente. Las tareas necesarias para aplicar y depurar una configuración IPQoS se encuentran en el Capítulo 34Creación del archivo de configuración IPQoS (Tareas).

La sintaxis del archivo de configuración IPQoS se muestra en el Ejemplo 37–3. El ejemplo utiliza las siguientes convenciones:


Ejemplo 37–3 Sintaxis del archivo de configuración IPQoS

file_format_version ::= fmt_version version

action_clause ::= action {
     name action-name
     module module-name
     params-clause |  ""
     cf-clauses
}
action_name ::= string
module_name ::= ipgpc | dlcosmk | dscpmk | tswtclmt | tokenmt | flowacct 

params_clause ::= params { 
     parameters
     params-stats |   ""
     }
parameters ::=    prm-name-value parameters |  ""
prm_name_value ::= param-name param-value

params_stats ::= global-stats boolean

cf_clauses ::= class-clause cf-clauses |
               filter-clause cf-clauses | ""

class_clause ::= class {
     name class-name
     next_action next-action-name
     class-stats | ""
                 }
class_name  ::= string
next_action_name  ::= string
class_stats ::= enable_stats boolean
boolean ::= TRUE | FALSE

filter_clause ::= filter {
                name filter-name
                class class–name
                parameters
                }
filter_name ::= string

El texto restante describe cada sección principal del archivo de configuración IPQoS.

Instrucción action

Las instrucciones action se utilizan para invocar a los diferentes módulos IPQoS descritos en Arquitectura IPQoS y el modelo Diffserv.

Al crear el archivo de configuración IPQoS, siempre se debe empezar por el número de versión. Después, se debe añadir la siguiente instrucción action para invocar al clasificador:


fmt_version 1.0

action {
    module ipgpc
    name ipgpc.classify
}

A continuación de la instrucción action de clasificador, añada una cláusula params o class.

Utilice la siguiente sintaxis para el resto de instrucciones action:

action {
name action-name
module module-name
params-clause | ""
cf-clauses
}
name nombre de acción

Asigna un nombre a la acción.

module nombre de módulo

Identifica el módulo IPQoS que se debe invocar, que debe ser uno de los módulos de la Tabla 37–5.

cláusula params

Pueden ser parámetros que debe procesar el clasificador, como estadísticas globales, o la siguiente acción que procesar.

cláusulas cf

Conjunto de cero o más cláusulas class o filter

Definiciones de módulo

La definición de módulo indica qué módulo procesará los parámetros de la instrucción action. El archivo de configuración IPQoS puede incluir los siguientes módulos.

Tabla 37–5 Módulos IPQoS

Nombre de módulo 

Definición 

ipgpc

Clasificador IP 

dscpmk

Marcador que se debe utilizar para crear puntos de código DSCP en paquetes IP 

dlcosmk

Marcador que se debe utilizar con dispositivos VLAN 

tokenmt

Medidor de conjunto de tokens 

tswtclmt

Medidor de fase temporal de desplazamiento 

flowacct

Módulo de control de flujo 

Cláusula class

Se define una cláusula class para cada clase de tráfico.

Utilice esta sintaxis para definir las clases restantes de la configuración IPQoS:


class {
     
      name class-name
      next_action next-action-name
}      

Para activar la recopilación de estadísticas de una clase determinada, primero debe activar las estadísticas globales en la instrucción action ipgpc.classify. Si necesita más información, consulte Instrucción action.

Utilice la instrucción enable_stats TRUE cuando quiera activar la recopilación de estadísticas de una clase. Si no necesita recopilar estadísticas de una clase, puede especificar enable_stats FALSE. También puede eliminar la instrucción enable_stats.

El tráfico de una red con IPQoS que no esté definido específicamente pertenece a la clase predeterminada.

Cláusula filter

Los filtros están compuestos por selectores que agrupan los flujos de tráfico en clases. Estos selectores definen específicamente los criterios que deben aplicarse al tráfico de la clase creada en la cláusula class. Si un paquete cumple todos los selectores del filtro de máxima prioridad, se considera un miembro de la clase del filtro. Para ver una lista completa de los selectores que pueden usarse con el clasificador ipgpc, consulte la Tabla 37–1.

Los filtros se definen en el archivo de configuración IPQoS utilizando una cláusula filter, que tiene la siguiente sintaxis:

filter { 
       name filter-name
       class class-name 
       parameters (selectors)
       }

Cláusula params

La cláusula params contiene instrucciones de procesamiento para el módulo definido en la instrucción de acción. Utilice la siguiente sintaxis para la cláusula params:


params {
           parameters
           params-stats | ""
       }

En la cláusula params se utilizan parámetros aplicables al módulo.

El valor estadísitcas params de la cláusula params es global_stats TRUE o global_stats FALSE. La instrucción global_stats TRUE activa estadísticas de estilo UNIX para la instrucción action en la que se invocan las estadísticas globales. Puede ver las estadísticas con el comando kstat. Debe activar las estadísticas de la instrucción action antes de poder activar las estadísitcas por clase.

Herramienta de configuración ipqosconf

La herramienta ipqosconf se utiliza para leer el archivo de configuración IPQoS y configurar los módulos IPQoS del kernel UNIX. ipqosconf realiza las siguientes acciones:

Si necesita información técnica, consulte la página de comando man ipqosconf(1M).