Skip to content

MS_NetBIOS

nishi_74322014 edited this page Aug 3, 2026 · 1 revision

NetBIOS

概要

  • IBMとMicrosoft社が共同開発した、NetBIOSのAPIを持つ、LAN Manager向けプロトコル。
  • OSI参照モデルの第5層・第4層のネットワーク サービスから使用される。
  • 古いネットワークAPIだが、互換性のために現在も残されている。

補足(最新化): NetBIOS over TCP/IP(NBT)と、その名前解決に使う WINS は、 現在の Windows では既定で無効化・非推奨の方向にある (名前解決は DNS、ファイル共有は SMB direct hosting = 445/tcp が標準)。 Windows 11 24H2 以降では NBT / WINS への依存を減らす構成が推奨されている。 本ページは、レガシー環境の理解のための記述として残す。

OSI参照モデルの対応表

  • NBTとNetBEUIはお互いに通信できない。
  • 古いネットワーク環境ではNetBEUI、IPX/SPX(NWLink)などを組み合わせて使うこともある。

OSI参照モデルの対応表

呼称

プロトコル

  • NetBEUIと呼ぶ。
  • ただし、NetBEUI は、本来はAPI
  • プロトコルを指す場合、正確にはNBF(NetBEUI Frame Protocol)

API

NetBIOSと呼ぶ。

特徴

  • 管理の手間も少なくて済む。
    • 事前に各ノードにユニークなアドレスを割り付けておく必要がない自己調整型
    • 各ノードにNetBIOS名を付けておくと
      名前解決のためのNetBIOS名のブロードキャストで自動的にお互いを識別し通信する。
  • プロトコルの仕様も軽くイーサネット内での通信プロトコルとしては、性能が優れている。

ルーティング能力を持たない

ただし、ルーティング能力を持たないので、以下のような問題を持つ。

  • ネットワーク分割ができない。
    • 大規模なネットワークを構築できない。
    • 名前解決のためのNetBIOS名のブロードキャストを多用するので、ネットワークが飽和しやすい。

イーサネット限定のプロトコル

MACアドレスのみを使用して通信する
IPネットワークに対応しないイーサネット限定のプロトコル。

  • 単一のネットワークに限定される。
  • IPネットワークの一般化により特別な用途を除いて利用されなくなった。

データグラム サービスとセッション サービス

またNetBIOSでは、

  • 「データグラム型通信」をデータグラム サービス
  • 「コネクション指向の通信」をセッション サービス

と呼ぶ。

データグラム サービス

  • データグラム サービスにUDPポートの138番を使用する。
  • ネットワーク コンピュータの一覧を得る「ブラウジング機能」などに使用される。

セッション サービス

  • セッション サービスにTCPポートの139番を使用する。
  • 「ファイル・プリンタ共有サービス」などに使用される。

補足: NBT が使うポートは、名前サービス 137/udp、 データグラム サービス 138/udp、セッション サービス 139/tcp の3つ。

NBTプロトコル(NetBIOS over TCP/IP)

IPネットワークに対応

現在のIPネットワークではルーティング機能のある
TCP/IPプロトコルを使用するNBTプロトコルを使用している。

  • このため、内部的にIPアドレスを使用している。
  • 複数のネットワークをサポートする。

名前解決サービス

NBTの名前解決サービスは、イーサネット上の各ノード上で動作している。

Windowsへの実装

  • Windows NT 3.1で初めてNBTが実装された。
  • Windows NTではNetBEUIが標準的なプロトコルであったが、
  • Windows 2000からはNBTが標準的になり、NetBEUIは補助的なプロトコルとなった。

NBTの状況確認(nbtstatコマンド)

NBTの状態確認には、「nbtstat」コマンドを使用できる。

nbtstat [ [-a RemoteName] [-A IP address] [-c] [-n] [-r] [-R] [-RR] [-s] [-S] [interval] ]

-r   NetBIOSの名前解決統計情報の一覧を表示する。

-n   ローカル マシンのNetBIOS名テーブルを表示する。
-a   リモートマシン名で、リモート マシンのNetBIOS名テーブルを表示する。
-A   IPアドレスで、リモート マシンのNetBIOS名テーブルを表示する。

-c   ネーム テーブルのキャッシュを参照する。
-R   ネーム テーブルのキャッシュをクリアする。

-S   セッション中のリモートホストの、IPアドレスのリスト
-s   セッション中のリモートホストの、NetBIOS名のリスト

-RR  WINSに登録したNetBIOS名の情報を更新する。

RemoteName   リモート ホスト名
IP address   IPアドレス
interval     送信秒間隔。Ctrl+Cを押して停止する。

