!== !== NetBIOS.txt for Samba release 2.0.7 26 Apr 2000 !== 寄稿者: lkcl - samba@arvidsjaur.anu.edu.au Copyright 1997 Luke Kenneth Casson Leighton 日付: 1997/03 状態: 最新 更新日: 1997/06/12 翻訳者: 佐藤文優 更新日: 1998/04/20 主題: NetBIOS プロトコルと名前解決方式の説明 ============================================================================= ======= NETBIOS ======= NetBIOS は TCP/IP、NetBEUI、IPX/SPX のトランスポート上を流れる。 Samba は TCP/IP 上の NetBIOS のみを使用する。TCP/IP NetBIOS の セッション・サービス、NetBIOS のデータグラム・サービス、NetBIOS 名 の詳細は rfc1001.txt と rfc1002.txt を参照のこと。 NetBEUI は raw な NetBIOS のフレーム・プロトコルの実装で、NetBIOS データグラムを LLC フレームに乗せてケーブルに送信することができる。 NetBEUI は NetBIOS over TCP/IP プロトコルを使用する場合には必要とされず、 可能であれば NetBEUI はインストールしないほうが望ましい。 IPX/SPX も NetBIOS over TCP/IP を使用する場合には必要ない。Novell の サーバを使用していないなら IPX/SPX トランスポートはインストールしない ほうがよい。最低限、「NetBIOS over IPX/SPX」はインストールしないように 推奨されている。 [Windows 95 のインストール時、NetBIOS と IPX/SPX が既定のプロトコルとして インストールされることに気づくだろう。この理由は管理するのがもっとも 簡単(Windows 95 のユーザ構成は必要ない)なためである。] Samba のような NetBIOS アプリケーションは、NetBIOS 名に基づいてそれらの サービス(たとえば SMB のファイルとプリンタの共有)を提供する。それらは 提供を行う前に、名前をネットワーク上に通知しなければならない。 そして NetBIOS のセッション・サービスは、アプリケーションのために (アプリケーションによって通知された NetBIOS 名の)接続を受け付ける。 それからアプリケーションとクライアント間の NetBIOS セッションを 開始できる。 NetBIOS 名は 15 の文字と `型(type)' 文字からなる。これらはそれぞれ、IP アドレスと TCP のポート番号の概念に類似している。ホスト上の NetBIOS を 意識したアプリケーションは、ホストが異なるポート番号ごとに別の TCP/IP サービスを提供するように、NetBIOS 名の型の違いによって異なるサービスを 提供する。 NetBIOS 名はネットワーク上に通知し、定義しなくてはならない。NetBIOS 名の 使用はローカルエリア・ネットワーク、あるいはワイドエリア・ネットワークの 単一サブネット上がもっともふさわしい。 NetBIOS 名は UNIQUE または GROUP のどちらかである。1つのアプリケーション だけが UNIQUE NetBIOS 名をネットワークに通知できる。 NetBIOS 名の解決にはブロードキャストと Point-to-Point の2種類がある。 ================= BROADCAST NetBIOS ================= クライアントは名前を通知し、その結果、ブロードキャストから隔離された サブネット上に、うまく通知された名前でサービスを提供する。 LAN または WAN 上で動作している NetBIOS サービスを得る (たとえばブラウジング: ftp://ftp.microsoft.com/developr/drg/CIFS/cifsbrow.txt さらに SMB ファイル/プリンタの共有: cifs4.txt を参照)には、 TCP/IP ポート 137、138、139 からのブロードキャスト・パケットを すべて転送するようにルータを設定する方法が 1 つある。 しかしこれは推奨されていない。巨大な LAN や WAN であれば、いくつかのホストが ブロードキャストのトラフィックを処理するのに 95 パーセントの時間を 浪費することがわかるだろう。 [LAN か WAN で IPX/SPX を用いているなら、 すぐにこれが発生していることがわかるだろう。パケット・アナライザは およそ 12 分毎にブロードキャスト・トラフィックの大変な影響を示すだろう!] ============ NBNS NetBIOS ============ rfc1001.txt は、いくつかの記述の中に「NetBIOS Name Service」の実装と利用に について説明している。NT サーバは完全に rfc1001/2 に従った 「Windows Internet Name Service (WINS)」を提供するが、特定の NetBIOS 名が 有効になるように、特有の動作を取らなければならなかった。(たとえば、 <1c> <1d> <1e> の名前のすべての登録を、異なる方法で扱う。詳細については Microsoft WINS サーバのヘルプ・ファイルを読むことをお勧めする。) Samba は WINS サーバ機能も提供する。Samba は NT サーバとは相互運用 (WINS の複製を)しないため、NT サーバと Samba サーバが混在する環境では Samba の WINS サーバ機能を使用しないで NT サーバの WINS 機能を 使用することを推奨する。 WINS サーバを使用することで、NetBIOS 名を解決するためのブロードキャストの トラフィックを減らせる。LAN や WAN にわたって、TCP/IP ブロードキャスト・ アドレスの使用を回避する一方、ブロードキャストが分離しているサブネットを、 単一の NetBIOS スコープにまとめる効果がある。 WINS サーバが LAN にあるとき、WINS クライアントは NetBIOS 名を解決する ために WINS サーバと連絡することができる。同じ WINS サーバに登録された WINS クライアントだけが、WINS エントリ中に見えるということに注意しよう。 WINS サーバは、自身のデータベースに静的な WINS エントリを持つこともできる。 (大抵はセキュリティ上の理由により、ドメイン・コントローラや、重要な サーバを静的なエントリに置くことを考慮するかもしれないが、これを唯一の セキュリティの方法として頼るべきではない) しかし、大部分の NetBIOS 名は 動的に登録される。 [Samba のブラウジング機能が (WINS クライアントとして) WINS サーバへ アクセスしなければならないことは、重要な点である。Samba を WINS サーバ としても使用しているなら、Samba は WINS データベースへの直接の ショートカットを持つだろう。 これは多くの人々を混乱させるが、これは、以下のように言及される: ブラウズ・サーバは、同じアプリケーション内に WINS サービスを 実装していても、WINS サーバではない。ブラウズ・サーバは WINS クライアント であるため、WINS サーバを必要とし、同一であることはない。] クライアントは名前を通知し、その結果、ブロードキャストから隔離された サブネット上に、うまく通知された名前でサービスを提供する。 LAN または WAN 上で動作している NetBIOS サービスを得る (たとえばブラウジング: ftp://ftp.microsoft.com/developr/drg/CIFS/cifsbrow.txt さらに SMB ファイル/プリンタの共有: cifs6.txt を参照)には、 TCP/IP ポート 137、138、139 からのブロードキャスト・パケットを すべて転送するようにルータを設定する方法が 1 つある。 しかし、大規模な LAN や WAN でこれをするとネットワークが NetBIOS と ブラウジングのパケットで完全に満たされてしまい、なぜ WINS がブロードキャスト トラフィックの必要性を最小限にするために開発されたかがわかるだろう。 そのかわり、WINS クライアントは WINS サーバから名前を通知する。 WINS サーバがクライアントに名前の登録を認めている場合、クライアントの NetBIOS セッション・サービスは、その名前でサービスを提供できる。すると、 ほかの WINS クライアントは、NetBIOS 名を解決するために WINS サーバと 連絡を取るだろう。 ======================= Samba WINS Capabilities ======================= Samba を WINS サーバとして構成するには、smb.conf ファイルの [global] セクションに「wins support = yes」を追加せねばならない。これにより、 nmbd の WINS サーバ互換機能が有効となる。 Samba を WINS クライアントとして構成するには、smb.conf ファイルの [global] セクションに「wins server = x.x.x.x」を追加せねばならない。 x.x.x.x は WINS サーバの TCP/IP アドレスである。すると、nmbd の ブラウジング機能は、この WINS サーバとともに WAN 範囲の NetBIOS 名の登録 (および解決)を行うようになるだろう。 Samba が「wins support = yes」であると、Samba のブラウジング機能が NetBIOS 名を解決するときに「wins server」オプションを使用しないことに 注意してほしい。このとき、NetBIOS 名解決のために内部の WINS データベースに 直接求める。よって「wins support = yes」と「wins server = x.x.x.x」両方を 持つ意味はない。特に注意することは、「wins server」パラメータに Samba サーバ 自身の IP アドレスを指定(これは直感的な考えだろう)して構成した場合、 困難にぶつかるだろうということである。両方のパラメータを使用しないように!