3 Minutes NetWorking
No.27

3Minutes NetWorking

第27回DNS・Windowsネットワーク

■ 4つのアドレス・最後の1つ

インター博士

送信元MACアドレス。送信元IPアドレス。宛先MACアドレス。
この3つのアドレスをどうやって知るかをここ3回でやってきたわけだ。

ネット助手

ウッス。

インター博士

今回は最後の1つ。
宛先IPアドレスをどうやって知るか、だ。

ネット助手

前回、DNSとかなんとかいうのを話していましたが、それですか?

インター博士

それだけではない。
まず、一番簡単な方法は。

ネット助手

方法は?

インター博士

データ転送を望むアプリケーションやユーザが、宛先のIPアドレスを知っているという形だ。

ネット助手

はい?

インター博士

だから。
最初から知ってれば問題ない

ネット助手

そりゃ確かにそうですね。

インター博士

なんだその疑いのまなざしは。
なら、ブラウザのアドレス欄に「http://61.193.0.66/~aji/」と入力してenterを押してみたまえ。

ネット助手

こうですか?

IE・アドレス欄

[Figure27-01:IE・アドレス欄]

ネット助手

はわっ、「Roads to Node」が開きましたよ。博士。
いつもは「www5e.biglobe.ne.jp」と打ってたのに。

インター博士

うむ。
つまり「Roads to Node」が置いてあるサーバのIPアドレスが「61.193.0.66」だからこういうことが可能なのだ。

ネット助手

宛先IPアドレスを手動で入力して、Webページを見に行ったんですね。

インター博士

そういうことだ。
このように、データ転送をしたい相手のIPアドレスが最初からわかっていれば、データは転送できる。上の例ならば、Webページの転送、HTTPを行ったわけだ。

ネット助手

ははぁ。

インター博士

しかし、困ったことに普通人間というのは、単なる数字の羅列を覚えるのは不得手だ。
こっちのページは「61.193.0.66」。あっちのページは「xx.xxx.xx.xx」などと覚えていられない。

ネット助手

そうですよねぇ。数字って語呂合わせでもしないと覚えづらいですよね。
僕なんか大学の学籍番号をよく間違えますよ。

インター博士

それは君がネット君だからだ。以上。Q.E.D
ともかく、単なる数字であるIPアドレスは覚えにくい。なので、ドメイン名とホスト名というものが使われる。

ネット助手

どめいん名に、ほすと名?

■ DNS

インター博士

そうだ。
要は、送信する相手のコンピュータの名前だ。覚えやすいよう、英数字で構成される。

ネット助手

コンピュータの名前。
じゃ、「Roads to Node」が置いてあるコンピュータは、「www5e.biglobe.ne.jp」って名前なんですか?

インター博士

いや、正確には「biglobe.ne.jp」という組織の、「www5e」というコンピュータ、という意味だ。
この組織名が「ドメイン名」。コンピュータ名が「ホスト名」だ。

ネット助手

「biglobe.ne.jp」の「www5e」。

インター博士

そうだ。もちろん、他のコンピュータと区別するために、ユニークな名前でなければならない。
さて、インターネットでユニークな名前でなければならないということは?

ネット助手

ということは?
…。もしかして、IPアドレスのネットワーク番号と同じように、管理する組織があるってことですか?

インター博士

うむ、いいぞネット君。
その通り、ドメイン名はIPアドレス同様ICANNが管理している
ICANNと、各地域のNICが管理するわけだ。▼ link

ネット助手

なるほど。
ドメイン名はNICが管理するとして、ホスト名は?

インター博士

ホスト名は、これもIPアドレス同様、その組織の管理者が管理する。
「www5e.biglobe.ne.jp」の場合、JPNICから割り振られたbiglobe.ne.jpという組織の管理者が、このコンピュータを「www5e」と名付けよう、と名前をつけたわけだ。

ネット助手

ははぁ。
IPアドレスと同じ形になるわけですね。

インター博士

うむ。これで、送信したい相手を簡単に覚えることができるようになったわけだ。
ただ問題は、やはりデータ送信にはIPアドレスが必要という点だ。

ネット助手

あ〜、それはそうですね。
IPアドレスを直接覚えるのは難しいから、名前を付けました。じゃ、名前とIPアドレスにどういう関係があるんですか?

インター博士

うむ、それを決めるのが、DNSだ。
DNSは名前とIPアドレスを対応させるシステムだ。

ネット助手

ははぁ。だからドメインネームシステムなんですね。

インター博士

そうだ。
つまり、こういうことだ。

[Figure27-02:DNS]

インター博士

名前とIPアドレスの対応データベースを持っているDNSサーバに対し問い合わせをし、データ転送をしたいデバイスのIPアドレスを手に入れるのだ。

ネット助手

ははぁ。DNSサーバってのは、どこにあるんです?
世界中のドメイン名、ホスト名を覚えている必要があるから、やっぱりICANN?

インター博士

誰が世界中のドメイン名、ホスト名を覚えているといった。
DNSサーバは各組織に1つずつあり、その組織のドメイン名、ホスト名のみを管理している。

ネット助手