オプション

  • 「-r」オプション
    • 「NetBIOSの名前解決統計情報」が表示される。
    • これは、NetBIOSのブロードキャスト・WINSサーバによる名前解決回数の統計(積算値)。
  • 「-n」・「-a」オプション
    • ローカルまたはリモートの「NetBIOS名テーブル」が表示される。
    • このテーブル1つを利用して名前解決できるわけではない。
      NetBIOSのブロードキャスト・WINSサーバなどを利用して名前解決されるので注意する。
  • 「-c」オプション
    • NetBIOS名のキャッシュが参照できる。
    • キャッシュにあるNetBIOS名に関しては、
      NetBIOSのブロードキャスト・WINSサーバなどを利用しないで名前解決される。

ブラウジング機能

WWWブラウザとは関係ないので注意する。

機能概要

  • Windowsネットワークの中でも難解な技術の一つで、
    Windowsネットワークを理解する上で非常に重要になる機能。
  • 簡単に言えばコンピュータの一覧を保持する「ブラウズ リスト」を作成し、
    クライアントからの要求に対してその内容を提供する機能。
  • 「ブラウジング機能」は、名前解決機能ではなく、
    名前解決のためのNetBIOS名のブロードキャストでネットワークが飽和しないように、
    「ブラウズ リスト」を一元的に作成・維持・管理するだけのものである。

補足(最新化): Computer Browser サービスは Windows 10 1709 以降で削除されており、 「ネットワーク」に表示されるコンピュータ一覧は WS-Discovery(WSD)または SMB のマスタ ブラウザ非依存の仕組みに置き換わっている。

ブラウズ リスト

確認方法

  • 「マイ ネットワーク」アイコンを展開することで確認できる。
  • この操作は、「net view」コマンドでも可能。

保持するマシン

ブラウズ リストは、以下のマシンが保持する。

  • マスタ ブラウザ
  • バックアップ ブラウザ

クライアントとサーバー

マスタ ブラウザ

ネットワーク上にあるマシンのNetBIOS名のブロードキャストを受け取り、
ワークグループ上の「ブラウズ リスト」を作成する。

バックアップ ブラウザ

  • 同一ネットワークに複数台存在する。
  • 「マスタ ブラウザ」から「ブラウズ リスト」のコピーを受け取り、
    クライアントの要求に応じて「ブラウズ リスト」を提供する。
  • 「マスタ ブラウザ」のコンピュータがシャットダウンされた場合など、
    「マスタ ブラウザ」が発見できない場合は自動的に「マスタ ブラウザ」になる。

クライアント

  • クライアントは、「マスタ ブラウザ」に対して自分の存在を示す情報を登録・更新する。
  • この処理は、Computer Browserサービス プログラムで提供される。

ドメイン環境

  • ドメイン環境では、ネットワークを超えたドメインのコンピュータの一覧を確認できる。
  • 「マスタ ブラウザ」以外に、「ドメイン マスタ ブラウザ」が必要になる。
    • 「ドメイン マスタ ブラウザ」には、DCがなる。
    • 「ドメイン マスタ ブラウザ」は、
      • 「マスタ ブラウザ」から「ブラウズ リスト」を受け取る。
      • そして、ドメイン全体の「ブラウズ リスト」を作成する。
      • その後、「マスタ ブラウザ」にドメイン全体の「ブラウズ リスト」を提供する。

プロトコル

  • プロトコルがTCP/IP(NBT)の場合、UDPポートの138番を使用する。
  • また、NetBIOSのプロトコルがNetBEUIやIPX/SPXの場合は、
    プロトコル毎に別々の「ブラウザ」が作成されるなど複雑な動作をする。

移行メモ(正誤): 原文は「プロトコルが TCP/TP(NBT)の場合、 TCP, UDP ポートの138番を使用する」となっていたが、

  • 「TCP/TP」は TCP/IP のタイプミス。
  • 138番はUDP のみ(データグラム サービス)。TCP の138番は使用しない。

一連の処理

「ブラウズ リスト」を作成・維持する一連の処理。

一連の処理

クライアントがWindowsネットワークに参加する処理

  • クライアントは、起動時に割り当てられたNetBIOS名の登録要求をブロードキャストし、ネットワークに参加する。
    この処理は「ブラウジング機能」と関係ない。NetBIOS名の登録処理である。
  • Windowsネットワーク上の全てのマシンが、このマシン名を許可すればWindowsネットワークに参加できる。
    WINS環境ではWINSサーバがマシン名を許可すれば、Windowsネットワークに参加できる。
  • NetBIOS名の重複などでマシン名が許可されない場合は、
    NetBIOSを使用するネットワーク サービスの提供・利用ができなくなる。

クライアントがブラウズ リストに、エントリを登録する処理

  • 次に、クライアントは「ブラウズ リスト」にエントリを登録するため、クライアントの属性情報をブロードキャストする。
  • 「マスタ ブラウザ」は、このブロードキャストを受信して「ブラウズ リスト」にクライアントのエントリを登録する。
  • これにより「ブラウズ リスト」が作成される。
  • また、エントリは一定時間経過すると削除されるため、「ブラウズ リスト」にエントリが登録された後も
    エントリを維持するためのブロードキャスト パケットがクライアントから定期的に送信される。

クライアントがブラウズ リストを取得する処理シーケンス

