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 と Traceroute MIB。これらの Mib を使用して、ネットワーク管理システム (NMS) 内の SNMP クライアントは以下のことができます。

  • ルーター上で一連の操作を開始します。

  • 操作完了時に通知を受け取る

  • 各工程の結果を収集します。

Junos OS は、ジュニパーネットワークスのエンタープライズ固有の拡張jnxPingMIB機能でも、これらの mib jnxTraceRouteMIBを拡張しています。jnxPingMIBjnxTraceRouteMIBの詳細については、 PING MIBTraceroute の MIBを参照してください。

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

SNMP リモート運用の要件

Snmp リモート運用を使用するには、SNMP の規則に関する知識が必要です。また、リモート操作の Mib の使用を許可するように Junos OS を設定する必要もあります。

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

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

SNMP ビューの設定

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

SNMP コミュニティー文字列に読み取り/書き込み権限を設定するには、次のステートメントを[edit snmp]階層レベルで記述します。

例:SNMP ビューの設定

SNMP クライアントに Ping MIB remote-communityjnxPing MIB、Traceroute MIB、およびjnxTraceRoute MIB への読み取り/書き込みアクセスを許可するコミュニティーを作成するには、以下のステートメント[edit snmp]を階層レベルで含めます。

このステートメントのcommunity詳細については、「 snmp コミュニティーコミュニティー (snmp)の設定」を参照してください。

viewこのステートメントの詳細については、「 MIB ビューの設定」、「ビュー (SNMP コミュニティー)」、および「ビュー (MIB ビューの設定)」を参照してください。

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

トラップ通知用のリモート操作 MIB 設定するだけでなく、Junos OS も構成する必要があります。リモート操作トラップ用のターゲットホストを指定する必要があります。

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

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

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

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

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

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

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

例:可変長文字列インデックスを設定します。

pingCtlOwnerIndex Is bobpingCtlTestName is pingCtlTargetAddresspingCtlTabletestの行内の変数を参照するには、以下の OID (オブジェクト識別子) を使用します。

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

ロギングの有効化

SNMP リクエストへの応答として返される SNMP エラーコードは、問題の一般的な説明のみを提供します。多くの場合、リモート運用プロセスによって記録されたエラーの説明によって、問題に関する詳細な情報が提供され、問題の解決に役立てることができます。このロギングは、デフォルトでは有効ではありません。ロギングを有効にするにflag generalは、次[edit snmp traceoptions]のように階層レベルのステートメントを追加します。

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

Junos OS を実行しているリモートモニタリングデバイスに Ping MIB を使用する

Ping テストは、ローカルホストから送信されたパケットが指定されたホストに到達し、返されるかどうかを判断するために使用されます。指定されたホストに到達できる場合、ping テストによってパケットのラウンドトリップ時間がほぼ短縮されます。Ping テストの結果は and pingResultsTablepingProbeHistoryTableに格納されます。

RFC 2925 は、Ping MIB に関する権威のある説明として詳細に記載されており、ASN 1 MIB の定義が含まれています MIB。

Ping テストの開始

このトピックを使用して、ICMP ping テストを開始します。Ping テストを開始するには、以下の2つの方法があります。マルチセットプロトコルデータユニット (Pdu) を使用するか、1セット PDU を使用します。

開始する前に

Ping テストを開始する前に、Ping MIB の表示を構成します。これによりSet 、SNMP pingMIBリクエストがオンになります。詳細については、「 MIB ビューの設定」を参照してください。

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

Ping テストの開始

Ping テストを開始するには、でpingCtlTable行を作成pingCtlAdminStatusenabled、に設定します。設定pingCtlAdminStatusする前に指定しなければならないenabled最小情報は、以下のとおりです。

  • pingCtlOwnerIndexSnmpAdminString

  • pingCtlTestNameSnmpAdminString

  • pingCtlTargetAddressInetAddress

  • pingCtlTargetAddressTypeInetAddressType

  • pingCtlRowStatusRowStatus

