Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

SNMPリモート操作を設定する

SNMP リモート操作の概要

SNMP リモート操作とは、SNMP を使用してリモートで制御できるルーター上の任意のプロセスのことです。Junos OSは現在、2つのSNMPリモート操作をサポートしています。RFC 2925 で定義された Ping MIB とトレースルート MIB。これらの MIB を使用することで、ネットワーク管理システム(NMS)内の SNMP クライアントは以下のことが可能になります。

  • ルーターで一連の操作を開始する

  • 操作が完了したときに通知を受け取る

  • 各操作の結果を収集する

Junos OS は、ジュニパーネットワークスのエンタープライズ固有の拡張機能 および で、これらの MIB に拡張機能も提供します。jnxPingMIBjnxTraceRouteMIB および の詳細については、 PING MIB と トレースルート MIB を参照してください。jnxPingMIBjnxTraceRouteMIBhttps://www.juniper.net/documentation/en_US/junos16.1/topics/reference/mibs/mib-jnx-ping.txthttps://www.juniper.net/documentation/en_US/junos16.1/topics/reference/mibs/mib-jnx-traceroute.txt

このトピックでは、以下のセクションについて説明します。

SNMP リモート操作の要件

SNMP リモート操作を使用するには、SNMP の規則を経験している必要があります。また、リモート操作 MIB の使用を許可するように Junos OS を設定する必要があります。

Ping MIB を開始する前に、 Ping テストの開始を参照してください。Ping テストを開始する

トレースルート MIB を開始する前に、 トレースルート テストの開始を参照してください。トレースルートテストの開始

SNMPビューを設定する

Junos OS がサポートするすべてのリモート操作 MIB には、SNMP クライアントに読み書き権限が必要です。Junos OSのデフォルトのSNMP設定では、このような権限を持つコミュニティ文字列はクライアントに提供されません。

SNMP コミュニティ文字列に読み書き権限を設定するには、 階層レベルで以下のステートメント を含めます。[edit snmp]

例:SNMPビューを設定する

SNMP クライアントに Ping MIB、MIB、トレースルート MIB、および MIB への読み書き可能なアクセスを許可する という名前のコミュニティを作成するには、 階層レベルで以下のステートメントを含めます。remote-communityjnxPingjnxTraceRoute[edit snmp]

ステートメントの詳細については、 および コミュニティ(SNMP)を参照してください。communitySNMPコミュニティを設定するcommunity (SNMP)

ステートメントの詳細については、 、 ビュー(SNMP コミュニティ)および ビュー(MIB ビューの設定)を参照してください。viewMIBビューを設定するview (SNMP Community)view (Configuring a MIB View)

リモート操作のトラップ通知を設定する

トラップ通知用のリモート操作 MIB の設定に加えて、Junos OS の設定も必要です。リモート操作トラップのターゲットホストを指定する必要があります。

SNMP リモート操作のトラップ通知を設定するには、 階層レベルで および ステートメントを含めます。categoriestargets[edit snmp trap-group group-name]

例:リモート操作のトラップ通知を設定する

すべてのリモート操作トラップのターゲット ホストとして指定します 。172.17.12.213

トラップ・グループの詳細については、を参照してください 。SNMPトラップグループを設定する

可変長文字列インデックスの使用

Junos OSでサポートされているリモート操作MIBのすべての表形式オブジェクトには、 型の 2つの変数によってインデックスが付けられます。SnmpAdminString 詳細については 、RFC 2571 を参照してください。SnmpAdminString

Junos OSは、オクテット文字列変数タイプと異なる処理をしません 。SnmpAdminString ただし、インデックスは可変長として定義されます。可変長文字列をインデックスとして使用する場合は、文字列の長さをオブジェクト識別子 (OID) の一部として含める必要があります。

例:可変長文字列インデックスの設定

ここで is および is の行の変数を参照するには、次のオブジェクト識別子 (OID) を使用します。pingCtlTargetAddresspingCtlTablepingCtlOwnerIndexbobpingCtlTestNametest

Ping MIB の定義の詳細については、RFC 2925 を参照してください。

ログ記録の有効化

SNMPリクエストに応答して返されるSNMPエラーコードは、問題の一般的な説明のみを提供できます。リモート操作プロセスによってログに記録されるエラーの説明は、多くの場合、問題に関するより詳細な情報を提供し、問題をより迅速に解決するのに役立ちます。このログ記録は、既定では有効になっていません。ロギングを有効にするには、 階層レベルで ステートメントを含め ます 。flag general[edit snmp traceoptions]

リモート操作プロセスが対応できない SNMP リクエストを受信した場合、エラーがファイルに記録されます 。/var/log/rmopd このログ・ファイルをモニターするには、CLI(コマンド・ライン・インターフェース)の操作モードで コマンドを発行 します。monitor start rmopd

