この特集のトップページへ
>
Chapter 1:NetBIOSの基礎知識
COLUMN:TCP/IPアプリケーションの名前解決手順 |
Windows 95,Windows 98,Windows NTでは,TCP/IPアプリケーションの名前解決方法が拡張されている。Unixに代表される一般的なTCP/IPインプリメンテーションでは,HOSTSファイルとDNSによる名前解決を試みる。しかしWindowsの場合は,これに加えてNBTによる名前解決も利用するようになっている。DNSキャッシュ,HOSTSファイル,DNSの順に検索して名前解決に失敗すると,NBTのノードタイプに従って名前解決を試みるのである。したがって,HOSTSファイルやDNSサーバーがなくても,TCP/IPアプリケーションで名前解決できる場合がある。
たとえば,コマンドプロンプトからftpコマンドを実行した場合について説明してみよう。
まずは,DNSに登録されているホストと接続するときのトレースを見てほしい。biblo.dsl.privateというのがDNSサーバーである。[1]でDNSに対して問い合わせ,[2]で回答が戻ってきている。名前解決に成功したため,[3]でftpのセッションを確立しようとしている。なお,dsl.privateというのは架空のドメイン名である。
[1] lily.dsl.private.1060 > biblo.dsl.private.53: 1+ (35)
[2] biblo.dsl.private.53 > lily.dsl.private.1060: 1* 1/1/1 (92)
[3] lily.dsl.private.1061 > biblo.dsl.private.21: S 8030612:8030612(0) win 8192 (DF)
[4] biblo.dsl.private.21 > lily.dsl.private.1061: S 1628197891:1628197891(0) ack 8030613 win 32120 (DF)
[5] lily.dsl.private.1061 > biblo.dsl.private.21: . ack 1 win 8760 (DF)
[6] biblo.dsl.private.21 > lily.dsl.private.1061: P 1:93(92) ack 1 win 32120 (DF) [tos 0x10]
[7] lily.dsl.private.1061 > biblo.dsl.private.21: . ack 93 win 8668(DF)
|
フォントサイズを 大きくする / 小さくする(※Internet Explorer4.0以上)
次に,DNSに登録されていないサーバーへの接続を試みた場合を見てほしい。[1]で DNSに対して問い合わせ,[2]でDNSに登録されていないという回答を得ている。そのあと,[3]でftpクライアント側から,UDPの137番ポートを使用してブロードキャストしているのがわかる。これが,NBTによる名前解決のパケットである。ftpクライアントとなっているコンピュータはbノードであるため,ブロードキャストを利用して名前解決している。[4]でbibloというコンピュータから回答を得て名前解決に成功し,[5]でftpのセッションを確立しようとしていることがわかる。
[1] lily.dsl.private.1062 > biblo.dsl.private.53: 1+ (38)
[2] biblo.dsl.private.53 > lily.dsl.private.1062: 1 NXDomain* 0/1/0 (109)
[3] lily.dsl.private.137 > 192.168.1.255.137: udp 50
[4] biblo.dsl.private.137 > lily.dsl.private.137: udp 62
[5] lily.dsl.private.1063 > biblo.dsl.private.21: S 8653610:8653610(0) win 8192 (DF)
[6] biblo.dsl.private.21 > lily.dsl.private.1063: S 2297233530:2297233530(0) ack 8653611 win 32120 (DF)
[7] lily.dsl.private.1063 > biblo.dsl.private.21: . ack 1 win 8760 (DF)
[8] biblo.dsl.private.21 > lily.dsl.private.1063: P 1:93(92) ack 1 win 32120 (DF) [tos 0x10]
[9] lily.dsl.private.1063 > biblo.dsl.private.21: . ack 93 win 8668(DF)
|
フォントサイズを 大きくする / 小さくする(※Internet Explorer4.0以上)
また,Windows 95,Windows 98,Windows NTでは,DNSに問い合わせた結果をキャッシュしている。いったん名前を解決すると,TTL(Time To Live)の有効期限が切れるまで,DNSサーバーに対して問い合わせることはなくなる。ただし,DNSに対する問い合わせのキャッシュは,NBTのようにシステムレベルで保持されるのではなく,アプリケーションごとに保持される。
NBTと同様に,TCP/IPの名前解決手順も変更することができる。Windows NT 4.0の場合は,HKEY_LOCAL_MACHINE\SYSTEM
\CurrentControlSet\Services\Tcpip
\ServiceProviderに,Windows 95/98の場合は
HKEY_LOCAL_MACHINE\SYSTEM
\CurrentControlSet\Services\VxD
\MSTCP\ServiceProviderに,Table 1-4のパラメータをDWORDタイプで設定する。値が小さいほど,優先度が高くなる。
Table 1-4 TCP/IPの名前解決手順を表すレジストリの設定値
パラメータ |
意味 |
デフォルト値 |
LocalPriority |
DNSキャッシュ |
0x1f3 |
HostsPriority |
HOSTSファイル |
0x1f4 |
DNSPriority |
DNSサーバー |
0x7d0 |
NetbtPriority |
NBTによる名前解決 |
0x7d1 |
|
|
|