Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Configurer les opérations à distance SNMP

Présentation des opérations à distance SNMP

Une opération à distance SNMP est un processus sur le routeur qui peut être contrôlé à distance à l’aide de SNMP. Junos OS prend actuellement en charge deux opérations à distance SNMP : la MIB Ping et la MIB Traceroute, définies dans la RFC 2925. À l’aide de ces MIB, un client SNMP du système de gestion de réseau (NMS) peut :

  • Lancer une série d’opérations sur un routeur

  • Recevoir une notification lorsque les opérations sont terminées

  • Rassembler les résultats de chaque opération

Junos OS fournit également des fonctionnalités étendues à ces MIB dans les extensions jnxPingMIB spécifiques à l’entreprise de Juniper Networks et jnxTraceRouteMIB. Pour plus d’informations sur jnxPingMIB et , consultez MIB PING et jnxTraceRouteMIBMIB Traceroute.https://www.juniper.net/documentation/en_US/junos16.1/topics/reference/mibs/mib-jnx-ping.txt

Cette rubrique couvre les sections suivantes :

Configuration requise pour les opérations à distance SNMP

Pour utiliser les opérations à distance SNMP, vous devez avoir de l’expérience avec les conventions SNMP. Vous devez également configurer Junos OS pour autoriser l’utilisation des MIB d’opération à distance.

Avant de démarrer la MIB ping, reportez-vous à la section Démarrage d’un test ping.

Avant de démarrer la MIB Traceroute, reportez-vous à la section Démarrage d’un test Traceroute.

Définition des vues SNMP

Toutes les MIB d’opérations distantes prises en charge par Junos OS nécessitent que les clients SNMP disposent de privilèges en lecture-écriture. La configuration SNMP par défaut de Junos OS ne fournit pas aux clients une chaîne de communauté avec de tels privilèges.

Pour définir des privilèges de lecture-écriture pour une chaîne de communauté SNMP, incluez les instructions suivantes au niveau de la [edit snmp] hiérarchie :

Exemple : Définition des vues SNMP

Pour créer une communauté nommée remote-community qui accorde aux clients SNMP un accès en lecture-écriture à la MIB Ping, à la MIB, à la MIB Traceroute et jnxTraceRoute à la MIB, jnxPing incluez les instructions suivantes au niveau de la [edit snmp] hiérarchie :

Pour plus d’informations sur l’instruction, reportez-vous community à la section Configurer les communautés SNMP et communauté (SNMP).

Pour plus d’informations sur l’instruction, reportez-vous aux sections , view Configurer les vues MIB(communauté SNMP) et view (configuration d’uneview vue MIB).

Définir une notification d’interruption pour les opérations à distance

Outre la configuration de la base MIB des opérations distantes pour la notification d’interruption, vous devez également configurer Junos OS. Vous devez spécifier un hôte cible pour les interruptions d’opérations à distance.

Pour configurer la notification d’interruption pour les opérations à distance SNMP, incluez les instructions et targets au niveau de la categories[edit snmp trap-group group-name] hiérarchie :

Exemple : Définir une notification d’interruption pour les opérations à distance

Spécifiez 172.17.12.213 en tant qu’hôte cible pour toutes les interruptions d’opérations distantes :

Pour plus d’informations sur les groupes d’interruptions, reportez-vous à la section Configurer les groupes d’interruptions SNMP.

Utiliser des index de chaîne de longueur variable

Tous les objets tabulaires des MIB d’opérations distantes pris en charge par Junos OS sont indexés par deux variables de type SnmpAdminString. Pour plus d’informations sur , reportez-vous à SnmpAdminStringla RFC 2571.

Junos OS ne gère SnmpAdminString pas différemment du type de variable de chaîne d’octet. Cependant, les index sont définis comme étant de longueur variable. Lorsqu’une chaîne de longueur variable est utilisée comme index, la longueur de la chaîne doit être incluse dans l’identificateur d’objet (OID).

Exemple : Définir des index de chaîne de longueur variable

Pour référencer la pingCtlTargetAddress variable d’une ligne dans pingCtlTable where pingCtlOwnerIndex is et pingCtlTestName is bobtest, utilisez l’identificateur d’objet (OID) suivant :

Pour plus d’informations sur la définition de la MIB Ping, consultez RFC 2925.

Activer la journalisation

Le code d’erreur SNMP renvoyé en réponse aux requêtes SNMP ne peut fournir qu’une description générique du problème. Les descriptions d’erreurs consignées par le processus d’opérations à distance peuvent souvent fournir des informations plus détaillées sur le problème et vous aider à le résoudre plus rapidement. Cette journalisation n’est pas activée par défaut. Pour activer la journalisation, incluez l’instruction flag general au niveau de la [edit snmp traceoptions] hiérarchie :

Si le processus d’opérations à distance reçoit une requête SNMP qu’il ne peut pas prendre en charge, l’erreur est consignée dans le /var/log/rmopd fichier. Pour surveiller ce fichier journal, exécutez la monitor start rmopd commande en mode opérationnel de l’interface de ligne de commande (CLI).

Utiliser la MIB ping pour les périphériques de surveillance à distance exécutant Junos OS

