27.ネットワーク便利集    目 次

その1; PC起動時に、主PCとデータの同期; ネットワークをスクリプトで使う

メインPCでスケジュールを管理しているが、いつOSが死ぬかわからず、非常に不安なので、サブPCにバックアップしているが、これが面倒で続かない。つい忘れて暫くすると、OSがクラッシュして大切なスケジュールがあったはずの日が出て来ない(マーフィの法則)。スケジュールデータをいれたフォルダが深い所にあると、なおさら面倒である。ネットワークコンピュータからサブPCを開けて、同じスケジューラの同じフォルダの中へスケジュールの実体をコピーするのが面倒なのだ。で、これを、スクリプトにして、サブPCを起動時に、既に起動しているメインPCからコピーするようにできたら便利である。

メモ帳で、

  net use \\MainPC\c password
 xcopy /s "\\MainPC\c\Program Files\scheduler\date"   c:\program\schedule\date


と書いたファイルを作る。dateはたとえば、20001201.dat のようなスケジュールファイルが入っているフォルダである。 このファイルをcpsched.batというような名前をつけて閉じる。
サブPCの c:\windows\スタートメニュー\プログラム\スタートアップ
へ入れておけば、スケジュールは、サブPC起動時、自動的にメインPCとsyncされる。この時、DOS窓が開きっぱなしになって嫌なら、xxx.batを実行すると同じフォルダに自動的に作られるPIF:ProgramInformationFileの「プログラム」タブの「プログラム終了時にウィンドウを閉じる」にチェックを入れておく。このPIF、一種のDOSソフトのショートカットで、DOSのショートカットと同じアイコンである。cpsched.batを、c:¥My Documentsにおいて、そのショートカットを c:\windows\スタートメニュー\プログラム\スタートアップに置くとPIFと同じものが出来る。

passwordは、メインPCのc:ドライブを共有設定して、passwordを掛けてあれば、それである。なお、UNC:UniversalNameConventionでは、\\MainPC\c のようにc:とは書かず、cである。

net use は、ネットワークドライブの割り当てもできる。このようにしても同じである;
  net use Z:  \\MainPC\c  password
 xcopy /s "Z:\Program Files\scheduler\date" c:\program\schedule\date


但し、このようにすると、前回起動時のネットワークドライブが保存されていると、既にそのドライブはある、というメッセージが出て、実行か、キャンセルかを聞いて来て、止まってしまう。起動して、その間にコーヒでも入れにいって戻って来ても起動が終わっていないのでがっかりしてしまう。この方法は執らないほうが良い。

 net コマンドはこの他、いろいろオプションがあるので、net /? で調べてみると面白い。ただ、リアルモードネットワークの為の命令が多く、Win9xでは使えないものが結構あって、有用なものは net config、net viewくらいかもしれない。

その2; PCの時計をいつもピッタリに

PCの時計は非常に狂いが速い。そこで、家でインターネットにアクセスしているなら、国立天文台のセシウム原子時計に合わせておけば、いつも誤差なしで気持ちがよい。
http://member.nifty.ne.jp/kazubon/ にその為のTClockがあったのだが、2000.12.06現在、アクセスエラーになる。再配布条件にしたがって、TClockをここに 置いておくので、作者に感謝しながらinstall。すると、task-trayに常駐するので、

  ・右クリックで、プロパティ→時刻合わせ。
    サーバーの欄には、国立天文台のセシウム時計アドレスを入れる;
      cesium.mtk.nao.ac.jp
ところが、2001年、ここは動いていないようだ。下記のアドレスにした方が良い。

      ntp1.jst.mfeed.ad.jp
      clock.nc.fukuoka-u.ac.jp

  ・「ダイアルアップ接続中のみ」にチェックを入れる

基本的にはこれだけで良いが、「ログを残す」にチェックをいれておけば、その下の「結果」の欄に、何時、時計を合わせたかのログを残してくれる。「サウンド]に好きなxx.wavファイルのパスを書いておけば、時刻合わせを行った時(ISPに接続して直後)、そのサウンドで知らせてくれる。c:¥windows¥mediaに.wavは幾つかある。入力欄の横にある「...」を押せば、パスを参照できる。

TClockは、年月日曜日もトレーに表示できる、アラーム機能があるなど機能が豊富で実に便利である。

但し、オフィスでは、ファイアウォールで、たいていは、NTP:NetworkTimeProtocolが通らないので、管理者にLAN内のタイムサーバのアドレスを聞いて設定する。


