1.8.3.2. ダイレクト routing

ダイレクト routing は、NAT routing に比べて向上したパフォーマンスの利点を提供します。 ダイレクト routing を使用すると、LVS router を通じた発信パケットをプロセスするのではなく、 実サーバーがパケットをプロセスして直接要求元のユーザーに回送します。ダイレクト routing は LVS router の仕事を来信パケットの処理のみに分業することでネットワークのパフォーマンス問題の 可能性を低減します。
LVS Implemented with Direct Routing

図1.23 LVS Implemented with Direct Routing

標準的なダイレクト routing LVS 設定では、LVS router は来信するサーバー要求を仮想 IP (VIP) を 介して受理し、スケジューリングアルゴリズムを使用して、その要求を実サーバーに回送します。それぞれの 実サーバーは要求を処理しその反応を、LVS router を迂回して直接クライアントに送信します。ダイレクト routing の使用により、実サーバーからクライアントに送信パケットを回送させる為の LVS router に、大きなロード下ではボトルネックとなり得る余計な負担をかけずに、実サーバー内のスケーラビリティ増強が 可能になります。
LVS でダイレクト routing を使用する利点は数多くありますが、それには限度があります。 ダイレクト routing と LVS に関して最も一般的な問題は ARPAddress Resolution Protocol)(アドレス解決プロトコル)です。
In typical situations, a client on the Internet sends a request to an IP address. Network routers typically send requests to their destination by relating IP addresses to a machine's MAC address with ARP. ARP requests are broadcast to all connected machines on a network, and the machine with the correct IP/MAC address combination receives the packet. The IP/MAC associations are stored in an ARP cache, which is cleared periodically (usually every 15 minutes) and refilled with IP/MAC associations.
ダイレクト routing LVS 設定内の ARP 要求での問題は、IP アドレスへのクライアント要求が 要求の処理の為に MAC アドレスに関連付けを必要とする理由で、LVS router の仮想 IP アドレス router も MAC に関連付けが必要となることです。しかし、LVS router と実サーバーの両方共、 同じ VIP を持つため、ARP 要求はこの VIP に関連のある全てのノードにブロードキャストされ ます。これは幾つかの問題の原因となります。VIP が実サーバーの1つに直接関連付けがあり要求を 直接処理してしまうこと、LVS router を完全に迂回することにより LVS 設定の目的を無駄にしてしまう ことなどです。クライアント要求に迅速に対応できる強力な CPU を持つ LVS router の使用でもこの問題を 必ずしも解決はしません。LVS router が多大なロード下にある場合、それは少使用の実サーバーよりも 遅い ARP 要求反応を示す可能性があります。少使用の実サーバーがより早く反応して、要求クライアントの ARP キャッシュ内の VIP に割り当てられます。
この問題を解決する為に、来信する要求は要求を正しく処理し実サーバー群に送信する LVS router のみに、 VIP を関連付けする必要があります。 これは、arptables パケットフィルタリングツールを使用することで 達成できます。