ヘッダーをスキップ
Oracle® Coherence開発者ガイド
リリース3.6.1
B61368-02
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

43 マルチキャスト接続テストの実行

Coherenceにはマルチキャスト・テスト・ユーティリティが付属しており、2台以上のコンピュータ間でマルチキャストが有効化されているかどうかの判定に利用できます。これは接続テストであり、負荷テストではありません。デフォルトでは、それぞれのインスタンスで2秒ごとに単一のマルチキャスト・パケットが一度送信されるのみです。ネットワークの負荷テストについては、第44章「ネットワーク・パフォーマンスのデータグラム・テストの実行」を参照してください。

マルチキャスト・テスト・ユーティリティの実行

マルチキャスト・テスト・ユーティリティでは数多くの構成オプションがサポートされていますが、基本的な操作に必要なものはごくわずかです。マルチキャスト・テスト・ユーティリティを実行するには、コマンドラインから次の構文を使用します。

java com.tangosol.net.MulticastTest <command value> <command value> ...

表43-1は、マルチキャスト・テスト・ユーティリティで利用できるコマンドライン・オプションについて説明しています。

表43-1 マルチキャスト・テスト・ユーティリティのコマンドライン・オプション

コマンド 必須/オプション 説明 デフォルト

-local

オプション

送信を行うNICのアドレス、IPアドレスとして指定

localhost

-group

オプション

使用するマルチキャスト・アドレス、IP:ポートの形式で指定

237.0.0.1:9000

ttl

オプション

マルチキャスト・パケットの有効時間

4

-delay

オプション

パケット送信間の遅延、秒単位で指定

2

-display

オプション

予期しないパケットから表示されるバイト数

0


サンプル・コマンド

java com.tangosol.net.MulticastTest -group 237.0.0.1:9000

使いやすくするため、Coherenceのbinディレクトリにmulticast-test.shおよびmulticast-test.cmdのスクリプトが用意されており、このテストの実行に使用できます。

注意: Coherence 3.1より前は次の構文が使用され、スクリプトはありませんでした。

java com.tangosol.net.MulticastTest <ip-addr> <multicast-addr> <port> <ttl> <delay-secs>

マルチキャスト・テストの例

マルチキャスト・アドレス237.0.0.1、ポート9000(テストのデフォルト)を使用して、IPアドレス195.0.0.1のServer AとIPアドレス195.0.0.2のServer Bの2台のサーバー間でメッセージを送信できるかどうかをテストするとします。

まずServer Aで、次のようにこのマシンまたはインタフェースを単独でチェックして、195.0.0.1で使用可能なマルチキャスト・アドレス237.0.0.1、ポート9000があるかどうかを判定します。

コマンド・プロンプトで、次のコマンドを入力します。

例43-1 マルチキャスト・アドレスを判定するコマンド

multicast-test.sh -ttl 0

[Enter]を押すと、マルチキャスト・テスト・ユーティリティによって、順次マルチキャスト・パケットの送受信状況が表示されることがわかります。例43-2にサンプル出力を示します。

例43-2 マルチキャスト・テスト・ユーティリティによって送信される順次マルチキャスト・パケット

Starting test on ip=servera/195.0.0.1, group=/237.0.0.1:9000,ttl=0
Configuring multicast socket...
Starting listener...
Tue Mar 17 15:59:51 EST 2008: Sent packet 1.
Tue Mar 17 15:59:51 EST 2008: Received test packet 1 from self.
Tue Mar 17 15:59:53 EST 2008: Sent packet 2.
Tue Mar 17 15:59:53 EST 2008: Received test packet 2 from self.
...

これらの複数のパケットの送受信が正常に実行されていることを確認したら、[Ctrl]を押しながら[C]を押して、テストを停止できます。

前述のように表示されない場合は、マルチキャストが機能していません。また、ttlに0を指定していることに注目してください。これによってマルチキャスト・パケットがServer Aから送信されないようにしています。

同じテストをServer Bでも実行して、このポートの組合せでもマルチキャストが有効になっていることを確認できます。

