Citrix ADC

直径の負荷分散を設定する

直径プロトコルは,主にラップトップや携帯電話などのモバイルデバイスで使用される次世代の認証,認可,アカウンティング(AAA)シグナリングプロトコルです。これは,他のほとんどのプロトコルで使用される従来のクライアント/サーバーモデルとは対照的に,ピアツーピアプロトコルです。ただし,ほとんどの直径展開では,クライアントは要求を発信し,サーバーは要求に応答します。

直径メッセージが交換されると,直径サーバーは通常直径クライアントよりも多くの処理を行います。コントロールプレーンシグナリングボリュームが増加すると,直径サーバがボトルネックになります。したがって,直径メッセジは複数のサバに負荷分散する必要があります。直径メッセジのロドバランシングを実行する仮想サバには,次の利点があります。

  • 直径サバの負荷が軽くなり,エンドユザへの応答時間が短縮されます。
  • サバの健全性監視とフェ。
  • クラ,サ。
  • 高可用性。
  • SSL直径オフロド。

次の図は,Citrix ADC展開環境でのDiameterシステムを示しています。

直径システム

直径システムには,次のコンポネントがあります。

  • 直径クラ直径アント。基本プロトコルに加えて直径クラ。直径クライアントは,多くの場合,ネットワークのエッジにあるデバイスに実装され,そのネットワークにアクセスコントロールサービスを提供します。直径クライアントの典型的な例は,ネットワークアクセスサーバ(NAS)とモバイルIP外部エージェント(FA)です。
  • 直径エジェント。リレ,プロキシ,リダ,または翻訳サ。Citrix ADCアプライアンス(Diameter負荷分散仮想サーバーで構成されている)は、Diameterエージェントの役割を果たします。
  • 直径サバ。特定のレルムの認証,認可,アカウンティング要求を処理します。直径サーバーは,基本プロトコルに加えて直径サーバーアプリケーションをサポートする必要があります。

典型的な直径トポロジでは,エンドユーザデバイス(携帯電話など)がサービスを必要とする場合,直径クライアントに要求を送信します。各直径クライアントは,直径ベースプロトコルRFC 6733で指定された直径サーバーとの単一の接続(TCP接続——SCTPはまだサポートされていません)を確立します。接続は長期間有効であり,2つの直径ノード(クライアントとサーバー)間のすべてのメッセージがこの接続を介して交換されます。Citrix ADCは,メッセジベスの負荷分散を使用します。

例:

モバopenstackルサopenstackビスプロバopenstackダは,その課金システムのためのopenstack直径を使用しています。ユーザがプリペイド番号を使用する場合,直径クライアントは,使用可能な残高を確認するために,サーバに要求を繰り返し送信します。直径プロトコルは,クライアントとサーバー間の接続を確立し,すべての要求はその接続を介して交換されます。接続は1しかないため,接続ベドバランシングは無意味です。ただし,接続上に多数のメッセージがあると,メッセージベースのロードバランシングにより,プリペイドモバイルサブスクライバへの課金プロセスが迅速になります。

直径負荷分散の仕組み

断开同行请求(DPR;切断ピア要求)は,接続を閉じる理由とともに,ピアが接続を閉じる意図を示します。ピアはdpaで応答します(tcpは常に正常なdpaを提供します)。

  • アプライアンスは,クライアントからDPRを受信すると,DPRをすべてのサーバーにブロードキャストし,ただちにDPAでクライアントに応答します。サバはdpaで応答しますが,アプラdpaを無視します。クラopenstackアントはfinを送信し,アプラopenstackアンスがすべてのサバにブロドキャストします。
  • アプライアンスは,サーバからDPRを受信すると,そのサーバだけにDPAを返信し,再使用プールからサーバを削除しません。サーバーが鳍を送信すると,アプライアンスは鳍/ ACKで応答し,再利用プールから接続を削除します。
  • アプライアンスがクライアントから鳍を受信すると,クライアントに鳍/ ACKを送信し,鳍をブロードキャストして,再使用プールからサーバー接続をただちに削除します。
  • アプライアンスがサーバーから鳍を受信すると,鳍/ ACKが送信され,再使用プールから削除されます。このサバに対する新しいメッセジは,新しい接続で送信されます。

直径トラフィックの負荷分散

クライアントがCitrix ADCアプライアンスに要求を送信すると,アプライアンスは要求を解析し,永続avonに基づいてコンテキスト的に直径サーバーに負荷分散します。アプライアンスはクライアントIDをサーバにアドバタイズしているため,サーバはクライアントからのメッセージを直接受信するため,ルートエントリを追加しません。