Junos OS を搭載したリモート監視デバイスに Ping MIB を使用する

pingテストは、ローカルホストから送信されたパケットが指定されたホストに到達して返されるかどうかを判断するために使用されます。指定されたホストに到達できる場合、ping テストはパケットのおおよその往復時間を提供します。ping テストの結果は、 と に保存されます。pingResultsTablepingProbeHistoryTable

RFC 2925は、Ping MIBの詳細な正式な記述であり、Ping MIBのASN.1 MIB定義を提供します。

Ping テストを開始する

このトピックを使用して、ICMP ping テストを起動します。ping テストを開始するには、次の 2 つの方法があります。複数のセットプロトコルデータユニット(PDU)を使用するか、単一のセットPDUを使用します。

始める前に

ping テストを開始する前に、Ping MIB ビューを設定します。これにより、 での SNMP 要求が許可されます 。SetpingMIB 詳細については、MIBビューを設定するを参照してください。

Junos OS リリース 17.2X75-D100 以降では、ICMP ping を開始する前に RPM を設定する必要があります。コマンドを使用してRPM を設定します。edit services rpm

Ping テストを開始する

ping テストを開始するには、 に行を作成し、 に設定します。pingCtlTablepingCtlAdminStatusenabled に設定する前に指定する必要がある最小限の情報は次のとおりです。pingCtlAdminStatusenabled

  • pingCtlOwnerIndexSnmpAdminString

  • pingCtlTestNameSnmpAdminString

  • pingCtlTargetAddressInetAddress

  • pingCtlTargetAddressTypeInetAddressType

  • pingCtlRowStatusRowStatus

他のすべての値については、特に指定しない限り、デフォルトが選択されます。 および はインデックスとして使用されるため、その値はオブジェクト識別子 (OID) の一部として指定されます。pingCtlOwnerIndexpingCtlTestName 行を作成するには、まだ存在しない行に または を設定します。pingCtlRowStatuscreateAndWaitcreateAndGo 値 for は、必要な情報がすべて入力され、テストを開始できることを示します。は、 に設定できます。 activepingCtlRowStatuspingCtlAdminStatusenabled に を設定するSNMPリクエストは、行に必要な情報が指定されていないか、矛盾している場合、失敗します。SetpingCtlRowStatusactive

ビューを設定する方法については、 SNMP ビューの設定を参照してください。実行中のトレースルートテストの監視

変数の順序付け方法については、以下のセクションを参照してください。

複数のセットPDUを使用する

複数の リクエストPDU(複数のPDU、それぞれに1つ以上のvarbindを持つ)を使用し、次の変数をこの順序で設定してテストを開始できます。Set

  • pingCtlRowStatusからcreateAndWait

  • すべての適切なテスト変数

  • pingCtlRowStatusからactive

    Junos OS は、テストの実行に必要なすべての情報が指定されていることを検証するようになりました。

  • pingCtlAdminStatusからenabled

単一のセットPDUを使用する

1 つの 要求 PDU (1 つの PDU、複数の varbind を使用) を使用して、次の変数を設定し、テストを開始できます。Set

  • pingCtlRowStatusからcreateAndGo

  • すべての適切なテスト変数

  • pingCtlAdminStatusからenabled

実行中の Ping テストを監視する

が正常に に設定されている場合、SNMP リクエストの確認応答がクライアントに送り返される前に、以下の処理が行われます。pingCtlAdminStatusenabledSet

  • pingResultsEntry が存在しない場合は作成されます。

  • を に移行します 。pingResultsOperStatusenabled

詳細については、以下のセクションを参照してください。

ping結果テーブル

テストの実行中に、 テストの状態を追跡します。pingResultsEntry の値は、テストの実行中と停止中です。pingResultsOperStatusenableddisabled

この値は、 に設定するまで維持されます。pingCtlAdminStatusenableddisabled したがって、テストのステータスを取得するには、 を調べる必要があります 。pingResultsOperStatus

この 変数を使用して、1つの に対して多くのテストをスケジュールできます。pingCtlFrequencypingCtlEntry テストが正常に終了し(テストを停止しなかった)、秒数が経過すると、 に設定した場合と同様にテストが再開されます。pingCtlFrequencypingCtlAdminStatusenabled テストを繰り返す(または を に設定する)合間に介入すると、別のテストが開始されて正常に終了するまで、繰り返し機能は無効になります。pingCtlAdminStatusdisabledpingCtlRowStatusnotInService の値 0 は、この繰り返し機能がアクティブでないことを示します。pingCtlFrequency

および の値が である場合、解決された宛先アドレスの値に設定されます。pingResultsIpTgtAddrpingResultsIpTgtAddrTypepingCtlTargetAddressTypedns テストが正常に開始され、 次のように 遷移すると:pingResultsOperStatusenabled

  • が に設定されます。pingResultsIpTgtAddrnull-string

  • が に設定されます。pingResultsIpTgtAddrTypeunknown