えっ? その組織のドメイン名、ホスト名のみを管理って。
じゃあ、他の組織のドメイン名、ホスト名からIPアドレスを知りたい場合はどうするんですか?

インター博士

もっともな疑問だ。
他の組織のホスト名、ドメイン名は、その組織のDNSサーバに聞くのだ。先ほどの例は、実際はこうなる。

[Figure27-03:他の組織のホスト名を調べる]

インター博士

このような形になる。
DNSとは、世界中のドメイン名・ホスト名を管理する一種の分散型データベースだということだ。

ネット助手

一時保存(キャッシュ)するのは何故ですか?

インター博士

同じところへデータ転送する度に、何度も問い合わせするのは無駄だろう?
なので、一定時間ドメイン名とIPアドレスの対応を保持しておくことによって、問い合わせ時間の短縮をはかるのだよ。

ネット助手

ははぁ。

インター博士

今回は、DNSの概論だ。
より詳細なDNSの仕組みについては、先の回で行う

ネット助手

何故今回やらないんですか?

インター博士

うむ。片手間で全部説明できるほど、簡潔ではないのだよ。ただ、今回の説明でもある程度は理解できると思うので、かならず覚えておくこと。言うならば、現在のインターネットを支える基幹技術なのだからな。

ネット助手

そうなんですか?

インター博士

そうだ。今現在、インターネットはすべてドメイン名・ホスト名でサービスを行うようになっている。
DNSがなければ、インターネットは立ち行かないようになっているのだよ。

ネット助手

そういえばそうかも。
Webサイトでも、メールでも、IPアドレスを直接打ち込むことってほとんどないですからね。

インター博士

そうだろう。
さて、DNSは先で詳しく話すとして、もう1つ宛先IPアドレスを知る方法がある。

ネット助手

へぇ、なんです?

■ Windowsネットワーク

インター博士

DNSと似ているといえば、似ているが。
こちらはLANでの話だ。

ネット助手

はぁ、LANでの話ですか。LANではDNSは使わないんですか?
だって、その組織のドメイン名、ホスト名を管理するんでしょ?

インター博士

うむ、使えないことはない。ただLANならではのもっと簡単な方法を使う、というだけの話だ。
ただし、Windowsで作られたネットワークの話だが。

ネット助手

Windowsでの話ですか。

インター博士

うむ。
Windowsでは、他のWindowsマシンとファイル共有というのを簡単に行えるだろう。

ネット助手

そうですね。
他のWindowsマシンと共有したいフォルダのプロパティで、共有を選べばすぐできますよね。

Windowsファイル・フォルダ共有

[Figure27-04:Windowsファイル・フォルダ共有]

インター博士

うむ。
では、LAN内の他のWindowsマシンの共有フォルダの中身を見たい場合どうする?

ネット助手

マイ ネットワーク」を開いて、中身を見たいフォルダを持つマシンを選んで、開きます。

マイネットワーク

[Figure27-05:マイネットワーク]

インター博士

うむ。その通り。
だが、それはつまり共有フォルダを持つマシンとデータ交換をしていることだよな。

ネット助手

そう、ですね。
どのフォルダが共有しているか、という情報を送っているわけですよね。

インター博士

さらに、ファイルのやり取りを行う場合、それは完全にデータ交換をしていることになる。
さて、どうやって相手のIPアドレスを知ったのだ?

ネット助手

う?

インター博士

先ほどの「マイネットワーク」の画像をみればわかる通り、Windowsマシンには識別用のコンピュータ名がついている。
コンピュータ名とIPアドレスはどうやって対応させているのだ?

ネットワーク識別情報

[Figure27-06:ネットワーク識別情報] 

ネット助手

う、うぅぅぅ。
DNS?

インター博士

Windowsのファイル共有は2台のWindowsマシンがあれば可能だ。
DNSなど存在しなくても、できる。

ネット助手

うぅぅぅぅぅぅ。

インター博士

これは、NetBIOSという機能によって行われている。

ネット助手

ねっとびーあいおーえす?

■ NetBIOS over TCP/IP

インター博士

ネットバイオスと読む。
NetBIOSは、Windows95にも使われているAPIで、実際の歴史はもっと古い。WindowsMeまではこのNetBIOSがWindows同士ネットワークを担っていた。

ネット助手

WindowsMEまでは?

インター博士

うむ、Windows2000、XPからはActive Directoryが採用されたからな。
だがWindows2000、XPでもやはりNetBIOSは使われている。開発は1984年だから、もう20年近くたつな。

ネット助手

ははぁ。
1984年なんて、Windowsは影も形もないですよね。
そんな頃に作られたものなんですか。

インター博士

そうだ。
このNetBIOSだけでは現在のTCP/IP環境に対応できないので、NetBIOS over TCP/IPが使われている。

ネット助手

ねっとばいおす おーばー てぃーしーぴー/あいぴー。

NetBIOS over TCP/IP

[Figure27-07:NetBIOS over TCP/IP] 

ネットワークのプロパティ

[Figure27-08:ネットワークのプロパティ] 

インター博士

