Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

gNOI診断(診断)サービス

概要 gNOI 診断(Diag)サービスを使用して、2 台のデバイス間のリンクの信頼性をテストします。

概要

サービス RPC を Diag 使用して、1 組の接続ポートでビット 誤り率テスト(BERT)を実行します。 Diag サービス proto 定義ファイルは 、https://github.com/openconfig/gnoi/blob/master/diag/diag.proto にあります。

BERT は、擬似ランダム バイナリ シーケンス(PRBS)テストとも呼ばれ、リンクの信頼性をテストします。gNOI RPC は StartBERT() 、接続された物理インターフェイスのペアで双方向 BERT を開始します。デバイスは、リンクを介して1と0のセットパターンを交換します。デバイスは、受信したメッセージと送信されたメッセージを比較し、エラー数をカウントします。エラーの数が少ないほど、リンクの品質が高くなります。

デバイスが結果を比較できるように、リンクの両側で gNOI BERT を実行する必要があります。テストするリンクは BERT の間にダウンし、BERT が終了すると元に戻ります。ただし、BERT を実行しているデバイスの 1 つが再起動した場合、もう一方のデバイスで BERT を停止しない限り、リンクはダウンしたままになります。

複数の所定のタイプからテストパターンを選択できます。BERT または PRBS テスト パターンのタイトルは PRBSx 形式で、x は数字です。Junos デバイスは、gNOI BERTs で以下のテスト パターンをサポートしています。

  • PRBS7
  • PRBS9
  • PRBS15
  • PRBS23
  • PRBS31

各 gNOI BERT に固有の操作 ID を付与する必要があります。BERT を開始し、BERT を停止し、BERT の結果を取得する RPC は、BERT 操作 ID によってリンクされます。新しい BERT を実行する場合、操作 ID を新しい文字列に変更する必要があります。RPC は各 BERT を動作 ID で識別するため、同じ ID を持つ異なるインターフェイス上で複数の BERT を実行できます。

デバイスは、最後の 5 つの BERT 操作の結果を保持します。ただし、保存された BERT 結果は永続的ではありません。システムが再起動すると、それらは失われます。

保存された特定の BERT 操作の結果を表示するには、目的の BERT 操作 ID にメッセージを送信 GetBERTResultRequest し、 フィールドを result_from_all_portsFalse設定します。異なる ID のすべての要求結果を表示するには、メッセージ内のフィールドを result_from_all_ports GetBERTResultRequest に設定します True

デバイスで RPC を GetBERTResult() 実行すると、RPC は BERT で検出された特定のデバイスのビット数を表示します。RPC には合格または不合格条件が設定されていないため、結果を評価するのはユーザー次第です。次のようないくつかの理由で、多数のエラーが発生する可能性があります。

  • リンクの品質が低い。
  • BERT の実行中に、デバイスの 1 つがオフラインになりました。
  • BERT は 1 つのデバイスのみで実行されます。
  • BERT は両方のデバイスで同時に開始および停止しませんでした。

最後のエラーを回避するには、RPC を両方の StartBERT() デバイスに同時に送信することをお勧めします。あるデバイス上でもう一方のデバイスで BERT を起動した場合、BERT がもう一方のデバイスで開始されるまで、最初のデバイスは応答を受信しません。最初のデバイスは、応答の欠如をビットの不一致として記録します。1 台目のデバイスは、2 台目のデバイスで BERT が起動するまでエラーの報告を続けます。BERT を同時に起動できない場合は、最後に BERT を起動した GetBERTResult() デバイスで RPC を実行することをお勧めします。BERT がすでに最初のデバイスで実行されていたため、2 番目のデバイスはビットの欠落を報告しません。

サポートされている RPC

表 1:サポートされている diag.proto RPC
リリースで導入された RPC の説明
StartBERT()

一連のポートで BERT を起動します。Junos デバイスは、gNOI BERTs に対して以下の PRBS パターンをサポートしています。

  • PRBS7
  • PRBS9
  • PRBS15
  • PRBS23
  • PRBS31