およびは 、 が数値アドレスに解決されるまで設定 されません。pingResultsIpTgtAddrpingResultsIpTgtAddrTypepingCtlTargetAddress これらの値を取得するには、 を正常に設定した後以外の値をポーリングします。pingResultsIpTgtAddrTypeunknownpingCtlAdminStatusenabled

テストの開始時に、 が 1 に初期化され、最初のプローブが送信されます。プローブが送信されるたびに 1 ずつ増加します。 pingResultsSentProbespingResultsSentProbes

テストが実行されると、毎 秒、次の処理が行われます。pingCtlTimeOut

  • 対応する の は に設定されます 。pingProbeHistoryStatuspingProbeHistoryEntrypingProbeHistoryTablerequestTimedOut

  • 必要に応じて、トラップが生成されます。pingProbeFailed

  • 次のプローブの送信が試行されます。

    注:

    各テストに存在する未処理のプローブは1つだけです。

すべてのプローブについて、次のいずれかの結果を受け取ることができます。

  • ターゲットホストは、応答でプローブを確認します。

  • プローブがタイムアウトします。プローブを確認するターゲット ホストからの応答がありません。

  • プローブを送信できませんでした。

各プローブ結果は、 に記録されます。pingProbeHistoryTable の詳細については 、を参照してください 。pingProbeHistoryTablepingプローブ履歴テーブル

ターゲットホストから現在のプローブを確認する応答を受信すると、次のようになります。

  • pingResultsProbeResponses 1増加します。

  • 次の変数が更新されます。

    • pingResultsMinRtt—最小のラウンドトリップタイム

    • pingResultsMaxRtt—最大のラウンドトリップタイム

    • pingResultsAverageRtt—平均ラウンドトリップタイム

    • pingResultsRttSumOfSquares- 往復時間の平方和

    • pingResultsLastGoodProbe- 最後の応答のタイムスタンプ

      注:

      ターゲットホストからの応答をもたらすプローブのみが、ラウンドトリップタイム(RTT)変数の計算に寄与します。

最後のプローブに対する応答を受信するか、最後のプローブがタイムアウトすると、テストは完了です。

pingプローブ履歴テーブル

()のエントリはプローブ結果を表し、次の3つの変数でインデックスが付けられます。pingProbeHistoryTablepingProbeHistoryEntry

  • 最初の 2 つの変数 と は、 に使用されたものと同じで、テストを識別します。pingCtlOwnerIndexpingCtlTestNamepingCtlTable

  • 3 番目の変数 は、 各プローブ結果を一意に識別するためのカウンターです。pingProbeHistoryIndex

特定のテストに対して作成されるエントリーの最大数 は、 によって 制限されます。pingProbeHistoryTablepingCtlMaxRows が 0 に設定されている場合、そのテストのエントリは作成されません。pingCtlMaxRowspingProbeHistoryTable

プローブ結果が判別されるたびに、 が作成され、 に追加されます。 の新しい は、そのテストで最後に追加された よりも 1 大きい値です。これがテーブルの最初のエントリである場合は、1 に設定されます。 pingProbeHistoryEntrypingProbeHistoryTablepingProbeHistoryIndexpingProbeHistoryEntrypingProbeHistoryEntrypingProbeHistoryTablepingProbeHistoryIndex 同じテストを複数回実行できるため、このインデックスは増加し続けます。

最後に追加されたものが 0xFFFFFFFF の場合、次に追加されたものは 1 に設定されます。pingProbeHistoryIndexpingProbeHistoryEntrypingProbeHistoryEntrypingProbeHistoryIndex

プローブ結果ごとに以下が記録されます。

  • pingProbeHistoryResponse- TTL(Time-to-live)

  • pingProbeHistoryStatus—何が起こったのか、そしてその理由

  • pingProbeHistoryLastRC- ICMP パケットのリターン コード(RC)値

  • pingProbeHistoryTime- プローブ結果が決定されたタイムスタンプ

プローブを送信できない場合、 は 0 に設定されます。プローブがタイムアウトした場合、は、 プローブがタイムアウトであることが検出された時刻とプローブが送信された時刻の差に設定されます。pingProbeHistoryResponsepingProbeHistoryResponse

トラップの生成

トラップを生成するには、 の 適切なビットを設定する必要があります。pingCtlTrapGeneration また、リモート操作を受信するトラップグループを設定する必要があります。トラップは、以下の条件下で生成されます。

  • トラップは、 テスト中に連続したプローブの数が失敗するたびに 生成されます。pingProbeFailedpingCtlTrapProbeFailureFilter

  • テストが完了し、少なくとも多数のプローブが失敗すると、トラップが生成されます。pingTestFailedpingCtlTrapTestFailureFilter

  • トラップは、 テストが完了し、失敗したプローブより少ない 場合に生成されます。pingTestCompletedpingCtlTrapTestFailureFilter

    注:

    プローブの結果が 以外の場合、プローブは失敗と見なされます。pingProbeHistoryStatusresponseReceived

