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.
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.
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 } }
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.
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.
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.
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 |
Inicia el archivo de configuración IPQoS.
Inicia la instrucción de acción.
Configura el clasificador ipgpc como la primera acción del archivo de configuración.
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).
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).
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.
Crea la clase goldweb para identificar el tráfico vinculado al servidor Goldweb.
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.
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).
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 } |
Crea la clase video para identificar el tráfico saliente de video streaming del servidor Goldweb.
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.
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.
Para definir filtros para la clase creada, consulte la sección Cómo definir filtros en el archivo de configuración IPQoS.
Para crear otra cláusula para el archivo de configuración, consulte la sección Cómo crear el archivo de configuración IPQoS y definir las clases de tráfico.
El siguiente procedimiento muestra cómo definir filtros para una clase en el archivo de configuración IPQoS.
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.
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.
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 } |
Defina una cláusula filter para seleccionar el tráfico saliente del sistema IPQoS.
filter { name webout sport 80 direction LOCAL_OUT class goldweb } |
Asigna el nombre webout al filtro.
Selecciona el tráfico con origen en el puerto 80, el puerto de tráfico HTTP (web).
Selecciona el tráfico saliente del sistema local.
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.
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 } |
Asgina el nombre videoout al filtro.
Selecciona el tráfico con un puerto de origen videosrv, un puerto definido anteriormente para la aplicación de video streaming en este sistema.
Selecciona el tráfico saliente del sistema local.
Identifica la clase a la que pertenece el filtro, en este caso, la clase video.
Para definir comportamientos de reenvío para los módulos de marcador, consulte la sección Cómo definir el reenvío de tráfico en el archivo de configuración IPQoS.
Para definir parámetros de control de flujo para los módulos de medidor, consulte la sección Cómo configurar el control de flujo en el archivo de configuración IPQoS.
Para activar el archivo de configuración IPQoS, consulte la sección Cómo aplicar una nueva configuración a los módulos de kernel IPQoS.
Para definir filtros adicionales, consulte la sección Cómo definir filtros en el archivo de configuración IPQoS.
Para crear clases para flujos de tráfico de aplicaciones, consulte la sección Cómo definir el archivo de configuración IPQoS para un servidor de aplicaciones.
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.
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.
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.
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.
Invoque al marcador con la siguiente instrucción action.
action { module dscpmk name markAF11 |
Llama al módulo de marcador dscpmk.
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.
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 } } |
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.
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.
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.
Inicie otra instrucción action de marcador.
action { module dscpmk name markEF |
Llama al módulo de marcador dscpmk.
Asigna el nombre markEF a la instrucción action.
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 } } |
Activa la recopilación de estadísticas en la clase video, que selecciona paquetes de video streaming.
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.
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).
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.
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.
Para empezar a recopilar estadísticas de control de flujo sobre el tráfico, consulte la sección Cómo activar el control para una clase en el archivo de configuración IPQoS.
Para definir comportamientos de reenvío para los módulos de marcador, consulte la sección Cómo definir el reenvío de tráfico en el archivo de configuración IPQoS.
Para definir parámetros de control de flujo para los módulos de medidor, consulte la sección Cómo configurar el control de flujo en el archivo de configuración IPQoS.
Para activar el archivo de configuración IPQoS, consulte la sección Cómo aplicar una nueva configuración a los módulos de kernel IPQoS.
Para definir filtros adicionales, consulte la sección Cómo definir filtros en el archivo de configuración IPQoS.
Para crear clases para flujos de tráfico de aplicaciones, consulte la sección Cómo definir el archivo de configuración IPQoS para un servidor de aplicaciones.
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.
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.
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 } } |
Inice una instrucción action que llame al control de flujo.
action { module flowacct name acct |
Invoca al módulo de control de flujo flowacct.
Asigna el nombre acct a la instrucción action
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 } } |
Activa la recopilación de estadísticas de la clase video, que selecciona paquetes de video streaming.
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.
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.
Determina el número máximo de registros de flujos en la tabla de flujos para esta instancia de acción.
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.
Para configurar comportamientos por salto en un enrutador, consulte la sección Cómo configurar un enrutador en una red con IPQoS.
Para activar el archivo de configuración IPQoS, consulte la sección Cómo aplicar una nueva configuración a los módulos de kernel IPQoS.
Para crear clases para flujos de tráfico de aplicaciones, consulte la sección Cómo definir el archivo de configuración IPQoS para un servidor de aplicaciones.
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.
Inicie una sesión en el servidor web "best-effort".
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.
Defina una clase que identifique el tráfico vinculado con el servidor web "best-effort".
class { name userweb next_action markAF12 enable_stats FALSE } |
Crea una clase llamada userweb para reenvíar el tráfico web de usuarios.
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.
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.
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 } } |
Asigna el nombre webout al filtro.
Selecciona el tráfico con origen en el puerto 80, el puerto de tráfico HTTP (web).
Selecciona el tráfico saliente del sistema local.
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.
Inice la instrucción action para invocar al marcador dscpmk.
action { module dscpmk name markAF12 |
Invoca al módulo de marcador dscpmk.
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.
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 } } |
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.
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.
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.
Cuando haya completado el archivo de configuración IPQoS, aplique la configuración.
Para añadir clases y otra configuración para flujos de tráfico de aplicaciones, consulte la sección Cómo definir el archivo de configuración IPQoS para un servidor de aplicaciones.
Para configurar comportamientos por salto en un enrutador, consulte la sección Cómo configurar un enrutador en una red con IPQoS.
Para activar el archivo de configuración IPQoS, consulte la sección Cómo aplicar una nueva configuración a los módulos de kernel IPQoS.