UDPヘルパーアドレスとは
UDPヘルパーアドレスは、ネットワークにおけるルーティングの特殊な設定の一つで、主に企業などのエンタープライズ環境で利用されます。これは、クライアントとサーバが異なる
サブネットに属している場合に、
ブロードキャストパケットを適切に転送するためにルータに設定されるものです。
ネットワークでは、各ホスト(PCやサーバなど)は一意のIPアドレスを持ちます。IPアドレスは、ネットワークアドレスとホストアドレスで構成され、隣接するIPアドレスのグループを同一
サブネットと呼びます。
IPアドレスをクライアントに自動的に割り振る方法として、DHCP(
Dynamic Host Configuration Protocol)が広く利用されています。通常、各
サブネットにはDHCPサーバが設置され、その
サブネット内のクライアントにIPアドレスを割り振ります。
UDPヘルパーアドレスの必要性
しかし、異なる
サブネットに存在するクライアントに対して、DHCPサーバからIPアドレスを割り振りたい場合があります。通常、ルータは
サブネットを跨いだ
ブロードキャストパケットの中継を行いません。これは、DHCPのような重要なネットワークサービスを安定して運用するために必要な仕様です。
ここで、UDPヘルパーアドレスが役立ちます。ルータにUDPヘルパーアドレスを設定することで、特定のポート宛の
ブロードキャストパケットを、指定したサーバ(DHCPサーバなど)に転送できます。これにより、クライアントからの
ブロードキャストパケットがDHCPサーバに到達し、DHCPサーバはクライアントにIPアドレスを割り当てることができるようになります。
UDPヘルパーアドレスの動作
クライアントがDHCPサーバにIPアドレスの割り当てを要求すると、
ブロードキャストパケットが送信されます。この
ブロードキャストパケットを受信したルータは、設定されたUDPヘルパーアドレスに従い、パケットをDHCPサーバに転送します。DHCPサーバは、利用可能なIPアドレスの中から一つを選び、クライアントに応答します。この際、DHCPサーバは割り当てたIPアドレスを記憶し、再びクライアントから
ブロードキャストパケットを受信した際に、IPアドレスのリースを更新します。
また、UDPヘルパーアドレスは異なる
サブネット間でのUDPパケット転送にも利用できます。これにより、異なる
サブネットに存在するサーバ間で通信を行うことが可能になります。
実装例
シスコ製品では、ルーティングソフトウェアVersion.10からこの機能が実装されています。UDPヘルパーアドレスを設定するためのコマンドは `ip helper-address` および `ip forward-protocol` です。
コマンドの構文
ip helper-address [vrf name | global] address [redundancy vrg-name]
no ip helper-address [vrf name | global] address [redundancy vrg-name]
- - vrf name(オプション): VPNルーティング/転送(VRF)インスタンスとVRF名を指定します。
- - global(オプション): グローバルルーティングテーブルを設定します。
- - address: UDPブロードキャストを転送する際に使用される、宛先ブロードキャストアドレスまたはホストアドレスを指定します。インターフェースごとに複数のヘルパーアドレスを設定できます。
- - redundancy vrg-name(オプション): VRGグループ名を定義します。
特記事項
UDPヘルパーアドレスの使用は、Windowsのネットワーク設定に影響を与える場合があります。
マイクロソフトのナレッジベースによると、この問題はシスコルータのデフォルト設定がポート137および138を利用するために発生します。これらのポートはNetBIOSがネットワーク設定に使用するため、
ブロードキャスト中に競合を引き起こす可能性があります。
まとめ
UDPヘルパーアドレスは、異なる
サブネット間で
ブロードキャストパケットを中継するための重要な機能です。特に、DHCPサーバなどのネットワークサービスを複数の
サブネットで共有する際に有効です。設定には、ルータのコンフィグレーションコマンドを用い、利用環境に合わせて適切な設定を行うことが重要です。
参考文献
- - Microsoft's knowledge base