ネットワーク リソースのコンフィグレーション

     前  次    新しいウインドウで目次を開く     
コンテンツの開始位置

プロダクション環境のネットワーク アーキテクチャとコンフィグレーション

以下の節では、プロダクション デプロイメントで使用される一般的なネットワーク アーキテクチャについて解説し、それらのアーキテクチャで Oracle Communications Converged Application Server を実行するためのコンフィグレーションの方法を説明します。

 


概要

プロダクション環境にインストールされている Oracle Communications Converged Application Server は、ほとんどの場合、以下の特徴を 1 つ以上備えています。

このような各種のネットワーク要素が組み合わされて使用されていると、各要素が互いにどのように作用し合い、ネットワーク要素やコンフィグレーション オプションの特定の組み合わせが SIP メッセージまたは転送プロトコル データグラムの内容にどのような影響を与えるのかが理解しにくくなる場合があります。

以下の節では、Oracle Communications Converged Application Server の一般的なネットワーク アーキテクチャについて解説し、各アーキテクチャでサーバをコンフィグレーションする方法を説明します。また、SIP メッセージおよび転送データグラム内の情報が各コンフィグレーションによってどのような影響を受けるかについても説明します。図 2-1 は、OSI (Open Systems Interconnect) の典型的なモデルにおいて、さまざまなネットワーク コンフィグレーションの影響を受ける可能性があるレイヤを示したものです。

図 2-1 Oracle Communications Converged Application Server のネットワーク コンフィグレーションの影響を受ける OSI レイヤ

Oracle Communications Converged Application Server のネットワーク コンフィグレーションの影響を受ける OSI レイヤ

レイヤ 3 (ネットワーク層) およびレイヤ 4 (トランスポート層) には、発信および受信される転送データグラムの送信元または送信先 IP アドレスとポート番号が格納されています。SIP プロトコルでは、SIP メッセージの送信元にアクセスするためのアドレス情報を特定の SIP ヘッダ内に記述するように規定されているので、レイヤ 7 (アプリケーション層) も影響を受ける可能性があります。

 


TCP チャネルおよび UDP チャネルを使用する単一 NIC のコンフィグレーション

NIC が 1 枚だけ搭載されたサーバを使用する単純なネットワーク コンフィグレーションでは、1 つまたは複数のネットワーク チャネルを作成して、UDP および TCP 上の SIP メッセージ、または TLS 上の SIPS メッセージをサポートすることができます。この単純なコンフィグレーションが OSI モデルの情報にどのように影響するかを理解しておくと、マルチホーム ハードウェアおよびロード バランサを使用したさらに複雑なコンフィグレーションが、同じ情報にどのような影響を与えるのかが理解できます。

図 2-2 単一 NIC のネットワーク チャネルのコンフィグレーション

単一 NIC のネットワーク チャネルのコンフィグレーション

図 2-2 は、単一の NIC を持つ 1 つのエンジン層サーバのインスタンスを示したものです。このサーバでは、UDP および TCP 上の SIP をサポートする 1 つのネットワーク チャネルがコンフィグレーションされています。(SIP チャネルは、常に UDP 転送と TCP 転送の 2 つともサポートします。2 つのうち一方のみをサポートすることはできません)。図 2-2 では、サーバと 2 つのクライアントが 1 つは UDP もう 1 つは TCP を使用して通信していることを示します。

TCP による転送の場合、発信データグラム (Oracle Communications Converged Application Server からユーザ エージェントに送信されるデータグラム) には次の情報が含まれています。

TCP の受信データグラム (ユーザ エージェントから Oracle Communications Converged Application Server に送信されるデータグラム) には次の情報が含まれています。

UDP の発信データグラムの場合、OSI レイヤの情報には TCP による転送の場合と同じ情報が含まれています。UDP の受信データグラムの場合、OSI レイヤの情報は、受信データグラムのレイヤ 4 の情報以外は TCP の場合と同じです。UDP の受信データグラムのレイヤ 4 には、次のいずれかが含まれています。

デフォルトの場合、Oracle Communications Converged Application Server では、基盤のオペレーティング システムにおいて UDP 発信データグラムのエフェメラル ポート用に確保されているポート番号範囲からポート番号が割り当てられます。Oracle Communications Converged Application Server では、外部からの接続において、ネットワーク チャネルでコンフィグレーションされているポート番号のほかに、任意のエフェメラル ポイントを送信先ポート番号として使用できます。つまり、Oracle Communications Converged Application Server では、サーバによって割り当てられたすべてのエフェメラル ポートで自動的にリスンが行われます。Oracle Communications Converged Application Server でのエフェメラル ポート番号の使用は、必要に応じて無効にできます。エフェメラル ポート番号が使用されないようにするには、サーバの起動時に次のオプションを指定します。