その他の値はすべて、特に指定されていない限り、デフォルトが選択されます。pingCtlOwnerIndexインデックスとして使用されるため、オブジェクト識別子 (OID) の一部として値が指定されpingCtlTestNameます。行を作成するにはpingCtlRowStatuscreateAndGocreateAndWaitまだ存在していない行に設定します。値active for pingCtlRowStatusは、必要なすべての情報が指定されていて、テストを開始できることを示します。pingCtlAdminStatusenabled設定できます。ローにSet必要な情報pingCtlRowStatusactive指定されていない場合、または矛盾している場合、SNMP リクエストは失敗します。

ビューを構成する方法の詳細については、 SNMP ビューの設定を参照してください。

変数の順序を確認する方法については、以下のセクションをお読みください。

複数のセット Pdu の使用

複数Setの要求 pdu (複数の pdu をそれぞれに1つまたは複数の varbinds と組み合わせて) を使用して、この順序で以下の変数を設定してテストを開始することができます。

  • pingCtlRowStatus宛先createAndWait

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

  • pingCtlRowStatus宛先active

    Junos OS では、テストを実行するために必要なすべての情報が指定されていることを確認します。

  • pingCtlAdminStatus宛先enabled

単一セット PDU の使用

単一Setの要求 PDU (複数の varbinds を使用する1つの pdu) で、以下の変数を設定してテストを開始することができます。

  • pingCtlRowStatus宛先createAndGo

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

  • pingCtlAdminStatus宛先enabled

実行中の Ping テストの監視

pingCtlAdminStatusenabled正しく設定されると、SNMP Setリクエストの確認がクライアントに送り返される前に、以下のことが行われます。

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

  • pingResultsOperStatusenabled移行します。

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

Ping の安定性

テストの実行中は、 pingResultsEntryテストのステータスを追跡します。のpingResultsOperStatus値はenabled 、テストが実行されてdisabledいる間、およびそれが停止したときに発生します。

値は、 pingCtlAdminStatus設定enabledしない限り保持さdisabledれます。したがって、テストのステータスを取得するには、そのpingResultsOperStatusことを確認する必要があります。

このpingCtlFrequency変数を使用して、多数のテストのpingCtlEntryスケジュールを設定できます。テストが正常pingCtlFrequencypingCtlAdminStatusに終了した後 (テストを停止せずに)、秒数が経過した後、テストを開始したのと同じenabledように再起動されます。テストpingCtlAdminStatusの繰り返し ( disabledまたはpingCtlRowStatusを設定notInService) の間にいつでも、別のテストが開始されて正常に終了するまで、リピート機能は無効になっています。値0は、このpingCtlFrequencyリピート機能がアクティブでないことを示します。

pingResultsIpTgtAddrpingResultsIpTgtAddrTypepingCtlTargetAddressType値がdnsの場合、解決された宛先アドレスの値に設定します。テストが正常に開始しpingResultsOperStatus 、次enabledのように移行された場合

  • pingResultsIpTgtAddrはにnull-string設定されています。

  • pingResultsIpTgtAddrTypeはにunknown設定されています。

pingResultsIpTgtAddrpingResultsIpTgtAddrType設定されてpingCtlTargetAddressいない場合、その後は数値アドレスへの解決が可能になります。これらの値を取得するpingResultsIpTgtAddrTypeには、設定unknownpingCtlAdminStatusenabled成功した後ではなく、任意の値をポーリングします。

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

テストが実行されるたびpingCtlTimeOutに、次のようなことが起こります。

  • pingProbeHistoryStatusfor に対応pingProbeHistoryEntryするpingProbeHistoryTableがにrequestTimedOut設定されています。

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

  • 次のプローブを送信しようとしました。

    注:

    各テストには、1つの未処理プローブが存在しません。

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

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

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

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

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

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

  • pingResultsProbeResponses 1増加します。

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

    • pingResultsMinRtt—最小ラウンド トリップ時間

    • pingResultsMaxRtt—最大ラウンド トリップ時間

    • pingResultsAverageRtt—平均ラウンド トリップ時間

    • pingResultsRttSumOfSquares—ラウンド トリップ時間の合計

    • pingResultsLastGoodProbe—最後の回答のタイムスタンプ

      注:

      ターゲットホストからの応答を得たプローブのみが、ラウンドトリップ時間 (RTT) 変数の計算に貢献します。

