Windowsのnetsh int ipv6 set interface
コマンドコンテキストで使用されるIPv6ステートフルおよびステートレス自動構成に関連する4つのパラメーター間のリンクを完全に理解していません。
advertise
routerdescovery
managedaddress
otherstateful
私がこれまでに見つけたものから、私はそれを理解しています:
advertise
は、M
およびO
として構成されたmanagedaddress
およびotherstateful
フラグを含むOSによってRAが発行/応答される必要があることを示すために使用されます。その特定のインターフェース用。これはサーバーに関連しています。routerdescovery
は、OSがそのインターフェイスでRAを要求/処理し、RAが持つフラグに基づいてそれ自体を構成するために使用する必要があることを示すために使用されます。 routerdescovery
が有効になっている場合、managedaddress
とotherstateful
はRAのフラグによって上書きされます。これはクライアントに関連しています私の質問は、advertise
とrouterdescovery
が無効になっているとどうなりますか?
この場合、managedaddress
とotherstateful
は、そのインターフェイスでDHCPv6クライアントが有効になっているかどうかを決定すると思います。しかし、そうではないようです。 4つのパラメーターすべてが無効になっている場合(advertise
、routerdescovery
、managedaddress
、およびotherstateful
)、Windowsクライアントは引き続きDHCPv6サーバーに接続しようとします。
多くの実験と多くのあいまいなドキュメントや記事の後で、managedaddress
とotherstateful
はadvertise
と組み合わせてのみ関連することを推測しました(つまり、WindowsでRAを有効にする場合)サーバー)、RAパケットのM
およびO
フラグの設定に役立ちます。
routerdescovery
が有効でadvertise
が無効の場合、netshを介してmanagedaddress
およびotherstateful
パラメータを設定することはできなくなりますが、RAが到着するとすぐにインターフェイスでは、これら2つのパラメータは、到着したRAパケットのM
フラグとO
フラグを反映するように自動的に設定されます。
使用する構成に関係なく、DHCPv6要請メッセージは、M
フラグが設定されていないRAパケットを受信した場合でも、常にIPv6対応のインターフェイスで送信されます。 WindowsでDHCPv6を無効にする方法が見つかりませんでした(Vista以降を想定しています。8.1でテストしました)。ネットワーク上にDHCPv6サーバーがある場合は、そこからIPv6アドレスを取得します。
幸い、ほとんどのネットワークは、IPv6アドレスがDHCPv6サーバーとネゴシエートされるステートフル自動構成の代わりに、ステートレス自動構成(各ノードはRAでアドバタイズされたプレフィックスに基づいて自身を構成します)を使用します。ほとんどのネットワークはステートレスであるため、多くの人はrouterdiscovery
を無効にすると追加のIPv6アドレスを取得できなくなると考えていました。ただし、ネットワーク上にDHCPv6サーバーがある場合、これは無効です。