次に、Server AServer Bの間のマルチキャスト通信をテストします。このテストでは、ttlにゼロ以外の値を使用して、それぞれのサーバーからパケットが送信できるようにします。デフォルトのテストではttlに4が使用されますが、Server AServer Bの間のパケットのルーティングにさらに多くのネットワーク・ホップが必要であることが判明している場合は、4より大きな値をttlに指定してもかまいません。

コマンド・ウィンドウに次のコマンドを入力して[Enter]を押し、Server AServer Bに対するテストを開始します。

multicast-test.sh

Server Aに対しては次のように表示されます。

例43-3 Server Aに対するマルチキャスト・テストの結果のサンプル

Starting test on ip=servera/195.0.0.1, group=/237.0.0.1:9000, ttl=4
Configuring multicast socket...
Starting listener...
Tue Mar 17 16:11:03 EST 2008: Sent packet 1.
Tue Mar 17 16:11:03 EST 2008: Received test packet 1 from self.
Tue Mar 17 16:11:05 EST 2008: Sent packet 2.
Tue Mar 17 16:11:05 EST 2008: Received test packet 2 from self.
Tue Mar 17 16:11:07 EST 2008: Sent packet 3.
Tue Mar 17 16:11:07 EST 2008: Received test packet 3 from self.
Tue Mar 17 16:11:09 EST 2008: Sent packet 4.
Tue Mar 17 16:11:09 EST 2008: Received test packet 4 from self.
Tue Mar 17 16:11:10 EST 2008: Received test packet 1 from ip=serverb/195.0.0.2, group=/237.0.0.1:9000, ttl=4.
Tue Mar 17 16:11:11 EST 2008: Sent packet 5.
Tue Mar 17 16:11:11 EST 2008: Received test packet 5 from self.
Tue Mar 17 16:11:12 EST 2008: Received test packet 2 from ip=serverb/195.0.0.2, group=/237.0.0.1:9000, ttl=4.
Tue Mar 17 16:11:13 EST 2008: Sent packet 6.
Tue Mar 17 16:11:13 EST 2008: Received test packet 6 from self.
Tue Mar 17 16:11:14 EST 2008: Received test packet 3 from ip=serverb/195.0.0.2, group=/237.0.0.1:9000, ttl=4.
Tue Mar 17 16:11:15 EST 2008: Sent packet 7.
Tue Mar 17 16:11:15 EST 2008: Received test packet 7 from self.
...

また、Server Bに対しては次のように表示されます。

例43-4 Server Bに対するマルチキャスト・テストの結果のサンプル

Starting test on ip=serverb/195.0.0.2, group=/237.0.0.1:9000, ttl=4
Configuring multicast socket...
Starting listener...
Tue Mar 17 16:11:10 EST 2008: Sent packet 1.
Tue Mar 17 16:11:10 EST 2008: Received test packet 1 from self.
Tue Mar 17 16:11:11 EST 2008: Received test packet 5 from ip=servera/195.0.0.1, group=/237.0.0.1:9000, ttl=4.
Tue Mar 17 16:11:12 EST 2008: Sent packet 2.
Tue Mar 17 16:11:12 EST 2008: Received test packet 2 from self.
Tue Mar 17 16:11:13 EST 2008: Received test packet 6 from ip=servera/195.0.0.1, group=/237.0.0.1:9000, ttl=4.
Tue Mar 17 16:11:14 EST 2008: Sent packet 3.
Tue Mar 17 16:11:14 EST 2008: Received test packet 3 from self.
Tue Mar 17 16:11:15 EST 2008: Received test packet 7 from ip=servera/195.0.0.1, group=/237.0.0.1:9000, ttl=4.
...

Server AServer Bの両方がマルチキャスト・パケットを送信し、自己および相手側のパケットを確認していることがわかります。これは、マルチキャストのデフォルトのアドレスおよびポートを使用して、これらのサーバー間でマルチキャストが正しく機能していることを示します。

注意: Server A側では、Server Bが開始され、Server Bからのパケット1を受信するまで、自己のパケット1から4のみが表示されます。

マルチキャスト通信のトラブルシューティング

双方向マルチキャスト通信を確立できない場合は、次のように実行してください。

マルチキャストが正しく機能しない場合は、ネットワーク管理者またはシステム管理者に連絡して、原因の判定および状況の修正を依頼してください。