最後のプローブへの応答が受信されたり、最後のプローブがタイムアウトしたりすると、テストが完了します。

pingProbeHistoryTable

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

  • 最初の2つのpingCtlOwnerIndex変数pingCtlTestNameとは、で使用されpingCtlTableているものと同じもので、テストを識別します。

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

特定のテスト用pingProbeHistoryTableに作成されたエントリの最大数pingCtlMaxRowsは、制限されています。がpingCtlMaxRows 0 に設定されてpingProbeHistoryTableいる場合は、そのテスト用にエントリが作成されません。

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

最後pingProbeHistoryIndexpingProbeHistoryEntryに追加されたものが0xffffffff のpingProbeHistoryEntry場合、 pingProbeHistoryIndex次に追加されたものは1になります。

各プローブ結果について、以下のものが記録されます。

  • pingProbeHistoryResponse—Time to Live(TTL)

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

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

  • pingProbeHistoryTime—プローブ結果が確認されたタイムスタンプ

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

トラップの生成

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

  • テストpingProbeFailed中にpingCtlTrapProbeFailureFilter複数の調査が連続して失敗するたびにトラップが生成されます。

  • pingTestFailedトラップは、テストが完了し、少なくpingCtlTrapTestFailureFilterとも調査が失敗した場合に生成されます。

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

    注:

    プローブの結果が何であっpingProbeHistoryStatusても、プローブは失敗とresponseReceived見なされます。

リモート操作を受信するためにトラップ グループを設定する方法については、「 SNMP トラップ グループの設定 」と「例 : リモート操作のトラップ通知を設定しています。

Ping テストの結果の収集

テストが完了しpingResultsOperStatusた時点を確認するか、テストが完了したときにトラップを送信するように求めることができます。詳細についてpingResultsOperStatusは、「 ping resultstable」を参照してください。Ping MIB トラップの詳細については、トラップの生成を参照してください。

統計情報を計算し、以下pingResultsTableのように保存します。

  • pingResultsMinRtt—最小ラウンド トリップ時間

  • pingResultsMaxRtt—最大ラウンド トリップ時間

  • pingResultsAverageRtt—平均ラウンド トリップ時間

  • pingResultsProbeResponses—回答の受信数

  • pingResultsSentProbes—プローブを送信しようとする試み数

  • pingResultsRttSumOfSquares—ラウンド トリップ時間の合計

  • pingResultsLastGoodProbe—最後の回答のタイムスタンプ

各プローブの詳細pingProbeHistoryTable情報を参照することもできます。にpingProbeHistoryTable使用されるインデックスは、1から0xffffffff へと進み、1になります。

たとえば、が 15 pingCtlProbeCountpingCtlMaxRowsで、5である場合、このテストの最初の実行が完了したpingProbeHistoryTable時点で、に表 1示すプローブが含まれています。

表 1: PingProbeHistoryTable の結果: 最初の Ping テストの後

pingProbeHistoryIndex

プローブの結果

11

Run 1 からの11個のプローブの結果

12

Run 1 からの12日目のプローブの結果

13

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

14

Run 1 からの14個のプローブの結果

15

Run 1 からの15番目の調査結果

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

表 2: PingProbeHistoryTable の結果: 2つ目のテストの最初のプローブの後

pingProbeHistoryIndex

プローブの結果

12

Run 1 からの12日目のプローブの結果

13

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

14

Run 1 からの14個のプローブの結果

15

Run 1 からの15番目の調査結果

16

Run 2 からの最初のプローブの結果

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

表 3: PingProbeHistoryTable の結果: 2つ目の Ping テストの後

pingProbeHistoryIndex

プローブの結果

26

Run 2 からの11個のプローブの結果

27

Run 2 からの12日目のプローブの結果

28

Run 2 からの13個のプローブの結果

29

Run 2 からの14個のプローブの結果

30

Run 2 からの15番目の調査結果

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

  • 指定されたテストの履歴エントリが追加され、履歴エントリのpingCtlMaxRows数が増えています。新しい履歴エントリーが削除され、新時代のためのスペースを確保できるようになりました。

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

