Configuration de l’échantillonnage du trafic sur les routeurs MX, M et T Series
L’échantillonnage du trafic vous permet de copier le trafic vers une carte d’interface physique (PIC) qui effectue la comptabilisation des flux pendant que le routeur transfère le paquet vers sa destination d’origine. Vous pouvez configurer le routeur pour qu’il effectue l’échantillonnage dans l’un des trois sites suivants :
Sur le moteur de routage, à l’aide du processus échantilloné. Pour sélectionner cette méthode, utilisez un filtre (entrée ou sortie) avec un terme correspondant qui contient l’instruction
then sample
.Sur les services de surveillance, les services adaptatifs ou les pics multiservices.
Sur un chemin de données inline sans avoir besoin d’un concentrateur de ports dense (DPC). Pour effectuer cet échantillonnage actif en ligne, vous définissez une instance d’échantillonnage avec des propriétés spécifiques. Un concentrateur PIC flexible (FPC) ne peut prendre en charge qu’une seule instance ; pour chaque cas, l’échantillonnage pic-service ou l’échantillonnage en ligne est pris en charge par famille. L’échantillonnage inline prend en charge les modèles de collecte de flux IPFIX et version 9.
L’échantillonnage basé sur le moteur de routage n’est pas pris en charge sur les instances de routage et de transfert VPN (VRF).
Configuration du filtre de pare-feu pour l’échantillonnage du trafic
Pour configurer le filtre de pare-feu pour l’échantillonnage du trafic, vous devez effectuer les tâches suivantes :
Créez un filtre de pare-feu à appliquer aux interfaces logiques échantillonnées en incluant l’instruction
filter
au niveau de la[edit firewall family family-name]
hiérarchie. Dans l’instruction du filtrethen
, vous devez spécifier le modificateursample
d’action et l’actionaccept
.filter filter-name { term term-name { then { sample; accept; } } }
Pour plus d’informations sur les actions des filtres de pare-feu et les modificateurs d’action, consultez le Guide de l’utilisateur des stratégies de routage, des filtres de pare-feu et des politiques de trafic.
Appliquez le filtre aux interfaces sur lesquelles vous souhaitez échantillonner le trafic en incluant les
address
filter
et les déclarations au niveau de la[edit interfaces interface-name unit logical-unit-number family family-name]
hiérarchie :address address { } filter { input filter-name; }
Les conditions préalables suivantes s’appliquent aux routeurs M, MX et T Series lorsque vous configurez l’échantillonnage du trafic sur les interfaces et les filtres de pare-feu :
Si vous configurez un exemple d’action dans un filtre de pare-feu pour une famille inet ou inet6 sur une interface sans configurer les paramètres des options de transfert, des problèmes opérationnels peuvent survenir si vous configurez également des fonctionnalités de mise en miroir de port ou de flux-tap. Dans un tel scénario, tous les paquets qui correspondent au filtre de pare-feu sont mal envoyés au pic du service.
Si vous incluez l’instruction
then sample
au niveau de la[edit firewall family inet filter filter-name term term-name]
hiérarchie pour spécifier un exemple d’action dans un filtre de pare-feu pour les paquets IPv4, vous devez également inclure l’instructionfamily inet
au niveau de la[edit forwarding-options sampling]
hiérarchie ou l’instructioninstance instance-name family inet
au niveau de la[edit forwarding-options sampling]
hiérarchie. De même, si vous incluez l’instruction puissample
au niveau de la[edit firewall family inet6 filter filter-name term term-name]
hiérarchie pour spécifier un exemple d’action dans un filtre de pare-feu pour les paquets IPv6, vous devez également inclurefamily inet6
l’instruction au niveau de la[edit forwarding-options sampling]
hiérarchie ou l’instructioninstance instance-name family inet6
au niveau de la[edit forwarding-options sampling]
hiérarchie. Dans le cas contraire, une erreur de validation se produit lorsque vous tentez de valider la configuration.En outre, si vous configurez l’échantillonnage du trafic sur une interface logique en incluant les déclarations d’échantillonnage d’entrée ou de sortie d’échantillonnage au niveau de la
[edit interface interface-name unit logical-unit-number]
hiérarchie, vous devez également inclure l’instructionfamily inet | inet6
au niveau de la[edit forwarding-options sampling]
hiérarchie ou l’instructioninstance instance-name family inet | inet6
au niveau de la[edit forwarding-options sampling]
hiérarchie.
Configuration de l’échantillonnage du trafic sur une interface logique
Pour configurer l’échantillonnage du trafic sur n’importe quelle interface logique, activez l’échantillonnage et spécifiez un taux d’échantillonnage non nul en incluant l’énoncé d’échantillonnage au niveau de la [edit forwarding-options]
hiérarchie :
sampling { input { rate number; run-length number; max-packets-per-second number; maximum-packet-length bytes; }
Lorsque vous utilisez l’échantillonnage basé sur le moteur de routage, spécifiez la valeur seuil du trafic en incluant l’instruction max-packets-per-second
. La valeur est le nombre maximal de paquets à échantillonner, au-delà duquel le mécanisme d’échantillonnage commence à abandonner les paquets. La plage est de 0 à 65 535. Une valeur 0 indique au moteur de transfert de paquets de ne pas échantillonner de paquets. La valeur par défaut est 1000.
Lorsque vous configurez la surveillance active et spécifiez des services de surveillance, des services adaptatifs ou des PIC multiservices dans l’instruction output
, ou lorsque vous configurez l’échantillonnage inline, la max-packets-per-second
valeur est ignorée.
Spécifiez le taux d’échantillonnage en définissant les valeurs pour rate
et run-length
(voir figure 1).

Ne configurez pas l’échantillonnage entrant sur des interfaces logiques sur lesquelles la surveillance de flux basée sur ms-
PIC est activée, ce qui provoque un comportement de surveillance de flux indésirable et peut entraîner un échantillonnage répété d’un seul paquet. À partir de la version 15.1 de Junos OS, une erreur de validation se produit lorsque vous essayez de configurer l’échantillonnage du trafic entrant sur cette interface. Dans Junos OS version 14.2 et versions antérieures, l’erreur de validation ne se produit pas, mais vous ne devez pas configurer l’échantillonnage du trafic entrant sur cette interface.
Si la surveillance des flux basée sur PIC est activée sur une interface ms-fpc/pic/port.logical-unit , une erreur de validation se produit lorsque vous tentez de configurer l’échantillonnage du trafic entrant sur cette interface. Cette erreur se produit parce qu’une combinaison d’échantillonnage entrant et d’opérations de surveillance de flux basées sur pic sur une interface logique entraîne un ms-
comportement de surveillance de flux indésirable et peut entraîner un échantillonnage répété d’un seul paquet. Vous ne devez pas configurer l’échantillonnage entrant sur ms-
des interfaces logiques sur lesquelles la surveillance de flux basée sur PIC est activée.
L’instruction rate
spécifie le ratio de paquets à échantillonner. Par exemple, si vous configurez un taux de 10, x le nombre de paquets sur 10 est échantilloné, où x= durée d’exécution + 1. Par défaut, le taux est de 0, ce qui signifie qu’aucun trafic n’est échantilloné.
L’instruction run-length
spécifie le nombre de paquets correspondants à échantillon après l’événement initial de déclenchement d’un paquet. Par défaut, la durée d’exécution est de 0, ce qui signifie qu’aucun autre trafic n’est échantilloné après l’événement déclencheur. La gamme est de 0 à 20. La configuration d’une durée d’exécution supérieure à 0 vous permet d’échantillonner des paquets en suivant ceux déjà échantillonés.
Les run-length
instructions et maximum-packet-length
les instructions de configuration ne sont pas prises en charge sur les routeurs MX80.
Si vous n’incluez pas l’énoncé, l’échantillonnage input
est désactivé.
Pour collecter les paquets échantillonnées dans un fichier, incluez l’instruction file
au niveau de la [edit forwarding-options sampling output]
hiérarchie. Les formats de fichiers de sortie sont abordés plus loin dans le chapitre.
Désactiver l’échantillonnage du trafic
Pour désactiver explicitement l’échantillonnage du trafic sur le routeur, incluez l’énoncé disable
au niveau de la [edit forwarding-options sampling]
hiérarchie :
disable;
Échantillonnage une seule fois
Pour échantillonner explicitement un paquet pour une surveillance active une seule fois, incluez l’instruction sample-once
au niveau de la [edit forwarding-options sampling]
hiérarchie :
sample-once;
Cette option évite la duplication des paquets dans les cas où l’échantillonnage est activé à la fois au niveau des interfaces d’entrée et de sortie, et simplifie l’analyse du trafic échantilloné.
Conservation de la valeur de toS prérewrite pour les paquets sortants échantillonnés ou mis en miroir
À partir de la version 14.1 de Junos OS, vous pouvez conserver la valeur prénormalisée de type de service (ToS) dans les paquets sortants échantillonnés ou mis en miroir. Incluez l’instruction pre-rewrite-tos
au niveau de la [edit forwarding-options sampling]
hiérarchie.
Sur les interfaces MPC, vous pouvez configurer la réécriture ToS soit à l’aide d’une configuration de classe de service (CoS) en incluant l’instruction rewrite-rules dscp rule_name
au niveau de la hiérarchie, soit à l’aide [edit class-of-service interfaces interface-name unit logical-unit-number]
d’une configuration de filtre de pare-feu en incluant l’instruction dscp
au niveau de la [edit firewall family family-name filter filter-name term term-name then]
hiérarchie. Si la réécriture ToS est configurée, les copies sortantes en miroir ou échantillonnées contiennent les valeurs ToS post-réécriture par défaut. Avec la pre-rewrite-tos
configuration, vous pouvez conserver la valeur ToS prérewrite dans les paquets échantillonnés ou mis en miroir.
Si la réécriture ToS est configurée sur l’interface de sortie à l’aide à la fois de la configuration CoS et du filtre de pare-feu, et si l’instruction
pre-rewrite-tos
est également configurée, alors les paquets échantillonés sortants contiennent la valeur DSCP définie à l’aide de la configuration du filtre de pare-feu. Toutefois, si l’instructionpre-rewrite-tos
n’est pas configurée, les paquets échantillonés sortants contiennent la valeur DSCP définie par la configuration CoS.Avec l’instruction
pre-rewrite-tos
, vous pouvez configurer la conservation des valeurs toS de prénormalisation uniquement pour l’échantillonnage effectué sousfamily inet
etfamily inet6
.Cette fonctionnalité ne peut pas être configurée au niveau de la
[edit logical-systems]
hiérarchie. Il ne peut être configuré qu’au niveau global dans le cadre de laforwarding-option
configuration.Lorsque la réécriture ToS est configurée à l’aide d’un filtre de pare-feu sur les interfaces d’entrée et de sortie, les paquets échantillonés de sortie contiennent la valeur DSCP définie par la configuration de réécriture ToS entrante si l’instruction
pre-rewrite-tos
est configurée. Toutefois, si l’instructionpre-rewrite-tos
n’est pas configurée, les paquets échantillonés de sortie contiennent la valeur DSCP définie par la configuration de réécriture toS pour le filtre de pare-feu sortant.Si l’instruction
pre-rewrite-tos
est configurée et qu’une opération de désactivation ou de suppression est effectuée au niveau hiérarchique,pre-rewrite-tos
la[edit forwarding-options]
configuration reste active. Pour désactiver lapre-rewrite-tos
configuration d’un tel cas, vous devez désactiver ou supprimer explicitement l’instructionpre-rewrite-tos
au niveau de la[edit forwarding-options sampling]
hiérarchie avant d’effectuer une opération de désactivation ou de suppression au niveau de la[edit forwarding-options]
hiérarchie.
Configuration de la sortie d’échantillonnage du trafic
Pour configurer la sortie d’échantillonnage du trafic, incluez les déclarations suivantes au niveau de la [edit forwarding-options sampling family (inet | inet6 | mpls) output]
hiérarchie :
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); }
Pour configurer la surveillance des flux en ligne sur les routeurs MX Series, incluez l’instruction inline-jflow
au niveau de la [edit forwarding-options sampling instance instance-name family (inet | inet6 | mpls) output]
hiérarchie. L’échantillonnage inline prend exclusivement en charge un nouveau format appelé IP_FIX qui utilise UDP comme protocole de transport. Lorsque vous configurez l’échantillonnage inline, vous devez inclure l’instruction version-ipfix
au niveau de la [edit forwarding-options sampling instance instance-name family (inet | inet6 | mpls) output flow-server address]
hiérarchie et également au niveau de la [edit services flow-monitoring]
hiérarchie. Pour plus d’informations sur la configuration de la surveillance des flux en ligne, consultez configuration de la surveillance active des flux inline à l’aide de routeurs, de commutateurs ou de NFX250.
Pour diriger le trafic échantillonlé vers une interface de surveillance des flux, incluez l’instruction interface
. Les engine-id
déclarations et engine-type
spécifient l’identité et les numéros de type de l’interface; ils sont générés dynamiquement en fonction du concentrateur PIC flexible (FPC), des numéros PIC et des emplacements, ainsi que du type de châssis. L’instruction source-address
spécifie la source du trafic.
À partir de la version 19.3R1 de Junos OS, pour configurer la surveillance inline des flux sur Juniper Sky Advanced Threat Prevention (ATP), incluez l’instruction flow-server
au niveau de la [edit forwarding-options sampling instance instance-name family (inet | inet6 | mpls) output]
hiérarchie. L’échantillonnage inline prend exclusivement en charge un nouveau format appelé IP_FIX qui utilise UDP comme protocole de transport. Lorsque vous configurez l’échantillonnage inline, vous devez inclure l’instruction version-ipfix
au niveau de la [edit forwarding-options sampling instance instance-name family (inet | inet6 | mpls) output flow-server address]
hiérarchie et également au niveau de la [edit services flow-monitoring]
hiérarchie.
Pour configurer la sortie d’échantillonnage de flux version 9, vous devez inclure l’instruction template
au niveau de la [edit forwarding-options sampling output version9]
hiérarchie. Pour plus d’informations sur cflowd, voir Activation de l’agrégation de flux.
L’instruction aggregate-export-interval
est décrite dans Configuration de la comptabilité de rejet, et les flow-active-timeout
et flow-inactive-timeout
les déclarations sont décrites dans Configuration de la surveillance des flux.
Les résultats d’échantillonnage du trafic sont automatiquement enregistrés dans un fichier du répertoire/var/tmp . Pour collecter les paquets échantillonés dans un fichier, incluez l’instruction file
au niveau de la [edit forwarding-options sampling family inet output]
hiérarchie :
file { disable; filename filename; files number; size bytes; (stamp | no-stamp); (world-readable | no-world-readable); }
Format de sortie d’échantillonnage du trafic
La sortie d’échantillonnage du trafic est enregistrée dans un fichier texte ASCII. Voici un exemple d’échantillonnage du trafic enregistré dans un fichier du répertoire/var/tmp . Chaque ligne du fichier de sortie contient des informations pour un paquet échantilloné. Vous pouvez éventuellement afficher un horodatage pour chaque ligne.
Les en-têtes de colonne sont répétés après chaque groupe de 1000 paquets.
# 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
Pour définir l’option horodatage du fichier my-sample
, saisissez les informations suivantes :
[edit forwarding-options sampling output file] user@host# set filename my-sample files 5 size 2m world-readable stamp;
Chaque fois que vous activez l’option horodatage, un nouvel en-tête est inclus dans le fichier. Si vous définissez l’option stamp
, le Time
champ s’affiche.
# 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
Suivi des opérations d’échantillonnage du trafic
Les opérations de traçage suivent toutes les opérations d’échantillonnage du trafic et les enregistrent dans un fichier journal dans le répertoire/var/journal . Par défaut, ce fichier est nommé /var/log/sampled. La taille de fichier par défaut est 128 K et 10 fichiers sont créés avant que le premier ne soit écrasé.
Pour suivre les opérations d’échantillonnage du trafic, incluez l’instruction traceoptions
au niveau de la [edit forwarding-options sampling]
hiérarchie :
traceoptions { no-remote-trace; file filename <files number> <size bytes> <match expression> <world-readable | no-world-readable>; }
Exemples d’échantillonnage du trafic
- Exemple : échantillonnage d’une interface SONET/SDH unique
- Exemple : échantillonnage de tout le trafic à partir d’une seule adresse IP
- Exemple : échantillonnage de tout le trafic FTP
Exemple : échantillonnage d’une interface SONET/SDH unique
La configuration suivante recueille des informations d’échantillonnage statistiques provenant d’un petit pourcentage de tout le trafic sur une seule interface SONET/SDH et les collecte dans un fichier nommé sonet-samples.txt
.
Créez le filtre :
[edit firewall family inet] filter { input sample-sonet { then { sample; accept; } } }
Appliquez le filtre à l’interface 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; } } } }
Enfin, configurez l’échantillonnage du trafic :
[edit forwarding-options] sampling { input { family inet { rate 100; run-length 2; } } family inet { output { file { filename sonet-samples.txt; files 40; size 5m; } } } }
Exemple : échantillonnage de tout le trafic à partir d’une seule adresse IP
La configuration suivante recueille des informations statistiques sur chaque paquet entrant dans le routeur sur un port Gigabit Ethernet spécifique provenant d’une adresse IP source unique de 172.16.92.31
, et les collecte dans un fichier nommé samples-172-16-92-31.txt
.
Créez le filtre :
[edit firewall family inet] filter one-ip { term get-ip { from { source-address 172.16.92.31; } then { sample; accept; } } }
Appliquez le filtre à l’interface Gigabit Ethernet :
[edit interfaces] ge-4/1/1 { unit 0 { family inet { filter { input one-ip; } address 10.45.92.254; } } }
Enfin, recueillir des statistiques sur tous les échantillons de candidats ; dans ce cas, rassemblez toutes les statistiques :
[edit forwarding-options] sampling { input { family inet { rate 1; } } family inet { output { file { filename samples-172-16-92-31.txt; files 100; size 100k; } } } }
Exemple : échantillonnage de tout le trafic FTP
La configuration suivante recueille des informations statistiques sur un pourcentage modéré de paquets à l’aide du protocole de transfert de données FTP dans le chemin de sortie d’une interface T3 spécifique, et collecte les informations dans un fichier nommé t3-ftp-traffic.txt
.
Créer un filtre :
[edit firewall family inet] filter ftp-stats { term ftp-usage { from { destination-port [ftp ftp-data]; } then { sample; accept; } } }
Appliquez le filtre à l’interface 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; } } } }
Enfin, rassemblez des statistiques sur 10 % des échantillons de candidats :
[edit forwarding-options] sampling { input { family inet { rate 10; } } family inet { output { file { filename t3-ftp-traffic.txt; files 50; size 1m; } } } }
pre-rewrite-tos
au niveau de la
[edit forwarding-options sampling]
hiérarchie.