「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>Windowsネットワーク編]] * 目次 [#m08e4e2a] #contents *概要 [#g78317f0] -IBMとMicrosoft社が共同開発した、NetBIOSのAPIを持つ、[[LAN Manager>#h52419e0]]向けプロトコル。 -OSI参照モデルの第5層・第4層のネットワーク サービスから使用される。 -古いネットワークAPIだが、互換性のために現在も残されている。 *OSI参照モデルの対応表 [#u20edb4e] -NBTとNetBEUIはお互いに通信できない。 -古いネットワーク環境ではNetBEUI、IPX/SPX(NWLink)などを組み合わせて使うこともある。 #ref(OSI.png,left,nowrap,OSI参照モデルの対応表) *呼称 [#afdec91a] **プロトコル [#v43a79ba] -NetBEUIと呼ぶ。 -ただし、NetBEUI は、本来はAPI -プロトコルを指す場合、正確にはNBF(NetBEUI Frame Protocol) **API [#t0419348] NetBIOSと呼ぶ。 *特徴 [#c390a2a8] -管理の手間も少なくて済む。 --事前に各ノードにユニークなアドレスを割り付けておく必要がない自己調整型 --各ノードに[[NetBIOS名>ネットワークの基礎編#n3cc4fd9]]を付けておくと名前解決のための[[NetBIOS]]名のブロードキャスで自動的にお互いを識別し通信する。 -プロトコルの仕様も軽くイーサネット内での通信プロトコルとしては、性能が優れている。 **ルーティング能力を持たない [#gf31d96c] ただし、ルーティング能力を持たないので、以下のような問題を持つ。 -ネットワーク分割ができない。 --大規模なネットワークを構築できない。 --名前解決のための[[NetBIOS]]名のブロードキャストを多用するので、ネットワークが飽和しやすい。 **イーサネット限定のプロトコル [#z3e871bb] [[MACアドレス>ネットワークの基礎編#wad16a9a]]のみを使用して通信する~ IPネットワークに対応しないイーサネット限定のプロトコル。 -単一のネットワークに限定される。 -IPネットワークの一般化により特別な用途を除いて利用されなくなった。 **データグラム サービスとセッション サービス [#i4da1f0a] またNetBIOSでは、 -「データグラム型通信」をデータグラム サービス -「コネクション指向の通信」をセッション サービス と呼ぶ。 ***データグラム サービス [#u2288ba2] -データグラム サービスにUDPポートの138番を使用する。 -ネットワーク コンピュータの一覧を得る「[[ブラウジング機能>Windowsネットワーク編#n6aff2c6]]」などに使用される。 ***セッション サービス [#x2d04e8f] -セッション サービスにTCPポートの139番を使用する。 -「ファイル・プリンタ共有サービス」などに使用される。 *NBTプロトコル(NetBIOS over TCP/IP) [#ve85879b] **IPネットワークに対応 [#a5898f64] 現在のIPネットワークではルーティング機能のある~ TCP/IPプロトコルを使用するNBTプロトコルを使用している。 -このため、内部的にIPアドレスを使用している。 -複数のネットワークをサポートする。 **名前解決サービス [#ee95e635] NBTの名前解決サービスは、イーサネット上の各ノード上で動作している。 **Windowsへの実装 [#ee117543] -Windows NT 3.1で初めてNBTが実装された。 -Windows NTではNetBEUIが標準的なプロトコロルであったが、 -Windows 2000からはNBTが標準的になり、NetBEUIは補助的なプロトコルとなった。 **NBTの状況確認(nbtstatコマンド) [#n99af85c] 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を押して停止する。 ***オプション [#vd16c50e] -「- r」オプション --「NetBIOSの名前解決統計情報」が表示される。 --これは、NetBIOSのブロードキャスト・WINSサーバによる名前解決回数の統計(積算値)。 -「- n」・「- a」オプション --ローカルまたはリモートの「NetBIOS名テーブル」が表示される。 --このテーブル1つを利用して名前解決できるわけではない。~ NetBIOSのブロードキャスト・WINSサーバなどを利用して名前解決されるので注意する。 -「- c」オプション --NetBIOS名のキャッシュが参照できる。 --キャッシュにあるNetBIOS名に関しては、~ NetBIOSのブロードキャスト・WINSサーバなどを利用しないで名前解決される。 ***参考 [#z1a8b2e9] -管理者のためのコマンド活用講座 - nbtstat(1)――Windowsネットを調べる:ITpro~ http://itpro.nikkeibp.co.jp/article/COLUMN/20100526/348451/ *ブラウジング機能 [#v27ab873] WWWブラウザとは関係ないので注意する。 **機能概要 [#icc44815] -Windowsネットワークの中でも難解な技術の一つで、~ Windowsネットワークを理解する上で非常に重要になる機能。 -簡単に言えばコンピュータの一覧を保持する「ブラウズ リスト」を作成し、~ クライアントからの要求に対してその内容を提供する機能。 -「ブラウジング機能」は、名前解決機能ではなく、~ 名前解決のための[[NetBIOS]]名のブロードキャストでネットワークが飽和しないように、~ 「ブラウズ リスト」を一元的に作成・維持・管理するだけのものである。 **ブラウズ リスト [#xc678194] ***確認方法 [#z4eca970] -「マイ ネットワーク」アイコンを展開することで確認できる。 -この操作は、「net view」コマンドでも可能。 ***保持するマシン [#wc0adb70] ブラウズ リストは、以下のマシンが保持する。 -マスタ ブラウザ -バックアップ ブラウザ **クライアントとサーバー [#y12ec49f] ***マスタ ブラウザ [#h68ab88b] ネットワーク上にあるマシンの[[NetBIOS]]名のブロードキャストを受け取り、~ ワークグループ上の「ブラウズ リスト」を作成する。 ***バックアップ ブラウザ [#rdb31a0c] -同一ネットワークに複数台存在する。 -「マスタ ブラウザ」から「ブラウズ リスト」のコピーを受け取り、~ クライアントの要求に応じて「ブラウズ リスト」を提供する。 -「マスタ ブラウザ」のコンピュータがシャットダウンされた場合など、~ 「マスタ ブラウザ」が発見できない場合は自動的に「マスタ ブラウザ」になる。 ***クライアント [#nb0c996e] -クライアントは、「マスタ ブラウザ」に対して自分の存在を示す情報を登録・更新する 。 -この処理は、Computer Browserサービス プログラムで提供される。 ***ドメイン環境 [#occ45dd2] -ドメイン環境では、ネットワークを超えたドメインのコンピュータの一覧を確認できる。 -「マスタ ブラウザ」以外に、「ドメイン マスタ ブラウザ」が必要になる。 --「ドメイン マスタ ブラウザ」には、DCがなる。 --「ドメイン マスタ ブラウザ」は、 ---「マスタ ブラウザ」から「ブラウズ リスト」を受け取る。 ---そして、ドメイン全体の「ブラウズ リスト」を作成する。 ---その後、「マスタ ブラウザ」にドメイン全体の「ブラウズ リスト」を提供する。 **プロトコル [#nd42c418] -プロトコルがTCP/TP(NBT)の場合、TCP・UDPポートの138番を使用する。 -また、[[NetBIOS]]のプロトコルがNetBEUIやIPX/SPXの場合は、~ プロトコル毎に別々の「ブラウザ」が作成されるなど複雑な動作をする。 **一連の処理 [#o2ad4a36] 「ブラウズ リスト」を作成・維持する一連の処理。 #ref(Browser.png,left,nowrap,一連の処理) ***クライアントがWindowsネットワークに参加する処理 [#n8d0f42f] -クライアントは、起動時に割り当てられたNetBIOS名の登録要求をブロードキャストし、ネットワークに参加する。~ この処理は「ブラウジング機能」と関係ない。NetBIOS名の登録処理である。 -Windowsネットワーク上の全てのマシンが、このマシン名を許可すればWindowsネットワークに参加できる 。~ WINS環境ではWINSサーバがマシン名を許可すれば、Windowsネットワークに参加できる。 -NetBIOS名の重複などでマシン名が許可されない場合は、NetBIOSを使用するネットワーク サービスの提供・利用ができなくなる。 ***クライアントがブラウズ リストに、エントリを登録する処理 [#zd1afef2] -次に、クライアントは「ブラウズ リスト」にエントリを登録するため、クライアントの属性情報をブロードキャストする。 -「マスタ ブラウザ」は、このブロードキャストを受信して「ブラウズ リスト」にクライアントのエントリを登録する。 -これにより「ブラウズ リスト」が作成される。 -また、エントリは一定時間経過すると削除されるため、「ブラウズ リスト」にエントリが登録された後も~ エントリを維持するためのブロードキャスト パケットがクライアントから定期的に送信される。 ***クライアントがブラウズ リストを取得する処理シーケンス [#ua05ef49] -クライアントが「ブラウズ リスト」を取得するための処理シーケンスは少々複雑。この処理シーケンスを次に示す。 |順番|名前解決の方法|h |1|クライアントは、ブロードキャストでワークグループ(ドメイン)内の「マスタ ブラウザ」を問い合わせる。| |2|「マスタ ブラウザ」は、自分自身を含む、「バックアップ ブラウザ」の一覧を返す。| |3|クライアントは、「バックアップ ブラウザ」の一覧から3台を選び、キャッシュする。| |$|以降、3台の「バックアップ ブラウザ」内の一台に「ブラウズ リスト」を要求し、「ブラウズ リスト」取得、ユーザに「ブラウズ リスト」を表示する。| -「ブラウズ リスト」の取得後は、ワークグループのコンピュータの一覧を確認できるようになる。 ***クライアントがWindowsネットワークから離脱する処理 [#y2d06e59] -クライアントは、クライアントはシステムのシャットダウン時に~ NetBIOS名の解放要求をブロードキャストし、ネットワークから離脱する。 -この処理は「ブラウジング機能」と関係ない。NetBIOS名の解放処理である。 **サーバーの確認 [#xf5dfde5] -実際にどのマシンが「マスタ ブラウザ」・「バックアップ ブラウザ」に選定されたか~ を確認するには、各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) -参考 --browstatコマンド ---@IT > 基礎から学ぶWindowsネットワーク 第23回 > 2.browstatコマンド~ http://www.atmarkit.co.jp/fwin2k/network/baswinlan023/baswinlan023_03.html ---@IT > Windows TIPS > Windowsネットワークのマスタ・ブラウザを調査する~ http://www.atmarkit.co.jp/fwin2k/win2ktips/406browstat/browstat.html *ファイル・プリンタ共有サービス [#e614ed6a] 「ファイル・プリンタ共有サービス」と使用するプロトコル・仕組みについて説明する。 **プロトコル [#ba0955d3] [[SMB、Microsoft Direct Hosting of SMB(Microsoft-DS)プロトコル>ネットワークの基礎編#j38a4dc1]]が利用される。 **処理概要 [#c4a13bbb] -Direct Hosting of SMBを使用する「ファイル共有サービス」の構成と処理概要は、次のようになっている。 -「ファイル共有サービス」は、 --クライアント側の「Workstationサービス」と、 --サーバ側の「Serverサービス」の >2つから構成される。 #ref(SMB.png,left,nowrap,Direct Hosting of SMBを使用する「ファイル共有サービス」の構成と処理概要) *名前解決 [#gefd4e15] -現在のWindowsネットワークでは、 --TCP/IPプロトコルが標準的に使われており、 --各種の名前(NetBIOS名、ホスト名・FQDN名など)は、~ 一度IPアドレスに変換され通信が実行される。 >これを名前解決と言う。 -名前解決の仕組みには、複数の方法があり、~ あらかじめ決められた優先順位に基づいて順番に各名前解決方法が適用される。 -参考 --日本Sambaユーザ会 - ブラウジング機能~ http://www.samba.gr.jp/doc/browsing/browsing01.html >図2 Windowsにおける名前解決の手順 **解決先のアドレス [#u5d336b6] 次に、「NetBIOS名の名前解決」、「ホスト名・FQDN名の名前解決」について説明する。 ***ホスト名・FQDN名の名前解決 [#dfaf20b1] -「ホスト名・FQDN名の名前解決」ではホスト名・FQDN名からIPアドレスへ名前解決する。 -IPにはルーティング機能があるため、ローカル ネットワークを超えた名前解決・通信が可能。 -イーサネット内では、さらにARPプロトコルを使用して、IPアドレス → MACアドレスの名前解決をしている。 ***NetBIOS名の名前解決 [#j4a192cd] -NetBIOSの使用する下位プロトコルによって名前解決の方法が異なる。 --従来のNetBEUIではNetBIOS名のブロードキャストで直接MACアドレスへの名前解決をしていた。 --しかし、現在のNBTではTCP/IPを使用するためIPアドレスへの名前解決をしている。 -NetBEUI(NetBIOS名 → MACアドレス)~ NetBEUIは直接MACアドレスへの名前解決をするため、 --名前解決可能な範囲は、OSI参照モデルの第2層のブロードキャストが届く範囲であり、 --ローカル ネットワークを超えた名前解決・通信ができなかった。 -NBT(NetBIOS名 → IPアドレス) --NBTは、まずIPアドレスへの名前解決をする。~ イーサネット内では、さらにARPプロトコルを使用してIPアドレス → MACアドレスの名前解決をしている。 --IPアドレスへの名前解決には、OSI参照モデルの第3層のブロードキャストを使用できる。~ しかし、互換性維持のためNetBEUIの仕様が踏襲されており、ブロードキャスト先はローカル ネットワークに限られる。~ このため、名前解決可能な範囲はOSI参照モデルの第2層のブロードキャストが届く範囲で、~ NetBEUIと同様にローカル ネットワークを超えた名前解決・通信ができない。 --ただし、別の名前解決方法(設定ファイルやWINSサーバを使用して、NetBIOS名をIPアドレスに変換する)~ を採ることでローカル ネットワークを超える他のネットワークとの通信も可能である。 **Windows OSにおける名前解決方法 [#rbbbc99a] Windows OSにおける名前解決方法について説明する。 -名前解決の方法には --「NetBIOS名」の名前解決、 ---NetBIOS名のブロードキャスト ---ローカルのlmhostsファイル ---WINSサーバ --「ホスト名・FQDN名」の名前解決 ---ローカルのhostsファイル ---DNSサーバ >などの方法がある。 -名前解決は、ネットワーク負荷が大きい(ただし、ファイルを使用した名前解決は例外)ため、~ 名前解決した結果はクライアント端末にキャッシュされるが、このキャッシュが古い場合には、~ 正しい接続先に繋がらないなどの問題が発生することがあるので注意する。 |#| 名前&br;方法|NetBIOS名|ホスト名・FQDN名|h |1|ブロードキャスト|NetBIOS名のブロードキャスト|-| |2|キャッシュ|NetBIOS名前キャッシュ|DNSリゾルバ キャッシュ| |3|ファイル|ローカルのlmhostsファイル|ローカルのhostsファイル| |4|サービス|WINSサービス|DNSサービス| ***NetBIOS名の名前解決の詳細 [#bd2c7ce2] -NetBIOS名のブロードキャスト --NBTの名前解決サービスは、イーサネット上の各ノード上で動作している。 --UDPポート137番でNBTの名前解決要求(ブロードキャスト)を受信し、結果となるIPアドレスを返す。 --結果は、UDPポート137番で応答(ユニキャスト)を受信する(TCPポートも利用するようだが、詳細は不明。)。 -ローカルのlmhostsファイル --ローカルにあるlmhostsファイルにNetBIOS名とIPアドレスの対応表を設定しておくことにより、ローカル マシン上で名前解決する。 --「%windir%\system32\drivers\etc\lmhosts」ファイルを新規作成する(lmhosts.samはサンプル ファイル)。 -WINSサーバ --ネットワーク上にあるWINSサーバに、NetBIOS名とIPアドレスの対応表を設定しておくことにより名前解決する。 --詳細は、「[[WINSサーバによる名前解決]]」を参照。 ***ホスト名・FQDN名の名前解決 [#qbf14ba1] -ローカルのhostsファイル --ローカルにあるhostsファイルにホスト名・FQDN名とIPアドレスの対応表を設定しておくことにより、ローカル マシン上で名前解決する。 --「%windir%\system32\drivers\etc\hosts」ファイルを修正する。 -DNSサーバ --ネットワーク上にあるDNSサーバにFQDN名とIPアドレスの対応表を設定しておくことにより名前解決する。 --詳細は、「[[DNSサーバによる名前解決]]」を参照。 **名前解決方法の調査 [#fc25fe87] 名前解決を調査する際は、初めにローカル設定を確認する必要がある。 ローカル設定の調査には、「[[ipconfig -all>ipconfigコマンド#e513ed82]]」コマンドを使用できる。 **優先順位(名前解決のシーケンス) [#g4cc350b] 名前解決は、基本的には次のような順番で解決が行われる(ただしWindows OSのバージョンによって細部は異なる)。 **WINSサーバによる名前解決 [#d66d0599] **DNSサーバによる名前解決 [#fef764d0] *参考 [#p28d086a] **LAN Manager [#h52419e0] -IBMとMicrosoft、3Comが共同で開発したPC向けネットワークOS。 -1980~90年代前半にかけて、Novell社のNetWareなどとシェアを争った。 ---- Tags: [[:通信技術]], [[:Windows]]