Junos OS Evolved 22.2R1

StopBert()

一連のポートで、すでに進行中の BERT を停止します。

Junos OS Evolved 22.2R1

GetBERTResult()

BERT の実行中または完了後に BERT の結果を取得します。

Junos OS Evolved 22.2R1

ネットワーク デバイスの設定

  • gRPCサービスの設定に関する説明に従って、ネットワークデバイス上で gRPCサービスを設定します
  • gNOI サービスの構成に関する説明に従って、gNOI 操作をサポートするようにネットワーク管理システムを構成します。
  • BERT を実行するリンクについては、サーバーとピア インターフェイスの速度が一致するように設定します。BERT は、インターフェイス速度が一致する場合にのみ実行されます。

例: BERT を実行する

メモ:

インターフェイス上で BERT が進行中の間、そのインターフェイス上の物理リンクはダウンします。

gNOI クライアントとサーバーを構成した後、アプリケーションを作成して実行して BERT を実行する準備が整いました。この例では、クライアントは Python アプリケーションを gnoi_bert_client.py 実行して、サーバーとピア デバイス間のリンクをテストします。アプリケーションは gnoi_bert_client.py 、引数に応じて BERT の開始、BERT の停止、または BERT 結果の取得ができます。

まず、クライアントは RPC の送信にStartBERT()使用gnoi_bert_client.pyして、サーバーとピアで BERT を起動します。BERT の実行中、サーバーとピアは et-1/0/2 と et-1/0/3 インターフェイス間のリンクを介して BERT テスト パケットを交換します。

図 1:BERT Network Topology During the BERT の間のネットワーク トポロジー

BERT は、設定した時間の期限が切れた後に終了します。次に、クライアントは RPC で GetBERTResult() アプリケーションを 2 回実行し、サーバーから BERT の結果を取得します。

メッセージの StartBERTRequest パラメーターは、 input_bert_start.json JSON ファイルに格納されます。このファイルは、PRBS パターン 31 を使用して BERT を 60 秒間実行することを指定します。メッセージの GetBERTResultRequest パラメーターは 、input_bert_get.json JSON ファイルに格納されます。フィールドは result_from_all_ports 、 に False設定されているため、 GetBERTResult() RPC はこのポートからこの特定の BERT の結果のみを取得します。BERT 操作 ID は BERT-operation id 1 両方の JSON ファイルに含まれます。

アプリケーションは、チャネルを grpc_channel 確立するためにモジュールをインポートします。このモジュールについては grpc_channel 、「 gNOI サービスの設定」を参照してください。ここには、アプリケーション・ファイルと JSON ファイルが表示されています。

gnoi_bert_client.py

input_bert_start.json

input_bert_get.json

アプリケーションの実行

  1. クライアントから、アプリケーションをgnoi_bert_client.py実行して、ピアで BERT を開始します(図示しません)。次に、アプリケーションをgnoi_bert_client.py実行してサーバー上で BERT を起動します(以下を参照)。BERT を開始するには、 にStartBERTRequest設定messageし、input_bert_start.json ファイル パスに設定input_fileします。各デバイスについて、入力ファイルには、そのデバイスでテストされたインターフェイスを指定する必要があります。ステータスはBERT_STATUS_OK、BERT が正常に開始したことを示しています。

  2. (オプション)BERT を実行している間、サーバーまたはピア デバイスで コマンドを使用 show interfaces して、継続的な BERT 結果を表示します。BERT が実行されている場合、PRBS モードは Enabled.この例の出力は、明確にするために切り捨てられます。

  3. BERT が終了したら、 にGetBERTResultRequest設定してアプリケーションをgnoi_bert_client.py再度message実行しinput_fileinput_bert_get.json ファイル パスに設定してテストの結果を取得します。この例では、BERT は 1 分間のテスト中にエラーを検出しました。

    BERT は正常に完了し、リンクの品質が良好であることを示しています。