Ping テストの停止

アクティブなテストを停止するにpingCtlAdminStatusdisabled、をに設定します。テストを停止pingCtlEntryして、 pingResultsEntryMIB から、およびpingHistoryEntryオブジェクトを削除するには、 pingCtlRowStatusdestroyに設定します。

Ping 変数の解釈

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

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

    pingCtlDataSizeが 0 ~ 8 の範囲にある場合は、無視され、ペイロードは8バイト (タイムスタンプ) になります。Ping MIB では、すべてのプローブが定期的に発生すると想定されるため、ペイロードには常にタイムスタンプが含まれている必要があります

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

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

  • pingCtlMaxRows—最大値は 255 です。

  • pingMaxConcurrentRequests—最大値は 500 です。

  • pingCtlTrapProbeFailureFilter および — Ping テーブルで0の値を指定するか、 pingCtlTrapTestFailureFilterpingCtlTrapProbeFailureFilterpingCtlTrapTestFailureFilter 定義されていないMIB。0 pingCtlTrapProbeFailureFilterの場合、 pingProbeFailedどのような状況下でも、テストのトラップは生成されません。0 pingCtlTrapTestFailureFilterの場合、 pingTestFailedどのような状況下でも、テストのトラップは生成されません。

Traceroute MIB を使用して、Junos OS を実行しているリモートモニタリングデバイスの場合

Traceroute のテストでは、ローカルホストからリモートホストへのパスパケットを近似しています。

RFC 2925 は、Traceroute MIB の権威を持つ説明であり、Traceroute MIB の ASN 1 MIB の定義を提供します。

Traceroute テストの開始

Traceroute テストを開始する前に、Traceroute MIB ビューを構成します。これによりSet 、SNMP tracerouteMIBリクエストがオンになります。テストを開始するには、でtraceRouteCtlTable行を作成traceRouteCtlAdminStatusenabled、に設定します。少なくとも以下の設定traceRouteCtlAdminStatusenabled指定する必要があります。

  • traceRouteCtlOwnerIndexSnmpAdminString

  • traceRouteCtlTestNameSnmpAdminString

  • traceRouteCtlTargetAddressInetAddress

  • traceRouteCtlRowStatusRowStatus

その他の値はすべて、特に指定されていない限り、デフォルトが選択されます。traceRouteCtlOwnerIndexインデックスとして使用されるため、その値は OID の一部として指定されtraceRouteCtlTestNameます。行を作成するにはtraceRouteCtlRowStatuscreateAndGocreateAndWaitまだ存在していない行に設定します。値active for traceRouteCtlRowStatusは、必要なすべての情報が指定されていて、テストを開始できることを示します。traceRouteCtlAdminStatusenabled設定できます。ローにSet必要な情報traceRouteCtlRowStatusactive指定されていない場合、または矛盾している場合、SNMP リクエストは失敗します。ビューを構成する方法の詳細については、 SNMP ビューの設定を参照してください。

Traceroute テストを開始するには、以下の2つの方法があります。

複数のセット Pdu の使用

複数Setの要求 pdu (複数の pdu をそれぞれに1つまたは複数の varbinds と組み合わせて) を使用して、この順序で以下の変数を設定してテストを開始することができます。

  • traceRouteCtlRowStatus を createAndWait

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

  • traceRouteCtlRowStatus宛先active

    Junos OS では、テストを実行するために必要なすべての情報が指定されていることを確認します。

  • traceRouteCtlAdminStatus宛先enabled

単一セット PDU の使用

単一Setの要求 PDU (複数の varbinds を使用する1つの pdu) で、以下の変数を設定してテストを開始することができます。

  • traceRouteCtlRowStatus宛先createAndGo

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

  • traceRouteCtlAdminStatus を有効に

実行中の Traceroute テストの監視

TraceRouteCtlAdminStatus が [有効] に設定されている場合は、SNMP Set リクエストの確認応答がクライアントに送り返される前に、以下のことを実行します。

  • traceRouteResultsEntry は、まだ存在していない場合に作成されます。

  • traceRouteResultsOperStatus が有効に移行します。

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