NetBIOSの機能をTCP/IPでも使えるようにしたものだ。
このNetBIOSの機能により、宛先IPアドレスを知ることができる
詳細なNBTの仕組みについては、先の回で行うとして。

ネット助手

これも複雑なんですね。

インター博士

まぁ、そうだ。
先ほどの画像。

ネットワーク識別情報

[Figure27-06:ネットワーク識別情報]

インター博士

このコンピュータ名は正式にはNetBIOS名という。
「マイネットワーク」で一覧表示されるのはこのNetBIOS名だ。

マイネットワーク

[Figure27-05:マイネットワーク]

インター博士

さて、データ転送を行いたい場合、このNetBIOS名とIPアドレスの対応をしなければならない。

ネット助手

DNSで、ドメイン・ホスト名とIPアドレスの対応をとったようにですね。

インター博士

そうだ。
どのように行うかというと、このように行う。

[Figure27-09:NetBIOS名とIPアドレスの対応を調べる]

ネット助手

…。どこかで見たような動作ですね。
というか、ARPとそっくりですよ。

インター博士

そうだな。
「アドレスを教えて」というパケットをブロードキャスト送信するところなどそっくりといえばそっくりだ。

ネット助手

ですよね。

インター博士

ともかく、これを行うことにより、NetBIOS名からIPアドレスがわかり、データ交換が可能になるわけだ。

ネット助手

なるほど。

■ 4つのアドレス・完結編

インター博士

さて長きにわたり説明してきた4つのアドレスもこれでお終いだ。

ネット助手

長かったですね。

インター博士

まったくだ。長々とやったので、もう1度だけおさらいだ。
データ転送を希望するホストがあったとする。まず送信元のアドレスは?

ネット助手

送信元MACアドレスはNICを取り付けたら自動的に
送信元IPアドレスは手動かDHCPで割り振られてわかっています。

インター博士

うむ。
それでデータ転送をするのだが、ユーザもしくはアプリケーションが宛先のホスト名もしくはNetBIOS名を決定すると?。

ネット助手

DNSNetBIOS over TCP/IP宛先IPアドレスがわかります

インター博士

そうだ。
宛先IPアドレスがわかると?

ネット助手

ARP宛先MACアドレスがわかりデータ転送が可能になります

インター博士

うむうむ。
この流れをわすれないようにな。

ネット助手

了解です。

インター博士

次回からは、データ転送が可能になったので、インターネットワークでのデータ転送について説明する。

ネット助手

いぇっさー。
3分間ネットワーキングでした〜♪

HTTP
[Hyper Text Transfer Protocol]
Webページ(HTMLファイル)をサーバとクライアント間でやりとりするためのプロトコル。詳しくは先の回で。
所謂「ホームページを見る」ためのプロトコル。
Q.E.D
[quod erat demonstratum]
証明終わり。
ドメイン名
[Domain Name]
NIC
日本の場合は、IPアドレスと同様にJPNICが管理しています。
このような管理団体をレジストリ[registry]と呼び、実際にドメイン名を割り振る登録団体をレジストラ[registrar]と呼びます。
JPNICは「.jp」のレジストリ。レジストラはJPRS。
マイ ネットワーク
Windows95、98、NTならば「ネットワークコンピュータ」。
画像
Windows2000proによる、ネットワーク識別の画像。
「マイコンピュータ」のプロパティにあります。
Windows9x系ならば、「ネットワークコンピュータ」のプロパティ。
NetBIOS
[Network Basic Input Output System]
API
[Application Program Interface]
ソフトウェアの開発やその利用に使用する、命令や、規約のこと。
Active Directory
ダイナミックDNSによるTCP/IPベースのディレクトリ・サービス。
これにより、NTドメインの統合的な管理が行えるようになった。
詳しくはいずれ。
NetBIOS over TCP/IP
NBTと略される。
Windowsでのファイル共有は、共有する側の「ファイル共有とプリンタ共有」と、共有を使う側の「ネットワーククライアント」から成り立つ。
これら2つは、NetBIOSを経由して、TCP/IPを使用する。
ただし、NetBIOSはレイヤ5に位置するという意味ではない。役割的にアプリケーションとTCP/IPとを繋ぐため、レイヤ5の位置に置いた。
画像
「ネットワークとダイアルアップ接続」の「ローカル接続」のプロパティ。
「ファイル共有とプリンタ共有」・「ネットワーククライアント」が使用されているのがわかる。
NetBIOS名
15バイト以内+制御文字1バイトからなる。
ネット助手ネット君の今日のポイント
  • ユーザもしくはアプリケーションが宛先を決定する。
  • IPアドレスがわかっていれば、それを使用する。
  • ホスト名がわかっている場合はDNSを使用する。
    • DNSサーバに対し、ホスト名に対応するIPアドレスを問い合わせる。
  • NetBIOS名(Winodwsネットワーク)がわかっている場合は、NetBIOS over TCP/IPを利用する。
    • NetBIOS名に対応するIPアドレスを知るためにブロードキャストする。
    • NetBIOS名が一致するマシンはIPアドレスを返信する。

3 Minutes NetWorking No.27

管理人:aji-ssz(at)selene.is.dream.jp