その3; Win9xの機能だけで知るLAN内のネットワーク情報

  NetBIOS名→IPアドレス→ドメインネーム→IPアドレス→NetBIOS名

 その他、MACアドレス、DHCPから与えられたIPアドレス、目的のホストまでの経路

上記、タイムサーバのドメインネームを知るために、まずコンピュータ名=NetBIOS名を探してみる;
 DOS窓開いて、

  net time

でタイムサーバを探してくれるが、同一セグメントに居ない時はだめである。

実は、TClockを使わなくても、タイムサーバのNetBIOS名が分かれば、

  net time \\NetBIOS名 /set /yes

で時刻あわせは可能だから、オフィスで、時刻合わせだけやりたい場合、これをその1の方法と同じように.batファイルにして、スタートアップにいれておくか、デスクトップに置いておいて、日に一回叩けば良い。

次に、そのNetBIOS名から、IPアドレスを知るには、

  ping NetBIOS名

で良い。pingは本来、インターネットのドメインネーム(か、IPアドレス)で指定するのであるが、Win9xのなかでは、NetBIOS名も通るのである。

次に、そのIPアドレスから、ドメインネームを知るには、

  ping -a IPアドレス


こんな風にして、タイムサーバのドメインネームが分かることもある(本当は、IPアドレスさえ分かれば良いのだが、タイトルとの関係上、要らぬ事をしている)

今度は逆順に、ドメインネームから、IPアドレスを知るには、

  ping ドメインネーム


IPアドレスから、NetBIOS名を知るには、

  nbtstat -A IPアドレス  (例;nbtstat -A 133.xxx.12.1、「−a」では無い)

  nbtstatは、etios over CI/IP STATeの略でしょう。これで、MACアドレスも分かる

目的のhostまでの経路を知るには、

  tracert IPアドレス(ドメインネーム)

その4; ダイアルアップ時、ISPからDHCPで付与されたIPアドレスを知る

  c:\windows\winipcfg.exe

 をダブルクリック。アダプタ アドレス=イーサカードの2層アドレス=MACアドレスを知ることができるが、その下にでているのが、そのアダプタにふられたIPアドレスである。




28.パラレルポート付けCD−ROMは買い!!    目 次

2000年現在、CD-ROMのついていないノート(パラレルポートは、少なくとも、双方向機能が付いていないと読めません、プリンタポートという別名があるように当初は、書き出すためのポートでした。余程古くない限り、大丈夫とは思いますが、BIOS設定を見て下さい)を持っていて、これからも使い続けたいという状況にある人なら、パラレルポートに付ける外付けCD-ROMは重宝です。Libretto30という、DX4/75MHz相当のミニノートをもっているのですが、このノート、リカバリの器材が何もついていない。買った時点でリカバリー様のフロッピを40枚程度HDから書き出す機能があるだけでした。40枚も書き出す暇と根気は無いので、いつWindowsがクラッシュするかとひやひやしながら使っていたのですが、97、8年頃、パラレル接続のCD-ROMが放出されていたので入手しました。2倍速で、定価は2万を越えていましたが、その時代にそんな価格で売れようはずもなく、在庫のまま、5千〜3千円で放出になったらしいのです。一時期秋葉原に溢れていました。ところが、これが実に便利なのです。

パラレルポートを使うようなレガシーな機器には、たいていDOSのドライバが付いていて、少し工夫すれば、起動FDにこのドライバを入れ、config.sys、autoexec.batを少しだけ書き直せば、起動FDから動くのです。これで、Win9x稼動時に、ネットワーク経由で、xcopyを使って書き出したc:¥の内容を、CD−Rに焼いたものから、いつでもvfxcopyを使って元にもどせます。vfxcopyは、Win9xの長いファイル名をDOSから扱える素晴らしいフリーソフトです。このバックアップ/レストアの仕方は、#13#25を参照してください。

DOSのドライバが付いているということは、マニュアルにドライバのDOSへの組み込み方が書いてあるということですから、ほんの少し(あるいはnullの)工夫すれば、FDに組み込むのはいとも簡単なのです。

外付けCD-ROMは、現在では、PCカード/USB経由のものとなりますが、これをDOSで動かすのは、困難を極めます。特殊インターフェイスか、SCSIであったりして、Win9x/NT/Me/2000のドライバしか付いていないことがほとんどですので、事実上DOSからは動かせないのです。




29.WAN(ダイアルアップなど)でモバイルPCからサーバに接続    目 次

#9#26。。。を良く理解していれば、そんなに難しい問題ではない。