-Dwlss.udp.listen.on.ephemeral=false

Oracle Communications Converged Application Server で特定のエフェメラル ポートが使用されているかどうかを確かめるには、サーバのログ ファイルに記録されている次のような情報を調べて、使用されているポート番号を確認してください。

<Nov 30, 2005 12:00:00 AM PDT> <Notice> <WebLogicServer> <BEA-000202> <Thread “SIP Message Processor (Transport UDP)” listening on port 35993.>

発信 UDP パケット用の静的ポートのコンフィグレーション

Oracle Communications Converged Application Server のネットワーク チャネルでは、SourcePorts 属性を使用することにより、サーバから UDP パケットを発信するために使用する 1 つまたは複数の静的ポートをコンフィグレーションできます。

警告 : SourcePorts カスタム プロパティを使用するとパフォーマンスが低下するので、ほとんどのコンフィグレーションでは、このプロパティを使用することは望ましくありません。UDP パケットを作成するために Oracle Communications Converged Application Server が使用する正確なボート数を指定する必要がある場合にのみ、このプロパティをコンフィグレーションします。

SourcePorts プロパティをコンフィグレーションする場合、WLST などの JMX クライアントを使用するか、config.xml ファイルのネットワーク チャネルのコンフィグレーションを直接変更してカスタム プロパティを追加します。SourcePorts には、ポート番号またはポート番号範囲の配列を指定します。SourcePorts の定義内ではスペースを使用しないでください。ポートの範囲を示すには、ポート番号、ハイフン (「-」) を使用し、範囲や各ポートを区切るにはカンマ (「,」) を使用します。コンフィグレーションの記述例については、コード リスト 2-1 を参照してください。

コード リスト 2-1 発信 UDP パケットの静的ポートコンフィグレーション
<network-access-point>
  <name>sip</name>
  <protocol>sip</protocol>
  <listen-port>5060</listen-port>
  <public-port>5060</public-port>
  <http-enabled-for-this-protocol>false</http-enabled-for-this-protocol>
  <tunneling-enabled>false</tunneling-enabled>
  <outbound-enabled>true</outbound-enabled>
  <enabled>true</enabled>
  <two-way-ssl-enabled>false</two-way-ssl-enabled>
  <client-certificate-enforced>false</client-certificate-enforced>
  <custom-properties>SourcePorts=5060</custom-properties>
</network-access-point>

 


マルチホーム サーバのコンフィグレーションの概要

プロダクション デプロイメントのエンジン層サーバでは、多くの場合、複数の NIC が搭載されたマルチホームのサーバ ハードウェアが利用されます。マルチホーム ハードウェアは、一般に、次のいずれかの目的で使用されます。

コンフィグレーションの要件および OSI レイヤの情報は、システムでマルチホーム ハードウェアを使用する目的によって異なります。1 つのサブネット内で冗長なネットワーク接続を実現することを目的として複数の NIC を使用する場合は、通常、「すべてのアドレス (IP_ANY) でリスンするマルチホーム サーバ」で説明している方法により、使用可能なすべてのアドレス (IP_ANY) でリスンするようにサーバをコンフィグレーションします。

複数の異なるサブネットをサポートすることを目的として複数の NIC を使用する場合は、「複数のサブネットでリスンするマルチホーム サーバ」で説明しているように、サーバ上で複数のネットワークをそれぞれの異なる NIC に対してコンフィグレーションする必要があります。

 


すべてのアドレス (IP_ANY) でリスンするマルチホーム サーバ

最も単純なマルチホーム コンフィグレーションを使用すると、利用可能なすべての NIC (物理 NIC および論理 NIC) において、Oracle Communications Converged Application Server の 1 つのインスタンスによるリスンを実行できるようになります。このコンフィグレーションは IP_ANY と呼ばれることもあります。これを実現するために必要なのは、1 つのネットワーク チャネルをコンフィグレーションして、チャネルのリスン アドレスとして 0.0.0.0 を指定することだけです。

0.0.0.0 のアドレスは、そのサーバのネットワーク チャネル上で直接コンフィグレーションする必要があります。チャネルの IP アドレスを指定しないと、サーバ インスタンス自体にコンフィグレーションされているリスン アドレスがチャネルに継承されます。「エンジン サーバで Any アドレス (0.0.0.0 または ::) を使用して任意の IP インタフェースでリスンする場合のコンフィグレーション」を参照してください。

 


複数のサブネットでリスンするマルチホーム サーバ

複数の NIC は、複数のサブネット上でリスンするためにエンジン層サーバで使用することもできます。その場合の最も一般的なコンフィグレーションでは、直接的な相互アクセスが許可されていない複数のサブネット間の通信を実現するために、Oracle Communications Converged Application Server が SIP トラフィックのプロキシとして使用されます。図 2-3 は、このコンフィグレーションを示します。

