UDPは接続を確立せずに動作する軽量プロトコルです。そのためDNS、RADIUS、SIP、NTP、syslog、ゲーミング、リアルタイムメディアなどのサービスで広く使用されています。しかし、コネクションレスであることは負荷分散側がステートを必要としないことを意味しません。同一クライアントは同一バックエンドに到達する必要があり、コールまたは認証フローを中断してはなりません。
単純なパケット分散はほとんどのUDPサービスには十分ではありません。RADIUS認証では、同一セッションフローを異なるバックエンドに分散するとエラーが発生する可能性があります。SIP側では、コールフローが同一バックエンドに留まらない場合、REGISTER、INVITE、メディアルーティング動作が壊れる可能性があります。DNS側では、正常でないリゾルバーにパケットを送信すると、ユーザーエクスペリエンスに直接影響します。
UDPサービスは通常、高PPS(パケット毎秒)を必要とします。このトラフィックをすべてユーザー空間で処理する単純なプロキシモデルは、高負荷時にCPUボトルネックを引き起こす可能性があります。特にDNS、syslog、ゲームトラフィックでは、レイテンシとパケットロスがサービス品質に直接影響します。
正しいアプローチは、UDPのための真のL4負荷分散モデルを確立することです:アルゴリズム選択、5タプルトラッキング、時間制限付き永続性、プロトコル対応ヘルスチェック、低レイテンシルーティング、高可用性がすべて同一のサービスモデルの一部である必要があります。
TR7 UDP負荷分散は、カーネルレベルL4パフォーマンス、セッショントラッキング、SIPアフィニティ、NAT/DRモード、プロトコル対応ヘルスチェックでUDPサービスを本番環境に導入します。
TR7は高速L4ルーティング、セッショントラッキング、プロトコル対応アフィニティ、ヘルスチェックでUDPトラフィックを管理します。
UDPパケットはL4ルーティングエンジンを通じて迅速に分散されます。このモデルはDNS、RADIUS、SIP、ゲームトラフィックなどの高パケットレートを必要とするサービスに低レイテンシと高容量を提供します。
UDPフローはソースIP、ソースポート、宛先IP、宛先ポート、プロトコルを使用してトラッキングされます。永続性タイムアウト全体を通じて、同一フローは同一バックエンドに誘導されます。
SIPトラフィックにはcall-IDベースのアフィニティが利用可能です。REGISTER、INVITE、関連するメッセージが同一バックエンドに運ばれ、コールの完全性が保持されます。
TR7はポートが開いているかどうかをチェックするだけに留まりません。実際のDNSクエリ、RADIUS認証リクエスト、またはカスタムUDPパケットを使用したプロトコル対応ヘルスチェックが利用可能で、応答しないバックエンドはローテーションから除去されます。
UDP負荷分散は高速L4分散、セッションアフィニティ、プロトコル認識、HA動作を単一のプールモデルで提供します。
TR7はUDPプールでround-robin、重み付きround-robin、least-connections、重み付きleast-connections、ソースハッシュ、宛先ハッシュをサポートします。サービスタイプとトラフィック特性に基づいて分散方法を選択できます。DNSのような大容量サービスには重み付き分散、ゲーミングやRADIUSのようなフロー感度の高いサービスにはハッシュベース分散が適しています。アルゴリズムはプールレベルで一元管理されます。
UDPはコネクションレスですが、TR7は5タプル情報を使用してフローをトラッキングします。ソースIP、ソースポート、宛先IP、宛先ポート、プロトコルの組み合わせが定義された期間、同一バックエンドにバインドされます。永続性タイムアウトが切れるとエントリは消去されます。この構造はRADIUS、SIP、ゲームトラフィックのセッション継続性を提供します。
SIPトラフィックがソースIPのみで分散される場合、コールフローが壊れる可能性があります。TR7はSIP固有の永続性モードを通じてcall-IDに基づくアフィニティを提供します。これにより同一コールに属するメッセージが同一バックエンドに向かいます。テレコムおよびVoIP環境では、この動作が重要です。
UDPサービスは異なるネットワークトポロジーを必要とする場合があります。TR7はNAT、SNAT、DR、TUNなどのL4動作モードをUDP用に使用できます。NAT/SNATはより従来型のルーティング動作を提供し、DRモードは低レイテンシリターンパスに有用です。リアルタイムメディアと大容量UDPサービスではモード選択がアーキテクチャ上の優位性をもたらします。
DRモードでは、ロードバランサーがクライアントからバックエンドにトラフィックを配信し、リターントラフィックはクライアントに直接向かえます。これにより音声、ビデオ、ゲームなどのレイテンシ感度の高いトラフィックの負荷が軽減されます。直接リターンパスはスループットとレイテンシの面で有利です。ネットワークトポロジーはこのモードに適切に準備する必要があります。
TR7はUDPバックエンドをポートアクセスだけでなく、プロトコル動作によってもチェックできます。DNSには実際のクエリを使用でき、RADIUSには認証リクエストを使用でき、カスタムUDPサービスには定義されたパケットを使用できます。応答を生成しないバックエンドはローテーションから除去されます。これにより「ポートは開いているがサービスが壊れている」問題が軽減されます。
各バックエンドに重み値を定義できます。より強力なサーバーはより多くのトラフィックを受け、低容量のものはより少ない負荷を担います。バックエンドごとの同時トラッキングフロー数も上限設定できます。これによりリソース消費が制御下に置かれます。
UDPサービスは複数のポートで公開できます。TR7は同一プール下で複数のフロントエンドIPとポートの定義をサポートできます。たとえばRADIUS authとaccountingポート、SIPシグナリングポート、カスタムゲームポートをすべて同一のサービスモデルで管理できます。これにより設定の繰り返しが軽減されます。
UDPサービスでは「稼働/停止」ステータスだけでは不十分です。TR7はパケットレート、接続/フローレート、インバウンド/アウトバウンド帯域幅、バックエンドステータスなどのメトリクスを表示できます。オペレーターはどのバックエンドが負荷を受けているか、どのプールが容量制限に近づいているかを監視できます。この可視性は容量計画に重要です。
UDP サービスのVIPはアクティブノードから別のノードに移動できます。フェイルオーバー後、新しいUDPフローはアクティブノードを通じて継続します。この動作はDNS、RADIUS、SIPなどのサービスに重要な可用性を提供します。一部の継続中のUDPフローはプロトコルのコネクションレス特性により再送信を通じて回復します。
UDP負荷分散はL4で動作し、DNSペイロードを決定エンジンとして使用しません。DNSコンテンツ、地理的応答、DCフェイルオーバー、または権威DNS動作が必要な場合はGTMモジュールが使用されます。この分離によりアーキテクチャがクリーンに保たれます。UDP負荷分散は高速パケット分散に、GTMはDNS決定エンジンに焦点を当てます。
オペレーターはUDP用に別の製品や管理言語を学習する必要はありません。プール、バックエンド、アルゴリズム、ヘルスチェック、VIP、HA動作はすべて同じプラットフォームの概念を使用して管理されます。これによりネットワークとアプリケーションチームの運用負担が軽減されます。UDPサービスはエンタープライズADCモデルの一部になります。
UDP負荷分散はタイムアウト動作、conntrack容量、ヘルスチェック間隔、リターンパス、フラグメンテーション、HA影響とともに計画する必要があります。
UDPフローは定義された期間監視され、アイドルエントリは消去されます。タイムアウトが短すぎると同一セッションが別のバックエンドに到達する可能性があり、長すぎるとテーブルが不必要に大きくなります。サービスタイプに基づいて調整する必要があります。
大容量UDPサービスでは、トラッキングテーブルの容量が重要になります。DNS、ゲーミング、syslogなどのサービスは多数の短命フローを生成できます。容量計画は予想されるPPSとフロー数に基づく必要があります。
UDPサービスでヘルスチェックが頻繁すぎるとバックエンドに追加負荷をかける可能性があります。頻度が低すぎると障害の検出が遅れます。DNS、RADIUS、SIPなどのサービスでは、プロトコルベースのチェック間隔を慎重に選択する必要があります。
NAT/SNATモードはロードバランサーを通じてリターンパスを管理します。DRモードではリターンがクライアントに直接向かい、より低いレイテンシを提供できます。ただし、バックエンドとネットワークトポロジーはDRモードに対して正しく準備する必要があります。
大きなSIPメッセージはフラグメント化される可能性があり、UDPフラグメンテーション動作が問題を引き起こす可能性があります。このような環境では、MTU、メッセージサイズ、必要に応じてTCPベースのSIP代替を評価する必要があります。SIP永続性だけではフラグメンテーション問題を解決しません。
UDPサービスのセッション、バックエンドステータス、パケットレート、ヘルスチェック結果を監視できます。フェイルオーバー、バックエンドの停止/復旧の遷移、容量制限は監査目的で記録する必要があります。この情報はポストインシデント分析において重要な役割を果たします。
ISPまたはエンタープライズネットワークは複数のDNSリゾルバーを単一のVIP下に集約できます。正常でないリゾルバーはローテーションから除去され、重み付き分散を適用できます。
RADIUS UDP 1812/1813トラフィックを複数の認証バックエンドに分散できます。永続性タイムアウトにより同一の認証フローの一貫性が保たれます。
SIP REGISTERとINVITEフローを同一バックエンドに保持できます。Call-IDベースのアフィニティがVoIPコールの完全性を保持します。
UDP 123トラフィックを複数のNTPバックエンドに分散します。軽量で高速なL4ルーティングが時刻サービスの可用性を向上させます。
UDP 514 syslogトラフィックが大量の場合、単一のコレクターがボトルネックになる可能性があります。TR7はログフローを複数のバックエンドに分散することで容量を増加させます。
カスタムUDPポートをソースハッシュまたはDRモードで分散できます。プレイヤーフローが同一バックエンドに留まりながら、レイテンシが低く保たれます。
DNS、RADIUS、SIP、NTPサービスをL4負荷分散、セッションアフィニティ、ヘルスチェックで管理。お客様の環境でライブセットアップをご案内します。