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

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.