UDPブロードキャストの影響

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

 DHCP要求(ブロードキャスト)を受け取ったルータは、別のネットワークにあるDHCPサーバにDHCP要求をユニキャストで中継します。

 しかし、UDPブロードキャストをあるサブネットから別のサブネットに転送すると大量のトラフィックが注入される恐れがあるので注意が必要です。

クライアントからのDHCPのブロードキャスト要求を転送するには、ルータにDHCPリレーエージェント機能の設定を行います。

 機器によって転送されるブロードキャストは、異なるのですが、Ciscoルータでは、「ip helper-address interface 」コマンドを使用することで、下記のUDPブロードキャストを転送します。

サービスUDPポート番号
TFTP69
DNS53
Time (タイムサービス)37
NetBIOS ネーム サーバ137
NetBIOS データグラム サーバ138
Boot Protocol(DHCP/BootP)ポート67,68
TACACS49
EN-116 ネーム サーバ42

任意のUDPブロードキャストを転送するようも設定できます。

また、1つのインターフェイスに対して、複数のIPヘルパーアドレスを設定することもできます。

DHCPサーバと同じサブネットにあるクライアントがある場合

ネットワークの構成が、下図のように、クライアントは、DHCPサーバと同じサブネットに属しています。

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

やり取りするパケットの送信元、宛先のアドレスは以下のようになります。

パケット送信元
MACアドレス
宛先
MACアドレス
送信元
IPアドレス
宛先
IPアドレス
DHCPDISCOVERAAAA.AAAA.AAAA
(クライアントのMACアドレス)
FFFF.FFFF.FFFF
(ブロードキャスト)
0.0.0.0255.255.255.255
(ブロードキャスト)
DHCPOFFERBBBB.BBBB.BBBB
(DHCPサーバのMACアドレス)
FFFF.FFFF.FFFF
(ブロードキャスト)
192.168.1.1
(DHCPサーバ)
255.255.255.255
(ブロードキャスト)
DHCPREQUESTAAAA.AAAA.AAAA
(クライアントのMACアドレス)
FFFF.FFFF.FFFF
(ブロードキャスト)
0.0.0.0255.255.255.255
(ブロードキャスト)
DHCPACKBBBB.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」となります。