シスコサポートコミュニティ
キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

Loadbalancer の基本動作

    Loadbalancer とはその名のとおり、負荷を分散させる装置で、client からの access に対し、複数の server traffic を分散させることが可能です。

    client Loadbalancer の裏側にある server 群を意識せず access できるようにするため、仮想 ip address (virtual ip address, vip) Loadbalancer に設定し、client - LB 間は vip address を用い access します。

    lb_basic_01.png

    実際の動作としては、下記のようになります。 (下記例は  client から LB 宛てに telent を行った場合の動作になります。)

    1) client から vip access

    2) LB が最適な server を選択し、destination  ip address を実際の server ip address に変換

    3) server LB 宛てに返信

    4) 戻りの packet source ip  address vip に変換

    lb_basic_02.png

    1) 192.168.71.11:23022 ->  192.168.71.100:23 (syn)

    2) 192.168.71.11:23022 -> 192.168.72.12:23  (syn)

    3) 192.168.72.12:23 -> 192.168.71.11:23022  (syn/ack)

    4) 192.168.71.100:23 ->  192.168.71.11:23022 (syn/ack)

    LB は、上記処理を connection 単位で管理しています。 (CSS の場合これを Flow と呼び、CSM ACE では connection と呼んでいます。)

    ACE20/Admin# sh conn

    total current connections : 2

    conn-id    np dir proto vlan source                destination           state

    ----------+--+---+-----+----+---------------------+---------------------+------+

    121        1  in  TCP   771  192.168.71.1:23022    192.168.71.100:23     ESTAB

    122        1  out TCP   772  192.168.72.2:23       192.168.71.1:23022    ESTAB

    lb_basic_03.png

    また、UDP connection less protocol ですが、TCP と同様の table (flow table/connection table) で管理しています。 (client から vip 宛てに access するだけで、戻りのための entry も作られます。)

    ACE20/Admin# sh conn

    total current    connections : 2

    conn-id    np dir proto vlan source                destination           state

    ----------+--+---+-----+----+---------------------+---------------------+------+

    519        1  in  UDP   771  192.168.71.11:10000   192.168.71.100:20000  --

    520        1  out UDP   772  192.168.72.12:20000   192.168.71.11:10000   --

    ACE20/Admin#

    Loadbalancer L4-L7 Switch と呼ばれるように、HTTP header のような、application layer の情報を解析し、負荷分散を行うことが可能です。  これを実現するため、LB client 3 way handshake を行い、connection を確立します。

    具体的には、

    1) client から vip access (syn)

    2) LB client syn/ack を返信

    3) client から、ack 送信 (client - LB 間で connection 確立)

    4) client から http request を送信

    5) LB http header を解析し、最適な server を選択

    6) LB - server 間で connection を確立し、http request を送信

    という動作を行います。

    lb_basic_04.png

    L3/L4 の負荷分散では syn packet から、最適な server を選択できるため、単に NAT 処理を行うだけですが、L7 負荷分散では上記のように LB connection を終端すると言う点が大きく異なりますので注意が必要です。

バージョン履歴
改訂番号
1/1
最終更新:
‎07-27-2010 01:14 PM
更新者:
 
タグ(1)