DHCPv6 サーバーからの応答の送信元アドレスに、静的に構成された IPv6 アドレスが使用される

現象

以下のような状況を想定します。
  • DHCPv6 サーバーは、IPv6 リンクローカルアドレスと、静的に構成された IPv6 グローバルユニキャストアドレスを保持しています。
  • DHCPv6 クライアントは、ステートフルアドレスの取得のために、DHCPv6 サーバーに対して DHCPv6 Solicit パケットを送信します。
  • これに対して、DHCPv6 サーバーは、 Neighbor Solicitation または DHCPv6 Advertiseを DHCPv6 クライアントに対して応答します。

この時、DHCPv6 サーバーからの応答パケットの送信元アドレスには、静的に構成された DHCPv6 サーバーの IPv6 グローバルアドレスが使用されます。 


例えば、クライアントと DHCPv6 サーバーの IPv6 アドレスがそれぞれ以下のとおり設定されているものと仮定します。

クライアント:
FE80::6097:D1Fa:FA04:335D (リンクローカルアドレス)

DHCPv6 サーバー:
FE80::D180:A68d:96A5:31D9 (リンクローカルアドレス) 
2001::C0A8:1F3 (グローバルユニキャストアドレス)

この時、クライアントからの DHCPv6 Solicit に対して、DHCPv6 サーバーは以下のようにグローバルユニキャストアドレス 2001::c0a8:1f3 を送信元とするパケットで応答します。以下は Windows OS を DHCPv6 クライアントとした場合のネットワークパケットの例です。

1 FE80::6097:D1FA:FA04:335D FF02::1:2 DHCPV6:MessageType = SOLICIT
2 2001::C0A8:1F3 FF02::1:FF04:335D ICMPv6:Neighbor Solicitation,
3 FE80::6097:D1FA:FA04:335D 2001::C0A8:1F3 ICMPv6:Neighbor Advertisement,
4 2001::C0A8:1F3 FE80::6097:D1FA:FA04:335D DHCPV6:MessageType = ADVERTISE

原因

この動作はWindows OS  で実装されている DHCPv6 サーバーの動作に基づくものです。DHCPv6 サーバーがクライアントにサービスを提供するためには、静的に構成された IPv6 グローバルユニキャストアドレスが必要です。DHCPv6 サーバーの処理に関するパケットの送信元アドレスとしては、静的に構成された IPv6 グローバルユニキャストアドレスが選択されます。この動作は、RFC6724 にて定義された送信元アドレス選択規則に対する例外となります。

状況

この動作は仕様です。
 

詳細

この動作は DHCPv6 サーバーの処理に限定されたものです。例えば、リンクローカルアドレスを送信元とするPing (ICMPv6 Echo Request) に対しては、リンクローカルアドレスを送信元とするパケットで応答します。

1 FE80::6097:D1FA:FA04:335D FE80::D180:A68D:96A5:31D9 ICMPv6:Echo request, 
2 FE80::D180:A68D:96A5:31D9 FE80::6097:D1FA:FA04:335D ICMPv6:Echo reply,

プロパティ

文書番号:2826963 - 最終更新日: 2016/09/29 - リビジョン: 1

フィードバック