クライアントが「ブラウズ リスト」を取得するための処理シーケンスは少々複雑。この処理シーケンスを次に示す。

順番 名前解決の方法
1 クライアントは、ブロードキャストでワークグループ(ドメイン)内の「マスタ ブラウザ」を問い合わせる。
2 「マスタ ブラウザ」は、自分自身を含む、「バックアップ ブラウザ」の一覧を返す。
3 クライアントは、「バックアップ ブラウザ」の一覧から3台を選び、キャッシュする。
以降 3台の「バックアップ ブラウザ」内の一台に「ブラウズ リスト」を要求し、「ブラウズ リスト」取得、ユーザに「ブラウズ リスト」を表示する。

「ブラウズ リスト」の取得後は、ワークグループのコンピュータの一覧を確認できるようになる。

クライアントがWindowsネットワークから離脱する処理

  • クライアントは、システムのシャットダウン時に
    NetBIOS名の解放要求をブロードキャストし、ネットワークから離脱する。
  • この処理は「ブラウジング機能」と関係ない。NetBIOS名の解放処理である。

サーバーの確認

  • 実際にどのマシンが「マスタ ブラウザ」・「バックアップ ブラウザ」に選定されたか
    を確認するには、各OSのリソースキット付属の「browstat」コマンドを使用できる。
  • 例えば、「browstat dn」コマンドでトランスポートを参照し、
    「browstat vw <トランスポート番号>」で選択したトランスポートの
    「マスタ ブラウザ」・「バックアップ ブラウザ」を確認できる。
  • また、記号の意味の詳細は「browstat /?」のヘルプで確認できる。
C:\Program Files\Support Tools>browstat dn

List of transports currently bound to the browser

     1 \Device\NetBT_Tcpip_{53D0A0BF-EC11-413F-8AEF-ADF5736A22F8}   → NBTのトランスポート番号

C:\Program Files\Support Tools>browstat vw 1                        → トランスポート番号を指定
Remoting NetServerEnum to \\(マシン名a) on transport
\Device\NetBT_Tcpip_{53D0A0BF-EC11-413F-8AEF-ADF5736A22F8}
with flags ffffffff 19 entries returned.  19 total. 16 milliseconds

\\(マシン名1)  NT   05.01 (W,S,NT,PBR)
\\(マシン名2)  NT   05.01 (W,S,NT,PBR)
\\(マシン名3)  NT   05.01 (W,S,NT,PBR)
\\(マシン名4)  NT   05.02 (W,S,PQ,NT,SS,BBR,DFS)      → バックアップ ブラウザ
\\(プリンタ1)  W95  04.00 (W,S,PQ,WFW,PBR,W95)
\\(プリンタ2)  W95  04.00 (W,S,PQ,WFW,PBR,W95)
\\(マシン名5)  NT   05.00 (W,S,NT,SS,BBR)             → バックアップ ブラウザ
\\(マシン名6)  NT   05.01 (W,S,SQL,NT,PBR)
\\(マシン名7)  NT   05.01 (W,S,NT,PBR)
\\(プリンタ3)  OS2  01.00 (W,S,MBC,PQ)
\\(マシン名8)  NT   05.01 (W,S,SQL,NT,PBR)
\\(マシン名9)  NT   05.00 (W,S,NT,SS,BBR)             → バックアップ ブラウザ
\\(マシン名a)  NT   05.02 (W,S,NT,SS,BBR,DFS)         → バックアップ ブラウザ
\\(マシン名b)  NT   05.02 (W,S,TS,NT,SS,BBR,DFS)      → バックアップ ブラウザ
\\(マシン名c)  NT   05.02 (W,S,NT,SS,MBR,DFS)         → マスタ ブラウザ
\\(マシン名d)  NT   05.00 (W,S,NT,SS,BBR)             → バックアップ ブラウザ
\\(マシン名e)  NT   05.00 (W,S,NT,SS,BBR)             → バックアップ ブラウザ
\\(マシン名f)  NT   05.01 (W,S,NT)
\\(マシン名g)  NT   05.00 (W,S,NT,PBR)

ファイル・プリンタ共有サービス

「ファイル・プリンタ共有サービス」と使用するプロトコル・仕組みについて説明する。

プロトコル

SMB、Microsoft Direct Hosting of SMB(Microsoft-DS)プロトコルが利用される。

処理概要

  • Direct Hosting of SMBを使用する「ファイル共有サービス」の構成と処理概要は、次のようになっている。

  • 「ファイル共有サービス」は、

    • クライアント側の「Workstationサービス」と、
    • サーバ側の「Serverサービス」の

    2つから構成される。

Direct Hosting of SMBを使用する「ファイル共有サービス」の構成と処理概要

参考

LAN Manager

  • IBMとMicrosoft、3Comが共同で開発したPC向けネットワークOS。
  • 1980~90年代前半にかけて、Novell社のNetWareなどとシェアを争った。

その他


Tags: インフラストラクチャ, 通信技術, Windows

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally