かつて使われたNetBEUIとNetBIOS
初期のPCネットワークは、ネットワークインターフェイスカード(NIC)上の拡張BIOS(通称NetBIOS)を呼び出すことで実現していた(図1)。ただし、初期のNetBIOSは各社各様で、プログラムの互換性はほとんどなかったという。
NetBIOSの機能は、通信を担当する部分とハードウェアを制御する部分に分かれている。これによってハードウェア依存度を下げているのだ。そこで通信を担当するプログラムインターフェイスをNetBEUI(NetBIOS Extended User Interface)として標準化するとともに、ハードウェアを制御する部分をデバイスドライバとして実装するようになった。これによりNIC上のNetBIOSの役割は終了した。
本来NetBEUIはプログラムインターフェイスだが、同時にプロトコルも制定された。これが「NetBEUIフレームプロトコル」通称「NBF」である。現在は、プログラムインターフェイスのことをNetBIOS、プロトコルのことをNetBEUIと呼ぶことが多い。以降は本特集でもこの習慣に従う。なお、NetBEUIプロトコルはWindows XP以降はサポートされていない。
NetBIOS名
NetBIOSでは通信相手の指定に16バイトのアスキー文字列を使う(つまり1文字1バイトで、16文字である)。これが本来のNetBIOS名だ。16バイトのうち先頭15バイトは宛先のコンピュータ名で、最後の1バイトがプログラムの種別を表わす。NetBIOS名の先頭15バイトは、コンピュータ名というよりアドレスといったほうが正確だ(NetBIOSアプリケーションの場合、たとえIPアドレスが正しくても、正しいNetBIOS名を指定していない場合はエラーとなる)。最後の1バイトは、TCP/IPでいうポート番号と考えればわかりやすいだろう。冒頭で「NetBIOS名はインストール時に指定したコンピュータ名」と紹介したが、正確にはNetBIOS名の先頭15バイトがコンピュータ名である。コンピュータ名が15バイトに満たない部分はスペースで埋められるが、末尾のスペースは省略できる。
なお、NetBIOS名はすべて大文字で、小文字は大文字に自動変換される。DNSで使う名前は大文字小文字の状態を保存するが区別はしない。これは、小文字が使えないOSをサポートするためである。また、NetBIOS名で使える文字種はDNSで使える文字種よりも多い。しかし現在では、コンピュータ名はDNSで使える名前(英数字とハイフン)と覚えておけば実用上は問題ないだろう。
NetBIOS名は、NetBIOSアプリケーションが起動するときに自動的に登録される。現在、自分がどのようなNetBIOS名を持っているかは、コマンドプロンプトで、
NBTSTAT -n
と実行すると表示される(画面3)。
(次ページ、「ドメインとNetBIOS名」に続く)
この連載の記事
-
第4回
ネットワーク
インターネットで使うドメイン名と名前解決 -
第3回
ネットワーク
EthernetでのID「MACアドレス」を理解する -
第2回
ネットワーク
IPアドレスの柔軟な割り当てを実現するサブネットマスク -
第1回
ネットワーク
TCP/IPで使われるIPアドレスとポート番号 -
ネットワーク
完全解剖「名前とアドレス」<目次> - この連載の一覧へ