Configuración del muestreo de tráfico en enrutadores de las series MX, M y T
El muestreo de tráfico permite copiar el tráfico en una tarjeta de interfaz física (PIC) que realiza la contabilidad de flujo mientras el enrutador reenvía el paquete a su destino original. Puede configurar el enrutador para que realice muestreos en una de las tres ubicaciones siguientes:
-
En el motor de enrutamiento, utilizando el proceso de ejemplo. Para seleccionar este método, utilice un filtro (entrada o salida) con un término coincidente que contenga la
then sampleinstrucción. -
en la PIC de servicios de supervisión, servicios adaptativos o multiservicios.
-
En una ruta de datos en línea sin necesidad de un concentrador de puerto denso (DPC) de servicios. Para realizar este muestreo activo en línea, defina una instancia de muestreo con propiedades específicas. Un concentrador PIC flexible (FPC) solo puede admitir una instancia; para cada caso, se admite el muestreo basado en PIC de servicios o el muestreo en línea por familia. El muestreo en línea admite la versión 9 y las plantillas de recolección de flujo IPFIX.
El muestreo basado en motor de enrutamiento no se admite en instancias de enrutamiento y reenvío VPN (VRF).
Configuración del filtro de firewall para el muestreo de tráfico
Para configurar el filtro de firewall para el muestreo de tráfico, debe realizar las siguientes tareas:
-
Cree un filtro de firewall para aplicarlo a las interfaces lógicas de las que se muestrea incluyendo la
filterinstrucción en el nivel de[edit firewall family family-name]jerarquía. En la instrucción filterthen, debe especificar el modificadorsamplede acción y la acciónaccept.filter filter-name { term term-name { then { sample; accept; } } }
Para obtener más información acerca de las acciones de filtro de firewall y los modificadores de acción, consulte la Guía del usuario de directivas de enrutamiento, filtros de firewall y aplicadores de políticas de tráfico.
-
Aplique el filtro a las interfaces en las que desea muestrear el tráfico incluyendo las
addressinstrucciones yfilteren el nivel de[edit interfaces interface-name unit logical-unit-number family family-name]jerarquía:address address { } filter { input filter-name; }
Los siguientes requisitos previos se aplican a los enrutadores serie M, MX y T cuando se configura el muestreo de tráfico en interfaces y en filtros de firewall:
-
Si configura una acción de ejemplo en un filtro de firewall para una familia inet o inet6 en una interfaz sin configurar las opciones de reenvío, pueden producirse problemas operativos si también configura las funcionalidades de duplicación de puertos o flow-tap. En tal escenario, todos los paquetes que coinciden con el filtro de firewall se envían incorrectamente a la PIC de servicio.
-
Si incluye la
then sampleinstrucción en el nivel de[edit firewall family inet filter filter-name term term-name]jerarquía para especificar una acción de ejemplo en un filtro de firewall para paquetes IPv4, también debe incluir lafamily inetinstrucción en el nivel de[edit forwarding-options sampling]jerarquía o lainstance instance-name family inetinstrucción en el nivel de[edit forwarding-options sampling]jerarquía. Del mismo modo, si incluye la instrucción thensampleen el nivel de[edit firewall family inet6 filter filter-name term term-name]jerarquía para especificar una acción de ejemplo en un filtro de firewall para paquetes IPv6, también debe incluirfamily inet6la instrucción en el nivel de[edit forwarding-options sampling]jerarquía o lainstance instance-name family inet6instrucción en el nivel de[edit forwarding-options sampling]jerarquía. De lo contrario, se produce un error de confirmación al intentar confirmar la configuración. -
Además, si configura el muestreo de tráfico en una interfaz lógica incluyendo las instrucciones sample input o sampling output en el nivel de
[edit interface interface-name unit logical-unit-number]jerarquía, también debe incluir lafamily inet | inet6instrucción en el nivel de[edit forwarding-options sampling]jerarquía o lainstance instance-name family inet | inet6instrucción en el nivel de[edit forwarding-options sampling]jerarquía.
Configuración del muestreo de tráfico en una interfaz lógica
Para configurar el muestreo de tráfico en cualquier interfaz lógica, habilite el muestreo y especifique una frecuencia de muestreo distinta de cero incluyendo la instrucción de muestreo en el nivel de [edit forwarding-options] jerarquía:
sampling {
input {
rate
number;
run-length
number;
max-packets-per-second
number;
maximum-packet-length
bytes;
}
Cuando utilice el muestreo basado en motor de enrutamiento, especifique el valor de tráfico de umbral incluyendo la max-packets-per-second instrucción. El valor es el número máximo de paquetes que se van a muestrear, más allá del cual el mecanismo de muestreo comienza a soltar paquetes. El rango es de 0 a 65,535. Un valor de 0 indica al motor de reenvío de paquetes que no muestree ningún paquete. El valor predeterminado es 1000.
Cuando se configura la supervisión activa y se especifica un PIC de servicios de supervisión, servicios adaptables o multiservicios en la output instrucción, o cuando se configura el muestreo en línea, se omite el max-packets-per-second valor.
Especifique la frecuencia de muestreo estableciendo los valores para rate y run-length (consulte la figura 1).
de muestreo
No configure el muestreo de entrada en ms- interfaces lógicas en las que está habilitada la supervisión de flujo basada en PIC, lo que provoca un comportamiento de supervisión de flujo no deseado y puede dar lugar a un muestreo repetido de un solo paquete. A partir de Junos OS versión 15.1, se produce un error de confirmación cuando intenta configurar el muestreo de tráfico de entrada en esa interfaz. En Junos OS versión 14.2 y anteriores, el error de confirmación no se produce, pero no debe configurar el muestreo de tráfico de entrada en esa interfaz.
Si la supervisión de flujo basada en PIC está habilitada en una interfaz ms-fpc/pic/port.logical-unit , se produce un error de comprobación de confirmación cuando intenta configurar el muestreo de tráfico de entrada en esa interfaz. Este error se produce porque una combinación de muestreo de entrada y operaciones de supervisión de flujo basadas en PIC en una interfaz lógica provoca un ms- comportamiento de supervisión de flujo no deseado y puede dar lugar a un muestreo repetido de un solo paquete. No debe configurar el muestreo de entrada en ms- interfaces lógicas en las que esté habilitada la supervisión de flujo basada en PIC.
La rate instrucción especifica la proporción de paquetes que se van a muestrear. Por ejemplo, si configura una velocidad de 10, x se muestrea el número de paquetes de cada 10, donde x= longitud de ejecución + 1. De forma predeterminada, la tasa es 0, lo que significa que no se muestrea ningún tráfico.
La run-length instrucción especifica el número de paquetes coincidentes que se van a muestrear después del evento desencadenador inicial de un paquete. De forma predeterminada, la longitud de ejecución es 0, lo que significa que no se muestrea más tráfico después del evento desencadenador. El rango es de 0 a 20. La configuración de una longitud de ejecución mayor que 0 permite tomar muestras de paquetes que siguen a los que ya se están muestreando.
Las run-length instrucciones de configuración y maximum-packet-length no se admiten en los enrutadores MX80.
Si no incluye la instrucción, se deshabilitará el input muestreo.
Para recopilar los paquetes de ejemplo en un archivo, incluya la file instrucción en el nivel de [edit forwarding-options sampling output] jerarquía. Los formatos de archivo de salida se discuten más adelante en el capítulo.
Deshabilitar muestreo de tráfico
Para deshabilitar explícitamente el muestreo de tráfico en el enrutador, incluya la disable instrucción en el nivel de [edit forwarding-options sampling] jerarquía:
disable;
Muestreo una vez
Para muestrear explícitamente un paquete para la supervisión activa solo una vez, incluya la sample-once instrucción en el nivel de [edit forwarding-options sampling] jerarquía:
sample-once;
Al establecer esta opción, se evita la duplicación de paquetes en los casos en que el muestreo está habilitado en las interfaces de entrada y salida y se simplifica el análisis del tráfico muestreado.
Conservar el valor de ToS previo a la reescritura para paquetes muestreados o reflejados de salida
A partir de Junos OS versión 14.1, puede conservar el valor de tipo de servicio (ToS) prenormalizado en paquetes de salida muestreados o reflejados. Incluya la pre-rewrite-tos instrucción en el [edit forwarding-options sampling] nivel jerárquico.
En interfaces basadas en MPC, puede configurar la reescritura de ToS mediante la configuración de clase de servicio (CoS) incluyendo la rewrite-rules dscp rule_name instrucción en el nivel de jerarquía o mediante la [edit class-of-service interfaces interface-name unit logical-unit-number] configuración del filtro de firewall incluyendo la dscp instrucción en el nivel de [edit firewall family family-name filter filter-name term term-name then] jerarquía. Si se configura la reescritura de ToS, las copias reflejadas o muestreadas de salida contienen los valores de ToS posteriores a la reescritura de forma predeterminada. Con la pre-rewrite-tos configuración, puede conservar el valor ToS de preescritura en los paquetes muestreados o reflejados.
-
Si la reescritura de ToS se configura en la interfaz de salida utilizando la configuración del filtro de firewall y CoS, y si la
pre-rewrite-tosinstrucción también está configurada, los paquetes de muestra de salida contienen el valor DSCP establecido mediante la configuración del filtro de firewall. Sin embargo, si lapre-rewrite-tosinstrucción no está configurada, los paquetes de ejemplo de salida contienen el valor DSCP establecido por la configuración CoS. -
Con la instrucción, puede configurar la retención de valores ToS de prenormalización sólo para el
pre-rewrite-tosmuestreo realizado enfamily inetyfamily inet6. -
Esta característica no se puede configurar en el nivel de
[edit logical-systems]jerarquía. Solo se puede configurar a nivel global en laforwarding-optionconfiguración. -
Cuando la reescritura de ToS se configura mediante un filtro de firewall en las interfaces de entrada y salida, los paquetes de ejemplo de salida contienen el valor DSCP establecido por la configuración de reescritura de ToS de entrada si la
pre-rewrite-tosinstrucción está configurada. Sin embargo, si lapre-rewrite-tosinstrucción no está configurada, los paquetes de muestra de salida contienen el valor DSCP establecido por la configuración de reescritura ToS para el filtro de firewall de salida. -
Si la
pre-rewrite-tosinstrucción está configurada y se realiza una operación de desactivar o eliminar en el nivel de jerarquía,pre-rewrite-tosla[edit forwarding-options]configuración seguirá activa. Para deshabilitar lapre-rewrite-tosconfiguración en tal caso, debe desactivar o eliminar explícitamente lapre-rewrite-tosinstrucción en el nivel de jerarquía antes de[edit forwarding-options sampling]realizar una operación de desactivar o eliminar en el nivel de[edit forwarding-options]jerarquía.
Configuración de la salida de muestreo de tráfico
Para configurar la salida de muestreo de tráfico, incluya las siguientes instrucciones en el nivel de [edit forwarding-options sampling family (inet | inet6 | mpls) output] jerarquía:
aggregate-export-interval
seconds;
flow-active-timeout
seconds;
flow-inactive-timeout
seconds;
extension-service
service-name;
flow-server
hostname {
aggregation {
autonomous-system;
destination-prefix;
protocol-port;
source-destination-prefix {
caida-compliant;
}
source-prefix;
}
autonomous-system-type (origin | peer);
(local-dump | no-local-dump);
port
port-number;
source-address address;
version
format;
version9 {
template template-name;
}
}
interface
interface-name {
engine-id
number;
engine-type
number;
source-address
address;
}
file {
disable;
filename
filename;
files
number;
size
bytes;
(stamp | no-stamp);
(world-readable | no-world-readable);
}
Para configurar la supervisión de flujo en línea en enrutadores de la serie MX, incluya la inline-jflow instrucción en el nivel de [edit forwarding-options sampling instance instance-name family (inet | inet6 | mpls) output] jerarquía. El muestreo en línea admite exclusivamente un nuevo formato denominado IP_FIX que utiliza UDP como protocolo de transporte. Al configurar el muestreo en línea, debe incluir la version-ipfix instrucción en el nivel de [edit forwarding-options sampling instance instance-name family (inet | inet6 | mpls) output flow-server address] jerarquía y también en el nivel de [edit services flow-monitoring] jerarquía. Para obtener más información acerca de cómo configurar la supervisión de flujo en línea, consulte Configuración de la supervisión de flujo activo en línea mediante enrutadores, conmutadores o NFX250.
Para dirigir el tráfico muestreado a una interfaz de supervisión de flujo, incluya la interface instrucción. Las engine-id instrucciones y engine-type especifican los números de identidad y tipo de la interfaz; se generan dinámicamente en función del concentrador de PIC flexible (FPC), PIC y números de ranura y el tipo de chasis. La source-address instrucción especifica el origen del tráfico.
A partir de Junos OS versión 19.3R1, para configurar la supervisión del flujo en línea en la nube de prevención avanzada de amenazas (ATP Cloud) de Juniper, incluya la flow-server instrucción en el nivel jerárquico [edit forwarding-options sampling instance instance-name family (inet | inet6 | mpls) output] . El muestreo en línea admite exclusivamente un nuevo formato denominado IP_FIX que utiliza UDP como protocolo de transporte. Al configurar el muestreo en línea, debe incluir la version-ipfix instrucción en el nivel de [edit forwarding-options sampling instance instance-name family (inet | inet6 | mpls) output flow-server address] jerarquía y también en el nivel de [edit services flow-monitoring] jerarquía.
Para configurar la salida de la versión 9 del muestreo de flujo, debe incluir la template instrucción en el nivel de [edit forwarding-options sampling output version9] jerarquía. Para obtener información sobre cflowd, consulte Habilitar la agregación de flujos.
La aggregate-export-interval instrucción se describe en Configuración de la contabilidad de descartes y las instrucciones flow-active-timeout y flow-inactive-timeout se describen en Configuración de la supervisión de flujo.
Los resultados del muestreo de tráfico se guardan automáticamente en un archivo del directorio /var/tmp . Para recopilar los paquetes de ejemplo en un archivo, incluya la file instrucción en el nivel de [edit forwarding-options sampling family inet output] jerarquía:
file {
disable;
filename
filename;
files
number;
size
bytes;
(stamp | no-stamp);
(world-readable | no-world-readable);
}
Formato de salida de muestreo de tráfico
La salida del muestreo de tráfico se guarda en un archivo de texto ASCII. A continuación se muestra un ejemplo de la salida de muestreo de tráfico que se guarda en un archivo del directorio /var/tmp . Cada línea del archivo de salida contiene información para un paquete de muestra. Opcionalmente, puede mostrar una marca de tiempo para cada línea.
Los encabezados de columna se repiten después de cada grupo de 1000 paquetes.
# Apr 7 15:48:50
Time Dest Src Dest Src Proto TOS Pkt Intf IP TCP
addr addr port port len num frag flags
Apr 7 15:48:54 192.168.9.194 192.168.9.195 0 0 1 0x0 84 8 0x0 0x0
Apr 7 15:48:55 192.168.9.194 192.168.9.195 0 0 1 0x0 84 8 0x0 0x0
Apr 7 15:48:56 192.168.9.194 192.168.9.195 0 0 1 0x0 84 8 0x0 0x0
Apr 7 15:48:57 192.168.9.194 192.168.9.195 0 0 1 0x0 84 8 0x0 0x0
Apr 7 15:48:58 192.168.9.194 192.168.9.195 0 0 1 0x0 84 8 0x0 0x0
Para establecer la opción de marca de tiempo para el archivo my-sample, escriba lo siguiente:
[edit forwarding-options sampling output file]
user@host# set filename my-sample files 5 size 2m world-readable stamp;
Siempre que alterne la opción de marca de tiempo, se incluirá un nuevo encabezado en el archivo. Si define la stamp opción, se mostrará el Time campo.
# Apr 7 15:48:50 # Time Dest Src Dest Src Proto TOS Pkt Intf IP TCP # addr addr port port len num frag flags # Feb 1 20:31:21 # Dest Src Dest Src Proto TOS Pkt Intf IP TCP # addr addr port port len num frag flags
Operaciones de muestreo de tráfico de rastreo
Las operaciones de seguimiento rastrean todas las operaciones de muestreo de tráfico y las registran en un archivo de registro en el directorio /var/log . De forma predeterminada, este archivo se denomina /var/log/sampled. El tamaño de archivo predeterminado es 128K y se crean 10 archivos antes de sobrescribir el primero.
Para realizar un seguimiento de las operaciones de muestreo de tráfico, incluya la traceoptions instrucción en el nivel jerárquico [edit forwarding-options sampling] :
traceoptions {
no-remote-trace;
file
filename <files number> <size bytes> <match expression> <world-readable | no-world-readable>;
}
Ejemplos de muestreo de tráfico
- Ejemplo: muestreo de una única interfaz SONET/SDH
- Ejemplo: muestreo de todo el tráfico desde una única dirección IP
- Ejemplo: muestreo de todo el tráfico FTP
Ejemplo: muestreo de una única interfaz SONET/SDH
La siguiente configuración recopila información de muestreo estadístico de un pequeño porcentaje de todo el tráfico en una única interfaz SONET/SDH y la recopila en un archivo denominado sonet-samples.txt.
Cree el filtro:
[edit firewall family inet]
filter {
input sample-sonet {
then {
sample;
accept;
}
}
}
Aplique el filtro a la interfaz SONET/SDH:
[edit interfaces]
so-0/0/1 {
unit 0 {
family inet {
filter {
input sample-sonet;
}
address 10.127.68.254/32 {
destination 172.16.74.7;
}
}
}
}
Por último, configure el muestreo de tráfico:
[edit forwarding-options]
sampling {
input {
family inet {
rate 100;
run-length 2;
}
}
family inet {
output {
file {
filename sonet-samples.txt;
files 40;
size 5m;
}
}
}
}
Ejemplo: muestreo de todo el tráfico desde una única dirección IP
La siguiente configuración recopila información estadística sobre cada paquete que entra en el enrutador en un puerto Gigabit Ethernet específico que se origina en una única dirección IP de origen de 172.16.92.31, y la recopila en un archivo denominado samples-172-16-92-31.txt.
Cree el filtro:
[edit firewall family inet]
filter one-ip {
term get-ip {
from {
source-address 172.16.92.31;
}
then {
sample;
accept;
}
}
}
Aplique el filtro a la interfaz de Gigabit Ethernet:
[edit interfaces]
ge-4/1/1 {
unit 0 {
family inet {
filter {
input one-ip;
}
address 10.45.92.254;
}
}
}
Finalmente, recopilar estadísticas sobre todas las muestras candidatas; En este caso, recopile todas las estadísticas:
[edit forwarding-options]
sampling {
input {
family inet {
rate 1;
}
}
family inet {
output {
file {
filename samples-172-16-92-31.txt;
files 100;
size 100k;
}
}
}
}
Ejemplo: muestreo de todo el tráfico FTP
La siguiente configuración recopila información estadística sobre un porcentaje moderado de paquetes que utilizan el protocolo de transferencia de datos FTP en la ruta de salida de una interfaz T3 específica y recopila la información en un archivo denominado t3-ftp-traffic.txt.
Crear un filtro:
[edit firewall family inet]
filter ftp-stats {
term ftp-usage {
from {
destination-port [ftp ftp-data];
}
then {
sample;
accept;
}
}
}
Aplique el filtro a la interfaz T3:
[edit interfaces]
t3-7/0/2 {
unit 0 {
family inet {
filter {
input ftp-stats;
}
address 10.35.78.254/32 {
destination 10.35.78.4;
}
}
}
}
Finalmente, recopile estadísticas sobre el 10 por ciento de las muestras candidatas:
[edit forwarding-options]
sampling {
input {
family inet {
rate 10;
}
}
family inet {
output {
file {
filename t3-ftp-traffic.txt;
files 50;
size 1m;
}
}
}
}
Tabla de historial de cambios
La compatibilidad con las funciones viene determinada por la plataforma y la versión que esté utilizando. Utilice el Explorador de características para determinar si una característica es compatible con su plataforma.
pre-rewrite-tos instrucción en el
[edit forwarding-options sampling] nivel jerárquico.