# Compaq OpenVMS
OpenVMS Cluster システム

前へ | 次へ | 目次 | 索引

## F.11.2 特定の OpenVMS Cluster のすべての LAN パケットの取り込み

特定のクラスタのすべての LAN パケットをフィルタリングするには， 表 F-14 に示す値を使用します。LAN で特定の OpenVMS Cluster を切り分けるには， OpenVMS Cluster グループ・コード (nn--nn ) の値を指定します。フィルタの名前は LAVc_all です。

表 F-14 すべての LAN パケットの取り込み (LAVc_all)
バイト番号 | フィールド | 値
--- | --- | ---
1 | DESTINATION | xx--xx--xx--xx--xx--xx
7 | SOURCE | xx--xx--xx--xx--xx--xx
13 | TYPE | 60--07
23 | LAVC_GROUP_CODE | nn--nn
33 | ACKING MESSAGE | xx--xx
35 | SENDING MESSAGE | xx--xx

## F.11.3 分散イネーブル・フィルタの設定

分散イネーブル・パケット受信イベントに対して， Distrib_Enable というフィルタを設定するには， 表 F-15 に示す値を使用します。複数の LAN セグメントのトラブルシューティングを行うには，このフィルタを使用します。

表 F-15 分散イネーブル・フィルタの設定 (Distrib_Enable)
バイト番号 | フィールド | 値 | ASCII
--- | --- | --- | ---
1 | DESTINATION | 01--4C--41--56--63--45 | .LAVcE
7 | SOURCE | xx--xx--xx--xx--xx--xx |
13 | TYPE | 60--07 | `.
15 | TEXT | xx |

## F.11.4 分散トリガ・フィルタの設定

分散トリガ・パケット受信イベントに対して，Distrib_Trigger というフィルタを設定するには， 表 F-16 に示す値を使用します。複数の LAN セグメントのトラブルシューティングを行うには，このフィルタを使用します。

表 F-16 分散トリガ・フィルタの設定 (Distrib_Trigger)
バイト番号 | フィールド | 値 | ASCII
--- | --- | --- | ---
1 | DESTINATION | 01--4C--41--56--63--54 | .LAVcT
7 | SOURCE | xx--xx--xx--xx--xx--xx |
13 | TYPE | 60--07 | `.
15 | TEXT | xx |

# F.12 メッセージ

ここでは，分散イネーブルおよび分散トリガのメッセージを設定する方法について説明します。

## F.12.1 分散イネーブル・メッセージ

表 F-17 は，新しいメッセージを作成することにより，分散イネーブル・メッセージ (Distrib_Enable) を定義する方法を示しています。送信元アドレス (nn nn nn nn nn nn ) の代わりに，LAN アナライザの LAN アドレスを指定しなければなりません。

表 F-17 分散イネーブル・メッセージの指定(Distrib_Enable)
フィールド | バイト番号 | 値 | ASCII
--- | --- | --- | ---
Destination | 1 | 01 4C 41 56 63 45 | .LAVcE
Source | 7 | nn nn nn nn nn nn |
Protocol | 13 | 60 07 | `.
Text | 15 | 44 69 73 74 72 69 62 75 74 65 | Distribute
| 25 | 64 20 65 6E 61 62 6C 65 20 66 | d enable f
| 35 | 6F 72 20 74 72 6F 75 62 6C 65 | or trouble
| 45 | 73 68 6F 6F 74 69 6E 67 20 74 | shooting t
| 55 | 68 65 20 4C 6F 63 61 6C 20 41 | he Local A
| 65 | 72 65 61 20 56 4D 53 63 6C 75 | rea VMSclu
| 75 | 73 74 65 72 20 50 72 6F 74 6F | ster Proto
| 85 | 63 6F 6C 3A 20 4E 49 53 43 41 | col: NISCA

## F.12.2 分散トリガ・メッセージ

表 F-18 は，新しいメッセージを作成することにより，分散トリガ・メッセージ (Distrib_Trigger) を定義する方法を示しています。送信元アドレス (nn nn nn nn nn nn ) の代わりに， LAN アナライザの LAN アドレスを指定しなければなりません。

表 F-18 分散トリガ・メッセージの設定 (Distrib_Trigger)
フィールド | バイト番号 | 値 | ASCII
--- | --- | --- | ---
Destination | 1 | 01 4C 41 56 63 54 | .LAVcT
Source | 7 | nn nn nn nn nn nn |
Protocol | 13 | 60 07 | `.
Text | 15 | 44 69 73 74 72 69 62 75 74 65 | Distribute
| 25 | 64 20 74 72 69 67 67 65 72 20 | d trigger
| 35 | 66 6F 72 20 74 72 6F 75 62 6C | for troubl
| 45 | 65 73 68 6F 6F 74 69 6E 67 20 | eshooting
| 55 | 74 68 65 20 4C 6F 63 61 6C 20 | the Local
| 65 | 41 72 65 61 20 56 4D 53 63 6C | Area VMScl
| 75 | 75 73 74 65 72 20 50 72 6F 74 | uster Prot
| 85 | 6F 63 6F 6C 3A 20 4E 49 53 43 | ocol: NISC
| 95 | 41 | A