リモート操作を受信するトラップグループを設定する方法については、 SNMPトラップグループの設定 および 例:No link title リモート操作のトラップ通知を設定します。

Pingテスト結果の収集

テストがいつ完了したかを調べるためにポーリング するか、テストの完了時にトラップを送信するように要求することができます。pingResultsOperStatus 詳細については 、「 pingResultsTable 」を参照してください。pingResultsOperStatus実行中のトレースルートテストの監視 Ping MIBトラップの詳細については、 トラップの生成を参照してください。実行中のトレースルートテストの監視

計算されて保存される 統計情報には、次のものが含まれます。pingResultsTable

  • pingResultsMinRtt—最小のラウンドトリップタイム

  • pingResultsMaxRtt—最大のラウンドトリップタイム

  • pingResultsAverageRtt—平均ラウンドトリップタイム

  • pingResultsProbeResponses—受信した回答数

  • pingResultsSentProbes- プローブの送信試行回数

  • pingResultsRttSumOfSquares- 往復時間の平方和

  • pingResultsLastGoodProbe- 最後の応答のタイムスタンプ

各プローブの詳細については、参照 することもできます。pingProbeHistoryTable に使用される インデックスは 1 から始まり、0xFFFFFFFF になり、再び 1 に折り返されます。pingProbeHistoryTable

たとえば、 が 15 で 5 の場合、このテストの最初の実行が完了すると、 には のようなプローブが含まれます。pingCtlProbeCountpingCtlMaxRowspingProbeHistoryTable表 1

表 1: pingプローブ履歴テーブルの結果: 最初の ping テストの後

pingプローブ履歴インデックス

プローブ結果

11

実行 1 からの 11 番目のプローブの結果

12

実行 1 からの 12 番目のプローブの結果

13

実行 1 からの 13 番目のプローブの結果

14

実行 1 からの 14 番目のプローブの結果

15

実行 1 からの 15 番目のプローブの結果

このテストの2回目の実行の第1のプローブが完了すると、 のような プローブが含まれることになります。pingProbeHistoryTable表 2

表 2: pingプローブ履歴テーブルの結果: 2回目のテストの最初のプローブの後

pingプローブ履歴インデックス

プローブ結果

12

実行 1 からの 12 番目のプローブの結果

13

実行 1 からの 13 番目のプローブの結果

14

実行 1 からの 14 番目のプローブの結果

15

実行 1 からの 15 番目のプローブの結果

16

実行 2 からの 1 番目のプローブの結果

このテストの 2 回目の実行が完了すると、 のようなプローブ が含まれます。pingProbeHistoryTable表 3

表 3: pingプローブ履歴テーブルの結果: 2回目のpingテスト後

pingプローブ履歴インデックス

プローブ結果

26

実行 2 からの 11 番目のプローブの結果

27

実行 2 からの 12 番目のプローブの結果

28

実行 2 からの 13 番目のプローブの結果

29

実行 2 からの 14 番目のプローブの結果

30

実行 2 からの 15 番目のプローブの結果

履歴エントリーは、次の2つの方法でMIBから削除できます。

  • 特定のテストの履歴エントリが追加され、履歴エントリの数が を超えています 。pingCtlMaxRows 最も古い履歴エントリは、新しいエントリ用のスペースを確保するために削除されます。

  • テスト全体を削除するには、 をに設定します。pingCtlRowStatusdestroy

Ping テストを停止する

アクティブ・テストを停止するには、を に設定します。pingCtlAdminStatusdisabled テストを停止して、テスト、 、および MIB からすべてのオブジェクトを削除するには、 を に設定します。pingCtlEntrypingResultsEntrypingHistoryEntrypingCtlRowStatusdestroy

Ping変数の解釈