traceRouteResultsTable

テストが実行されている間、この traceRouteResultsTable はテストのステータスを追跡します。TraceRouteResultsOperStatus の価値は、テストの実行中に有効になり、停止時に無効になります。

TraceRouteCtlAdminStatus の値は、無効に設定するまで有効です。したがって、テストのステータスを取得するには、traceRouteResultsOperStatus を確認する必要があります。

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

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

  • traceRouteResultsIpTgtAddr は null 文字列に設定されています。

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

traceRouteResultsIpTgtAddr と traceRouteResultsIpTgtAddrType は、traceRouteCtlTargetAddress が数値アドレスに解決されるまで設定されません。これらの値を取得するには、traceRouteCtlAdminStatus を有効に設定した後に、unknown 以外の値の traceRouteResultsIpTgtAddrType をポーリングします。

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

TraceRouteCtlProbesPerHop のプローブの数は、各 time-to-live (TTL) 値に対して送信されます。現在のホップの最後のプローブの結果が決定された場合、現在のホップが宛先ホップでない場合、traceRouteResultsCurHopCount は1になり、traceRouteResultsCurProbeCount は1にリセットされます。

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

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

traceRouteProbeResultsTable

TraceRouteProbeHistoryTable の各エントリーは5つの変数でインデックスが付けられています。

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

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

  • 4つ目の変数 traceRouteProbeHistoryHopIndex は、このプローブのホップ先 (実際の生存期間または TTL 値) を示します。したがって、テストの開始時に作成された最初の traceRouteCtlProbesPerHop 数のエントリは、traceRouteProbeHistoryHopIndex の traceRouteCtlInitialTtl という値になります。

  • 5つ目の変数 traceRouteProbeHistoryProbeIndex は、現在のホップのプローブです。その範囲は 1 ~ traceRouteCtlProbesPerHop です。

テストの実行中に、プローブ結果が決定されるとすぐに、次のプローブが送信されます。TraceRouteCtlTimeOut 秒の最大値は、プローブがステータス requestTimedOut でマークされてから、次のプローブが送信されるまでの時間を経過したものです。Traceroute テスト当たりの未解決のプローブは1つではありません。プローブがタイムアウトすると、プローブ結果は無視されます。

各プローブは以下のことが可能です。

  • ホストから応答が返されます。プローブを確認します。

  • ホストからの応答がないため、タイムアウトが発生します。プローブを確認します。

  • 送信できません

TraceRouteProbeHistoryTable には、それぞれのプローブステータスが traceRouteProbeHistoryStatus セットとともに記録されています。

ホストからの応答が返されるプローブによって、以下のデータが記録されます。

  • traceRouteProbeHistoryResponse — RTT(ラウンド トリップ時間)

  • traceRouteProbeHistoryH 考え方—H300 のタイプ(次の引数)

  • traceRouteProbeHistoryH望望のアドレス

調査に対する応答が受信されたかどうかにかかわらず、すべてのプローブが以下の内容を記録しています。

  • 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 を使用したプローブへの応答がない場合、traceRouteHopsEntry は traceRouteHopsIpTgtAddress に対して値を持たない可能性があります。

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

  • traceRouteHopsHopIndex の変数 (1 ずつ増加)

  • IP アドレスに設定された traceRouteHopsIpTgtAddress

    注:

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

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

  • 現在の traceRouteHopsEntry の値 traceRouteHopsProbeResponses は1ずつ増加しています。

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

    • traceRouteResultsMinRtt — 最小ラウンド トリップ時間

    • traceRouteResultsMaxRtt — 最大ラウンド トリップ時間

    • traceRouteResultsAverageRtt — 平均ラウンド トリップ時間

    • traceRouteResultsRttSumOfSquares — ラウンド トリップ時間の 2 乗の合計

    • traceRouteResults LastGoodProbe — 最後の応答のタイムスタンプ

      注:

      ホストにアクセスするプローブだけが、ラウンドトリップの時間値に影響を与えます。

