Windowsネットワーク
■ Windowsネットワーク。 マイクロソフトWindowsを搭載したマシンにより構成されるLAN。 ■ Windowsネットワークのプロトコルスタック。 Windowsネットワークのプロトコルスタックを OSI階層モデルに当てはめると、大雑把に言って下記のようになる。 ただし細かい点は省いている。 以下は各層について説明する。 ■ Windowsネットワークサービス。 Windowsネットワーク・サービスとは、 Windowsマシン相互のファイル/プリンタ共有を可能にするサービスである。 ファイルやプリンタを外部に公開する「Serverサービス」と、 公開された資源を利用する機能である「Workstationサービス」からなり、 SMB(Server Message Block)プロトコルにより実現される。 Windowsネットワーク・サービス(すなわちSMB)が、 実際にほかのコンピュータと通信を行う場合には、 下位のNetBIOSインターフェイスを媒介して、 トランスポート層プロトコルを制御することになる。 現在のWindowsネットワークでは、 3種類のトランスポート層プロトコルを選択することができる。 当初主流であったNetBEUI、現在の主流であるTCP/IP(NBT)、 NetWareと互換性のあるIPX/SPX(NWLink)である。 しかしインターネットが普及した現在では、 特段の理由がなければNBTを利用するのが常識であり、 Windows 2000やWindows XPでは、ネットワーク・デバイスを追加しても、 デフォルトではTCP/IPだけがインストールされるようになっている。 ■ NetBIOS。Network Basic Input/Output System。 ネットバイオスと読む。 ネットワーク・カードを制御するためのAPIとして、 IBMとSytek社が同社のネットワークOS(PC Networks)向けに開発したもの。 その後Microsoft社のWindowsに採用され、広く普及した。 OSI参照モデルでは、セッション層〜トランスポート層に相当する。 上位ソフトウェアであるWindowsネットワークサービス(SMB)は、 NetBIOSが提供するインターフェースを使用することにより、 下位のトランスポート層プロトコルの機能や構造を意識する必要がなくなり、 いつでも単にNetBIOSを呼び出すだけで、用が済む。 ただしNetBIOSは、 上位ソフトウェアが下位プロトコルを呼び出すためのAPIを規定するもので、 異なるマシン間の通信規約であるプロトコルとは異なる。 実際の信号仕様やパケット構造などの取決めは、下位レイヤーに任せている。 NetBIOSが提供するサービスは、 名前関連サービス、セッションサービス、データグラムサービスである。 通信相手を指定するアドレッシング手段として NetBIOS名と呼ばれる16バイトの文字列を規定するとともに、 データグラム指向またはセッション指向の通信手段を提供する。 上位ソフトウェアがNetBIOSを利用するには、 実行したいNetBIOSコマンドや、必要なパラメータなどを 自身で確保したメモリブロック(NCB)内のフィールドに設定し、 NCBのポインタを指定してNetBIOSを呼び出す。 【 NetBIOS名 】 ネットワークでの通信を正しく行うには、 個々のマシンが通信相手を特定するための仕組みが必要だが、 NetBIOSでは、16バイトの文字列を使ってこれを実現する。 この文字列をNetBIOS名と呼ぶ。 NetBIOS名は、 基本的にはユーザーが各マシンに任意に付けることができるが 全16バイトのうち最後の1バイトだけは、 ネットワークのリソース・タイプを表す副指数として使われる。 個々のマシンはネットワークに参加するとき、 ブロードキャストを使って、自身のNetBIOS名が、 他のマシンの名前と衝突していないかどうかを検査する。 もし衝突しているときには、ネットワークに接続できない。 ■ NetBEUI。NetBIOS Extended User Interface。 ネットビューまたはネットビューイと読む。 NetBIOS拡張ユーザインターフェース。 NetBIOSが使用する通信プロトコルの1つとして、 IBM、Microsoft、3Com社が独自に開発したもの。 IBMのLAN Mangerのほか、当初のWindowsネットワークで採用された。 OSI参照モデルでは、トランスポート層〜ネットワーク層に相当する。 NetBEUIは、 小規模なLANを手軽に構築・運用できることを目標として開発された、 とても原始的なプロトコルで、以下のような特長を持つ。 (1) NetBEUIは、自己調整型のプロトコルとなっており、 ネットワークに参加するマシンに名前(NetBIOS名)を付けておけば、 ブロードキャストを利用して自動的にお互いを識別する機能を持つ。 (2) また通信する際も、 TCP/IPのように別途のネットワークアドレスを用いる必要がなく、 ホスト名をパケットに直接埋め込んで送受信することができる。 このためNetBEUIは、管理が比較的容易であり、 マシンが200台程度までなら、パフォーマンスも良好である。 しかしNetBEUIは、ルータを介して接続するような大規模なLANや、 インターネット環境では利用できない、という制限がある。 (1) 第一に、ルーティングの機能を備えていないためである。 ルータを越えるには、かわりにNBTのような、 ルーティング可能なプロトコルを使う必要がある。 (2) さらにNetBEUIは、 ブロードキャストを多用して通信相手ノードを探すという特性のため、 多数の端末を接続するとネットワークが飽和するためである。 このため最近では、NetBEUIは余り利用されなくなった。 Windows2000やWindowsXPでも、すでにオプション扱いになっており、 かわりに後述のNBTがデフォルトになっている。 ■ NBT。NetBIOS over TCP/IP。 NetBIOSが使用する通信プロトコルの1つ。 NetBIOSの下位プロトコルとして、TCP/IPを使用するもの。 OSI参照モデルでは、トランスポート層とネットワーク層にあたる。 RFC1001、1002で規格化されている。 Windowsネットワークにおいて、 当初使用されたNetBEUIはルーティングの機能を備えておらず、 ルータを介して接続するLANに対応できなかった。 しかしNBTでは、TCP/IPの持つルーティング機能を使って、 ルータ配下に複数セグメントを持つ大規模なLANを構築できる。 インターネットが普及した現在では、 特段の理由がなければこのNBTを利用するのが常識。 Windows 2000やWindows XPでも、 デフォルトではTCP/IPだけがインストールされるようになっている。 ■ NWLink。SPX/IPX。 NetBIOSが使用する通信プロトコルの1つ。 NetBIOSの下位プロトコルとして、IPX/SPXを使用するもの。 OSI参照モデルでは、トランスポート層とネットワーク層にあたる。 このNWLinkと、NCP(NetWare Core Protocol)を併せて使用すれば、 Novell NetWare用のIPX/SPXアプリケーションを Windows上で実行できるようになる。 ■ NDIS。Network Driver Interface Specification。 エヌディスと読む。 NDISは、マイクロソフト系のOSで使用される ネットワークカード用のドライバインターフェイスである。 3COM社とMicrosoft社によって決められたもので、 OSI参照モデルで言えば、データリンク層に相当する。 NDISドライバは、 ネットワークハードウェアの上位にあって、 これらのネットワークハードウェアを制御する機能を持つ。 ふつう、ネットワークカード等を制御する方法は、 個々の物理媒体やネットワークカードごとに異なっているが、 NDISはこれらの機能を仮想化して、 上位のプロトコル・スタックから汎用的に利用できるようにした。 逆に言えば、トランスポート層のプロトコルは、 ネットワークカード等の機能を利用するために、 どんなネットワークカードであるかを意識する必要がなく、 1つのNDISドライバを使うことができる。 また、NDISドライバは、 先の3つのトランスポート層プロトコルに対応しているので、 1つのネットワーク・カードに対して 複数の上位プロトコルを共存させることができる。 ■ Windowsネットワークの機能。 ふたたびマクロな視点に帰る。 Windowsのネットワーク機能は、以下の3つの仕組みでなりたっている。 この3つの仕組みは連携しておらず、完全に独立して動いている。 (1) ブラウジング。LAN内のWindowsマシンの一覧を表示する仕組み。 (2) 名前解決。 ホスト名からIPアドレスを解決する仕組み。 (3) ユーザー管理。ユーザーを認証してアクセスを許可・禁止する仕組み。 よく取沙汰されることとして、 ワークグループネットワークとドメインネットワークの比較があるが、 (1)(2)は共通であり、両者が異なるのは(3)だけである。 ■ ブラウジング。Browsing。 ネットワークにつながったWindowsマシンの一覧を表示する仕組み。 Windowsマシンは、起動時すると、 自分のLAN内にブロードキャストを送出して、 マスターブラウザという特別なマシンを探しだし、 自分のコンピュータ名(NetBIOS名)を登録する。 ここでマスターブラウザとは、 ネットワークに参加しているWindowsマシンのリストを一元管理している 特別なWindowsマシンであり、 LAN内のマシンの中から、OSのバージョンや起動時間などを考慮して、 ダウンする可能性の低いWindowsマシンが自動的に選出されている。 Windowsユーザがマイネットワークを開くと、 LAN上のコンピュータ名の一覧が表示されるが、 これはWindowsマシンが、このマスターブラウザに問合せてリストを取得し、 表示しているのである。 これをブラウジングという。 マイネットワークには、LAN上の各パソコンが ドメイン名やワークグループ名によって分類表示される。 しかし、Windowsのブラウジング機能は、 ドメイン名であるかワークグループ名であるかを認識せず、 両者が同じ名前であれば、各々に属するマシンが一緒に表示される。 ■ 名前解決。 NBT環境において、 通信相手のコンピュータ名(NetBIOS名)からIPアドレスを調べる仕組み。 最も基本的なブロードキャストによる方法のほか、 LMHOSTSファイルを用いる方法、WINSサーバを用いる方法などがある。 (1) ブロードキャスト。 最も一般的な方法。 LAN全体に届くブロードキャストパケットの中に 相手のコンピュータ名を入れて送信する。 すると対応する相手から応答が返ってきて、IPアドレスが分かる仕組み。 ただし、ブロードキャストがルータを越えられないため、 ルータの先にあるマシンについては、名前解決ができず、 結果として通信ができない。 (2) lmhosts。 あらかじめコンピュータ名(NetBIOS名)とIPアドレスの対応表を lmhostsというファイルにまとめておき、 これを個々のコンピュータに保存しておく方法。 通信をしたいコンピュータは、 このファイルを検索すれば相手のIPアドレスを知ることができるので、 ブロードキャストを打つ必要がない。 かりにルータの先にあるマシンであっても、 このlmhostsファイルに記述してあれば名前解決が可能であり、 通信ができることになる。 (3) WINS。Windows Internet Name Service。 ネットワーク上にWINSサーバという専用サーバを設けて、 Windowsマシンのコンピュータ名(NetBIOS名)とIPアドレスの対応関係を 動的に管理する方法。 Windows2000 Serverなどのサーバ向けOSが動くパソコンだけが WINSサーバとなることができるが 最近では、WINSサーバはあまり利用されなくなってきた。 Windowsネットワークにおいて名前解決を行なう方法には、 このほかにDNSサーバを使用する方法があり、最近よく使われている。 ■ ユーザー管理。 Windowsネットワークにおいて、 マシンにアクセスしてくるユーザを認証して、 アクセスをどこまで許すか決める仕組み。 Windowsネットワークにおいては、 個々のマシンをワークグループかドメインかのどちらかに所属させるが、 どちらを選ぶかによってユーザ管理の仕組みが変わってくる。 ワークグループに所属する場合は、 個々のWindowsマシンがユーザ台帳を持ち、アクセスを受けると、 自分自身が管理するユーザ台帳によってユーザを認証する。 ドメインに所属する場合は、アクセスを受けると、 ドメインコントローラに問い合わせて、ユーザを認証する。 ここでドメインコントローラとは、 ユーザ台帳を一元管理している特別なWindowsマシンであり、 WindowsNT ServerやWindows 2000 Serverなどのサーバ用OSだけが ドメインコントローラになりうる。 (1) ワークグループ。Workgroup。 Windowsで利用できる、最も単純な形態のネットワーク。 ユーザーのアカウントやアクセス権などを 集中的に管理するドメイン・コントローラが存在せず、 個々のコンピュータが台帳を持つ形でユーザやユーザのグループを管理する 分散管理型のネットワーク。 ワークグループネットワークでは、全てのコンピュータが対等な関係にある。 どのコンピュータでもサーバになることができるし、 同時にクライアントになることも可能である。 お互いが対等なのでピア・ツー・ピア・ネットワークと呼ばれることもある。 デフォルトのワークグループ名は「Workgroup」である。 Windowsのワークグループネットワーク設定では、 特に指定しなければ、この名前のワークグループに接続するように設定される。 比較的小規模なWindowsネットワークに向く。 パスワード管理を統一するような機能はなく、大規模な運用には向かない。 (2) NTドメイン。NT Domain。 ドメインコントローラが存在する クライアント/サーバ型の論理ネットワーク。 ユーザーのアカウントやアクセス権などは一元的に管理される。 ドメインコントローラは、 1つのプライマリ・ドメイン・コントローラ(PDC)と 複数のバックアップ・ドメイン・コントローラ(BDC)からなる。 PDCは、ユーザー名やパスワードなどの情報を保持するとともに、 ドメインへのアクセスの全ての認証を行う。 BDCは、PDCの負荷分散のために認証処理などを代行する役割を持つ。 Windows 2000からは、NTドメインに代わる統合管理機能として Active Directoryが提供されている。 今後はActive Directoryへの移行が進むものと思われる。 ■ 参考URL アットマークIT様 http://www.atmarkit.co.jp/fwin2k/network/baswinlan001/baswinlan001_01.html 以上。 2004/03/01 pm