このセクションでは、Ping MIB で明示的に指定されていない以下の変数の範囲を明確にします。

  • pingCtlDataSize—この変数の値は、発信プローブパケットのペイロードの合計サイズ(バイト単位)を表します。このペイロードには、プローブの時間を計るために使用されるタイムスタンプ(8 バイト)が含まれています。これは、(最大値 65,507) および標準の ping アプリケーションの定義 と一致しています。pingCtlDataSize

    の 値が 0 以上 8 以下の場合、無視され、ペイロードは 8 バイト (タイムスタンプ) になります。pingCtlDataSize Ping MIB は、すべてのプローブに時間制限が設定されていると想定しているため、ペイロードには常にタイムスタンプが含まれている必要があります。

    たとえば、パケットに 4 バイトのペイロードを追加する場合は、12 に設定 する必要があります。pingCtlDataSize

  • pingCtlDataFill- パケットのデータ セグメントの最初の 8 バイトはタイムスタンプ用です。その後、 パターンは繰り返し使用されます。pingCtlDataFill デフォルトのパターン (が指定されていない場合 ) は (00, 01, 02, 03 ...pingCtlDataFill FF, 00, 01, 02, 03 ... FF、...)。

  • pingCtlMaxRows—最大値は 255 です。

  • pingMaxConcurrentRequests—最大値は 500 です。

  • および - または の値 0 は、Ping MIB によって明確に定義されていません。pingCtlTrapProbeFailureFilterpingCtlTrapTestFailureFilterpingCtlTrapProbeFailureFilterpingCtlTrapTestFailureFilter が 0 の場合 、 どのような状況でもテスト用のトラップは生成されません。pingCtlTrapProbeFailureFilterpingProbeFailed が 0 の場合 、 どのような状況でもテスト用のトラップは生成されません。pingCtlTrapTestFailureFilterpingTestFailed

Junos OS 実行リモート監視デバイスのトレースルート MIB の使用

traceroute テストは、パケットがローカルホストからリモートホストまでたどるパスを概算します。

RFC 2925 は、トレースルート MIB の詳細な記述であり、トレースルート MIB の ASN.1 MIB 定義を提供します。

トレースルートテストの開始

トレースルート テストを開始する前に、トレースルート MIB ビューを設定します。これにより、 での SNMP 要求が許可されます 。SettracerouteMIB テストを開始するには、 に行を作成し、 に設定します。traceRouteCtlTabletraceRouteCtlAdminStatusenabled に設定する前に、少なくとも以下を指定する必要があります。traceRouteCtlAdminStatusenabled

  • traceRouteCtlOwnerIndexSnmpAdminString

  • traceRouteCtlTestNameSnmpAdminString

  • traceRouteCtlTargetAddressInetAddress

  • traceRouteCtlRowStatusRowStatus

他のすべての値については、特に指定しない限り、デフォルトが選択されます。 および はインデックスとして使用されるため、その値は OID の一部として指定されます。traceRouteCtlOwnerIndextraceRouteCtlTestName 行を作成するには、まだ存在しない行に または を設定します。traceRouteCtlRowStatuscreateAndWaitcreateAndGo 値 for は、必要な情報がすべて指定され、テストを開始できることを示します。は、 に設定できます。 activetraceRouteCtlRowStatustraceRouteCtlAdminStatusenabled に を設定するSNMPリクエストは、行に必要な情報が指定されていないか、矛盾している場合、失敗します。SettraceRouteCtlRowStatusactive ビューを設定する方法については、 SNMP ビューの設定を参照してください。実行中のトレースルートテストの監視

トレースルートテストを開始するには、次の 2 つの方法があります。

複数のセットPDUを使用する

複数の リクエストPDU(複数のPDU、それぞれに1つ以上のvarbindを持つ)を使用し、次の変数をこの順序で設定してテストを開始できます。Set

  • traceRouteCtlRowStatus 作成して待つ

  • すべての適切なテスト変数

  • traceRouteCtlRowStatusからactive

    Junos OSは、テストの実行に必要なすべての情報が指定されていることを検証するようになりました。

  • traceRouteCtlAdminStatusからenabled

単一のセットPDUを使用する

1 つの 要求 PDU (1 つの PDU、複数の varbind を使用) を使用して、次の変数を設定し、テストを開始できます。Set

  • traceRouteCtlRowStatusからcreateAndGo

  • すべての適切なテスト変数

  • traceRouteCtlAdminStatus 有効へ

実行中のトレースルートテストの監視

traceRouteCtlAdminStatus が正常に有効に設定されている場合、SNMP セット要求の確認応答がクライアントに送り返される前に、次の処理が行われます。

  • トレースルート結果エントリが存在しない場合は作成されます。

  • traceRouteResultsOperStatus が enabled に移行します。

詳細については、以下のセクションを参照してください。

tracerouteresultstable

テストの実行中、このトレースはテストの状態を追跡します。traceRouteResultsOperStatus の値は、テストの実行中は有効になり、停止中は無効になります。

traceRouteCtlAdminStatus の値は、無効に設定するまで有効なままです。したがって、テストの状態を取得するには、traceRouteResultsOperStatus を調べる必要があります。

traceRouteCtlFrequency 変数を使用すると、1 つの traceRouteCtlEntry に対して多数のテストをスケジュールできます。テストが正常に終了し (テストを停止しなかった)、トレースルートCtlFrequency 秒数が経過すると、traceRouteCtlAdminStatus を有効に設定したかのように、テストが再開されます。繰り返されるテストの間に介入した場合 (traceRouteCtlAdminStatus を無効に設定するか、traceRouteCtlRowStatus を notInService に設定した場合)、別のテストが開始されて正常に終了するまで、繰り返し機能は無効になります。トレースルートCtl周波数の値 0 は、この繰り返し機能がアクティブでないことを示します。