Un test ping est utilisé pour déterminer si les paquets envoyés par l’hôte local atteignent l’hôte désigné et sont renvoyés. Si l’hôte désigné peut être atteint, le test ping fournit le temps d’aller-retour approximatif des paquets. Les résultats des tests ping sont stockés dans pingResultsTable et pingProbeHistoryTable.

La RFC 2925 est la description officielle de la MIB Ping en détail et fournit la définition MIB ASN.1 de la MIB Ping.

Démarrer un test ping

Utilisez cette rubrique pour lancer un test ping ICMP. Il y a deux façons de lancer un test ping : à l’aide de plusieurs unités de données de protocole (PDU) Set ou d’une seule PDU Set.

Avant de commencer

Avant de commencer un test ping, configurez une vue MIB ping. Cela autorise les requêtes SNMP Set sur pingMIB. Pour plus d’informations, reportez-vous à la section Configurer les vues MIB.

À partir de Junos OS version 17.2X75-D100, vous devez configurer RPM avant de lancer un ping ICMP. Configurez RPM à l’aide de la edit services rpm commande.

Démarrer un test ping

Pour démarrer un test ping, créez une ligne dans pingCtlTable et définissez-la pingCtlAdminStatus sur enabled. Les informations minimales qui doivent être spécifiées avant le réglage pingCtlAdminStatus sur enabled sont les suivantes :

  • pingCtlOwnerIndexSnmpAdminString

  • pingCtlTestNameSnmpAdminString

  • pingCtlTargetAddressInetAddress

  • pingCtlTargetAddressTypeInetAddressType

  • pingCtlRowStatusRowStatus

Pour toutes les autres valeurs, les valeurs par défaut sont choisies, sauf indication contraire. pingCtlOwnerIndex et pingCtlTestName sont utilisés comme index, de sorte que leurs valeurs sont spécifiées dans le cadre de l’identificateur d’objet (OID). Pour créer une ligne, définissez pingCtlRowStatus sur ou createAndGo sur createAndWait une ligne qui n’existe pas déjà. La valeur for activepingCtlRowStatus indique que toutes les informations nécessaires ont été fournies et que le test peut commencer ; pingCtlAdminStatus elle peut être définie sur enabled. Une requête SNMP Set définie pingCtlRowStatus sur active échoue si les informations nécessaires dans la ligne ne sont pas spécifiées ou sont incohérentes.

Pour plus d’informations sur la configuration d’une vue, reportez-vous à la section Définition des vues SNMP.

Lisez les sections suivantes pour savoir comment classer les variables.

Utiliser plusieurs PDU

Vous pouvez utiliser plusieurs PDU de requête (plusieurs PDU, avec un ou plusieurs Set varbinds chacun) et définir les variables suivantes dans cet ordre pour démarrer le test :

  • pingCtlRowStatus À createAndWait

  • Toutes les variables de test appropriées

  • pingCtlRowStatus À active

    Junos OS vérifie désormais que toutes les informations nécessaires à l’exécution d’un test ont été spécifiées.

  • pingCtlAdminStatus À enabled

Utilisation d’une seule unité de distribution d’alimentation

Vous pouvez utiliser une seule Set PDU de requête (une PDU, avec plusieurs varbinds) pour définir les variables suivantes afin de démarrer le test :

  • pingCtlRowStatus À createAndGo

  • Toutes les variables de test appropriées

  • pingCtlAdminStatus À enabled

Surveiller un test ping en cours

Lorsque pingCtlAdminStatus la valeur est , enabledprocédez comme suit avant que l’accusé de réception de la requête SNMP Set ne soit renvoyé au client :

  • pingResultsEntry est créée si elle n’existe pas déjà.

  • pingResultsOperStatus Transitions vers enabled.

Pour plus d’informations, consultez les sections suivantes :

pingResultsTable

Pendant que le test est en cours d’exécution, pingResultsEntry garde une trace de l’état du test. La valeur de pingResultsOperStatus est pendant que le test est enabled en cours d’exécution et disabled lorsqu’il s’est arrêté.

La valeur de pingCtlAdminStatus reste jusqu’à enabled ce que vous la définissiez sur disabled. Ainsi, pour obtenir le statut du test, vous devez examiner pingResultsOperStatus.

La pingCtlFrequency variable peut être utilisée pour planifier plusieurs tests pour un pingCtlEntry. Une fois qu’un test se termine normalement (vous n’avez pas arrêté le test) et que le nombre de secondes s’est écoulé, le pingCtlFrequency test est redémarré comme si vous aviez réglé pingCtlAdminStatus sur enabled. Si vous intervenez à tout moment entre des tests répétés (vous définissez pingCtlAdminStatus sur ou pingCtlRowStatus sur disablednotInService), la fonction de répétition est désactivée jusqu’à ce qu’un autre test soit démarré et se termine normalement. La valeur 0 pour pingCtlFrequency indique que cette fonction de répétition n’est pas active.

pingResultsIpTgtAddret pingResultsIpTgtAddrType sont définies sur la valeur de l’adresse de destination résolue lorsque la valeur de dnspingCtlTargetAddressType est . Lorsqu’un test démarre avec succès et pingResultsOperStatus passe à enabled:

  • pingResultsIpTgtAddr est défini sur null-string.

  • pingResultsIpTgtAddrType est défini sur unknown.

