Esta sección contiene tareas e información sobre Calidad de servicio IP (IPQoS), la implementación de servicios diferenciados de Oracle Solaris.
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:
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.
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:
Delegar los niveles de servicio a diferentes gurpos, como clientes o departamentos de una empresa
Priorizar los servicios de red que se ofrecen a grupos o aplicaciones específicos
Descubrir y eliminar áreas de cuello de botella de la red y otros tipos de congestión
Supervisar el rendimiento de la red y proporcionar estadísticas de rendimiento
Regular el ancho de banda hasta y desde recursos de red
IPQoS proporciona las siguientes funciones:
ipqosconf Herramienta de línea de comandos para configurar la directiva QoS
Clasificador que selecciona acciones basadas en filtros que configuran la directiva QoS de la organización
Módulo de medición para medir el tráfico de red que cumple el modelo Diffserv
Diferenciación del servicio basada en la posibilidad de marcar el encabezado IP de un paquete con información de redirección
Módulo de control de flujo que realiza un seguimiento de las estadísticas de flujo de tráfico
Seguimiento de las estadísticas de clases de tráfico mediante el uso del comando UNIX® kstat
Compatibilidad con la arquitectura SPARC® y x86
Compatibilidad con direcciones IPv4 e IPv6
Interoperatividad con la arquitectura de seguridad IPsec
Compatibilidad con marcados de prioridad de usuario 802.1D para redes de área local virtuales (VLAN)
Puede obtener información sobre servicios diferenciados y calidad del servicio de diferentes fuentes impresas y en línea.
Si necesita más información sobre la teoría y la práctica de la calidad del servicio, consulte los siguientes libros:
Ferguson, Paul y Geoff Huston. Quality of Service. John Wiley & Sons, Inc., 1998.
Kilkki, Kalevi. Differentiated Services for the Internet. Macmillan Technical Publishing, 1999.
IPQoS cumple las especificaciones descritas en las siguientes RFC y borradores de Internet:
RFC 2474, Definición del campo de servicios diferenciados (DS) en los encabezados IPv4 e IPv6: describe una mejora del campo de tipo de servicio (ToS) o campos DS de los encabezados de paquetes IPv4 e IPv6 para admitir servicios diferenciados.
RFC 2475, An Architecture for Differentiated Services: proporciona una descripción detallada de la organización y de los módulos de la arquitectura Diffserv.
RFC 2597, Assured Forwarding PHB Group: describe cómo funciona el comportamiento por salto del reenvío asegurado (AF).
RFC 2598, An Expedited Forwarding PHB: describe cómo funciona el comportamiento por salto de reenvío acelerado (EF).
Borrador de Internet, Un modelo de administración informal para enrutadores Diffserv: presenta un modelo para implementar la arquitectura Diffserv en enrutadores.
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.
La documentación de IPQoS incluye las siguientes páginas man:
ipqosconf(1M) - Describe el comando para definir el archivo de configuración IPQoS
ipqos(7ipp) – Describe la implementación IPQoS del modelo de arquitectura Diffserv
ipgpc(7ipp) – Describe la implementación IPQoS de un clasificador Diffserv
tokenmt(7ipp) – Describe el medidor IPQoS tokenmt
tswtclmt(7ipp) – Describe el medidor IPQoS tswtclmt
dscpmk(7ipp) – Describe el módulo marcador DSCP
dlcosmk(7ipp) – Describe el módulo marcador de prioridad de usuario IPQoS 802.1D
flowacct(7ipp)– Describe el módulo de control de flujo IPQoS
acctadm(1M): describe el comando de configuración de funciones de contabilidad ampliada de Oracle Solaris. El comando acctadm incluye extensiones 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.
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.
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.
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:
Grupos independientes de tráfico de red denominados clases de servicio.
Sistemas de medición para regular la cantidad de tráfico de red de cada clase. Estas medidas controlan el proceso de control del tráfico denominado medición.
Una acción que un sistema IPQoS y un enrutador Diffserv deben aplicar al flujo de un paquete. Este tipo de acción se denomina comportamiento por salto (PHB).
Cualquier seguimiento de estadísticas que necesite su organización para una clase de servicio. Un ejemplo es el tráfico generado por un cliente o aplicación específicos.
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.
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.
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:
¿Cuáles son las áreas de problemas de tráfico de su red local?
¿Qué debe hacer para conseguir la utilización óptima del ancho de banda disponible?
¿Cuáles son las aplicaciones de mayor importancia de su organización que deben tener la prioridad máxima?
¿Qué aplicaciones pueden congestionarse?
¿Cuáles son las aplicaciones de menor importancia, que pueden tener la prioridad más baja?
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:
Aplicaciones muy utilizadas, como correo electrónico y FTP saliente a un servidor específico, cada una podría ser una clase. Debido a que los empleados utilizan estas aplicaciones constantemente, su directiva QoS puede garantizar una pequeña cantidad de ancho de banda y una prioridad más baja al correo electrónico y FTP.
Una base de datos de entrada que debe estar activa las 24 horas del día. Según la importancia de la aplicación de base de datos para la empresa, puede asignarle una gran cantidad de ancho de banda y una prioridad alta.
Un departamento que realiza un trabajo de vital importancia o que debe tratarse con cuidado, como el departamento de salarios y nóminas. La importancia del departamento para la organización determina la prioridad y la cantidad de ancho de banda que se le asignará.
Llamadas entrantes al sitio web externo de una compañía. A esta clase se le puede asignar una pequeña cantidad de ancho de banda con prioridad baja.
IPQoS incluye los siguientes módulos, que forman parte de la arquitectura Diffserv (servicios diferenciados) definida en RFC 2475:
Clasificador
Medidor
Marcador
IPQoS añade las siguientes mejoras al modelo Diffserv:
Módulo de control de flujo
Marcador de datagrama 802.1D
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.
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.
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.
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:
Dirección de origen y dirección de destino
Puerto de origen y puerto de destino
Números de protocolo
ID de usuario
ID de proyecto
Punto de código de servicios diferenciados (DSCP)
Índice de interfaz
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.
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:
tokenmt – Utiliza un esquema de medición con conjunto de dos tokens
tswtclmt – Utiliza un esquema de medición de ventana de lapso de tiempo
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.
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:
dscpmk: marca el campo DS del encabezado de un paquete IP con un valor numérico denominado punto de código de servicios diferenciados o DSCP. Un enrutador que admita Diffserv puede utilizar el punto de código DS para aplicar el comportamiento de reenvío correspondiente al paquete.
dlcosmk – Marca la etiqueta de red de área local virtual (VLAN) del encabezado de un frame Ethernet con un valor numérico denominado prioridad de usuario. La prioridad de usuario indica la clase de servicio (CoS), que define el comportamiento de reenvío que debe aplicarse al datagrama.
dlcosmk es una adición de IPQoS que no forma parte del modelo Diffserv designado por IETF.
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.
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:
Dirección de origen
Puerto de origen
Dirección de destino
Puerto de destino
Número de protocolo
Número de paquetes
Número de bytes
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.
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.
Esta figura ilustra una secuencia de flujo de tráfico común en un sistema con IPQoS:
El clasificador selecciona todos los paquetes del flujo que cumplen los criterios de filtrado de la directiva QoS del sistema.
A continuación, se evalúan los paquetes para determinar la acción que se debe ejecutar.
El clasificador envía al marcador cualquier trafico que no requiera control de flujo.
El tráfico que requiere control de flujo se envía al medidor.
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.
Se evalúan los paquetes de flujo controlado para determinar si necesitan control.
El medidor envía al marcador el tráfico que no requiere control de flujo.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
El usuario de ipqos1 ejecuta el comando ftp para acceder al host ipqos2, que está tres saltos más allá.
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.
ipqos-1 mide el flujo ftp para determinar si excede la tasa asiganda de 2 Mbit/seg.
El marcador de ipqos1 marca los campos DS de los paquetes ftp salientes con el DSCP 010100, que corresponde a AF22 PHB.
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.
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 .
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".
genrouter pasa el tráfico ftp a la red 10.13.0.0, donde lo recibe diffrouter2.
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.
ipqos2 recibe el tráfico ftp. ipqos2 solicita al usuario de ipqos1 un nombre de usuario y contraseña.
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.
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. | |
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). | |
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. | |
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. |
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.
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:
Sistemas Oracle Solaris que ofrecen varios servicios, como servidores web o de base de datos
Servidores de aplicaciones que ofrecen servicios de correo electrónico, FTP y otras aplicaciones de red comunes
Servidores de caché web o proxy
Redes de conjuntos de servidores con IPQoS administradas por equilibradores de carga con Diffserv
Cortafuegos que administran el tráfico de una red heterogénea
Sistemas IPQoS que forman parte de una red de área local (LAN) virtual
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.
En esta sección se ilustran estrategias IPQoS para redes con diferentes requisitos.
La siguiente figura ilustra una red de sistemas con IPQoS.
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.
La siguiente figura muestra una red con varios conjuntos de servidores heterogéneos.
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.
La siguiente figura muestra un segmento de una red corporativa protegido de otros segmentos mediante un cortafuegos.
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.
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.
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 |
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 |
1 |
Filtro 2 |
Selector 1 Selector 2
|
N/D |
N/D |
N/D |
Clase 2 |
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 |
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.
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. | |
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. | |
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. | |
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. | |
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. | |
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. |
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.
El siguiente procedimiento contiene tareas generales que llevar a cabo antes de crear la directiva QoS.
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.
Identificar los hosts de la distribución de red que requieren IPQoS o que pueden ser buenos candidatos para el servicio IPQoS.
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.
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.
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.
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.
Crear una tabla de planificación QoS para organizar la información de directiva QoS.
Para ver sugerencias, consulte la Tabla 33–1.
Realizar el resto de los pasos para cada directiva QoS de la red.
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.
Enumerar las clases definidas en la tabla de planificación QoS creada en el paso 1.
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.
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.
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.
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. |
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.
Antes de llevar a cabo los siguientes pasos, debe haber completado el procedimiento Cómo definir las clases de la directiva QoS.
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.
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.
La tabla siguiente es un ejemplo de cómo definir un filtro para el tráfico FTP saliente.
Clase |
Prioridad |
Filtros |
Selectores |
---|---|---|---|
ftp-traffic |
4 |
ftp-out |
saddr 10.190.17.44 daddr 10.100.10.53 sport 21 direction LOCAL_OUT |
Para definir un esquema de control de flujo, consulte la sección Cómo planificar el control de flujo.
Para definir comportamientos de reenvío para flujos que vuelven al flujo de red, consulte Cómo planificar el comportamiento de reenvío.
Para planificar la recopilación de datos de flujo de determinados tipos de tráfico, consulte la sección Cómo planificar la recopilación de datos de flujo.
Para añadir más clases a la directiva QoS, consulte la sección Cómo definir las clases de la directiva QoS.
Para añadir más filtros a la directiva QoS, consulte la sección Cómo definir filtros en la directiva QoS.
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.
Determine el ancho de banda máximo de la red.
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.
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.
No es necesario medir todas las clases. Tenga en mente estas directrices al revisar la lista de clases.
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.
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.
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).
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.
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 |
---|---|---|---|---|
|
8 |
mail_in |
daddr10.50.50.5 dport imap direction LOCAL_IN |
|
|
8 |
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 |
Para definir los comportamientos de reenvío para flujos cuando los paquetes vuelven al flujo de red, consulte la sección Cómo planificar el comportamiento de reenvío.
Para planificar la recopilación de datos de flujo de determinados tipos de tráfico, consulte la sección Cómo planificar la recopilación de datos de flujo.
Para añadir más clases a la directiva QoS, consulte la sección Cómo definir las clases de la directiva QoS.
Para añadir más filtros a la directiva QoS, consulte la sección Cómo definir filtros en la directiva QoS.
Para definir otro esquema de control de flujo, consulte la sección Cómo planificar el control de flujo.
Para crear un archivo de configuración IPQoS, consulte la sección Cómo crear el archivo de configuración IPQoS y definir las clases de tráfico.
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.
dscpmk – Se utiliza para marcar el campo DS de un paquete IP con un DSCP
dlcosmk – Se utiliza para marcar la etiqueta VLAN de un datagrama con un valor de clase de servicio (CoS)
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.
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.
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.
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.
Asigen comportamientos de reenvío a clases cuyo tráfico se va a medir.
Asigne puntos de código DS al resto de clases, de acuerdo con las prioridades asignadas a las clases.
El tráfico se suele medir según los siguientes criterios:
Un acuerdo SLA garantiza a los paquetes de esta clase un servicio de nivel alto o de nivel bajo cuando la red tiene mucho tráfico.
Una clase con una prioridad más baja puede colapsar la red.
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 |
9 |
games_in |
sport 6080 |
N/D |
N/D |
games_app |
9 |
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.
Para planificar la recopilación de datos de flujo de determinados tipos de tráfico, consulte la sección Cómo planificar la recopilación de datos de flujo.
Para añadir más clases a la directiva QoS, consulte la sección Cómo definir las clases de la directiva QoS.
Para añadir más filtros a la directiva QoS, consulte la sección Cómo definir filtros en la directiva QoS.
Para definir un esquema de control de flujo, consulte la sección Cómo planificar el control de flujo.
Para definir comportamientos de reenvío adicionales para flujos cuando los paquetes vuelven al flujo de red, consulte la sección Cómo planificar el comportamiento de reenvío.
Para crear un archivo de configuración IPQoS, consulte la sección Cómo crear el archivo de configuración IPQoS y definir las clases de tráfico.
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.
¿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á.
¿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.
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.
Para añadir más clases a la directiva QoS, consulte la sección Cómo definir las clases de la directiva QoS.
Para añadir más filtros a la directiva QoS, consulte la sección Cómo definir filtros en la directiva QoS.
Para definir un esquema de control de flujo, consulte la sección Cómo planificar el control de flujo.
Para definir los comportamientos de reenvío para flujos cuando los paquetes vuelven al flujo de red, consulte la sección Cómo planificar el comportamiento de reenvío.
Para planificar la recopilación de datos adicional para determinados tipos de tráfico, consulte la sección Cómo planificar la recopilación de datos de flujo.
Para crear el archivo de configuración IPQoS, consulte la sección Cómo crear el archivo de configuración IPQoS y definir las clases de tráfico.
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.
La siguiente figura muestra la distribución de red que utiliza la intranet pública de BigISP.
BigISP utiliza cuatro niveles en su intranet pública:
Nivel 0:la red 10.10.0.0 incluye un enrutador Diffserv llamado Bigrouter, con interfaz externa e interna. Varias empresas, entre ellas una organización llamada Goldco, han alquilado servicios de línea arrendada que finalizan en Bigrouter. EL nivel 0 también gestiona los clientes individuales que llaman desde líneas telefónicas o RDSI.
Nivel 1: la red 10.11.0.0 proporciona servicios web. El servidor Goldweb aloja el sitio web adquirido por Goldco como parte del servicio de alto nivel que Goldco ha adquirido de BigISP. El servidor Userweb aloja sitios web pequeños adquiridos por clientes individuales. Ambos servidores, Goldweb y Userweb utilizan IPQoS.
Nivel 2 – La red 10.12.0.0 proporciona aplicaciones para todos los clientes. BigAPPS, uno de los servidores de aplicaciones, utiliza IPQoS. BigAPPS proporciona servicios SMTP, de noticias y FTP.
Nivel 3 – La red 10.13.0.0 aloja grandes servidores de base de datos. El acceso al Nivel 3 está controlado por datarouter, un enrutador Diffserv.
En este capítulo se explica cómo crear archivos de configuración IPQoS. El capítulo trata los siguientes temas.
Definición de una directiva QoS en el archivo de configuración IPQoS (Mapa de tarea)
Crear un archivo de configuración IPQoS para un servidor de aplicaciones
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.
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. | |
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. | |
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. | |
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. |
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.
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).
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.
Goldweb: Un servidor web que aloja sitios web de clientes que tienen acuerdos SLA de nivel alto
Userweb: Un servidor web menos potente que aloja páginas personales de usuarios que tienen acuerdos SLA de tipo “best-effort”
BigAPPS – Servidor de aplicaciones que ofrece sesrvicios de correo, noticas y FTP a clientes con servicios de nivel alto y "best-effort"
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.
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.
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.
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 } }
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.
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 } |
Crea una clase llamada smtp, que incluye los flujos de tráfico de correo electrónico que debe administrar la aplicación SMTP
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.
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.
Crea una clase llamada news, que incluye los flujos de tráfico de noticias de red que debe administrar la aplicación NNTP.
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.
Crea una clase llamada ftp, que administra el tráfico saliente gstionado por la aplicación FTP.
Activa la recopilación de estadísticas para la clase ftp.
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.
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 } } |
Asigna el nombre smtpout al filtro.
Selecciona el tráfico con puerto de origen 25, el puerto para la aplicación sendmail (SMTP).
Identifica la clase a la que pertenece el filtro, en este caso, la clase smtp.
Asigna el nombre newsout al filtro.
Selecciona el tráfico con nombre de puerto origen nntp, el nombre de puerto para la aplicación de noticias de red (NNTP).
Identifica la clase a la que pertenece el filtro, en este caso, la clase news.
Asigna el nombre ftpout al filtro.
Selecciona los datos de control con un puerto origen 21, el número de puerto para tráfico FTP.
Asigna el nombre ftpdata al filtro.
Selecciona el tráfico con puerto de origen 20, el número de puerto para tráfico FTP.
Identifica la clase a la que pertenecen los filtros ftpout y ftpdata, en este caso ftp.
Para definir filtros, consulte la sección Cómo definir filtros en el archivo de configuración IPQoS.
Para definir comportamientos de reenvío para el tráfico de aplicaciones, consulte la sección Cómo configurar el reenvío para el tráfico de aplicaciones en el archivo de configuración IPQoS.
Para configurar el control de flujo utilizando los módulos de medición, consulte la sección Cómo configurar el control de flujo en el archivo de configuración IPQoS.
Para configurar la recopilación de datos sobre el flujo, consulte la sección Cómo activar el control para una clase 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.
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.
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 } } |
Invoque al marcador del siguiente modo:
action { module dscpmk name markAF13 |
Invoca al módulo de marcador dscpmk.
Asigna el nombre markAF13 a la instrucción action .
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 } } |
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.
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.
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.
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 } } |
Asigna el nombre markAF21 a la instrucción action .
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.
Para añadir información de configuración para servidores web, consulte la sección Cómo crear el archivo de configuración IPQoS y definir las clases de tráfico.
Para configurar el control de flujo utilizando los módulos de medición, consulte la sección Cómo configurar el control de flujo en el archivo de configuración IPQoS.
Para configurar la recopilación de datos sobre el flujo, consulte la sección Cómo activar el control para una clase en el archivo de configuración IPQoS.
Para configurar comportamientos de reenvío 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 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.
En los pasos se asume que ya ha definido una clase y un filtro para controlar el flujo de la aplicación.
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 } } |
Cree una instrucción action de medidor para controlar el flujo de tráfico de la clase ftp.
action { module tokenmt name meterftp |
Invoca al medidor tokenmt.
Asigna el nombre meterftp a la instrucción action .
Añada parámetros para configurar la tasa del medidor.
params { committed_rate 50000000 committed_burst 50000000 |
Asigna una tasa de transmisión de 50.000.000 bps al tráfico de la clase ftp.
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.
Añada parámetros para configurar las precedencias de cumplimiento de tráfico:
red_action markAF31 green_action_name markAF22 global_stats TRUE } } |
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.
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.
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.
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 } } |
Invoca al módulo de marcador dscpmk.
Asigna el nombre markAF31 a la instrucción action.
Activa las estadísticas para la clase ftp.
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.
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.
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 } } |
Asigna el nombre markAF22 a la acción marker.
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.
Añada los puntos DSCP que ha creado para el servidor de aplicaciones a los archivos correspondientes del enrutador Diffserv.
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 añadir información de configuración para servidores web, consulte la sección Cómo crear el archivo de configuración IPQoS y definir las clases de tráfico.
Para configurar la recopilación de datos sobre el flujo, consulte la sección Cómo activar el control para una clase en el archivo de configuración IPQoS.
Para configurar comportamientos de reenvío en un enrutador, consulte la sección Cómo configurar un enrutador en una red con IPQoS.
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.
En el siguiente procedimiento se utiliza como ejemplo la topología de la Figura 33–4.
En el siguiente procedimiento se asume que ya ha configurado los sistemas IPQoS de la red realizando las tareas anteriores de este capítulo.
Revise los archivos de configuración de todos los sistemas con IPQoS de la red.
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) |
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.
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:
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. |
La configuración IPQoS se activa y manipula con el comando ipqosconf.
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).
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.
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.
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.
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.
Para ver estadísticas sobre cómo funcionan los módulos IPQoS, consulte la sección Recopilación de estadísticas.
Para registrar los mensajes ipqosconf, consulte la sección Activación del registro syslog para mensajes IPQoS.
Para asegurarse de que la configuración IPQoS actual se aplica en cada inicio, consulte la sección Có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.
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.
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.
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 .
Para registrar mensajes de inicio IPQoS, es necesario modificar el archivo /etc/syslog.conf como se explica en el siguiente procedimiento.
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.
Abra el archivo /etc/syslog.conf.
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 .
Reinicie el sistema para aplicar los mensajes.
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.
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. |
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:
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. | |
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 |
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:
Si necesita instrucciones para crear una instrucción de acción para flowacct en el archivo de configuración IPQoS, consulte Cómo configurar el control de flujo en el archivo de configuración IPQoS.
Para aprender cómo funciona flowacct, consulte Módulo Classifier.
Si necesita información técnica, consulte la página de comando man flowacct(7ipp).
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).
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.
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 |
Invoca a acctadm con la opcón -e. La opción -e activa los argumentos que hay a continuación.
Determina que sólo los datos de los ocho atributos básicos flowacct se registran en el archivo.
Especifica el nombre de ruta completo del archivo que contendrá los registros de flujo de flowacct.
Indica a acctadm que debe activar el control de flujo.
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. |
(Optativo) Añadir los atributos ampliados al archivo de control.
# acctadm -e extended -f /var/ipqos/goldweb/account.info flow |
(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.
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.
Para ver información detallada sobre la función de contabilidad ampliada, consulte el Capítulo 4, Contabilidad ampliada (descripción general) de Guía de administración de sistemas: administración de recursos y contenedores de Oracle Solaris y zonas de Oracle Solaris.
Para definir parámetros flowacct en el archivo de configuración IPQoS, consulte Cómo activar el control para una clase en el archivo de configuración IPQoS.
Para imprimir los datos del archivo creado con acctadm , consulte 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.
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).
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 |
Da el nombre de la clase a la que pertenecen los flujos de tráfico, en este caso flacct.
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.
La última vez que se creó está salida de kstat.
Número de paquetes que resultaron en un error durante el procesamiento, en este ejemplo 0.
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.
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.
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.
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.
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).
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:
Clasificador
Medidor
Marcador
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).
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:
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.
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
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.
Determina qué otras acciones están especificadas en la configuración IPQoS para paquetes de una clase específica
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.
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. |
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:
committed-rate – Define la tasa de transmisión aceptable, en bits por segundo, para paquetes de una clase determinada
peak-rate – Define la tasa de transmisión máxima, en bits por segundo, que se permite para paquetes de una clase determinada
Una acción de medición en un paquete puede dar tres resultados:
green – El paquete permite que el flujo se mantenga en la tasa aprobada.
yellow – El paquete hace que el flujo sobrepase su tasa aprobada pero no la máxima.
red – El paquete hace que el flujo sobrepase su tasa máxima.
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.
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:
committed_rate – Especifica la tasa aprobada para el flujo, en bits por segundo.
committed_burst – Especifica el tamaño de ráfaga aprobado en bits. El parámetro committed_burst define cuántos paquetes de una clase determinada pueden transmitirse a la red a la tasa aprobada.
peak_rate – Especifica la tasa máxima en bits por segundo.
peak_burst – Especifica el tamaño de ráfaga máxima en bits. El parámetro peak_burst asigna a una clase de tráfico un tamaño de ráfaga máxima que sobrepasa la tasa aprobada.
color_aware – Establece tokenmt en modo de activación.
color_map – Define una matriz de enteros que asgina valores DSCP a verde, amarillo o rojo.
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).
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).
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.
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.
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:
committed_rate – Especifica la tasa aprobada en bits por segundo
peak_rate – Especifica la tasa máxima en bits por segundo
window – Define la fase temporal, en milisegundos en los cuales se mantiene el historial de ancho de banda medio
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.
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).
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.
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.
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.
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.
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 |
---|---|
0 |
Mejor posible |
1 |
Segundo plano |
2 |
Momentos libres |
3 |
Excelente |
4 |
Carga controlada |
5 |
Vídeo, latencia de menos de 100ms |
6 |
Vídeo, latencia de menos de 10ms |
7 |
Control de red |
Si necesita más información sobre dlcosmk, consulte la página de comando man dlcosmk(7ipp).
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.
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 .
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).
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:
timer – Define un intervalo, en milisengundos, en el que los flujos con tiempo de espera superado se eliminan de la tabla de flujo y se escriben en el archivo creado por acctadm
timeout – Define un intervalo, en milisegundos, que especifica cuánto tiempo debe estar inactivo un flujo de paquete para que se supere el tiempo de espera del flujo
Puede configurar timer y timeout para que tengan diferentes valores.
max_limit – Define el límite máximo para el número de registros de flujo que pueden almacenarse 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.
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:
Dirección de origen
Dirección de destino
Puerto de origen
Puerto de destino
DSCP
ID de usuario
ID de proyecto
Número de protocolo
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.
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 |
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
Invoca a acctadm con la opcón -e. "-e" indica que a continuación hay una lista de recursos.
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.
Crea el archivo nombre de archivo que contendrá los registros de flujo.
Indica que acctadm debe ejecutarse con 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:
texto con estilo de ordenador – Información sintáctica proporcionada para explicar las secciones del archivo de configuración. El usuario no noecesita escribir el texto con estilo de ordenador en ningún momento.
texto en negrita – Texto literal que debe escribir en el archivo de configuración IPQoS. Por ejemplo, siempre debe empezar el archivo de configuración IPQoS con fmt_version.
texto en cursiva – Texto variable que se reemplaza con información descriptiva sobre la configuración. Por ejemplo, nombre de acción o nombre de módulo deben reemplazarse siempre por información sobre la configuración.
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.
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 }
Asigna un nombre a la acción.
Identifica el módulo IPQoS que se debe invocar, que debe ser uno de los módulos de la Tabla 37–5.
Pueden ser parámetros que debe procesar el clasificador, como estadísticas globales, o la siguiente acción que procesar.
Conjunto de cero o más cláusulas class o filter
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 |
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.
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) }
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.
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:
Aplica el archivo de configuración a los módulos de kernel IPQoS (ipqosconf -a nombre de archivo)
Indica el archivo de configuración IPQoS actual del kernel (ipqosconf -l)
Asegura que la configuración IPQoS actual se lee y aplica cada vez que se reinicia el equipo (ipqosconf -c)
Vacía los módulos de kernel IPQoS actuales (ipqosconf -f)
Si necesita información técnica, consulte la página de comando man ipqosconf(1M).