traceRouteResultsIpTgtAddr および traceRouteResultsIpTgtAddrType は、traceRouteCtlTargetAddressType の値が dns の場合、解決された宛先アドレスの値に設定されます。テストが正常に開始され、traceRouteResultsOperStatus が有効に遷移すると、次のようになります。

  • traceRouteResultsIpTgtAddr が null-string に設定されています。

  • traceRouteResultsIpTgtAddrType は不明に設定されています。

traceRouteResultsIpTgtAddr および traceRouteResultsIpTgtAddrType は、traceRouteCtlTargetAddress を数値アドレスに解決できるようになるまで設定されません。これらの値を取得するには、traceRouteCtlAdminStatus を正常に有効に設定した後、不明以外の値についてトレースルート結果IpTgtAddrType をポーリングします。

テストの開始時に、traceRouteResultsCurHopCount は traceRouteCtlInitialTtl に初期化され、traceRouteResultsCurProbeCount は 1 に初期化されます。プローブの結果が決定されるたびに、traceRouteResultsCurProbeCount が 1 ずつ増加します。テストの実行中、traceRouteResultsCurProbeCount の値には、結果がまだ決定されていない現在の未処理のプローブが反映されます。

traceRouteCtlProbesPerHop のプローブ数は、TTL(Time-to-live)値ごとに送信されます。現在のホップが宛先ホップでなければ、現在のホップに対する最後のプローブの結果が決定されると、traceRouteResultsCurHopCount は 1 ずつ増加し、traceRouteResultsCurProbeCount は 1 にリセットされます。

テストの開始時に、このトレースRouteCtlEntry に対してこのテストが初めて実行された場合、traceRouteResultsTestAttempts と traceRouteResultsTestSuccesses は 0 に初期化されます。

各テスト実行の終了時に、traceRouteResultsOperStatus は無効になり、traceRouteResultsTestAttempts は 1 ずつ増加します。テストでターゲットへの完全パスの決定に成功した場合、traceRouteResultsTestSuccesses は 1 増加し、traceRouteResultsLastGoodPath は現在の時刻に設定されます。

tracerouteプローブ結果テーブル

traceRouteProbeHistoryTable の各エントリには、次の 5 つの変数によってインデックスが付けられます。

  • 最初の 2 つの変数 traceRouteCtlOwnerIndex と traceRouteCtlTestName は、traceRouteCtlTable とテストの識別に使用されるものと同じです。

  • 3 番目の変数 traceRouteProbeHistoryIndex はカウンターで、1 から始まり、FFFFFFFF でラップされます。エントリの最大数は、traceRouteCtlMaxRows によって制限されます。

  • 4 番目の変数 traceRouteProbeHistoryHopIndex は、このプローブがどのホップを対象としているか (実際の有効期限または TTL 値) を示します。したがって、テストの開始時に作成される最初の traceRouteCtlProbesPerHop エントリの数は、traceRouteProbeHistoryHopIndex の traceRouteCtlInitialTtl の値になります。

  • 5 番目の変数 traceRouteProbeHistoryProbeIndex は、現在のホップのプローブです。範囲は 1 から traceRouteCtlProbesPerHop までです。

テスト実行中、プローブ結果が判別されるとすぐに次のプローブが送信されます。プローブがステータス requestTimedOut でマークされ、次のプローブが送信されるまでに、traceRouteCtlTimeOut の最大秒数が経過します。traceroute テストごとに複数の未処理のプローブが存在することはありません。プローブがタイムアウトした後に返されるプローブ結果はすべて無視されます。

各プローブは次のことができます。

  • プローブを確認するホストからの応答の結果

  • プローブを確認するホストからの応答がない状態でタイムアウト

  • 送信失敗

各プローブの状態は traceRouteProbeHistoryTable に記録され、それに応じて traceRouteProbeHistoryStatus が設定されます。

ホストからの応答をもたらすプローブは、以下のデータを記録します。

  • traceRouteProbeHistoryResponse—ラウンドトリップタイム(RTT)

  • traceRouteProbeHistoryHAddrType—HAddrのタイプ(次の引数)

  • traceRouteプローブ履歴HAddr - ホップのアドレス

プローブに対する応答を受信したかどうかに関係なく、すべてのプローブには以下が記録されます。

  • traceRouteProbeHistoryStatus—何がなぜ起こったのか

  • traceRouteProbeHistoryLastRC - ICMP パケットのリターン コード(RC)値

  • traceRouteProbeHistoryTime - プローブ結果が決定されたタイムスタンプ