pingResultsIpTgtAddr et pingResultsIpTgtAddrType ne sont pas définies tant qu’elles n’ont pingCtlTargetAddress pas été résolues en une adresse numérique. Pour récupérer ces valeurs, interrogez pingResultsIpTgtAddrType toute valeur autre qu’après unknown avoir défini pingCtlAdminStatus avec succès la valeur .enabled

Au début d’un test, pingResultsSentProbes est initialisé à 1 et la première sonde est envoyée. augmente de 1 à chaque fois qu’une sonde est envoyée. pingResultsSentProbes

Au fur et à mesure que le test s’exécute, toutes les secondes, les pingCtlTimeOut événements suivants se produisent :

  • pingProbeHistoryStatuscar l’in pingProbeHistoryTable correspondant pingProbeHistoryEntry est défini sur requestTimedOut.

  • Un pingProbeFailed piège est généré, si nécessaire.

  • Une tentative est faite pour envoyer la sonde suivante.

    REMARQUE :

    Il n’existe pas plus d’une sonde en suspens pour chaque test.

Pour chaque sonde, vous pouvez recevoir l’un des résultats suivants :

  • L’hôte cible accuse réception de la sonde avec une réponse.

  • La sonde expire ; Il n’y a pas de réponse de l’hôte cible accusant réception de la sonde.

  • La sonde n’a pas pu être envoyée.

Chaque résultat de sonde est enregistré au format pingProbeHistoryTable. Pour plus d’informations sur , reportez-vous à pingProbeHistoryTablela section pingProbeHistoryTable.

Lorsqu’une réponse est reçue de l’hôte cible accusant réception de la sonde en cours :

  • pingResultsProbeResponses augmente de 1.

  • Les variables suivantes sont mises à jour :

    • pingResultsMinRtt—Temps minimum d’aller-retour

    • pingResultsMaxRtt—Temps d’aller-retour maximal

    • pingResultsAverageRtt—Temps moyen aller-retour

    • pingResultsRttSumOfSquares—Somme des carrés des temps d’aller-retour

    • pingResultsLastGoodProbe—Horodatage de la dernière réponse

      REMARQUE :

      Seules les sondes qui génèrent une réponse de l’hôte cible contribuent au calcul des variables de temps d’aller-retour (RTT).

Lorsqu’une réponse à la dernière sonde est reçue ou que la dernière sonde a expiré, le test est terminé.

pingProbeHistoryTable

Une entrée dans pingProbeHistoryTable (pingProbeHistoryEntry) représente un résultat de sonde et est indexée par trois variables :

  • Les deux premières variables, et pingCtlTestName, sont les mêmes que celles utilisées pour pingCtlTable, pingCtlOwnerIndex qui identifie le test.

  • La troisième variable, , pingProbeHistoryIndexest un compteur permettant d’identifier de manière unique chaque résultat de sonde.

Le nombre maximum d’entrées pingProbeHistoryTable créées pour un test donné est limité par pingCtlMaxRows. Si pingCtlMaxRows est défini sur 0, aucune entrée n’est pingProbeHistoryTable créée pour ce test.

Chaque fois qu’un résultat de sonde est déterminé, un est créé et ajouté à . du nouveau pingProbeHistoryEntry est supérieur de 1 au dernier pingProbeHistoryEntry ajouté à pingProbeHistoryTablepingProbeHistoryTablepour ce test. est pingProbeHistoryEntry défini sur 1 s’il s’agit de la première entrée de la table. pingProbeHistoryIndexpingProbeHistoryIndex Le même test peut être exécuté plusieurs fois, de sorte que cet indice ne cesse de croître.

Si pingProbeHistoryIndex le dernier pingProbeHistoryEntry ajout est 0xFFFFFFFF, le suivant pingProbeHistoryEntry ajouté est pingProbeHistoryIndex défini sur 1.

Les éléments suivants sont enregistrés pour chaque résultat de sonde :

  • pingProbeHistoryResponse—Temps de vie (TTL)

  • pingProbeHistoryStatus—Que s’est-il passé et pourquoi ?

  • pingProbeHistoryLastRC: valeur du code de retour (RC) du paquet ICMP

  • pingProbeHistoryTime: horodatage lorsque le résultat de la sonde a été déterminé

Lorsqu’une sonde ne peut pas être envoyée, pingProbeHistoryResponse prend la valeur 0. Lorsqu’une sonde expire, pingProbeHistoryResponse correspond à la différence entre le moment où l’on a découvert que la sonde avait expiré et l’heure à laquelle la sonde a été envoyée.

Générer des pièges

Pour qu’une interruption soit générée, le bit approprié doit pingCtlTrapGeneration être défini. Vous devez également configurer un groupe d’interruptions pour recevoir des opérations à distance. Une interruption est générée dans les conditions suivantes :

  • Une pingProbeFailed interruption est générée chaque fois qu’un pingCtlTrapProbeFailureFilter nombre de sondes consécutives échouent pendant le test.

  • Une pingTestFailed interruption est générée lorsque le test est terminé et qu’au moins pingCtlTrapTestFailureFilter un certain nombre de sondes échouent.

  • Une pingTestCompleted interruption est générée à la fin du test et moins de pingCtlTrapTestFailureFilter sondes échouent.

    REMARQUE :

    Une sonde est considérée comme une défaillance lorsque pingProbeHistoryStatus le résultat de la sonde est autre chose que responseReceived.

