イントロダクション #
サポートされている4種類のネットワークアドレス変換(NAT)のうち、 RELIANOID ADC、私たちは ソースNAT(NAT), ダイナミックNAT(DNAT), ダイレクトサーバーリターン(DSR), ステートレスDNATこの記事では、Direct Server Return(DSR)の複雑な仕組み、アーキテクチャ、メリット、そして潜在的な問題点について掘り下げて解説します。また、Relianoid ADCでDSRを設定する方法についても解説します。
DSRとは、バックエンドアプリケーションサーバーがクライアントからのリクエストを受信して処理し、直接応答することです。では、これはどのように機能するのでしょうか?サーバーとWebクライアント間の通信の流れは以下のようになります。
DSR通信フロー #

クライアントのリクエスト: クライアントは、ストリーミング可能なメディア ファイルへのアクセスや、Relianoid ADC 経由でのアプリケーション サーバーへのデータの送信などの要求を開始します。
ロードバランサーの相互作用: リクエストを受け取った後、Relianoidはリクエストの内容を変更しません。ただし、 宛先MACアドレス. 変更されたMACアドレスは、リクエストを処理するバックエンドサーバーのMACアドレスです。ロードバランサーは、設定されたロードバランシングアルゴリズムに基づいて、リクエストを適切なバックエンドサーバーに転送します。
バックエンド アプリケーション サーバー: バックエンド サーバーはリクエストを受信すると、リクエストを処理して応答を生成します。
直接的な応答: その後、バックエンド サーバーは応答をクライアント デバイスに直接送信し、通信ループを完了します。
重要な注意事項
- Relianoidは通常、バックエンドサーバーに代わってARPリクエストに応答し、元のクライアント・サーバー間通信を維持します。そのため、パケットの適切なルーティングを確保するには、適切なARP設定が不可欠です。
- 競合を回避し、クライアントとバックエンドサーバー間の適切な通信を確保するには、IPアドレス割り当てスキームを慎重に計画する必要があります。通常、バックエンドサーバーはL4xNATファームで使用される仮想IP(VIP)に類似したIPアドレスを持つように設定されていますが、競合を回避するために、バックエンドはARP呼び出しでそのIPアドレスをアナウンスしない場合があります。
ネットワークインフラストラクチャにDSRを使用する理由 #
DSRは、大規模なボトルネックを引き起こすことなく膨大な量のデータを処理できるため、今日のネットワークインフラストラクチャにおいて極めて重要になっています。これは非常に重要な点です。スケーラビリティ、汎用性、高可用性、フォールトトレランスに加えて、DSRが際立っている主な理由は以下のとおりです。
ターボチャージャーのパフォーマンス: DSRは従来のルーティング手法で発生する追加ホップを排除することで、レイテンシとパケットロスを大幅に削減します。この設定は、大量のデータチャンクを効率的に配信することが重要なゲームやビデオストリーミングに活用できます。
例えば、マルチプレイヤーゲームでは、DSRにより、ロードバランサを介さずにゲームクライアントとゲームサーバー間の直接通信が可能になります。この直接通信により、プレイヤーの動き、アクション、更新といったゲーム関連データの転送速度と効率が向上します。その結果、DSRはレイテンシを削減し、ゲーム体験を向上させ、よりスムーズなゲームプレイに貢献します。
同様に、動画ストリーミングでは、クライアントが動画ストリームをリクエストすると、バックエンドサーバーはロードバランサーを経由することなく、動画データをクライアントに直接送信できます。データパスからロードバランサーを排除することで、潜在的なボトルネックを最小限に抑え、視聴者にシームレスなストリーミング体験を提供します。これは、途切れることのない再生のために大容量データチャンクの効率的な処理が不可欠な、高品質または高解像度の動画コンテンツに特に効果的です。
ロードバランサーの負荷軽減: DSRにより、バックエンドサーバーからの戻りトラフィックを処理するロードバランサーの負担が軽減されます。このオフロードにより、ロードバランサーの処理負荷が大幅に軽減され、受信リクエストの効率的な分散に集中できるようになります。その結果、ロードバランサーはより多くのトラフィックを処理できるようになり、全体的なスケーラビリティが向上します。
ルーティングテーブルを維持する必要はありません。 ルーティングは、特に複数のサブネットと複雑なルーティングポリシーを持つ大規模ネットワークでは複雑になりがちです。ロードバランサは、リターントラフィック用のルーティングテーブルを保守しないため、複雑なルーティング設定の処理と管理が不要になり、設定ミスやルーティング関連の問題が発生する可能性が低減します。
Linux および Windows バックエンド サーバーの Relianoid 構成 #
DSRを有効にするには、まずレイヤー4仮想サーバーまたはL4xNATファームを設定する必要があります。 この 記事を作成して下さい。
DSR の要件: #
- その 仮想IP バックエンドは同じネットワーク内にある必要があります。
- その 仮想ポート バックエンド ポートは同じである必要があります。
- バックエンドを設定する必要があります ループバック ロードバランサに設定されたVIPと同じIPアドレスを持つインターフェースを無効にします ARP このインターフェースで。
Linuxバックエンドサーバー #
# ifconfig lo:0 192.168.0.99 ネットマスク 255.255.255.255 -arp アップ
このコマンドで仮想ネットワークインターフェースを作成します 0:XNUMX IPアドレス 192.168.0.99 サブネットマスクは 255.255.255.255.
その -arp このフラグは、このインターフェース上のアドレス解決プロトコル (ARP) を無効にします。
バックエンドで無効な ARP 応答を無効にします。 #
# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
このコマンドはarp_ignoreの値を 1 に選出しました。 /proc/sys/net/ipv4/conf/all ファイル。このパラメータは、カーネルがARP要求にどのように応答するかを決定します。1に設定すると、システムはネットワークインターフェースに設定されていないIPアドレスへのARP要求を無視します。
# エコー 2 > /proc/sys/net/ipv4/conf/all/arp_announce
このコマンドは、バックエンドサーバーのarp_announceパラメータを変更します。DSR構成では、arp_announceを 2 バックエンドサーバーがARPリクエストに応答する際に、リクエストの宛先IPアドレスをARP応答の送信元IPアドレスとして使用することを保証します。これにより、クライアントはリクエストを送信したIPアドレスからの応答を期待するため、バックエンドサーバーとクライアント間の適切な通信が維持されます。
Windowsバックエンドサーバー #
- お気軽にご連絡ください->設定->コントロールパネル->ネットワークとダイヤルアップ接続.
- ネットワークアダプタを右クリックしてクリック 特性.
- のみ インターネットプロトコル 選択する必要があります(「MSネットワーククライアント」と「ファイルとプリンタの共有」の選択を解除してください)
- TCP/IP プロパティ-> Relianoid ADCファームのVIPのIPアドレスを入力します。デフォルトゲートウェイは任意です。マスクを入力してください。 255.255.255.255
- インターフェースメトリックを 254この設定は、VIPへのARP応答への応答を停止するために必要です。
- メディア掲載 OK 変更を保存します。
次に、ホストセキュリティモデルを設定して、NICインターフェースでRelianoid ADCからのトラフィックを受け入れます。さらに、Relianoid ADCがデフォルトのNICインターフェースを介してトラフィックを送受信できるようにします。管理者としてCMDを開き、以下の3つのコマンドを実行します。
netsh interface ipv4 インターフェース NIC に weakhostreceive=enabled を設定します。netsh interface ipv4 インターフェース ループバックに weakhostreceive=enabled を設定します。netsh interface ipv4 インターフェース ループバックに weakhostsend=enabled を設定します。
重要な注意事項
NIC を変更し、Windows コンピュータのデフォルトのインターフェイス名に戻ります。
DSRの使用上の課題 #
Direct Server Return(DSR)には多くのメリットがありますが、組織が検討・対処すべき潜在的な課題が生じる場合もあります。これらの課題を理解することで、DSRを効果的に計画・実装することができます。DSRに関連する一般的な課題を以下に示します。
非対称ルーティング: これは、フォワードパスとリターンパスが異なる経路を通ることを意味します。これにはメリットもありますが、トラフィックフローが対称ではないため、非対称ルーティングではネットワークのトラブルシューティングと監視が複雑になる可能性があります。
サーバーの互換性: すべてのサーバーがすべての種類のアプリケーションでDSRをサポートするわけではありません。例えば、Relianoidを使用する場合、LinuxまたはWindowsサーバーでのみDSRを実行する場合があります。
ステートフル操作: セッション情報の維持に依存するステートフルな操作では、DSR が課題となる可能性があります。その他の NAT タイプを使用する場合、ロードバランサーはあらゆる形式のセッション持続性を処理しますが、DSR では直接ルーティングによってこれらの中継をバイパスします。これを回避する方法の一つは、レイヤー 4 で送信元 IP アドレスを使用し、レイヤー 7 で Cookie 挿入を使用してセッション持続性を実現することです。
ネットワークの可視性と監視: DSRは、トラフィックがロードバランサやリバースプロキシをバイパスするため、ネットワークの可視性と監視に影響を与える可能性があります。これらの中継地点でのトラフィック検査や傍受に依存する監視ツールやシステムでは、ネットワークトラフィックの全体像を把握できない可能性があります。組織は、DSRパスを通過するトラフィックの可視性を確保するために、代替の監視ソリューションを導入することもできます。
展開の複雑さ: DSR を実装すると、導入と構成の複雑さが増す可能性があります。スムーズな実装を実現するには、適切な計画、設計、テストが不可欠です。例えば、各バックエンドサーバーで SSL オフロードとログ記録を実行するように設定する必要があるかもしれません。
セキュリティに関する考慮事項: DSRは、特にトラフィックがロードバランサーに実装されたセキュリティ対策を直接バイパスする場合に、セキュリティ上の課題を引き起こす可能性があります。場合によっては、レスポンスヘッダーの詳細を変更する必要がある場合もありますが、DSR設定ではこれは不可能です。
これらの課題に積極的に対処することで、組織は DSR を正常に実装し、潜在的な欠点を最小限に抑えながらその利点を活用することができます。
結論 #
Direct Server Return(DSR)は、インフラストラクチャに大きなメリットをもたらす可能性を秘めた、魅力的な負荷分散アプローチです。バックエンドサーバーからのリターントラフィックをオフロードし、バックエンドサーバーがクライアントに直接レスポンスを送信できるようにすることで、DSRはロードバランサーの負荷を軽減し、システム全体のスケーラビリティを向上させます。
もう一つの利点は、レスポンスがロードバランサを経由せず、より直接的な経路でクライアントに到達するため、ネットワークレイテンシが低くなることです。これは、レイテンシの影響を受けやすいアプリケーションにとって特に有利であり、コンテンツの配信速度が向上し、ユーザーエクスペリエンスが向上します。
ただし、DSRを実装する前に、ネットワークアーキテクチャとアプリケーションのニーズに固有の要件を慎重に評価してください。ネットワークトポロジ、ルーティングプロトコル、セッション持続性の必要性、潜在的な関連課題などの要素を考慮してください。
DSR の利点を活用することで、増加するトラフィック負荷に対応し、シームレスなユーザー エクスペリエンスを提供できるようにインフラストラクチャを最適化できます。