プローブを送信できない場合、traceRouteProbeHistoryResponse は 0 に設定されます。プローブがタイムアウトすると、traceRouteProbeHistoryResponse は、プローブがタイムアウトしていることが検出された時刻とプローブが送信された時刻の差に設定されます。

traceRouteHopsTable

traceRouteHopsTable のエントリーには、次の 3 つの変数によってインデックスが付けられます。

  • 最初の 2 つの traceRouteCtlOwnerIndex と traceRouteCtlTestName は、traceRouteCtlTable に使用されるものと同じであり、テストを識別します。

  • 3 番目の変数 traceRouteHopsHopIndex は、現在のホップを示します。これは 1 から始まります (traceRouteCtlInitialTtl ではありません)。

テストが開始されると、指定された traceRouteCtlOwnerIndex と traceRouteCtlTestName を持つ traceRouteHopsTable 内のすべてのエントリが削除されます。このテーブルのエントリは、traceRouteCtlCreateHopsEntries が true に設定されている場合にのみ作成されます。

指定された TTL の最初のプローブ結果が決定されるたびに、新しい traceRouteHopsEntry が作成されます。新しいエントリは、最初のプローブがホストに到達するかどうかに関係なく作成されます。この新しいエントリの traceRouteHopsHopIndex の値が 1 増加します。

注:

指定された TTL のプローブに対する応答がない場合、traceRouteHopsIpTgtAddress の値がない可能性があります。

プローブがホストに到達するたびに、そのホストの IP アドレスがプローブ結果で使用可能になります。現在の traceRouteHopsIpTgtAddress の値が設定されていない場合、traceRouteHopsIpTgtAddress の値はこの IP アドレスに設定されます。現在の traceRouteHopsIpTgtAddress の値が IP アドレスと同じ場合、値は変更されません。現在の traceRouteHopsIpTgtAddress の値がこの IP アドレスと異なる場合 (パスの変更を示す)、新しい traceRouteHopsEntry は次のように作成されます。

  • traceRouteHopsHopIndex 変数が 1 増加

  • traceRouteHopsIpTgtアドレスをIPアドレスに設定

    注:

    新しい TTL 値が使用されるか、パスが変更されるたびに、テストの新しいエントリが traceRouteHopsTable に追加されます。したがって、テストのエントリ数は、使用される異なるTTL値の数を超える可能性があります。

プローブの結果が決定されると、現在のtraceRouteHopsEntryの値traceRouteHopsSentProbesは1増加します。プローブの結果が決定され、プローブがホストに到達した場合:

  • 現在のtraceRouteHopsEntryの値traceRouteHopsProbeResponsesは1増加します。

  • 次の変数が更新されます。

    • traceRouteResultsMinRtt - 最小のラウンドトリップタイム

    • traceRouteResultsMaxRtt - 最大ラウンドトリップタイム

    • traceRouteResultsAverageRtt - 平均ラウンドトリップタイム

    • traceRouteResultsRttSumOfSquares - 往復時間の平方和

    • traceRouteResultsLastGoodProbe - 最後のレスポンスのタイムスタンプ

      注:

      ホストに到達するプローブのみが往復時間の値に影響を与えます。

トラップの生成

トラップを生成するには、traceRouteCtlTrapGeneration の適切なビットを設定する必要があります。また、リモート操作を受信するトラップグループを設定する必要があります。トラップは、以下の条件下で生成されます。

  • 現在のプローブの traceRouteHopsIpTgtAddress が、同じ TTL 値を持つ最後のプローブと異なっています(traceRoutePathChange)。

  • ターゲットへのパスを特定できませんでした (traceRouteTestFailed)。

ターゲットへのパスが決定されました (traceRouteTestCompleted)。

リモート操作を受信するトラップ グループを構成する方法については、次を参照してください:SNMP トラップ グループを構成する および SNMP リモート操作の概要

トレースルートテスト完了の監視

テストが完了すると、 から に遷移します。traceRouteResultsOperStatusenableddisabled この移行は、次の状況で発生します。

  • テストは正常に終了します。プローブ結果は、宛先に到達したことを示します。この場合、現在のホップが最後のホップです。このホップの残りのプローブが送信されます。現在のホップの最後のプローブ結果が決定されると、テストは終了します。

  • traceRouteCtlMaxTtl しきい値を超えました。宛先に到達することはありません。テストは、TTL 値が と 等しいプローブの数が送信された後に終了します。traceRouteCtlMaxttl

  • traceRouteCtlMaxFailures しきい値を超えました。ステータス で終了する連続したプローブの数が を超えています 。requestTimedOuttraceRouteCtlMaxFailures

  • テストを終了します。行を に設定または削除するには、 をに設定します。traceRouteCtlAdminStatusdisabledtraceRouteCtlRowStatusdestroy

  • トレースルートテストが正しく設定されていません。で 指定した値または変数は正しくないため、1つのプローブも送信できません。traceRouteCtlTable データの性質上、このエラーはテストが開始されるまで判断できませんでした。つまり、 に移行するまでです。traceRouteResultsOperStatusenabled この現象が発生すると、適切なエラー コードに設定された with に 1 つのエントリが追加されます。traceRouteProbeHistoryTabletraceRouteProbeHistoryStatus

