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.