UDPブロードキャストの影響
DHCPリレーエージェント機能を利用すれば、DHCPのUDPブロードキャスト要求を中継することができます。

DHCP要求(ブロードキャスト)を受け取ったルータは、別のネットワークにあるDHCPサーバにDHCP要求をユニキャストで中継します。
しかし、UDPブロードキャストをあるサブネットから別のサブネットに転送すると大量のトラフィックが注入される恐れがあるので注意が必要です。

クライアントからのDHCPのブロードキャスト要求を転送するには、ルータにDHCPリレーエージェント機能の設定を行います。
機器によって転送されるブロードキャストは、異なるのですが、Ciscoルータでは、「ip helper-address interface 」コマンドを使用することで、下記のUDPブロードキャストを転送します。
サービス | UDPポート番号 |
TFTP | 69 |
DNS | 53 |
Time (タイムサービス) | 37 |
NetBIOS ネーム サーバ | 137 |
NetBIOS データグラム サーバ | 138 |
Boot Protocol(DHCP/BootP) | ポート67,68 |
TACACS | 49 |
EN-116 ネーム サーバ | 42 |
任意のUDPブロードキャストを転送するようも設定できます。
また、1つのインターフェイスに対して、複数のIPヘルパーアドレスを設定することもできます。
DHCPサーバと同じサブネットにあるクライアントがある場合
ネットワークの構成が、下図のように、クライアントは、DHCPサーバと同じサブネットに属しています。

この時の、クライアントとDHCPサーバ間のやり取りは、下図のように行われます。

やり取りするパケットの送信元、宛先のアドレスは以下のようになります。
パケット | 送信元 MACアドレス | 宛先 MACアドレス | 送信元 IPアドレス | 宛先 IPアドレス |
DHCPDISCOVER | AAAA.AAAA.AAAA (クライアントのMACアドレス) | FFFF.FFFF.FFFF (ブロードキャスト) | 0.0.0.0 | 255.255.255.255 (ブロードキャスト) |
DHCPOFFER | BBBB.BBBB.BBBB (DHCPサーバのMACアドレス) | FFFF.FFFF.FFFF (ブロードキャスト) | 192.168.1.1 (DHCPサーバ) | 255.255.255.255 (ブロードキャスト) |
DHCPREQUEST | AAAA.AAAA.AAAA (クライアントのMACアドレス) | FFFF.FFFF.FFFF (ブロードキャスト) | 0.0.0.0 | 255.255.255.255 (ブロードキャスト) |
DHCPACK | BBBB.BBBB.BBBB (DHCPサーバのMACアドレス) | FFFF.FFFF.FFFF (ブロードキャスト) | 192.168.1.1 (DHCPサーバ) | 255.255.255.255 (ブロードキャスト) |
1.DHCP Discover
クライアントは、送信元アドレスとして、送信元MACアドレスに自分のMACアドレスを、IPアドレスを「0.0.0.0」を設定します。宛先アドレスには、ブロードキャストアドレスとして、宛先MACアドレスに「FFFF.FFFF.FFFF」、宛先IPアドレスに、「255.255.255.255」を設定して、IPアドレスを割り当てるように要求を行います。
2.DHCP Offer
この要求を、DHCPサーバは受け取り、送信元に「このIPアドレスはどうですか?」という提案(DHCPOFFER)を送ります。この時、宛先アドレスがユニキャストではなく、ブロードキャストで送られます。宛先MACアドレスには、「FFFF.FFFF.FFFF」を宛先IPアドレスには、「255.255.255.255」となります。
3.DHCP Request
クライアントは、DHCPOFFERで受け取った提案で良ければ、「その情報を使わせて下さい」という申請(DHCP REQUEST)をブロードキャストします。
送信元アドレスとして、送信元MACアドレスに自分のMACアドレスを、IPアドレスを「0.0.0.0」を設定します。宛先アドレスには、ブロードキャストアドレスとして、宛先MACアドレスに「FFFF.FFFF.FFFF」、宛先IPアドレスに、「255.255.255.255」を設定して送信します。
4.DHCP ACK
DHCPサーバは、クライアントに承認(DHCP ACK)メッセージを送信します。
この時、宛先アドレスがユニキャストではなく、ブロードキャストで送られます。宛先MACアドレスには、「FFFF.FFFF.FFFF」を宛先IPアドレスには、「255.255.255.255」となります。