が正しく設定されていれば 、 または のいずれかのトラップが生成されます。traceRouteCtlTrapGenerationtraceRouteTestFailedtraceRouteTestCompleted

トレースルートテスト結果の収集

traceRouteResultsOperStatus をポーリングしてテストがいつ完了したかを調べるか、テストの完了時にトラップを送信するように要求することができます。traceResultsOperStatus の詳細については、「 traceRouteResultsTable 」を参照してください。トレースルート MIB トラップの詳細については、 『実行中のトレースルート テストの監視』の「トラップの生成」セクションを参照してください。実行中のトレースルートテストの監視

統計情報はホップ単位で計算され、traceRouteHopsTable に格納されます。各ホップについて以下が含まれます。

  • traceRouteHopsIpTgtAddressType—このホップのホストのアドレス タイプ

  • traceRouteHopsIpTgtAddress - このホップのホストのアドレス

  • traceRouteHopsMinRtt - 最小のラウンドトリップタイム

  • traceRouteHopsMaxRtt - 最大ラウンドトリップタイム

  • traceRouteHopsAverageRtt - 平均ラウンドトリップタイム

  • traceRouteHopsRttSumOfSquares - 往復時間の平方和

  • traceRouteHopsSentProbes—プローブの送信試行回数

  • traceRouteHopsProbeResponses—受信したレスポンスの数

  • traceRouteHopsLastGoodProbe—最終応答のタイムスタンプ

各プローブの詳細については、traceRouteProbeHistoryTable を参照することもできます。traceRouteProbeHistoryTable に使用されるインデックスは 1 から始まり、0xFFFFFFFF になり、再び 1 に折り返されます。

たとえば、次のことを想定します。

  • traceRouteCtlMaxRows は 10 です。

  • traceRouteCtlProbesPerHop は 5 です。

  • ターゲットへのホップは 8 つあります(ターゲットは番号 8)。

  • 送信された各プローブは、ホストからの応答になります (送信されるプローブの数は、traceRouteCtlMaxFailures によって制限されません)。

このテストでは、40 個のプローブが送信されます。テストが終了すると、traceRouteProbeHistoryTable には、 のような 表 4プローブの履歴が記録されます。

表 4: traceRouteプローブ履歴テーブル

履歴インデックス

ヒストリーホップインデックス

履歴プローブインデックス

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

トレースルートテストの停止

アクティブ・テストを停止するには、を に設定します。traceRouteCtlAdminStatusdisabled テストを停止し、その 、 、 、および オブジェクトを MIB から削除するには、 に設定します。traceRouteCtlEntrytraceRouteResultsEntrytraceRouteProbeHistoryEntrytraceRouteProbeHistoryEntrytraceRouteCtlRowStatusdestroy

トレースルート変数の解釈

このトピックでは、トレースルート MIB で明示的に指定されていない以下の変数の範囲に関する情報を提供します。

  • —の最大 値は 2550 です。traceRouteCtlMaxRowstraceRouteCtlMaxRows これは、最大 TTL (255) に (10) の 最大値を掛けた値を表します。traceRouteCtlProbesPerHop したがって、 は 1 つの最大値で 1 つの 完全なテストに対応します。traceRouteProbeHistoryTabletraceRouteCtlEntry 通常、最大値は使用 されず、 は、同じ テストの多くのテストの完全な履歴に対応できます。traceRouteProbeHistoryTabletraceRouteCtlEntry

  • traceRouteMaxConcurrentRequests—最大値は 50 です。テストが実行されている場合は、未処理のプローブが 1 つあります。は、 の値 を持つトレースルート テストの最大数を表します。traceRouteMaxConcurrentRequeststraceRouteResultsOperStatusenabled テストを実行してテストを開始しようとすると、 が設定されたプローブが 1 つ作成され、そのテストはすぐに終了します。traceRouteMaxConcurrentRequeststraceRouteProbeHistoryStatusmaxConcurrentLimitReached

  • traceRouteCtlTable- このテーブルで許可されるエントリの最大数は 100 です。101番目のエントリを作成しようとすると、 SNMPv1 のメッセージと SNMPv2 のメッセージが表示されます。BAD_VALUERESOURCE_UNAVAILABLE

変更履歴

サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 特定の機能がお使いのプラットフォームでサポートされているかどうかを確認するには、 Feature Explorer をご利用ください。

リリース
説明
17.2X75-D100
Junos OS リリース 17.2X75-D100 以降では、ICMP ping を開始する前に RPM を設定する必要があります。