トラップの生成

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

  • 現在のプローブの traceRouteHopsIpTgtAddress は、同じ TTL 値 (traceRoutePathChange) が指定された最新のプローブとは異なります。

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

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

リモート操作を受信するトラップ グループを設定する方法については、「 SNMP トラップ グループの設定と SNMP リモート運用の概要 」 を参照してください

Traceroute テストの完了の監視

テストが完了すると、 traceRouteResultsOperStatusからenableddisabled移行します。この移行は、以下の状況で発生します。

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

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

  • traceRouteCtlMaxFailures しきい値を超えています。ステータスが status requestTimedOutである連続するプローブの数traceRouteCtlMaxFailuresを超えています。

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

  • Traceroute テストの構成が正しくありません。にtraceRouteCtlTable指定された値または変数が正しくないため、単一のプローブを送信できません。データの性質上、このエラーはテストが開始されるまで判断できませんでした。その後traceRouteResultsOperStatus 、にenabled移行されます。これが発生すると、適切なエラー traceRouteProbeHistoryTableコードtraceRouteProbeHistoryStatusに設定したエントリが1つに追加されます。

適切traceRouteCtlTrapGenerationに設定されてtraceRouteTestFailedいる場合traceRouteTestCompletedは、またはトラップのいずれかが生成されます。

Traceroute テスト結果の収集

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

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

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

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

  • traceRouteHopsMinRtt — 最小ラウンド トリップ時間

  • traceRouteHopsMaxRtt — 最大ラウンド トリップ時間

  • traceRouteHopsAverageRtt — 平均ラウンド トリップ時間

  • traceRouteHopsRttSumOfSquares — ラウンド トリップ時間の 2 乗の合計

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

  • traceRouteHopsProbeRespons — 受信した応答数

  • traceRouteHops LastGoodProbe — 最後の応答のタイムスタンプ

また、各プローブの詳細については、traceRouteProbeHistoryTable を参照してください。TraceRouteProbeHistoryTable に使用されるインデックスは、1から0xFFFFFFFF に始まり、もう一度1に進みます。

たとえば、以下のような場合を想定します。

  • traceRouteCtlMaxRows は10です。

  • traceRouteCtlProbesPerHop は5です。

  • ターゲットへのホップ数は8個 (ターゲットは8個) です。

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

このテストでは、40プローブが送信されます。テストの終了時には、traceRouteProbeHistoryTable のように、に表 4示すようなプローブの履歴が得られます。

表 4: traceRouteProbeHistoryTable

履歴インデックス

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

Traceroute のテストを停止する

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

Traceroute 変数の解釈

このトピックでは、Traceroute MIB で明示的に指定されていない以下の変数の範囲について説明します。

  • traceRouteCtlMaxRows—最大値は traceRouteCtlMaxRows 2550 です。これは最大 TTL (255) に最大値traceRouteCtlProbesPerHop (10) を乗じたものです。そのため、 traceRouteProbeHistoryTableは 1 traceRouteCtlEntryつの完全なテストに対応しています。通常、最大値は使用されず、 traceRouteProbeHistoryTableでは同じtraceRouteCtlEntryように多くのテストの完全な履歴を格納できます。

  • traceRouteMaxConcurrentRequests—最大値は 50 です。テストが実行されている場合は、1つの未処理プローブがあります。traceRouteMaxConcurrentRequeststraceRouteResultsOperStatusenabled値を持つ traceroute テストの最大数を表します。試験を実行してtraceRouteMaxConcurrentRequestsテストを開始しようとすると、with set をtraceRouteProbeHistoryStatusmaxConcurrentLimitReached使用してプローブが1つ作成されるため、そのテストは直ちに終了します。

  • traceRouteCtlTable— この表で許容されるエントリーの最大数は 100 です。10番目のエントリーを作成しようとするとBAD_VALUE 、SNMPv1 のメッセージとRESOURCE_UNAVAILABLE SNMPv2 用のメッセージが表示されます。

リリース履歴テーブル
リリース
説明
17.2X75-D100
Junos OS リリース 17.2 X75-D100 から開始し、ICMP ping を開始する前に RPM を設定する必要があります。