システム奮闘記:その17

Microsoftネットワーク入門



Tweet

(2003年6月4日に掲載)
身近だが複雑怪奇なMicrosoftネットワーク

  Microsoftネットワーク。
  LANのパソコン同士を共有フォルダ─の設定をして、
ファイルを共有させたり、プリンターを共有させたりしている。

  オープンソースは中小企業IT化の切り札!

 と主張している私でさえも、ファイルサーバーやプリンターサーバーは
無理にSambaを入れなくても、Windows98で、ファイル共有や
プリンター共有すれば、手軽で良いと考えている。

2004年追加
上記の事は、編集当時の2003年時点での話です。
2004年の夏にSambaによるファイルサーバーを導入しました。
詳しくは「システム奮闘記:その34」をご覧ください。
(Sambaでファイルサーバーの設定)

  さて、LANのある所に必ずといって良いほど、ファイル共有がある。
  それくらい身近なネットワークとも言える。

  さてさて、それくらい身近なネットワークについて「どれくらい知っているか」と
聞かれると、ドキッとする。実は、全然わかっていなかったりする (^^;;;;

  まさに、灯台もと暗し!

  ということで、今回は、私の誤解していた事や失敗談を紹介していく事にしました。
  題して「身近だが複雑怪奇なMicrosoftネットワーク」のはじまり、はじまり (^^)

WindowsネットワークのNetBIOSとTCP/IP

さて、いきなりMircrosoftネットワークの話を取り上げることになったが、 キッカケは、2003年2月に、会社のインターネット回線を ISDNからADSLへの切り替え時に、ルーターの買い換えを迫られたが、 ルーターの設定が全然わかっていない事が発覚 ← おい!  そのため、既存の、ルーター設定から再勉強するハメになりました (^^;;  ルーター再勉強については「システム奮闘記:その18」で取り上げています  (ヤマハルータの設定(RTA52iとRTA55i)) 「RTA52i徹底使いこなしガイド」(猪口修道:技術評論社)  を読んでいると・・・  NetBIOS over TCP/IP  という文字が出てきた。 本には、NetBIOS over TCP/IP ができた背景には Windowsのネットワークで、名前解決を行なう際、 昔は、NetBEUIが行なっていたが、このプロトコルの場合、 ルーターを通る事ができない。ルーター越えができない。 そこで、ルーター越えするために、開発されたのがNetBIOS over TCP/IPという。 実は、この時点で1点知らなかった事、1点、誤解していた事をがあった。 それについては、後述します。それまでのお楽しみに (^_-)-☆ さて、Windowsのネットワークと言えば、迷わずバイブルと言われる本を選ぶ。 「アンドキュメンテッドMicrosoftネットワーク」(高橋基信:翔泳社) 高橋さんは、文系出身のUNIX兼Windows技術者というスーパー技術者。 理系出身のタダ(ではないと思うが、二束三文)の事務員の私と正反対だなぁ・・・(^^;; さて、本を開くと「NetBEUIとNetBIOSが技術書でも、よく混同されている」と 書かれていた。 しかし、私は、自慢じゃぁないが、その遥か上をいっていた。  なぜなら・・・ NetBEUIって何やねん?  だった (^^;; 正確に書くと、Microsoftネットワークの事をNetBIOSと思い込んでいました。
衝撃の事実!
NetBEUIの事をNetBIOSと思い込んでいた
初期と現在のMicrosoftネットワークの違いの比較
実は、NetBEUIというプロトコルがあったとは知りませんでした (^^;;
というのは、Windows独自の通信プロトコルはNetBIOSとばかり思っていました。
そこで、NetBIOSとNetBEUIの違いを調べてみることにした。
初期のWindowsの通信はNetBIOSで、物理層からトランスポート層あたりを
NetBIOSが役割を担っていた。Windows95(サーバーはWindowsNT3.1)から
TCP/IPなどのプロトコルと対応し、1、2層と3、4層とを分けるため
NetBEUIと呼ぶことになり、インターフェイスの事をNetBIOSと呼ぶことになった。

  そのため「NetBEUI」という用語すら知りませんでした (^^;;
  NetBEUIとNetBIOSを混同する以前の話だった。

  船で例えると出港して、いきなり座礁だが、考え方を変えると
「フフフ、ネタが、ぎょーさん、出てくるで〜」となる  (^^)
  失敗談を包み隠さず徹底的に書くと、ネタに尽きる事がないので、
まだまだ、システム奮闘記の連載は続くと思う。


  さて、当初の目的はNBTことNetBIOS over TCP/IPとは何かを知る事だった!
「NetBEUIの通信方法をTCP/IPでカプセリングしている事」と言われれば、
NetBEUIのパケットに、TCP/IPの通信のへッダーを付けて、TCP/IP上でも通信でき、
ルーター越えができるようになる。そう考えると「なるほど」で、わかった気になる。
  「わかった気になる」は実は、わかっていない証拠だったりする・・・  (^^;;

  さて、ふと思った。NetBEUIとTCP/IPは同じ階層にあるのに、
どうやってカプセリングするのかと考えてしまう。
  もしかして、アプリケーション層で、カプセリングするのかなぁと考えたりもする。

  「アンドキュメンテッドMicrosoftネットワーク」には、答えが書いていた。

NetBIOS over TCP/IP の仕組み
NetBIOS over TCP/IP の仕組み
無理矢理、TCPの上に乗せていている。
そして、NetBEUIのパケットにTCP/IPのへッダーを付加して
TCP/IP上での通信を可能にしている

  無理矢理、ネットワーク層、それもTCPの上に乗せている。
  カプセリングって、無理矢理、押し込めることなのかなぁと思ったりもする。

  そういえば、うちの会社で、基幹業務に使っているAS/400の通信プロトコルはSNA。
  以前、ある業者のSEの人が「SNAをTCP/IPに乗せるのに苦労した」と言っていた。
  SNAの場合も、同じように4層でカプセリングするのかなぁと思ったりした。
  しかし、調べたくても調べようがないので、謎のまま (^^;;

  ここで、ふと思った。「Windowsのファイル共有に使われる通信プロトコルは
NetBEUIで行なわれている。それだったら、NetBIOS over TCP/IP を使えば、
ルーターを越えてのファイル共有ができるのではないか」と考えた。
  善は急げで、早速、実験することにした。

注意
実は、この時点ではファイル共有に使われている
通信プロトコルはNetBEUIと思い込んでいました。
その事については後述しています

ルーター越えの実験
パケットのルーター越えの実験
身近なルーターとして、プライベートアドレスと
グローバルアドレスとの間にあるNATサーバーをルーターとした。
プライベート側からグローバル側のWindows2000Proのファイルが
見れるかどうか確認してみた。

  結果は、アカンかった (TT)

  うーん、駄目だったかと思う。
  最初は、NATをルーターに見立てるのに、無理があると思った。


  さて、この実験でOSを、Windows2000ProとWindowsXPを使っている。
  なぜ、Windows98を使わなかったのか?
  その理由は、次にある、トンデモナイ大きな勘違いをしていたからだった。

  NetBIOS over TCP/IPは、WindowsNT/2000系かWindowsXPでないと動かない!

  なぜ、そんな勘違いをしていたのか。本にWindows2000という文字と
WindowsNTという文字が出ていたが、Windows9X系の文字が見つけられなかったから。
  実際は、Windows9X系の補足が書かれていますが、つまみ食い的に読んでいたため
私が読み飛ばしていただけです (^^;;   ← 本気で理解する気あるのか!!

Windows2000でのNetBIOS over TCP/IPの設定画面
Windows2000でのNetBIOS over TCP/IPの設定
(誤解)

Windows2000、WindowsXPにはNetBIOS over TCP/IPを
有効にするかどうか確認する場所があるが
Windows98にはないと思っていた。

しかし、実際にはWindows98でもNetBIOS over TCP/IPを
有効にするかどうかの確認をする個所があるのだが
実験している時は、知らなかった (^^;;;

  さて、話は戻して、問題は、NetBIOS over TCP/IPを使って、ルータ越えして
ファイル共有の設定ができるかどうかだった。

  ここで、考えた。本社・営業所間でフレームリレー回線で結んでいる。
  営業所のマシンをファイル共有しても、本社から営業所にあるマシンの
共有フォルダ─を見れない。
(実は、本社・営業所間を結ぶフレームリレー回線の両端にあるルーターが
NetBIOS over TCP/IPを通さない設定になっていたが、この時は気づかなかった)

  そこで、ファイル共有は、あくまでもNetBEUIのプロトコルだけだと結論づけた。

 だが、その考えは・・・

  簡単に引っくり返された!!

  ある日、LILOの、さとうさんと話していた時だった。

さとうさんと私のやりとり
ファイル共有はNetBEUIですね
さとうさん WindowsでNetBEUIを削除して
TCP/IPでつないでも、ファイル共有はできたよ
謎だなぁ・・・

  さて、会社で実験してみることにした。
  NetBEUIを削除して、TCP/IPでやってみると、さとうさんの言う通り、成功した。

  Windowsの共有の設定は、よく見ると、NetBEUIだけと限定できる部分がない。

ファイル・プリンター共有の設定(Windows98)
ファイル・プリンター共有の設定(Windows98)
ネットワーク・コンポ─ネットを見るとNetBEUIは入っていない。
しかし、ファイル共有の設定はできる。
この事から、ファイル共有はNetBEUIだけでない事がわかる。

ファイル共有する場合、次の2つのコンポ─ネットを入れる。
Microsoftネットワーククライアント
Microsoftネットワーク共有サービス
この2つがあれば「ファイルとプリンタの共有(F)」が使える。

  これを見る限り「じゃぁ、何のプロトコルを使ってファイル共有をしているの?」
となる。「MSのネットワークだから謎じゃぁ〜!」で簡単に片付けるのも良くない。

  そこで、ネットで調べてみると、ファイル・プリンターの共有に使用される
通信プロトコルは3つある事がわかった。

ファイル・プリンターの共有に使用される3つのプロトコル
(1) NetBEUI
(2) NetBIOS over TCP/IP
(3) NetBIOS over IPX/SPX

  なるほど、だからNetBEUIがなくても、ファイル共有ができるのかと思った。

  さてさて、TCP/IPの設定の所を見てみた。
  今まで気に止めていなかったが、NetBIOS over TCP/IP を強制的に使っている。
  ここではじめて、Windows9X系でも、NetBIOS over TCP/IPが使えることがわかった。

Windows98のTCP/IPの設定画面の一覧
Windows98のTCP/IPの設定画面の一覧

  これは、MicrosoftネットワーククライアントMicrosoftネットワーク共有サービスを
ネットワーク・コンポ─ネントに入れていると、強制的にNetBIOS over TCP/IPを
使用可能にしている。(もちろん、確かめました)
  この2つを削除すると、使用するかどうか、選択できるようになる。

  という事は、ルーターの設定をキチンと行なえば、
ルーター越えでのファイル共有は可能になるのではと考える。
  しかし、本社・営業所間にあるルーターは恐くて触れない。
それは、シスコのルーターで、下手に触るとSNAまでが通れなくなり、
営業所からAS/400が使えなくなってもマズい。
  そこで、納入してくれた業者に電話を入れて聞いてみたら・・・

業者と私のやりとり
業者 ルーターで、NetBIOS over TCP/IP の
パケットを拒否をしています
どうしてですか?
業者 あのフレームリレーの帯域ですと
パケットが飛び交って、とても通信できる状態でなくなりますよ

  一番安い料金の契約になっているから、止む得ない。
  まぁ、業者にシスコのルーターの設定変更となれば、費用もかかる。

  実験しようがないため、ルーター越えのファイル共有は、
ここで断念せざる得なかった  (--;;
 

  さて、本を読むとWindowsにLMHOSTSというファイルがあると書いている。

  LMHOSTSファイルって何?

  最初、Linux(UNIX)の /etc/hosts ファイルと同じ物の感じがした。
  (詳しくは後述していますので、この時点で突っ込まないでくださいね)
  Windows98だと、 C\Windows\LMHOSTS という所に保管される。

  どらどら、どんなもんかいなということで、試しに会社の私のマシンにある
LMHOSTSファイルに、DNSに登録していないマシン(ホスト名)を登録した。
  実は、本には「コンピューター名」と書かれていた。
  しかし、この時は、コンピューター名がホスト名と違う事とは知らなかったため、
コンピューター名だからホスト名だと思って、ホスト名を書き込みました。

  さて、DNSに登録していない上、ルーター越えしないと見えないパソコンは
ping (ホスト名)を打っても、名前解決できないため、ping が通らない。
  そこで、LMHOSTSファイルに、ホスト名登録を済ませた後、
ping (ホスト名)と打つと、応答が返ってきた!
  思わず、色々なマシンを登録して遊んでしまう。

  なるほど、LMHOSTSは /etc/hosts のWindows版なんだと思った!

  しかし、その認識は過ちであった (-o-;;

  それは「LMHOSTSは /etc/hosts のWindows版」という認識。

  「アンドキュメンテッドMicrosoftネットワーク」のP21に書かれている
  ホスト名とNetBIOS名との混同から、/etc/hostsと同じと思われやすいという。
  この時、私は、本の内容が理解できなかった。
  そのため、頭では「/etc/hostsとLMHOSTSは同じというのは過ちだ」
という知識は得ても、その意味を100%理解していないため、
とても人に説明できる状況ではなかった。

  それを理解するのは、もう1つ、段階を踏む必要があった!!

   それは「NetBIOS名」が何かを理解する事だった!!

  なんと「NetBIOS名」が何かを理解していないまま、つまみ食い的に
「アンドキュメンテッドMicrosoftネットワーク」を読んでいた (^^;;;;
  LMHOSTSとは何かを理解する以前の問題であった!

  「それでは、まともな技術者にはなれんぞ!」と言われそうなので、
ここは開き直って「いーもん、だって私は事務員だもん」と言って逃げる (^^)V

  すげー言い訳をした所で、NetBIOS名とは何かを調べる事にした。

NetBIOS名について
Windows98でのNetBIOS名の設定
この奮闘記を書くまでは、私はNetBIOS名(コンピューター名)は
何も考えずにホスト名を書いていた。
コンピューター名は、平仮名やカタカナの記入も可能なため、
単に、ファイル共有する時に、ホストの名前では、わかりにくいので
誰のマシンかを表記する便利な方法ぐらいにしか思っていなかった。

しかし、NetBEUIやNetBIOS over TCP/IPの通信の場合、重要な部分になる。
詳しい説明は後述しています。

ちなみに、NetBIOS名は15文字以内で、15文字以上は入力できない。
15文字未満だと空いている所にNULL文字が入る。
そして16文字目に特別な文字を入る。

  ちなみに、ホスト名は

ホスト名について
windows98でのホスト名の設定
TCP/IPの通信では、ホスト名は、パソコンの名前にあたる。

  これを見ただけでは、同じ感じがするので「何がちゃうねん」となる。

  違いを考える上で重要なのはプロトコルの違いが挙げられる。
  TCP/IPとNetBEUIの違いが、ホスト名とNetBIOS名の違いに直結してくる。

TCP/IP通信
相手先を指定する際、ホスト名やドメイン名で行なうと
/etc/hostsやDNSを利用して、通信先の相手のIPアドレスを調べる。
ホスト名やドメイン名はIPアドレスに置き換わって通信をする。
つまり、IPアドレスで相手を認識して通信を行なう。
NetBEUI通信
相手先をNetBIOS名で指定して通信を行なう。
NetBEUIは同じLAN内(ルータ越えできない)で通信を行なう。
NetBEUIでは、パソコン起動時に「俺は**(NetBIOS名が入る)だ!」と
名乗りながら同じLAN内のパソコンにアピールするため、
同じLAN内同士のパソコンはNetBIOS名だけで、
相手がどのマシンか認識している。田舎の隣近所、顔見知りの感じで。
つまり、NetBIOS名で相手を認識して通信を行なう

  この2つの違いを踏まえないと、話が混乱してしまう ← 経験者は語る (^^)

  さて、LMHOSTSは、そもそも、何が発端で誕生したのか。
同じLAN内なら、NetBIOS名だけでお互い認識できるため、不必要になる。
  本を読み返すと、P18に由来が書かれている。

  LMHOSTSはルーター越えして通信を行なう際の名前解決に使われる!

私がわかっていなかった2点
名前解決
実は「名前解決って何?」だった (^^;;
そこで「最新DNS&BIND」(イスクブレイン著:秀和システム)見た。
「正引き、逆引きの結果、ドメイン名やIPアドレスを求めることを名前解決」
なんと、今まで知らなかった (^^;; ← 「ホントにシステム管理者?」と言われそう。

しかし、その説明では合点がいかなかった。
ネット上で「アスキーデジタル用語辞典」ではTCP/IPではホスト名からIPを
求める事と書かれていた。
この事や他の本の記述などを見て、私なりに次のように解釈した。
ホスト名などから『相手を認識できる表記』を求めること
これだと、抽象的だけど、一般的な表現になると思う。
NetBEUIでの名前解決
NetBEUIだと、名前解決ででてくるのはNetBIOS名。
しかし、最初は、なぜ、それで相手を認識できるのか理解できず、混乱した。
挙げ句の果てには、NetBIOS名を指定すれば、MACアドレスがわかって
相手を認識しているのではないかと考えたりした。
どうして、私は泥沼にハマるのが得意なのか、謎である (--;;

  さて、ここで、TCP/IPとNetBIOS over TCP/IPの違いを踏まえないと
誤った認識をしてしまう。
  「NetBIOS over TCP/IP」は、TCP/IPと名前はつくが、あくまでNetBEUIが基本で、
ルーター越えが可能になるように、TCP/IPでカプセリングしているだけのこと。

NetBIOS over TCP/IP通信
相手先をNetBIOS名で指定して通信を行なう。
が、しかし、これだとルーターは越えられない。
パケットをルーター越えさせて、他のネットワークへ導くための
水先案内人としてIPアドレスが必要になってくる。
LMHOSTSを見て、指定のNetBIOS名に該当するIPを見て、
パケットを送信させる。
TCP/IP通信を使っていても基本はNetBEUIなので、指定された相手は、
NetBIOS名を見て、そのパケットが自分宛てかどうか確認する。
つまり、IPアドレスという水先案内人を使って
NetBIOS名で相手を認識して通信を行なう

もっとわかりやすい例えだと「隣り村のごん助さん」で
「隣り村」がIPになり、「ごん助さん」がNetBIOS名とう感じかなぁ。

  あくまでも、IPはパケットを他のネットワークへ運ぶための水先案内人と考え
それ以外は、NetBEUIと同じと考えれば、わかりやすい。

TCP/IPにおける/etc/hostsの働き
TCP/IPにおける/etc/hostsの働き
/etc/hostsに登録されている名前は、エイリアス名であり、
ホスト名でなくても全く問題はない。
TCP/IP通信なので、IPで相手を認識して通信を行なう


NetBIOS over TCP/IPにおけるLMHOSTSの働き
NetBIOS over TCP/IPにおけるLMHOSTSの働き
LMHOSTSに登録されている名前は、NetBIOS名であり
正しいNetBIOS名を登録しなくてはいけない。
TCP/IP通信を使っているが、あくまでも、パケットをルータ越えさせて
他のネットワークへ運ぶための方法であって、相手の認識はNetBEUIと同じ
NetBIOS名で行なわれる。

  これでようやく/etc/hostsとLMHOSTSとが違う物だということが
ハッキリした。

山瀬まみファンだったりする私
どこから、MAMIやYAMASEが出てきたかと書きますと
実は、私は山瀬まみの大ファン。つまり、まみらー(?)です。
だって、かわいいし、性格は明るい。まみちゃん、サイコー!!

  ところで、LMHOSTSが/etc/hostsと混同されやすい理由。

  LMHOSTSにNetBIOS名でなく、ホスト名を登録した上で、
ping ホスト名のコマンドを打つと、/etc/hostsと同じ振る舞いをするからだと思う。
  ホスト名だけでなく、適当な名前(エイリアス名)を使ってもIP通信ができる。
そのため、/etc/hostsと同じという誤解をしてしまうのだと思う。
  私が陥ったワナなので、思わず強調したくなる (^^;;

/etc/hostsと同じ振る舞いをするLMHOSTSの場合
/etc/hostsと同じ振る舞いをするLMHOSTSの場合
このコメントは、私が勝手に推測したものですが、
IP通信の場合、IPさえ正しければ、通信ができる。
そこでLMHOSTSからIPを拾い上げた時に、IPだけが使われると思われる。

 再度、余談を書きます。

マラソンの高橋尚子のファンの私
どこから、NAOKOやQ-CHANが出てきたかと書きますと、
実は、高橋尚子の大ファンです。
明るくて元気で笑顔の素敵なQちゃんは大好きです。
しかし、私は運動不足の極まり。しかも中年腹(2003年当時)
仮に、Qちゃんにマラソン・デートを誘われたとしても
50m走っただけで、私は息が切れて、Qちゃんに置いていかれる
運命だと思う・・・ (TT)

  LMHOSTSが/etc/hostsのWindows版という誤解。
  書店に行って、Windowsでのサーバー構築の本などを見たら、
誤解している記述が見つかった。
  専門家(?)が間違えているようだと、それを読んだ読者までが
誤った認識をしてしまう。
  でも、こんな事を書くと「アンタも気をつけなはれ!」と言われそうなので、
逃げ道を作ります。私、専門家ではありませーん! 事務員です ← おい!


  さて、LMHOSTSの意味が理解できた所で、ふと思った。
当初の目的であるルーター越えしてファイル共有ができるのではないか。
  よく考えると、最初に実験した時は、LMHOSTSを使っていない。
そのため、NetBIOS名を指定しても、ルーター越えができなかったため、
指定先のパソコンの共有フォルダ─が見えなかったと考えられる。

  ここで明るい兆しが出てきた。
  そこで、もう一度、NATをルーターに見立てた実験を再開した。

実験内容
NetBIOS over TCP/IPのNAT越えの実験
プライベート側のパソコンにLMHOSTSのファイルを持たせた。
そのファイルの中には、グローバル側のパソコンの
NetBIOS名とIPを登録した。
そして、プライベート側からグローバル側の共有ファイルが
見れるかどうかを確認してみた。

  上の実験の結果は

 見事、成功だった! V(^^)V 

  人の話などで、ルーター越えでのファイル共有が可能と聞くよりも
自分で実験して確かめた方が納得する。
  この実験が成功した時は、思わず声を挙げて「やったー!」と言ったため、
同僚が「あいつ、何をやっとるんやろ?」という感じで見ていた (^^;;

  そういえば、以前からパワーユーザーと言われている人が
「本社と営業所との間にファイル共有ができないか」と言っていた。
  私は「できないです」と言っていたが、どうも私には、やる気がないだけと
思っていた感じがあった。
  なぜなら「共有の設定をしても、できなかった」の返事しか言えなかったからだ。

  そこで、今回の得た知識を使って説明すると、その人は納得してくれた。
  やはり動作原理まで知った上で説明すると、説得力は増す (^^)

WINSサーバーについて

本を読んでいくとWINSサーバーが出てきた。 実は「WINS」というのは、私にとって長年の謎だった。 というのも、WindowsでTCP/IPの設定の際に、WINSの設定が出てくるが、 一体、何をするものか全く知らなかった。
WINSの設定(Windows98)
WINSの設定(Windows98)

  いつも私は「WINSの解決をしない」に印を入れている。
  実は、何も、わからないのに「使わない」という設定をしていた。
  この方が下手に設定しようとして、障害になるよりマシなのだ。

  本を読んでいくと、次の事が書いていた。
  ネットワークが拡大していくにつれ、LMHOSTSファイルでは、
使い勝手が良くない上、管理面での問題があるという事で、
集中管理するWINSサーバーができた。

  UNIX系でいうと、昔、/etc/hosts だけだったが、ホストが増えて、
/etc/hosts だけでは対応しきれないから、DNSができたのと似ている。

  これで長年の謎が解けたので、目からウロコが落ちた気分だった。

  さて、WINSサーバーを構築して、色々、遊んでみたいのだが、
残念ながら、WINSサーバーを構築できる環境がないので、
ここで断念せざる得ない (--;;

WINSサーバー構築について
この時点では、WINSの構築を断念しましたが、その後、
SambaでWINSサーバーを立ち上げました。
詳しくは「システム奮闘記:その28」をご覧ください。
(SambaでWINSとマスターブラウザーの構築)
 

ブラウジングについて

次にブラウジング機能の理解への扉を叩く事にした 本には「Microsoftネットワークの鬼門と言われる所」と書かれている。 「さぁ、理解するため頑張るぞ!」という前に「ブラウジングって何?」だった。 うーん、これだと気合いが入らない (^^;;;; ネットワーク共有して「ネットワーク・コンピュータ」のアイコンを クリックすると、共有しているパソコンの一覧が出てくる。
共有パソコンの一覧(Windows98)
共有パソコンの一覧(Windows98)

  上の画面のように、ネットワーク共有しているパソコンの情報リストの事を
「ブラウズリスト」と言う。「ブラウズリスト」を提供する機能の事を
「ブラウジング機能」という。


  よく考えると不思議だ。特にLMHOSTSやWINSサーバーがなくても
この一覧リストが出てくるからだ。

  本を読んで、その疑問の答えを探したら見つかった。

ブラウズリスト入手方法
ブラウズリストの要求を行なう
起動済みのパソコン達は、既にブラウズリストを持っている。
そこで、起動しているパソコンは周囲のパソコンにリストの提供を申し出る。
マスターブラウザがブラウズリストを持っているホストを紹介する
マスタブラウザが「リストを持っている奴を紹介するで」と言う。
ブラウズリストを持っているホストに対してリストの要求を行なう
紹介してもらった中から、任意のパソコンを選び
ブラウズリスト提供の申し出を行なう。

  さて、ここで出てくる「マスタブラウザ」とは何か?

  自分が所属しているLAN内部のブラウザリストを持っていて、
もし、上の図のように、他のパソコンから問い合わせがあれば、
ブラウザの一覧や、ブラウザリストを提供するパソコンをいう。

  ここで不思議に思う。LANを組んだりする時、どのWindowsパソコンを
マスタブラウザにするか意識しない。なのに、マスタブラウザが存在する。

  「マスタブラウザ」の選出方法を見てみた。

マスタブラウザの選出方法
(1) 選定プロトコルレベル
(Election Version の値が大きい方)
(2) ブラウザ選定基準
(Election Criteria の値が大きい方)
(3) 起動してからの時間が長い方
(4) NetBIOS名が辞書順で若い方

  知らず知らずの間に、マスタブラウザになるための争いがパソコン間に
あったんだなぁと思うと、興味深いものがある。


  ところで、起動したパソコンは、自分のNetBIOS名を、どうやって他のパソコンに
教えているのか。でないと、どうやってブラウズリストを作成しているのか
わからない。

  そこで本を調べると、その疑問の答えがあった。

NetBIOS名の伝え方
Windowsパソコンは、自分を名乗りながら起動する。
数分後との自己の存在を伝えている
常に自己の存在を伝えているため
いつ、新参者のパソコンが登場しても
ブラウズリストに登録してもらえる。

  さて、ブラウジングと言えば、よく起こる問題として、次の事が挙げられる。

  ネットワークコンピューターに表示されているパソコンに接続できない

ブラウジングの障害
ブラウジング障害時のエラー表示

  この手の障害は結構ある。
  電源を切ったはずのパソコンが、いかにも稼働中のように、
ネットワークコンピューターに表示されている場合がある。

  うちの会社のパソコンは正常に終了させても、ネットワークコンピューターの
アイコンにしっかり載っている。

  そのため、社内で「なんで、共有先のパソコンにつながらへんねん」とか
「電源を落としたパソコンが、なんで共有されているねん」と聞かれる事がある。

  そういう時は、いつも秘技「責任転嫁」を
  「Microsoft製品だから、お得意の不具合(バグ)ですよ」と言えば、通用する。
  この技は有効な手段だが、原因追求を怠るため、前進しない事が多い。

  そういえば、Windows関係の雑誌で、Windows技術者でレベルが低い人ほど、
MSに責任転嫁すると書かれていた。
  技術者だったら「ドキッ!」とする言葉かもしれないが、私は何ともない。
  だって、事務員だもーん (^^)V  ← おい!
  (実は、私は、自分の立場を悪用して逃げる卑怯な性格だったりする)

  閑話休題

  パソコンの電源を落としても、ネットワークコンピューターの
共有のリストに載っている事は、ブラウズリストから削除されていない事になる。

  普通、パソコンが正常に終了した時は、下の図のように、
ブラウズリストから削除してもらう。

ブラウズリスト削除
ブラウズリスト削除の方法
パソコンは終了処理(シャットダウン)する時
己れの死に様を伝えて、ブラウズリストから削除してもらう。

  しかし、何らかの現象で「俺を削除してくれ」という
メッセージが届かない場合がある。
  (これこそ、バグのような気がする)

  また、固まったり、強制終了させた場合は、
ブラウズリストから削除してもらう要請は行なわないため、
ブラウズリストには載ったままになる。

  本を読むと、パソコン終了時に嫌でもブラウズリストの削除を要請を出させる方法が
書いてあった。善は急げなので、早速、実行することにした。

パソコン終了時に嫌でも
ブラウズリストの削除を要請を出させる方法
msconfigコマンドを起動させる
「スタート」ボタンの「ファイル名を指定して実行」を
選択すると出てくる。
そして「 msconfig 」というコマンドを入力して「OK」を押す。
システムユーティリティーの画面(Windows98)
ここで「詳細設定(E)」を押す
アドバンス トラブルシューティングの設定画面
「高速でシャットダウンを使用不可にする(F)」に印を入れる

  この処理を行なって、実際に、パソコンをシャットダウンすると
見事に、ネットワークコンピューターから削除された。

  そして、社内に各人のパソコンに、上のような処理をしてもらうように
メールで通達をした。

  ところで、強制終了したり、途中で昇天したパソコンは、どうなるのか。
本に答えが書いてあった。

ブラウザリストから削除される仕組み
ブラウザリストから削除される仕組み
上の図のように、パソコンは2〜15分の間隔で自己の存在を示す。
その際、「俺はY分ごとに呼びかけるぞ!」と言っている。
もし、何らかの形で、昇天した場合、周辺のパソコンは、
呼びかけが3回、行なわれなかったら「奴は死んだ」と思い、
ブラウズリストから削除を行なう。
しかし、どうやって昇天したパソコンから3回合図がないのか判断するのか。
それは、最後の呼びかけで「Y分ごとに合図をする」から判断する。
3回合図がない=Y分×3となる。Yの最大は15なので、最大、45分かかる。

  結論としたら、せっかちでなく、のんびり構えていたら、
勝手にブラウズリストから削除される事になる (^^)

  何はともあれ、ネットワークコンピューターに載っているパソコンを
クリックするとエラーが出るトラブルの原因がわかったので、
賢くなった気がした (^^)


ここでまとめ 身近なMicrosoftネットワーク。でも、その実態は、ほとんど知らなかった。 「アンドキュメンテッドMicrosoftネットワーク」を読んで新鮮な感じがした。 私は、第4章以降は、ほとんど(というより全く)触る機会がないので、 本を片手に触りながら勉強できず、先に進むことを断念したが、 Samba導入の時などには、お世話になると思う。 それにしても、ホントに、Microsoftネットワークは複雑だ。 「アンドキュメンテッドMicrosoftネットワーク」の「まえがき」を読むと、 「MSの公式解説書であるはずの『リソースキット』でさえも、著者の理解不足による 誤記や、わかりにく部分があったりする。TechNetやMSDNでも 同じような傾向がある」と書かれている。 MS自身が誤った情報を流すという、笑い話にもならない、お粗末な結果だが、 それだけMicrosoftネットワークが複雑怪奇だという事を意味する。 MSよ、おめぇー自身が混乱する複雑な物を出してどうする! でも、MSの人が「MS製品は理解不可能だから、Linuxでシステム構築を」と 言い出したら面白いかも (^^) 反MSの人で、MSを触らない人がいますが、それはお勧めしません。 理由は簡単です。孫子の兵法「彼を知り、己れを知る。それ百戦危うからず」で MSを敵だと思ったら、敵の事を研究するのが一番でしょう ← 煽ってどうする! 私はWindowsもわかる事務員になって、オープンソースと比較しながら、 オープンソース推進を提唱していこうかなぁと思う今日この頃。

次章:「ヤマハルーターの設定(RTA52iとRTA55i)」を読む
前章:「RPMコマンドの使い方」を読む
目次:システム奮闘記に戻る

Tweet