DHCPリレーエージェント

DHCP(Dynamic Host Configuration Protocol)サーバーを、サブネットごとに設置するのは困難です。

本項では、DHCPをサブネットをまたいで使うことができるDHCPリレーエージェントについて説明します。

DHCPリレーエージェントとは

基本編のIPアドレスの設定では、DHCPによってIPアドレスを自動で設定できると説明しました。DHCPは、パソコンを起動した時にUDPをブロードキャストして、DHCPサーバーからIPアドレスなどの情報を取得しています。

DHCPはブロードキャストしてDHCPサーバからIPアドレスなどを取得する

IPアドレスの種類で説明したとおり、ブロードキャストはサブネットを越えて通信できません。サブネットごとにDHCPサーバーが必要となり、このままではサブネットが複数あるネットワークでは管理が大変ですが、サブネットを越えて通信できる仕組みがあります。この仕組みを、DHCPリレーエージェントと言います。

DHCPリレーエージェントを利用することで、複数サブネットのIPアドレス割り当てを1台のDHCPサーバーで行うことができます。

DHCPリレーエージェントの仕組み

DHCPリレーエージェントでは、ルーターにDHCPサーバーのIPアドレスを設定しておき、ブロードキャストで流れてきたフレームをユニキャストでDHCPサーバーに送信します。この時、ルーターのパソコン接続側インターフェースのIPアドレスを送信元IPアドレスにします。DHCPサーバーではこのIPアドレスに対してユニキャストで応答を返し、ルーターがユニキャストでパソコン側に流します。

DHCPリレーエージェントの仕組み

このようにして、DHCPリレーエージェントではルーターを介してDHCPサーバーと通信できるようにしています。

なお、ルーターからパソコンに送られたユニキャスト宛てのパケットは、まだパソコンにIPアドレスが設定されていない状態であっても、一般的にはMACアドレスから自身宛てと判断し、処理できます。

どのサブネットからIPアドレスを割り当てるか?

DHCPサーバーが同一サブネット内のパソコンからしか受け付けない場合は、設定されている範囲から空いているIPアドレスを割り当てればよいことになります。例えば、172.16.1.2〜172.16.1.254の範囲が設定されていて172.16.1.2を貸し出している場合、172.16.1.3を割り当てます。

しかし、DHCPリレーエージェントを利用した場合、複数のサブネットに接続されたパソコンから要求が来るため、どのサブネットの範囲からIPアドレスを割り当てればよいか判断する必要があります。

DHCPサーバーでは複数のサブネット範囲があると、どれを割り当てればよいか判断が必要になる

このため、ルーターはUDPのペイロード部分にエージェントアドレスとしてパソコンが接続されたインターフェースのIPアドレスを設定し、フレームを送信します。このIPアドレスを見てDHCPサーバーは割り当てるIPアドレスを決定します。

DHCPリレーエージェントが有効なルーターで、割り当てるサブネットを知らせる

繰り返しになりますが、ルーターがDHCPリレーエージェントの機能で転送する時、DHCPサーバーに自身のIPアドレスを知らせることで、DHCPサーバーは割り当てるIPアドレスの範囲(サブネット)がわかるということです。

DHCPリレーエージェントはサーバーでも可能

DHCPリレーエージェントは、サーバーでも可能です。サーバーがブロードキャストを受信してユニキャストに変換します。ユニキャストであればルーターを介して通信できるため、DHCPサーバーと通信できるようになります。

サーバーがDHCPリレーエージェントの例

関連ページ

応用編「DHCPスヌーピング
LANスイッチでDHCPを監視するDHCPスヌーピングについて説明しています。
設定編「DHCPリレーエージェントの設定
CatalystでのDHCPリレーエージェントの設定方法を説明しています。