このページの本文へ

完全解剖「名前とアドレス」 第5回

複雑な関係を解きほぐして理解しよう

Windowsネットワークの名前と番号

2009年06月01日 09時00分更新

文● 横山哲也

  • この記事をはてなブックマークに追加
  • 本文印刷

かつて使われたNetBEUIとNetBIOS

 初期のPCネットワークは、ネットワークインターフェイスカード(NIC)上の拡張BIOS(通称NetBIOS)を呼び出すことで実現していた(図1)。ただし、初期の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)。

画面3 NetBIOS名の表示

(次ページ、「ドメインとNetBIOS名」に続く)


 

カテゴリートップへ

この連載の記事