Pour plus d’informations sur la configuration d’un groupe d’interruptions pour recevoir des opérations à distance, reportez-vous à la section Configuration des groupes d’interruptions SNMP et exemple : Définition d’une notification d’interruption pour les opérations à distance.

Recueillir les résultats des tests Ping

Vous pouvez soit interroger pingResultsOperStatus pour savoir quand le test est terminé, soit demander qu’une interruption soit envoyée lorsque le test est terminé. Pour plus d’informations sur pingResultsOperStatus, consultez pingResultsTable. Pour plus d’informations sur les interruptions MIB ping, consultez Génération d’interruptions.

Les statistiques calculées puis stockées sont pingResultsTable les suivantes :

  • pingResultsMinRtt—Temps minimum d’aller-retour

  • pingResultsMaxRtt—Temps d’aller-retour maximal

  • pingResultsAverageRtt—Temps moyen aller-retour

  • pingResultsProbeResponses—Nombre de réponses reçues

  • pingResultsSentProbes: nombre de tentatives d’envoi de sondes

  • pingResultsRttSumOfSquares—Somme des carrés des temps d’aller-retour

  • pingResultsLastGoodProbe—Horodatage de la dernière réponse

Vous pouvez également consulter pingProbeHistoryTable pour obtenir des informations plus détaillées sur chaque sonde. L’index utilisé pour pingProbeHistoryTable commence à 1, passe à 0xFFFFFFFF et s’enroule à nouveau à 1.

Par exemple, si pingCtlProbeCount est égal à 15 et vaut 5, alors, à pingCtlMaxRows la fin de la première exécution de ce test, pingProbeHistoryTable contient des sondes comme celles Tableau 1de .

Tableau 1 : Résultats dans pingProbeHistoryTable : Après le premier test ping

pingProbeHistoryIndex

Résultat de la sonde

11

Résultat de la 11ème sonde de l’essai 1

12

Résultat de la 12ème sonde de l’essai 1

13

Résultat de la 13ème sonde de l’essai 1

14

Résultat de la 14ème sonde de l’essai 1

15

Résultat de la 15ème sonde de l’essai 1

À l’issue de la première sonde de la deuxième série de ce test, pingProbeHistoryTable contiendra des sondes similaires à Tableau 2celles de .

Tableau 2 : Résultats dans pingProbeHistoryTable : Après la première sonde du deuxième test

pingProbeHistoryIndex

Résultat de la sonde

12

Résultat de la 12ème sonde de l’essai 1

13

Résultat de la 13ème sonde de l’essai 1

14

Résultat de la 14ème sonde de l’essai 1

15

Résultat de la 15ème sonde de l’essai 1

16

Résultat de la 1ère sonde de l’essai 2

À l’issue de la deuxième exécution de ce test, pingProbeHistoryTable contiendra des sondes semblables à celles Tableau 3de .

Tableau 3 : Résultats dans pingProbeHistoryTable : Après le deuxième test ping

pingProbeHistoryIndex

Résultat de la sonde

26

Résultat de la 11ème sonde de la 2ème série

27

Résultat de la 12ème sonde de l’essai 2

28

Résultat de la 13ème sonde de l’essai 2

29

Résultat de la 14ème sonde de l’essai 2

30

Résultat de la 15ème sonde de l’essai 2

Les entrées d’historique peuvent être supprimées de la MIB de deux manières :

  • Plus d’entrées d’historique pour un test donné sont ajoutées et le nombre d’entrées d’historique dépasse pingCtlMaxRows. Les entrées d’historique les plus anciennes sont supprimées pour faire place aux nouvelles.

  • Vous supprimez l’intégralité du test en définissant pingCtlRowStatus sur destroy.

Arrêter un test ping

Pour arrêter un test actif, définissez pingCtlAdminStatus la valeur disabledsur . Pour arrêter le test et supprimer son , ainsi que tous les pingCtlEntrypingHistoryEntry objets de la MIB, pingResultsEntrydéfinissez pingCtlRowStatus la valeur destroy.

Interpréter les variables ping

Cette section clarifie les plages pour les variables suivantes qui ne sont pas explicitement spécifiées dans la base de données MIB Ping :

  • pingCtlDataSize: la valeur de cette variable représente la taille totale de la charge utile (en octets) d’un paquet de sonde sortant. Cette charge utile inclut l’horodatage (8 octets) utilisé pour chronométrer la sonde. Ceci est cohérent avec la définition de (valeur maximale de pingCtlDataSize 65 507) et l’application ping standard.

    Si la valeur de est comprise entre 0 et 8 inclus, elle est ignorée et la charge utile est de pingCtlDataSize 8 octets (horodatage). La MIB Ping suppose que toutes les sondes sont temporisées, de sorte que la charge utile doit toujours inclure l’horodatage.

    Par exemple, si vous souhaitez ajouter 4 octets supplémentaires de charge utile au paquet, vous devez définir pingCtlDataSize sur 12.

  • pingCtlDataFill—Les 8 premiers octets du segment de données du paquet correspondent à l’horodatage. Après cela, le motif est utilisé dans la pingCtlDataFill répétition. Le modèle par défaut (lorsqu’il pingCtlDataFill n’est pas spécifié) est (00, 01, 02, 03 ... FF, 00, 01, 02, 03 ... FF, ...).

  • pingCtlMaxRows—La valeur maximale est 255.

  • pingMaxConcurrentRequests: la valeur maximale est 500.

  • pingCtlTrapProbeFailureFilter et pingCtlTrapTestFailureFilter—Une valeur de 0 pour pingCtlTrapProbeFailureFilter ou pingCtlTrapTestFailureFilter n’est pas bien définie par la MIB Ping. Si pingCtlTrapProbeFailureFilter vaut 0, pingProbeFailed les interruptions ne seront en aucun cas générées pour le test. Si pingCtlTrapTestFailureFilter vaut 0, pingTestFailed les interruptions ne seront en aucun cas générées pour le test.