図 2-3 サブネット間のプロキシ通信を実現するマルチホーム コンフィグレーション

サブネット間のプロキシ通信を実現するマルチホーム コンフィグレーション

Oracle Communications Converged Application Server インスタンスを図 2-3 にコンフィグレーションするため、サーバ マシン上で使用した各 NIC にネットワーク チャネルを定義する必要があります。コード リスト 2-2 は、サンプル コンフィグレーションのチャネルを定義する config.xml エントリを示します。

コード リスト 2-2 複数のサブネット上の各 NIC で使用するネットワーク チャネル コンフィグレーションのサンプル
<NetworkAccessPoint ListenAddress=”10.1.1.10” ListenPort="5060" Name="sipchannelA" Protocol="sip"/>
<NetworkAccessPoint ListenAddress=”10.2.1.10” ListenPort="5060" Name="sipchannelB" Protocol="sip"/>

ルート リゾルバについて

Oracle Communications Converged Application Server が複数のサブネットでリスンするようにコンフィグレーションされている場合は、「ルート リゾルバ」と呼ばれる機能によって、次の処理が行われます。

たとえば、図 2-3 に示したコンフィグレーションの場合、各 UA が SIP トランザクションの処理を続行できるようにするには、Oracle Communications Converged Application Server において、正しいサブネット アドレスを SIP システム ヘッダと転送データグラムに追加する必要があります。不適切なサブネット アドレスが使用されると、どちらの UA も別の UA のサブネットに直接アクセスできないので、応答を配信できなくなります。

ルート リゾルバは、オペレーティング システムが特定の送信先にデータグラムを送信する際に使用する NIC を判別して、その NIC に関連付けられているネットワーク チャネルを調査します。そして、選択されたそのネットワーク チャネルでコンフィグレーションされているアドレスの情報を、SIP ヘッダおよびレイヤ 3 のアドレス情報として格納します。

例えば、図 2-3 に示すコンフィグレーションでは、Oracle Communications Converged Application Server から UAC B に送信された INVITE メッセージの送り先のアドレスは 10.2.1.16 です。このメッセージは対応するサブネットにコンフィグレーションされた NIC B を使用して送信されます。ルート リゾルバは、コンフィグレーション済みの sipchannelB に NIC B を関連付け、そのチャネルの IP アドレス (10.2.1.10) を SIP メッセージの VIA ヘッダに埋め込みます。そのため、そのメッセージを受け取った UAC B では、VIA ヘッダの値に基づいて、それ以後のメッセージをサーバの正しい IP アドレスに向けて送信できるようになります。UAC A でも同様の処理が行われるので、適切なサブネット以外にメッセージが配信されることはありません。

マルチホーム ハードウェアにおける IP エリアス

IP エリアスを使用すると、1 つの NIC に複数の論理 IP アドレスを割り当てることができます。IP エリアスのコンフィグレーションは、サーバの基盤のオペレーティング システムで行われます。すべての論理アドレスが同一サブネット内のアドレスであるように IP エリアスをコンフィグレーションする場合は、「すべてのアドレス (IP_ANY) でリスンするマルチホーム サーバ」で説明したように、すべてのアドレスでリスンするように Oracle Communications Converged Application Server を簡単にコンフィグレーションできます。

IP エリアスをコンフィグレーションして、異なるサブネット上の複数の論理 IP アドレスを作成する場合は、それぞれの論理アドレスのネットワーク チャネルを個別にコンフィグレーションする必要があります。このコンフィグレーションでは、Oracle Communications Converged Application Server はすべての論理アドレスが別々の物理インタフェース (NIC) として扱われ、ルート リゾルバの機能により、各インタフェースでコンフィグレーションされているチャネルの情報に基づいて OSI レイヤ 4 およびレイヤ 7 に情報が格納されます。

 


ロード バランサのコンフィグレーション

ロード バランサは、複数のサーバ間でのフェイルオーバ機能やクライアントからの負荷の分散を実現するだけでなく、クライアントとサーバの間で送受信されるネットワーク情報をコンフィグレーションするためのツールとしても重要です。以下の節では、Oracle Communications Converged Application Server で使用される一般的なロード バランサのコンフィグレーションについて説明します。

単一のロード バランサのコンフィグレーション

最も一般的なロード バランサのコンフィグレーションでは、図 2-4 に示したように、単一のロード バランサを使用して、エンジン層サーバのクラスタにアクセスするためのゲートとして利用します。

図 2-4 単一のロード バランサのコンフィグレーション

単一のロード バランサのコンフィグレーション