# F.13 再送エラーを取り込むプログラム

以下のソース・コードに示すように，再送エラーを取り込むように HP 4972 LAN Protocol Analyzer をプログラミングできます。スタータ・プログラムは，すべての LAN アナライザで取り込みを開始します。1 つの LAN アナライザだけがスタータ・プログラムのコピーを実行するようにしなければなりません。他の LAN アナライザはパートナ・プログラムまたはスクライブ・プログラムを実行しなければなりません。パートナ・プログラムは，エラーの初期位置が不明で，すべてのアナライザが協調動作してエラーを検出しなければならないときに使用します。スクライブ・プログラムは，他の LAN セグメントからデータを取り込むだけでなく，特定の LAN セグメントで起動 (trigger) するときに使用します。

## F.13.1 スタータ・プログラム

スタータ・プログラムは，最初に他の LAN アナライザに分散イネーブル・シグナルを送信します。次に，このプログラムはすべての LAN トラフィックを取り込み，この LAN アナライザが再送パケットを検出するか，またはパートナ・プログラムを実行している別の LAN アナライザから送信された分散トリガを受信したときに，終了します。

以下の例に示すスタータ・プログラムは，複数の LAN アナライザを使用して複数の LAN セグメントでデータの取り込みを開始するために使用されています。このプログラムは，すべての LAN セグメントで同じ間隔でデータを取り込むことにより，再送の理由を突き止めます。

    Store: frames matching LAVc_all
     or Distrib_Enable
     or Distrib_Trigger
           ending with LAVc_TR_ReXMT
            or Distrib_Trigger

    Log file: not used

    Block 1:   Enable_the_other_analyzers
         Send message Distrib_Enable
           and then
         Go to block 2

    Block 2:   Wait_for_the_event
         When frame matches LAVc_TR_ReXMT then go to block 3

    Block 3:   Send the distributed trigger
         Mark frame
           and then
         Send message Distrib_Trigger

## F.13.2 パートナ・プログラム

パートナ・プログラムは分散イネーブルを待機します。すべての LAN トラフィックを取り込み，分散トリガの再送を受信すると終了します。終了時に，このプログラムは分散トリガを送信して，再送されたパケットがこのセグメントまたは別のセグメントで検出されるのとほぼ同時に，他の LAN アナライザもデータを取り込むことができるようにします。データの取り込みが完了すると，複数の LAN セグメントからのデータを確認して，再送されたデータの初期コピーを見つけることができます。以下の例はパートナ・プログラムを示しています。

    Store: frames matching LAVc_all
            or Distrib_Enable
            or Distrib_Trigger
           ending with Distrib_Trigger

    Log file: not used

    Block 1:   Wait_for_distributed_enable
         When frame matches Distrib_Enable then go to block 2

    Block 2:   Wait_for_the_event
         When frame matches LAVc_TR_ReXMT then go to block 3

    Block 3:   Send the distributed trigger
         Mark frame
           and then
         Send message Distrib_Trigger

## F.13.3 スクライブ・プログラム

スクライブ・プログラムは分散イネーブルを待機し，すべての LAN トラフィックを取り込み，分散トリガの結果として終了します。スクライブ・プログラムを使用すると，ネットワーク・マネージャは，再送されたパケットが別のセグメントで検出されるのとほぼ同時にデータを取り込むことができます。データの取り込みが完了した後，複数の LAN セグメントからのデータを確認して，再送されたデータの初期コピーを見つけることができます。以下の例はスクライブ・プログラムを示しています。

    Store: frames matching LAVc_all
            or Distrib_Enable
            or Distrib_Trigger
           ending with Distrib_Trigger

    Log file: not used

    Block 1:   Wait_for_distributed_enable
         When frame matches Distrib_Enable then go to block 2

    Block 2:   Wait_for_the_event
         When frame matches LAVc_TR_ReXMT then go to block 3

    Block 3:   Mark_the_frames
         Mark frame
           and then
         Go to block 2

# 付録 G
NISCA トランスポート・プロトコル・チャネル選択および輻輳制御

# G.1 NISCA 送信チャネルの選択

この付録では，OpenVMS バージョン 7.3 (Alpha および VAX) で実行している PEDRIVER と，前のバージョンの OpenVMS Alpha および OpenVMS VAX の PEDRIVER について説明します。

## G.1.1 OpenVMS バージョン 7.3 以降 (Alpha および VAX) の複数チャネル負荷分散

他ノードからデータグラムを受信するためにはノードで使用できるすべてのチャネルを使用できますが，他のノードへデータグラムを送信する場合には必ずしもすべてのチャネルが必要になるとは限りません。 NISCA プロトコルは，使用できるすべてのチャネルからリモート・ノードへのデータグラムの送信に使用するチャネルを選択します。この送信チャネルのセットを 等価チャネル・セット (ECS) と呼びます。データグラム送信は， ECS のすべてのチャネルにラウンドロビンで配信されるため，ノード間のクラスタ通信のスループットが最大になります。

### G.1.1.1 等価チャネル・セットの選択

複数のノード間チャネルが使用可能な場合， OpenVMS Cluster ソフトウェアは次の基準で使用するチャネル・セットを選択します。この基準は厳密にリストした順で評価されます。

1. パケットの損失履歴

   少し前に高頻度で LAN パケットを損失したことがあるチャネルは， 損失過多 と呼ばれ，対象外とします。損失履歴が許容範囲にあるチャネルは，タイトと呼び，使用対象の候補にします。

2. キャパシティ

   次に，タイト・チャネルの現在の候補セットに対してキャパシティ基準を評価します。キャパシティ基準には次のものがあります。

   1. 優先順位

      管理優先順位値を，個々のチャネルとローカル LAN デバイスの両方に割り当ることができます。チャネルの優先順位値は，割り当て済みの管理優先順位値の合計です。タイト・チャネルは，最大の優先順位値のタイト・チャネルと同じか，または 1 つだけ小さいタイト・チャネルのみを候補に残します。

   2. パケット・サイズ

      同じ優先順位値のタイト・チャネルの最大使用可能パケット・サイズが，最大のものと同じタイト・チャネルを候補に残します。

   これらのキャパシティ基準をすべて満たすチャネルを， 同位チャネル と分類します。キャパシティ基準に満たないチャネルは， 劣位チャネル として分類します。現在のキャパシティ基準を 1 つ以上上回り，別のキャパシティ基準も満たすチャネルを， 優位チャネル として分類します。

   優位チャネルを検出すると，すぐにECS選択のためのキャパシティ基準を再計算することに注意してください。この再計算により，優位チャネルのキャパシティ基準が ECS のキャパシティ基準となり，これに対してすべてのタイト・チャネルの評価が行われます。

   同様に，残り 1 つの同位チャネルが使用不能になったり，損失過多チャネルになると， ECS 選択のためのキャパシティ基準が再計算されます。これにより，以前には劣位チャネルであったものが同位チャネルとなることがあります。

   ECS 選択のための現在のキャパシティ基準に対してキャパシティの値が評価されていないチャネルを，未評価チャネル と分類します。未評価チャネルは ECS 選択のための現在の基準には影響しないため， ECS 選択のための再計算が行われるときには，損失過多チャネルは計算の都合上は未評価チャネルと扱われます。

3. 遅延

   ECS 選択のための前述の基準を満たすチャネルで，平均ラウンド・トリップ遅延が最も短いチャネルとほぼ同じチャネル 高速チャネル が使用されます。この ECS 選択の遅延基準を満たさないチャネルを， 低速チャネル と見なします。

   現在 ECS に属する各チャネルの遅延は，そのチャネルを用いて送信されるクラスタ通信トラフィックを使って測定されます。チャネルが数秒間データグラムの送信に使用されていないときは，ラウンドトリップのハンドシェークを使って遅延が測定されます。このため，損失過多チャネルまたは低速チャネルは，数秒間隔で測定され，遅延またはデータグラム損失率が ECS 選択基準を満たす程度に改善されたかどうかを判断します。

ここで定義した用語を使用すれば， ECS に属するチャネルとはその時点で，タイトで，同位で，高速のチャネルです。

前へ | 次へ | 目次 | 索引