ひとつだけ注意することは、
ダイアルアップサーバ(以後、サーバ)の基本機能は、サーバとモバイルの間の通信路を確保するだけであるので、つまり、4層までの役割であるので、つないでその後、どうするのかは、サーバ次第であるということである。 そのサーバの背後のLANに中継してくれるのか、サーバの共有資源を使わせてくれるのか、あるいは、FTP、HTTPをさせてくれるのか。それは各々のサーバの仕様次第である。

Windows95+Plus!(Windows98も?)のダイアルアップサーバの場合


例えば、Windows95+Plus!のダイアルアップサーバは、NetBEUIゲートウェイとしてしか機能しない。IPは通してくれないのである。これが何を意味するかと言えば;

サーバに繋がっているLANを使いたい場合
  (1)ダイアルアップアダプタのプロパティ で、使用するプロトコルは、NetBEUIにし
     (マルチプロトコル指定ができるのに、TCP/IPとNetBEUIの両方を指定すると、
      NetBEUIが機能せず、LAN上にいるPCにはアクセスできない)
  (2)かつ、LANがNetBEUIを使っている
ことが必須条件である。

この場合、モバイルPCから送られて来たNetBEUIプロトコルは、サーバが中継してLANに流してくれる。モバイルPCもNetBEUIでLANに繋がっているのと同じことになる上にNTのドメインが無いので、ブラウズサービスも機能し、ネットワークコンピュータも使える。。が、実験ではブラウズリストの配信に数分かかり、遅いので待っていられない。エクスプローラからUNC(\\コンピュータ名 の記法)で直接目的のPCにアクセスするのが良い。

unc.jpg



               NetBEUI/PPP              NetBEUI
 MobileWIn9x/モデム------電話線-------Win9xサーバ-------LAN-------
                                          |
                                         PC(Aptiva)


なお、ネットワークのNetBEUIが、Microsoftネットワーククライアントとバインドされているかチェックすることを忘れない事。バインドされていないと、こんなメッセージ が出る。ネットワーク設定; アダプタ、プロトコル、共有サービス/ネットワーククライアントの2つのアプリのインスト^ルと、設定、バインドを忘れないよう。この設定の誤りが、この例の様に理解不能のメッセージの山を発生する。


WindowsNTのダイアルアップサーバの場合


NTサーバは、IPルータ機能をもっているので、IPが通る。

                TCP/IP/PPP             TCP/IP
 MobileWIn9x/モデム------電話線-------WinNTサーバ------LAN--------
                                          |
                                         PC


WindowsNTのWANの場合


この場合、Firewallが厄介である。WindowsのSMBファイル共有プロトコルを通してくれないかもしれない。
                             TCP/IP
 MobileWIn9x----LAN----ルータ--Firewall----WAN---Firewall----ルータ-----LAN----


設 定


ダイアルアップでは、ダイアルアップアダプタと、コントロールパネルのネットワーク(下図)(ネットワークコンピュータを右クリック→プロパティでも同じ)の2箇所のTCP/IP設定が必要。NTサーバの場合、DHCPをサポートしていれば、ほとんど何もすることはないが、家庭のWindow9xをサーバにする時は、手でモバイルPCに自分のIPアドレスを入れる必要がある。この図右下ダイアルアップアダプタのTCP/IPの設定がでている。

コントロールパネルのネットワークは、以下の様になっている。TCP/IPの設定は、
   TCP/IP  -> ダイアルアップアダプタ
をダブルクリックして行う。

net.jpg

このようにMicrosoftのネットワーク設定はアダプタ、プロトコル、アプリケーションの3層である。


アダプタファーストイーサのネットワークアダプタ
モデムのダイアルアップアダプタ
プロトコルNetBEUI、TCP/IP(->はバインドされている相手を示す)
アプリケーションMicrosoftネットワーククライアント
Microsoftネットワーク共有サービス

注; IE、メーラ、FTPなどもアプリであるのに、この中には現れない。インターネットのアプリは、ここでインストールするのではなく、普通のアプリと同じように、SetupInstallでインストールしている。Microsoftネットワーククライアント、Microsoftネットワーク共有サービスは、ここでしかインストールできないので、特別扱いのようである。

ダイアルアップでTCP/IPを使いファイル共有するためには、TCP/IP->ダイアルアップの設定で、Microsoftネットワーク共有サービスにバインドするが、これを行うと、ISPに接続した時、インターネットで世界中のMicrosoftネットワーククライアントを設定しているPCからも共有されてしまう可能性があることに注意。インターネットだけする時は、TCP/IP->ダイアルアップの設定で、Microsoftネットワーク共有サービスにバインドしないよう、ISPのマニュアルでは注意している。

尚、ダイアルアップアダプタの設定で、「ネットワークへのログオン」はNTのドメインにログオンすることなので、ドメインをはっていない家庭などでは、チェックする必要はない。というより、はずした方が要らぬネゴをしなくて、接続が気持ち速い。チェックをいれて、ログオンする場合、ユーザ名と、パスワードは、PCを起動した時に入れたものがそのまま使われる

以下の2項は、両方のPCの通信ソフトがネゴする時の項目であるので、チェックをいれても、サーバがサポートしていなければ、使わないだけである。

「ソフトウェア圧縮」は、必ず入れておく。モデムにハードウェア圧縮が有るが、これはMNPによるものでモデム間しか有効でない(コントロールパネル→モデム→プロパティ→接続→詳細)。ここのソフトウェア圧縮はPPP間であるから、範囲が広い。Windows95リソースキットには、モデムのハード圧縮との併用は効率が落ちる場合がある、と書いて有る。

「暗号化パスパードを使う」はチェックを入れない。これはPPPがPAP/CHAPをサポートしていない場合、代用に使うものらしい。2000年現在のPPP実装では不要である。 なお、サーバ側で「パスワード」の設定をしなければ、無しでログオンできるが、これは極めて危ない。たまたま、そのサーバに電話した人は、みなLAN上の共有ファイルを見る事ができてしまう。

以上でサーバにダイアルアップし、PPPで繋がると、メッセージウィンドウがその旨報告する。インターネットにダイアルアップでつなぐに時でるものと同じであるのですぐわかる。早速、エクスプローラのアドレス欄に、

  \\サーバのNetBIOS名

と入れて見よう。NetBIOS名とは、Windowsの世界のコンピュータ名の事。

LAN上にあるPCなら、その名前を入れれば、あたかもネットワークコンピュータの様にエクスプローラに表示される。WANからリモートのネットワーク利用は、UNCで直接アクセスが基本である。

サーバがNTの場合、ブラウジングルールが複雑な為、ネットワークコンピュータを利用出来るような設定は、一PCの問題ではなく、LAN全体の管理の問題のため、利用できるようLANとモバイルPCを設定(ドメインをどのように構成するか、セグメントとドメインの関係をどのようにするか、NT機をどこにおくか、PDCをどこにおくか、WINSをどのように配置するかなど)するのは困難である。UNCでじかアクセスである。


LANの中のWinPCから遠隔のLANに居るWinPCにアクセスする


この場合も、ダイアルアップの時と基本的に同じである。共有したいWinPCにUNC--\\RemotePC\c\共有--で直接アクセスする。ところで、エクスプローラは、どのようにしてRemotePCの居場所がわかるのだろう? RemotePCが同じセグメント(ルータの内側)にいれば、「RemotePCさん、居たら返事して、IPアドレスを教えて下さい」と、ブロードキャストすれば、応答してくれる。しかし、今の場合、返事はない。ルータのむこうにはブロードキャストは届かないからである。このような場合に、UNCを使うには何らかの名前解決法が必要である。最も簡単な方法は、NetBIOS名とIPアドレスの名前解決に使う、Lmhostsファイルにメモ帳で、Lmhosts.samの例に倣って書き込んでおくことである。HostsはTCP/IPの名前解決法であるが、こちらに書いてもMSのネットワークアプリは一応調べて呉れる。

LAN間では、間にルータがいるから、NetBEUIは使えない。TCP/IPなのである。後は、ネットワークのTCP/IPが、Microsoftネットワーククライアントとバインドされているかチェックする。オフィスのLANではそのようになっているはずである。

相手のPCにpingを打って応答があれば、ネットワークは生きている。後は共有アプリの設定次第である。Windowsのネットワーク共有は、「SMBファイル共有プロトコル」を使うが、ゲートウェイあるいは、ファイアウォールがこのプロトコルを通すかどうかが問題である。pingが通り、ローカルのLANでは共有ができるのに、遠隔のLANと共有できない場合の原因の一つはこれであろう。pingさえ自部所から出ていかないfirewallの設定がしてあったりするので、ここが関門である。

整理すると;
・ダイアルアップのようなWAN接続では、コンピュータブラウジングは困難なことが多い
  −従って、ネットワークコンピュータは使わない
・ダイアルアップサーバへのアプリレベルでのアクセスは、エクスプローラのアドレス欄に
 直接UNCでサーバ名を入れる;\\MyServer 図はここ
  −あるいは、DOS窓を開いて、
    net use \\MyServer\c
   エクスプローラの場合と異なり、netコマンドでは、共有ドライブ(上の場合、)まで指定
   しないとエラーになる。
   なお、ドライブであるが、UNCでは、は付けない。

SMB: Session Message Block;Windowsのファイル共有の為のプロトコル
UNC: Universal Name Convention;
   \\PC名\ドライブ名\フォルダ名
   という形式ですが、毎日のように使っていますね。
   \は、Unixの/の真似事です、といえば分かりますね。
   (http:)//www.yahoo.co.jp/~MyHomePage/Top

NetBEUI: NetBIOS Extended User Interface(ISO/OSI Layer 3/4)




30.プロトコルの話    目 次

protocolを辞書で引くと「外交儀礼」のようないかめしい訳が載っている。外交儀礼など、外交官でもなければ、かかわりが無いのでピンと来ない。ネットワークでの使い方に最も近い分かり易い喩は「式次第」だろう。入学式にしろ結婚式にしろ、式というものは、あらかじめ「次第」=「手順」が定められている。これだから、事が滞りなく進むのである。

あるいは、コンピュータ同士で話す為の言葉と思っても良い。言葉そのものというより言葉の使い方である。いきなり電話がかかってきて、前置きもなにもなく用件をまくしたてられても困る。「もしもし」、「はい」、「こちらxxですが、yyさんのお宅ですか」、「はいそうです」、「vvさんはいらっしゃいますか」、「はいおります。すこしお待ちください」。電話では、本命のvvさんと話すまでにこんな手順が必要である。これが人間の電話でのプロトコルである。

通信という仕事は、結構大変で、一つのプログラムが通信全体の処理を行うわけではない。DOSの時代の初期には、アプリが一人で全部していた。しかし、通信の物理媒体が電話線と1200bpsモデムの場合と、同軸ケーブルに10Mbpsのイーサカードの場合とでは全然通信ソフトが違って来る、大体、家庭にあるPCだって、今は、両方付いているし、モデムも56kbpsやMPで128kbps出すISDNだったりするし、イーサもカテゴリ5のUTPケーブルに100Base-TXになっている。その度に、通信を使うアプリを、ベッキーにしろ、ポストペットにしろ、ネットスケープにしろ、IE5.5にしろ、ソフトハウスなら書き換え、ユーザなら買い換えて、いろいろなバージョンをそろえなくてはならないようでは、ソフトを作る方も、使う方うも面倒でしかたが無い。ユーザにしても、LAN上で動かしているIEと、モデムからインターネットで動かしているIEの両方をインストールするなんて悪夢である。

それで、通信ソフトというものは、役割分担して階層をわけている。担当、係長、課長、部長。。。のように。詳しくはここを。例えば、インターネットで使われるIP;InternetProtocolは第3層、課長に相当するが、このプロトコルを使う第3層のソフトは、物理媒体が、電話線か、イーサかなど気にする必要なく書く事ができる。第2層との間のインタフェイス(APIとかProtocolとか、結局は皆、Interface;界面=境界(条件)なんですね。interfaceなんて言葉は知らなくても、surface なら知っているでしょ。faceも類似ですね)さえ決めておけば良い。2層のソフトが電話線用のものであれ、イーサの物であれ、それぞれやる事はちがっても3層には同じ形式と内容で報告したり、指示を受けたりする。

プロトコルは、ある層の通信ソフトが話す一種の(話し方)だと思えばいい。さて、そうすると、各層にはその層用のプロトコルがあり、

アプリケーション層/
プレゼンテーション層
HTTP(WWW)  FTP(file転送)  SMTP(Mail送信)  POP(Mail受信)
IMAP(Mail受信)  TELNET(Remote login)  RLOGIN(Remote login) 
NFS(ファイル共有)  SMBファイル共有プロトコル  TFTP
セッション層
Socket  NetBIOS
トランスポート層
TCP    UDP    NetBEUI
ネットワーク層 IP  NetBEUI  ICMP(ping,tracert)  ARP X.25 フレームリレー ATM
データリンク層 PPP  SLIP  CSLIP  PLIP  イーサネット  トークンリング
X.25  フレームリレー  ATM  IrDA
物理層モデム、TA等/電話線  イーサネット/UTP  ケーブルモデム/CATV
トークンリング  IrDA/赤外線
  ( )内そのプロトコルをつかったアプリケーション。
  X.25、フレームリレー、ATMは、3層の副層として、IPの下に位置する。


の様な様相になる。

例えば、WebはHTTPを使っているが、データをホームページから取ってくる仕事は、TCPに依頼しているのである。




このページの先頭    目 次