Oracle Communications Converged Application Server をコンフィグレーションして図 2-4 のように単一のロード バランサを使用するには、各サーバで 1 つまたは複数のネットワーク チャネルをコンフィグレーションした上で、ロード バランサの仮想 IP アドレスを使用するように各チャネルのパブリック アドレスをコンフィグレーションします。このコンフィグレーションでは、その後の返信の クラスタにクライアントが確実に到達できるよう、Oracle Communications Converged Application Server は SIP メッセージ システム ヘッダにロード バランサ IP アドレスを組み込みます。Oracle Communications Converged Application Server のネットワーク リソースの管理はロード バランサ アドレスに対してコンフィグレーション ネットワーク チャネルの詳細なステップを示します。

注意 : ロード バランサとして使用されるスイッチの一部は、1 つの呼び出しのすべての SIP メッセージが同一のエンジン層サーバに送信されるように自動的に再ルーティングする機能を備えていますが、Oracle Communications Converged Application Server のロード バランサとして使用する場合は、この機能は必須ではありません。詳細については、『コンフィグレーション ガイド』の「他のコンフィグレーション」を参照してください。

複数のロード バランサおよびマルチホームのロード バランサを使用する場合

複数のロード バランサ (またはマルチホームのロード バランサ) をコンフィグレーションすると、Oracle Communications Converged Application Server の 1 つのクラスタに複数の仮想 IP アドレスを割り当てることができます。マルチホームのロード バランサを使用できるように Oracle Communications Converged Application Server をコンフィグレーションするには、各ロード バランサまたはローカル サーバの各 NIC に個別に専用のネットワーク チャネルを作成した上で、そのチャネルのパブリック アドレスとして、適切なロード バランサの仮想 IP アドレスを設定します。このコンフィグレーションでは、コンフィグレーションされたチャネルと、SIP メッセージの発信に使用される NIC との関連付けがルート リゾルバによって行われます。そして、選択されたチャネルのパブリック アドレスは、SIP システム メッセージ内にアドレス情報として格納されます。「ルート リゾルバについて」を参照してください。

ネットワーク アドレス変換の選択肢

最も一般的な場合は、クライアントがパブリック IP アドレスを使用して Oracle Communications Converged Application Server の 1 つまたは複数の内部 (プライベート) アドレスと通信できるように、ロード バランサは送信先 NAT を使用するようにコンフィグレーションされます。ロード バランサでは、送信元 NAT を使用するようにコンフィグレーションして、プライベート アドレスから発信されるパケットのレイヤ 3 アドレス情報をロード バランサ自体の仮想 IP アドレスに一致するように変更することもできます。

ルート リゾルバがデフォルトの状態で動作している場合、Oracle Communications Converged Application Server エンジンから発信される UDP パケットの送信元 IP アドレスは、ローカル NIC のアドレス (プライベート アドレス) と一致します。外部からはローカル サーバのアドレスにアクセスできない場合があるので、このように発信元のアドレスとしてローカル アドレスが使用されていると、転送パケットに埋め込まれているレイヤ 3 のアドレスに直接応答しようとするアプリケーションにおいて問題が発生するおそれがあります。使用しているアプリケーションでこの問題が発生する場合は、転送レイヤ 3 のアドレスを外部からアクセス可能な仮想 IP アドレスに変更するために、ロード バランサで送信元 NAT を実行するようにコンフィグレーションすることをお勧めします。

送信元 NAT の代替としての IP マスカレード

警告 : Oracle Communications Converged Application Server の IP マスカレード機能を使用すると、複数のサーバ上で重複した IP アドレスを設定することが必要になるので、ネットワークが不安定な状態になるおそれがあります。プロダクション デプロイメントでは、信頼性の高いネットワーク パフォーマンスを実現するために、IP マスカレードの使用は避け、その代わりに、送信元 NAT を行うようにコンフィグレーションされたロード バランサを使用してください。

Oracle Communications Converged Application Server では、ロード バランサでの送信元 NAT を有効にしない場合は、限定的な IP マスカレード機能を使用できます。この機能を使用するには、クラスタのロード バランサのパブリック IP アドレスを使用して、エンジン層の各サーバ上の論理アドレスをコンフィグレーションします。(同じ論理 IP アドレスをエンジン層の各サーバ マシン上で重複して使用します)。Oracle Communications Converged Application Server は、コンフィグレーションされているロード バランサの IP アドレス (ネットワーク チャネルのパブリック アドレスとして定義されているアドレス) に一致するローカル サーバ インタフェースを使用して SIP UDP メッセージを発信します。その場合、レイヤ 3 に格納されるアドレスはパブリック アドレスです。

Oracle Communications Converged Application Server の IP マスカレード機能を無効にするには、次の起動オプションを使用します。

-Dwlss.udp.lb.masquerade=false

  ページの先頭       前  次