サバが開始する要求は,クラアント要求ほど頻繁ではありません。サバが開始する要求は,クラアントが開始する要求に似ていますが,次の点を除きます。

  • メッセージは複数のサーバーから受信されるため,アプライアンスは転送された各要求メッセージに一意の跳了跳(HbyH)番号を追加して,トランザクションの状態を維持します。メッセージ応答が(同じHbyH番号で)到着すると,アプライアンスはこのHbyH番号を,要求が到着したときにサーバで受信されたHbyH番号に変換します。
  • Citrix ADCアプライアンスは,クライアントはアプライアンスをリレーエージェントとして認識するため,アイデンティティを入力してルートエントリを追加します。

注:直径メッセージが複数のパケットにまたがる場合,アプライアンスはパケットを不完全なヘッダーキューに蓄積し,メッセージ全体が蓄積されるとサーバーに転送します。同様に1つのパケットに複数の直径メッセージが含まれている場合,アプライアンスはパケットを分割し,ロードバランシング仮想サーバによって決定されたとおりにメッセージをサーバに転送します。

セッションの切断

断开同行请求(DPR;切断ピア要求)は,接続を閉じる理由とともに,ピアが接続を閉じる意図を示します。ピアはdpaで応答します(tcpは常に正常なdpaを提供します)。

  • Citrix ADCアプライアンスは,クライアントからDPRを受信すると,DPRをすべてのサーバーにブロードキャストし,ただちにDPAでクライアントに応答します。サバはdpaで応答しますが,アプラdpaを無視します。クラopenstackアントはfinを送信し,アプラopenstackアンスがすべてのサバにブロドキャストします。
  • アプライアンスは,サーバからDPRを受信すると,そのサーバだけにDPAを返信し,再使用プールからサーバを削除しません。サーバーが鳍を送信すると,アプライアンスは鳍/ ACKで応答し,再利用プールから接続を削除します。
  • アプライアンスがクライアントから鳍を受信すると,クライアントに鳍/ ACKを送信し,鳍をブロードキャストして,再使用プールからサーバー接続をただちに削除します。
  • アプライアンスがサーバーから鳍を受信すると,鳍/ ACKが送信され,再使用プールから削除されます。このサバに対する新しいメッセジは,新しい接続で送信されます。

直径トラフィックのロドバランシングの構成

直径トラフィックを負荷分散するようにCitrix ADCアプライアンスを構成するには,まずアプライアンスで直径パラメータを設定し,直径モニターを追加し,直径サービスを追加し,サービスをモニターにバインドし,直径負荷分散仮想サーバーを追加し,サービスを仮想サーバーにインストールします。

コマンドラインインターフェイスを使用して直径トラフィックのロードバランシングを構成するには

直径パラメタを設定します。

set ns diameter -identity  -realm  -serverClosePropagation  

例:

设置ns diameter -identity mydomain.org -realm org -serverClosePropagation 

直径モニタを追加します。

add lb monitor  DIAMETER -originHost  -originRealm  

例:

add lb monitor DIAMETER ter_mon DIAMETER -originHost mydomain.org -originRealm org 

直径サビスを作成します。

add service   DIAMETER  

例:

add service DIAMETER _svc0 10.102.82.86 DIAMETER 3868 add service DIAMETER _svc1 10.102.82.87 DIAMETER 3868 add service DIAMETER _svc2 10.102.82.88 DIAMETER 3868 add service DIAMETER _svc3 10.102.82.89 DIAMETER 3868 

直径サビスを直径モニタにバンドします。

绑定服务@ monitorName  

例:

bind service diameter ter_svc0 -monitorName diameter ter_mon bind service diameter ter_svc1 -monitorName diameter ter_mon bind service diameter ter_svc2 -monitorName diameter ter_mon bind service diameter ter_svc3 -monitorName diameter ter_mon 

直径永続性を持。

add lb vserver  DIAMETER   -persistenceType DIAMETER -persistAVPno  

例:

add lb vserver DIAMETER 10.102.112.152 3868 -persistenceType DIAMETER -persistAVPno 263 

直径サビスを直径ロ。

bind lb vserver   

例:

Bind lb vserver diameter ter_vs diameter ter_svc0 Bind lb vserver diameter ter_vs diameter ter_svc1 Bind lb vserver diameter ter_vs diameter ter_svc3 

構成を保存します。

保存ns config 

SSL_DIAMETERサービスタイプを使用して,SSLを介した直径トラフィックの負荷分散を構成することもできます。

構成ユティリティを使用して直径トラフィックの負荷分散を構成するには

  1. システム] > [設定] > [直径パラメタを変更に移動し,直径パラメタを設定します。
  2. トラフィック管理>負荷分散>仮想サ仮想サバに移動し,直径タ。
  3. 直径タプのサビスを作成します。
  4. 直径タ直径プのモニタを作成します。“特殊パラメタ”で,オリジナル·ホストとオリジナル·レルムを設定します。
  5. モニタをサ。
  6. [詳細設定]で,[持続性をクリックし,直径を指定し,持続性avp番号を入力します。
  7. 保存]をクリックし,[完了をクリックします。
直径の負荷分散を設定する