Vista/2008の新たな名前解決
Windows Server 2003以前で使われている名前解決は以上である。基本はソケットアプリケーションのためのホスト名解決であり、過去の互換性のためにNetBIOS名前解決があると考えればよいだろう。
一方、今後進むであろうIPv6環境への対応という観点からは、まだ問題が多い。それは、IPv6環境ではブロードキャストが利用できず、またWINSもIPv6に対応していない点だ。そこで、Windows Vista/Server 2008では新しい機能が搭載された。
ブロードキャストの代替手段
IPv6環境ではブロードキャストは使えない。そのため、マルチキャストを使った名前解決方法が定義された。これを「LLMNR(Link Local Multicast Name Resolution)」と呼ぶ。LLMNRはRFC4795で、IPv4(IPアドレス「224.0.0.252」)とIPv6(IPアドレス「FF02::1:3」)の両方が定義されている。Windows Vista以降では、ブロードキャストではなくLLMNRを使う。
ただし、LLMNRの利用範囲はブロードキャストドメインに限られる。そのため、WINSの代替にはならない。あくまでもブロードキャストの代替となるだけだ。また、Active Directory環境では必ずDNSが存在するはずなので、LLMNRを使う必要はない。
WINSの代替手段
WINSは、今後新機能の追加は行なわれず、IPv6への対応予定もない。前述の通り、NetBIOSアプリケーションであっても、DNSを使った名前解決が可能なため、ほとんどの場合は、WINSをDNSに置き換えられる。この場合の名前解決は、
(1)解決しようとするNetBIOS名に、クライアントのプライマリDNSサフィックスを追加してDNSサーバに照会
(2)プライマリDNSサフィックスが定義されていない場合は、ネットワークインターフェイスのプロパティで設定されたDNSサフィックスを使う。これを「接続固有のDNSサフィックス」と呼ぶ。「接続固有のDNSサフィックス」はDHCPサーバから配布することもできる
という流れになる。シングルドメインの場合には、これで特に問題はない。スムーズにNetBIOS環境からホスト名環境に移行できるだろう。
ただし、複数のActive Directoryドメインを使っている環境では、そう簡単にはいかない。たとえば、Active Directoryドメインとして本社機能を持つ「corp.example.com」と、販売組織である「sales.example.com」の2つを構成していたとしよう(図6)。このときcorp.example.comドメインのクライアントは同じドメインのサーバcorp-sv1に対して「corp-sv1」という名前でアクセスできる。サーバとクライアントのプライマリDNSサフィックスが同じだからだ。
一方、別ドメインsales.example.comドメインのサーバsales-sv1に対しては、「sales-sv1.sales.example.com」とFQDNを指定する必要がある。WINSやブロードキャストを使ったNetBIOS名解決ができれば、単にsales-sv1と指定してもかまわないのに、DNSを使う環境では利便性が低下する。
そこで、Windows Server 2008から「グローバルネームゾーン」が導入された。静的な登録に限られるが、DNSサーバに対して階層を無視したホスト名照会を実現する機能だ。使い方は以下の通りである。
(1)GlobalNamesという名前で、DNS前方参照ゾーンを作成
(2)以下のコマンドを実行し、DNSサーバのGlobalNames ゾーンサポートを有効化
dnscmd <サーバ名> /config /enableglobalnamessupport 1
このサーバ名には、GlobalNamesゾーンをホストするDNSサーバのホスト名またはIPアドレスを指定する。ローカルコンピュータを指定するにはピリオド(.)も利用可能だ。グローバルネームゾーンが有効なDNSサーバは、存在しないゾーンに対する問い合わせを受けた場合、以下の順序で応答する(図7)。
(1)適切なゾーンにレコードがあればその値を応答
(2)適切なレコードがなければDNSサフィックスを除いてglobalnamesゾーンを検索
(3)適切なレコードがなければフォワーダまたはルートゾーンに対して照会
グローバルネームゾーンは、Windowsネットワークの必須機能ではない。しかし、複数ドメイン環境で、利便性を損なわずにNetBIOSを廃止する場合に便利な機能であるため、存在を覚えておくとよいだろう。
この連載の記事
-
第4回
ネットワーク
インターネットで使うドメイン名と名前解決 -
第3回
ネットワーク
EthernetでのID「MACアドレス」を理解する -
第2回
ネットワーク
IPアドレスの柔軟な割り当てを実現するサブネットマスク -
第1回
ネットワーク
TCP/IPで使われるIPアドレスとポート番号 -
ネットワーク
完全解剖「名前とアドレス」<目次> - この連載の一覧へ