Utiliser la base de données MIB Traceroute pour les équipements de surveillance à distance exécutant Junos OS

Un test de traceroute approxime le chemin emprunté par les paquets de l’hôte local à l’hôte distant.

La RFC 2925 est la description détaillée et officielle de la MIB Traceroute et fournit la définition ASN.1 de la MIB Traceroute.

Démarrer un test Traceroute

Avant de commencer un test traceroute, configurez une vue MIB Traceroute. Cela autorise les requêtes SNMP Set sur tracerouteMIB. Pour démarrer un test, créez une ligne dans traceRouteCtlTable et définissez-la traceRouteCtlAdminStatus sur enabled. Vous devez spécifier au moins les éléments suivants avant de définir traceRouteCtlAdminStatusenabledsur :

  • traceRouteCtlOwnerIndexSnmpAdminString

  • traceRouteCtlTestNameSnmpAdminString

  • traceRouteCtlTargetAddressInetAddress

  • traceRouteCtlRowStatusRowStatus

Pour toutes les autres valeurs, les valeurs par défaut sont choisies, sauf indication contraire. traceRouteCtlOwnerIndex et traceRouteCtlTestName sont utilisés comme indice, de sorte que leurs valeurs sont spécifiées dans le cadre de l’OID. Pour créer une ligne, définissez traceRouteCtlRowStatus sur ou createAndGo sur createAndWait une ligne qui n’existe pas déjà. La valeur for activetraceRouteCtlRowStatus indique que toutes les informations nécessaires ont été spécifiées et que le test peut commencer ; traceRouteCtlAdminStatus elle peut être définie sur enabled. Une requête SNMP Set définie traceRouteCtlRowStatus sur active échoue si les informations nécessaires dans la ligne ne sont pas spécifiées ou sont incohérentes. Pour plus d’informations sur la configuration d’une vue, reportez-vous à la section Définition des vues SNMP.

Il existe deux façons de démarrer un test traceroute :

Utiliser plusieurs PDU

Vous pouvez utiliser plusieurs PDU de requête (plusieurs PDU, avec un ou plusieurs Set varbinds chacun) et définir les variables suivantes dans cet ordre pour démarrer le test :

  • traceRouteCtlRowStatus pour créeretattendre

  • Toutes les variables de test appropriées

  • traceRouteCtlRowStatus À active

    Junos OS vérifie maintenant que toutes les informations nécessaires à l’exécution d’un test ont été spécifiées.

  • traceRouteCtlAdminStatus À enabled

Utilisation d’une seule unité de distribution d’alimentation

Vous pouvez utiliser une seule Set PDU de requête (une PDU, avec plusieurs varbinds) pour définir les variables suivantes afin de démarrer le test :

  • traceRouteCtlRowStatus À createAndGo

  • Toutes les variables de test appropriées

  • traceRouteCtlAdminStatus à activé

Surveiller un test traceroute en cours d’exécution

Lorsque traceRouteCtlAdminStatus est correctement défini sur activé, procédez comme suit avant que l’accusé de réception de la demande SNMP Set ne soit renvoyé au client :

  • traceRouteResultsEntry est créée si elle n’existe pas déjà.

  • traceRouteResultsOperStatus passe à activé.

Pour plus d’informations, consultez les sections suivantes :

traceRouteResultsTable

Pendant l’exécution du test, ce traceRouteResultsTable effectue le suivi de l’état du test. La valeur de traceRouteResultsOperStatus est activée pendant l’exécution du test et désactivée lorsqu’il s’arrête.

La valeur de traceRouteCtlAdminStatus reste activée jusqu’à ce que vous la définissiez sur désactivé. Par conséquent, pour obtenir l’état du test, vous devez examiner traceRouteResultsOperStatus.

La variable traceRouteCtlFrequency peut être utilisée pour planifier de nombreux tests pour une traceRouteCtlEntry. Une fois qu’un test se termine normalement (vous n’avez pas arrêté le test) et que le nombre de secondes traceRouteCtlFrequency s’est écoulé, le test est redémarré comme si vous aviez défini traceRouteCtlAdminStatus sur enabled. Si vous intervenez à tout moment entre des tests répétés (vous définissez traceRouteCtlAdminStatus sur disabled ou traceRouteCtlRowStatus sur notInService), la fonctionnalité de répétition est désactivée jusqu’à ce qu’un autre test soit démarré et se termine normalement. La valeur 0 pour traceRouteCtlFrequency indique que cette entité de répétition n’est pas active.

traceRouteResultsIpTgtAddr et traceRouteResultsIpTgtAddrType sont définis sur la valeur de l’adresse de destination résolue lorsque la valeur de traceRouteCtlTargetAddressType est dns. Lorsqu’un test démarre correctement et que traceRouteResultsOperStatus passe à activé :

  • traceRouteResultsIpTgtAddr est défini sur null-string.

  • traceRouteResultsIpTgtAddrType est défini sur unknown.

traceRouteResultsIpTgtAddr et traceRouteResultsIpTgtAddrType ne sont pas définis tant que traceRouteCtlTargetAddress ne peut pas être résolu en adresse numérique. Pour récupérer ces valeurs, interrogez traceRouteResultsIpTgtAddrType pour toute valeur autre que unknown après avoir défini traceRouteCtlAdminStatus sur enabled.

Au début d’un test, traceRouteResultsCurHopCount est initialisé à traceRouteCtlInitialTtl et traceRouteResultsCurProbeCount est initialisé à 1. Chaque fois qu’un résultat de sonde est déterminé, traceRouteResultsCurProbeCount augmente de 1. Pendant l’exécution du test, la valeur de traceRouteResultsCurProbeCount reflète la sonde en attente actuelle pour laquelle les résultats n’ont pas encore été déterminés.

Le nombre de sondes traceRouteCtlProbesPerHop est envoyé pour chaque valeur de durée de vie (TTL). Lorsque le résultat de la dernière sonde pour le saut actuel est déterminé, à condition que le saut actuel ne soit pas le saut de destination, traceRouteResultsCurHopCount augmente de 1 et traceRouteResultsCurProbeCount est réinitialisé à 1.

Au début d’un test, s’il s’agit de la première fois que ce test est exécuté pour ce traceRouteCtlEntry, traceRouteResultsTestAttempts et traceRouteResultsTestSuccesses sont initialisés à 0.

À la fin de chaque exécution de test, traceRouteResultsOperStatus passe à désactivé et traceRouteResultsTestAttempts augmente de 1. Si le test a réussi à déterminer le chemin d’accès complet à la cible, traceRouteResultsTestSuccesses augmente de 1 et traceRouteResultsLastGoodPath est défini sur l’heure actuelle.

traceRouteProbeResultsTable

Chaque entrée de traceRouteProbeHistoryTable est indexée par cinq variables :

  • Les deux premières variables, traceRouteCtlOwnerIndex et traceRouteCtlTestName, sont les mêmes que celles utilisées pour traceRouteCtlTable et pour identifier le test.

  • La troisième variable, traceRouteProbeHistoryIndex, est un compteur, commençant à partir de 1 et s’encapsulant à FFFFFFFF. Le nombre maximal d’entrées est limité par traceRouteCtlMaxRows.

  • La quatrième variable, traceRouteProbeHistoryHopIndex, indique à quel saut cette sonde est destinée (la durée de vie réelle ou la valeur TTL). Ainsi, le premier nombre d’entrées traceRouteCtlProbesPerHop créé au démarrage d’un test a la valeur traceRouteCtlInitialTtl pour traceRouteProbeHistoryHopIndex.

  • La cinquième variable, traceRouteProbeHistoryProbeIndex, est la sonde du saut actuel. Il est compris entre 1 et traceRouteCtlProbesPerHop.

Pendant qu’un test est en cours d’exécution, dès qu’un résultat de sonde est déterminé, la sonde suivante est envoyée. Un maximum de secondes traceRouteCtlTimeOut s’écoule avant qu’une sonde ne soit marquée avec l’état requestTimedOut et que la sonde suivante ne soit envoyée. Il n’y a jamais plus d’une sonde en suspens par test de traceroute. Tout résultat de sonde qui revient après l’expiration d’une sonde est ignoré.

Chaque sonde peut :

  • Résultat d’une réponse d’un hôte accusant réception de la sonde

  • Délai d’attente sans réponse de l’hôte accusant réception de la sonde

  • Échec de l’envoi

Chaque état de sonde est enregistré dans traceRouteProbeHistoryTable avec traceRouteProbeHistoryStatus défini en conséquence.

Les sondes qui génèrent une réponse d’un hôte enregistrent les données suivantes :

  • traceRouteProbeHistoryResponse : temps d’aller-retour (RTT)

  • traceRouteProbeHistoryHAddrType : type de HAddr (argument suivant)

  • traceRouteProbeHistoryHAddr : adresse du saut

Toutes les sondes, qu’elles aient reçu ou non une réponse, ont les éléments suivants enregistrés :

  • traceRouteProbeHistoryStatus : ce qui s’est passé et pourquoi

  • traceRouteProbeHistoryLastRC : valeur du code de retour (RC) du paquet ICMP

  • traceRouteProbeHistoryTime : horodatage du résultat de la sonde

Lorsqu’une sonde ne peut pas être envoyée, traceRouteProbeHistoryResponse prend la valeur 0. Lorsqu’une sonde expire, traceRouteProbeHistoryResponse est défini sur la différence entre l’heure à laquelle la sonde a expiré et l’heure à laquelle la sonde a été envoyée.

traceRouteHopsTable

Les entrées de traceRouteHopsTable sont indexées par trois variables :

  • Les deux premiers, traceRouteCtlOwnerIndex et traceRouteCtlTestName, sont les mêmes que ceux utilisés pour traceRouteCtlTable et identifient le test.

  • La troisième variable, traceRouteHopsHopIndex, indique le saut actuel, qui commence à 1 (et non traceRouteCtlInitialTtl).

Lorsqu’un test démarre, toutes les entrées de traceRouteHopsTable avec traceRouteCtlOwnerIndex et traceRouteCtlTestName sont supprimées. Les entrées de cette table ne sont créées que si traceRouteCtlCreateHopsEntries a la valeur true.

Une nouvelle traceRouteHopsEntry est créée chaque fois que le premier résultat de la sonde pour un TTL donné est déterminé. La nouvelle entrée est créée, que la première sonde atteigne ou non un hôte. La valeur de traceRouteHopsHopIndex est augmentée de 1 pour cette nouvelle entrée.

REMARQUE :

Tout traceRouteHopsEntry peut ne pas avoir de valeur pour traceRouteHopsIpTgtAddress s’il n’y a pas de réponses aux sondes avec le TTL donné.

Chaque fois qu’une sonde atteint un hôte, l’adresse IP de cet hôte est disponible dans le résultat de la sonde. Si la valeur de traceRouteHopsIpTgtAddress de la traceRouteHopsEntry actuelle n’est pas définie, la valeur de traceRouteHopsIpTgtAddress est définie sur cette adresse IP. Si la valeur de traceRouteHopsIpTgtAddress de la traceRouteHopsEntry actuelle est identique à l’adresse IP, la valeur ne change pas. Si la valeur de traceRouteHopsIpTgtAddress de la traceRouteHopsEntry actuelle est différente de cette adresse IP, indiquant un changement de chemin, une nouvelle traceRouteHopsEntry est créée avec :

  • Variable traceRouteHopsHopIndex augmentée de 1

  • traceRouteHopsIpTgtAddress défini sur l’adresse IP

    REMARQUE :

    Une nouvelle entrée pour un test est ajoutée à traceRouteHopsTable chaque fois qu’une nouvelle valeur TTL est utilisée ou que le chemin d’accès change. Ainsi, le nombre d’entrées pour un test peut dépasser le nombre de valeurs TTL différentes utilisées.

Lorsqu’un résultat de sonde est déterminé, la valeur traceRouteHopsSentProbes de la traceRouteHopsEntry actuelle augmente de 1. Lorsqu’un résultat de sonde est déterminé et que la sonde atteint un hôte :

  • La valeur traceRouteHopsProbeResponses de la traceRouteHopsEntry actuelle est augmentée de 1.

  • Les variables suivantes sont mises à jour :

    • traceRouteResultsMinRtt—Temps d’aller-retour minimal

    • traceRouteResultsMaxRtt : durée d’aller-retour maximale

    • traceRouteResultsAverageRtt : temps d’aller-retour moyen

    • traceRouteResultsRttSumOfSquares : somme des carrés des temps d’aller-retour

    • traceRouteResultsLastGoodProbe : horodatage de la dernière réponse

      REMARQUE :

      Seules les sondes qui atteignent un hôte affectent les valeurs de temps d’aller-retour.

Générer des pièges

Pour générer une interruption, un bit approprié de traceRouteCtlTrapGeneration doit être défini. Vous devez également configurer un groupe d’interruptions pour recevoir des opérations à distance. Les interruptions sont générées dans les conditions suivantes :

  • traceRouteHopsIpTgtAddress de la sonde actuelle est différente de la dernière sonde avec la même valeur TTL (traceRoutePathChange).

  • Un chemin d’accès à la cible n’a pas pu être déterminé (traceRouteTestFailed).

Un chemin d’accès à la cible a été déterminé (traceRouteTestCompleted).

Pour plus d’informations sur la configuration d’un groupe d’interruptions pour recevoir des opérations à distance, reportez-vous aux sections Configuration des groupes d’interruptions SNMP et Présentation des opérations à distance SNMP.

Surveiller l’achèvement des tests Traceroute

Lorsqu’un test est terminé, traceRouteResultsOperStatus il passe de enabled à disabled. Cette transition se produit dans les situations suivantes :

  • Le test se termine avec succès. Le résultat de la sonde indique que la destination a été atteinte. Dans ce cas, le saut actuel est le dernier saut. Le reste des sondes pour ce saut sont envoyées. Lorsque le dernier résultat de la sonde pour le saut actuel est déterminé, le test se termine.

  • traceRouteCtlMaxTtl est dépassé. La destination n’est jamais atteinte. Le test se termine une fois que le nombre de sondes dont la valeur TTL est égale à traceRouteCtlMaxttl a été envoyé.

  • traceRouteCtlMaxFailures est dépassé. Le nombre de sondes consécutives qui se terminent par l’état requestTimedOut dépasse traceRouteCtlMaxFailures.

  • Vous mettez fin au test. Vous définissez traceRouteCtlAdminStatus ou supprimez la ligne en définissant destroytraceRouteCtlRowStatus sur disabled .

  • Vous avez mal configuré le test traceroute. Une valeur ou une variable que vous avez spécifiée est traceRouteCtlTable incorrecte et ne permet pas l’envoi d’une seule sonde. En raison de la nature des données, cette erreur n’a pas pu être déterminée avant le début de l’essai ; c’est-à-dire jusqu’à ce qu’il traceRouteResultsOperStatus soit passé à enabled. Lorsque cela se produit, une entrée est ajoutée avec traceRouteProbeHistoryTabletraceRouteProbeHistoryStatus le code d’erreur approprié.

Si traceRouteCtlTrapGeneration est correctement défini, l’interruption traceRouteTestFailed ou traceRouteTestCompleted est générée.

Recueillir les résultats des tests Traceroute

Vous pouvez interroger traceRouteResultsOperStatus pour savoir quand le test est terminé ou demander l’envoi d’une interruption lorsque le test est terminé. Pour plus d’informations sur traceResultsOperStatus, consultez traceRouteResultsTable. Pour plus d’informations sur les interruptions MIB Traceroute, reportez-vous à la section Génération d’interruptions dans Surveillance d’un test Traceroute en cours d’exécution.

Les statistiques sont calculées par saut, puis stockées dans traceRouteHopsTable. Ils comprennent les éléments suivants pour chaque saut :

  • traceRouteHopsIpTgtAddressType : type d’adresse de l’hôte sur ce tronçon

  • traceRouteHopsIpTgtAddress : adresse de l’hôte à ce saut

  • traceRouteHopsMinRtt—Temps d’aller-retour minimal

  • traceRouteHopsMaxRtt : durée d’aller-retour maximale

  • traceRouteHopsAverageRtt : durée moyenne d’aller-retour

  • traceRouteHopsRttSumOfSquares : somme des carrés des temps d’aller-retour

  • traceRouteHopsSentProbes : nombre de tentatives d’envoi de sondes

  • traceRouteHopsProbeResponses : nombre de réponses reçues

  • traceRouteHopsLastGoodProbe : horodatage de la dernière réponse

Vous pouvez également consulter traceRouteProbeHistoryTable pour obtenir des informations plus détaillées sur chaque sonde. L’index utilisé pour traceRouteProbeHistoryTable commence à 1, passe à 0xFFFFFFFF et retourne à 1.

Par exemple, supposons ce qui suit :

  • traceRouteCtlMaxRows est égal à 10.

  • traceRouteCtlProbesPerHop a la valeur 5.

  • Il y a huit sauts vers la cible (la cible étant le numéro huit).

  • Chaque sonde envoyée entraîne une réponse d’un hôte (le nombre de sondes envoyées n’est pas limité par traceRouteCtlMaxFailures).

Dans ce test, 40 sondes sont envoyées. À la fin du test, traceRouteProbeHistoryTable aurait un historique de sondes comme celles Tableau 4de .

Tableau 4 : traceRouteProbeHistoryTable

HistoryIndex (Index de l’histoire)

HistoryHopIndex

HistoryProbeIndex

31

7

1

32

7

2

33

7

3

34

7

4

35

7

5

36

8

1

37

8

2

38

8

3

39

8

4

40

8

5

Arrêter un test Traceroute

Pour arrêter un test actif, définissez traceRouteCtlAdminStatus la valeur disabledsur . Pour arrêter un test et supprimer ses , , traceRouteProbeHistoryEntrytraceRouteResultsEntryet traceRouteProbeHistoryEntry ses objets de la MIB, définissez traceRouteCtlRowStatus la traceRouteCtlEntryvaleur destroysur .

Interpréter les variables Traceroute

Cette rubrique contient des informations sur les plages des variables suivantes qui ne sont pas explicitement spécifiées dans la base de données MIB Traceroute :

  • traceRouteCtlMaxRows—La valeur maximale de traceRouteCtlMaxRows est 2550. Cela représente le TTL maximum (255) multiplié par le maximum pour traceRouteCtlProbesPerHop (10). Par conséquent, le traceRouteProbeHistoryTable accepte un test complet aux valeurs maximales pour un traceRouteCtlEntry. Habituellement, les valeurs maximales ne sont pas utilisées et le est capable d’accueillir traceRouteProbeHistoryTable l’historique complet de nombreux tests pour la même chose traceRouteCtlEntry.

  • traceRouteMaxConcurrentRequests: la valeur maximale est 50. Si un test est en cours d’exécution, il a une sonde en attente. traceRouteMaxConcurrentRequests représente le nombre maximal de tests traceroute dont la valeur est traceRouteResultsOperStatus .enabled Toute tentative de démarrage d’un test avec traceRouteMaxConcurrentRequests des tests en cours d’exécution entraînera la création d’une sonde avec traceRouteProbeHistoryStatus défini sur maxConcurrentLimitReached et ce test se terminera immédiatement.

  • traceRouteCtlTable—Le nombre maximal d’entrées autorisées dans cette table est de 100. Toute tentative de création d’une 101e entrée entraînera l’affichage d’un message pour SNMPv1 et d’un BAD_VALUERESOURCE_UNAVAILABLE message pour SNMPv2.

Tableau de l'historique des modifications

La prise en charge des fonctionnalités est déterminée par la plateforme et la version que vous utilisez. Utilisez l' Feature Explorer pour déterminer si une fonctionnalité est prise en charge sur votre plateforme.

Version
Description
17.2X75-D100
À partir de Junos OS version 17.2X75-D100, vous devez configurer RPM avant de lancer un ping ICMP.