187.ADSL/CATVなどのブロードバンド回線を使って家庭内LANを構築 2003.1   目 次

最近、Yahoo!BBが物凄いキャンペーンをやっている。何しろ、4,5万円するADSLモデム、しかも、BBフォンと、無線アクセス機能(1台のPCしか繋げられない??)までついているコンボ型を路上でどんどん配っているのである。で、これを親戚やら、友人やらがもらってきたのはいいが、複数のPCをつけるにはどうしたら良いか分からないという。ここに書いたつもりであるが、これではだめだそうだ。で、もう少し、きちんと書いてみることにした。

まず、この図を見ていただきたい。基本はこれだけである。

homelan.jpg



  ・モデムとルータは一体型になっているものもある。NTTのフレッツADSLなど
  ・ルータとアクセスポイントは一体になっているものもある。一般の機器
  ・モデムとルータとアクセスポイントは一体になっているものもある。Yahoo!BBなど

   但し、一般にはモデムは通信キャリアが供給するので、
   一般の店で売っていない物もある。

モデム; ADSLまたはCATVモデム。あるいは、Bフレッツの人は、FTTHモデム。これらは、通信キャリア(Yahoo!BB、NTTなど)からレンタルまたは買取。レンタルをお勧めする。何しろ進歩が速いので、何時、買い替えになるか分からない。特にADSL/CATVはそうである。

ブロードバンドルータ(以下、BBRと略す); 基本は、これ1つ買い足すだけでよい
下記、HUBとアクセスポイントは拡張したい時のオプションである。 ADSL/CATVの場合、5000円以下のもので良い。 WAN側(インターネット側)が10Mbps程度の速度があれば十分である。それ以下の物は無いので、実際には気にする必要はない。ADSL 12Mbpsは、どう頑張っても10Mbpsなんてでないし、CATVに至っては、論外だからである。つまり、2000円とか、1000円とか(あればだが)どんな安物を買っても十分である。2003.1.15時点では、居候の知る限り、秋葉原中央通りの旧ミナミの下横にある「俺コンハウス」が最安値であった。ネットワーク機器だけは裏筋の居候好みの中古屋/ジャンク屋はダメで、ここが安い(注意;Mapfanの地図は秋葉原の栄枯盛衰の速さについていけないので、店の名前が古い)。

BフレッツなどのFTTHで、100Mbpsを謳っているものはWAN側50Mbps程度以上のものを選ぶ。このFTTHも100Mbpsなど八百万の神に誓ってでないから、これで十分である。2003.1現在で、WAN側50MbpsのBBRは、1万円程度するだろう。

LAN側は、10/100Mbpsのものを選ぶ、というか、これしかないので気にする必要はない(2003.1時点)。BBRが出てきた時点では、LANは既に100Mbpになっていたからね。BBRの実体は、SH4などの軽いMPUと、LINUX風の組みこみOSである。

HUB; BBRには、4とか5個のLANの接続口(RJ-45)が出ている。つまりHUBの機能を持っているが、PCをこれ以上つける時には、HUBが必要になる。HUBとBBRは、HUB/BBRのカスケード接続の口を使う。1個だけ横に切り替えスイッチが付いている接続口があるでしょ。そこを使う。この接続口の表記の仕方は、まちまちだから、試行錯誤してみよう。HUBの電源、BBRの電源を入れ、そのBBRが繋がっている接続口に対応しているLEDが点灯すればOK。しなければ、スイッチを切り替えてみよう。BBR側は固定して、HUB側で切り替えてみる。

アクセスポイント(以下、APと略す)
無線LANを使いたい時は、APを付ける。APは、PCだと思って付ければ良い。実際、APの実体は、MPUと無線回路(RF)とOS等のソフトである。APとPCにつける無線LANカードは、802.11bというものにする。間違って、802.11にすると、色々面倒なことになる。802.11bは、最大11Mbpsの速度、802.11aは最大54Mbpsの速度である。速い方が良いと思って大枚はたいてaを買うと室内では7mくらいしか届かないし、1階にAPを置き、2階のPCで使うということは、まずできない。5GHz帯という周波数のため、床や壁をとても貫通しにくいのだ。どうせ、インターネット側が1Mbpsもでればオオ、速いという程度だし、Webサーバもそんなに速くないから、11Mbpsで十分なのである。もっとも、これも実速度は4Mbps程度で頭打ちである。それから、ジャンク屋などでは、時に、802.11と(11の後ろにaとか、bとかの英字が何もないもの)いうものがあるが、これは、お金を捨てるつもり以外、買ってはだめ。実効速度、数十Kbps程度しかでない。恐ろしく古い規格である。

ブロードバンドルータには、APを一体にしたものがある。最初から無線LANも組むつもりなら、これを買う手もある。ただ、BBRとAPのどちらかが壊れただけで全部買い換えになり高くつく可能性はある。その代わりというか、電源は1個にまとめられるので、モデム周りがスッキリするし、電力も心持安くつくだろう。まあ、好き好きである。居候は、一体型は嫌いなので、バラバラである。

さて、モデムの設定は、通信会社のマニュアルに任せるとして、BBRとAPにはかなり面倒な設定が必要である。 訳のわからない専門用語の羅列になる。BBRは、ひとまず、なにも設定せず、そのままで使える設定になっていると思う。必要なら最低限の設定だけにして、なんとかなるが、APはそうはいかない。結構面倒である。

なお、図中に番号をふった回線速度は以下の通りである;

1、2; ADSLまたはCATV、あるいはFTTH; 最大12Mbps程度。FTTHの場合、最大100Mbps

ADSL;1.5Mbps〜12Mbps。CATV;CATV会社に確認のこと。700Kbps〜2Mbps程度か??FTTH; 100Mbps。これらは、全て最大理論値であり、決してこの速度がでることはない。何故って?あなたの給料を考えてみるとわかると思うが、額面と、手取りの差だね。なんで、こんなに引かれるの?!?!?!?って(`_´メ)(-_-#)、どう考えても納得がいかないくらい色々引かれているでしょ。こう言うのをoverheadという。

3、4; 10Mbpsまたは、100Mbps。PCに付けたイーサカード(以下、NIC)、HUBの速度に依存。2002年以降に新品で買っていれば100Mbpsである。

; 802.11b;11Mbps、802.11a;54Mbps.これも理論速度。実効値は、1/3〜1/2程度。


BBRの設定

BBRには、一応、対応OSというものが書いてある。が、本来、BBRはOSには依存しない。もし、対応OSが書いてあるとすれば、(1)そのOSが使っている特殊なプロトコル(例えば、IPX/SPX)を通すかどうかということと、(2)BBRの設定ソフトが、OSに依存しているということである。

なお、BBRにはドライバーというものは要らない。APも同じである。図を見てわかるように、これらはPCの周辺機器ではない。独立した装置である。だから、ドライバーなどは存在しない。

(1)は気にしなくてよい。我々がここでやろうとしていることに用いるプロトコルは、TCP/IPだけである。あるいは、LAN側で、Netbeuiも使うかもしれないが、この2つは必ずサポートされている。

(2)に関しては、ほとんどのBBRは、IEやネスケなどのブラウザから設定できるようになっている。よって、これも気にする必要はない。が、まあ、Win98、WinMe、Win2000、WinXP程度には対応しているから、わざわざ非対応のBBRを買うことはない。

PCからBBRにIEなどのブラウザで接続する方法

BBRは、PCの周辺機器ではない。つまりPCの部品のような隷属した存在ではなく、独立したコンピュータである。つまり、今あなたが見ているこの居候部屋のWebサーバに接続して、ページを開いたり、戻ったりしているのと同じように、ブラウザで接続して設定などの操作を行う。

そのためにBBRはWebサーバ機能を搭載している。そのアドレスは、BBRのマニュアルに書いてあるのでそれを探してほしい。大抵は、

192.168.xx.xx

のような形になっている。xxは実際は数字である。例えば、192.168.0.1とか、192.168.1.1などである。

これは、IPアドレスのなので、BBRと同じLAN上にあるPCのIEのアドレス欄に、

  HTTP://192.168.0.1/

などのように入力する。 そうすると、ユーザ名と、パスワードを入れる窓が開くだろう。これはメーカによって多少ことなるから、マニュアルを参照のこと。うっかり、変なパスワードを入れて思い出せなくなったら、一巻の終わりであるから、タイプミスのないよう慎重におこなう。

これで、いろいろ設定を入力する窓が開く。Webで買い物や、何かダウンロードの時の登録とかをしたことのある人ならすぐ分かるだろう。が、内容については、わからないかも知れない。DHCPをドウタラといわれてもね。まあ、マニュアルを見るのが原則であるが、以下では、解説を試みることにする。

DHCPサーバ/クライアント (デー・エイチ・シー・ピー)

これは、普通、サーバ、クライアントともon(有効)にしておく

但し、このような名前にはなっていないことが多い。「IPアドレスの自動取得」などの項目があれば、これである。
PCをネットワークに組みこむ以上、それに対してなんらかのアドレス(電話の電話番号と同じ。それがないと電話がつながらないでしょ)を付けなければならない。家の場合、アドレス(住所)だし、電話の場合、電話番号である。これと同じことである。インターネットとLANでは、IPアドレス(アイ・ピー・アドレス)という。これを付けなくてはならないが、これは世界中の何十億台というPCに付けられるので、当然管理されている。電話番号はNTTがつけている。貴方が勝手に付けているわけではない。IPアドレスも原則はそうである。

で、基本は、ISP(Yahoo!BBとか、Nifty、Biglobe、ASAHI-NETなど)と貴方が契約すると、あなたのPCに1つくれるのだが、固定的な番号は、普通は、くれない。ISPにつないだ時に、つないでいる間だけくれる。それでは、電話のように誰かが貴方のPCに連絡をしようとしてもできないではないか。その通りである。でも、そんな使いかたはしていないでしょ。貴方がWebやメールをしたいときに自分からインターネットにつなぐことはあっても、誰かがあなたのPCにつなぎに来るような使い方はしていないでしょ。その場合、この一時借りでいいのである。あなたが、自宅のPCをWebサーバにして、24時間電源を入れっぱなしにして、誰かがつなぎに来る、という使い方をしたいと思ったら、IPアドレスの一時借りではこれは通常はできないので、IPアドレスの買取になる。それもISPに言えば、売ってくれる。普通はそんなことをしても何の得にもならないので、一時借り、つまりリースするのである。

さて、では、どうやってIPアドレスのリースをするのだろう。PCの場合、ネットワークコンピュータ(マイネットワーク)で、「IPアドレスを自動的に取得」という項目にチェックを入れたはずである。これが、ISPにつないだ時に、IPアドレスを貸して下さいと、PCがISPのサーバに依頼するための設定である。このように、IPアドレスをリースするやり取りの方法をDHCPという(本当はちょっと違うが、まあ簡単にはそう思っておく)。だから、BBRのWAN側にはISPのDHCPサーバにIPアドレスを貸してくださいと頼むためのDHCPクライアント(お客)機能がある。これは、onにしておく必要がある。上の図の設定では、BBRがISPのLANに繋がっているので、家のPCではなく、このBBRがISPから見える最初のネットワーク機器であり、ISPがIPアドレスをリースする相手は、このBBRなのである。モデムはインターネットやLANから見たら存在しないものである。LANや電話線のような異質の物をつなぐための変換機にすぎずネットワークの本質的な要素ではないからである。例えば、RJ45のプラグだって、あるかないかなどネットワーク機器は気にしないでしょ。それと同じことである。

さて、そうすると、今度は家の中のLANにつないであるPCのIPアドレスはどうなるのだろうか?ISPは普通、お金を出さない限り、IPアドレスは1個しかリースしてくれない。PC達は、アドレス無しになるのだろうか。いや、内線番号をつければいいのである。内線番号は、電話番号でも勝手につけられる。BBRは電話で言えば交換機で、NTTから見た時にはこれしか見えず、電話番号も交換機にしかつかないのと同じである。交換機の向こう側に何十台の電話機がついていようと、NTTはしったことではないのと同じことである。内線番号(IPアドレスだが)は、一応は、範囲は決まっていて、普通は192.168で始まる番号を使うことに世界的になっている。が、そんなことは貴方は知る必要はない。PCは、今まで通り「IPアドレスを自動的に取得」としておけばよい。PCはBBRに対して、IPアドレスをリースしてほしいという通信を行う。BBRには、従って、DHCPサーバ機能が必要である。BBRは、LAN側ではDHCPサーバとして機能するようになっている。これが、この項の設定内容である。


NAT(ナッツ)
これは、普通、何もしなくて良い
これは、上記の内線番号方式が理解できれば簡単である。Network Address Translation。Network Addressとは、IPアドレスのことである。つまり、IPアドレスを変換(translationは、辞書には翻訳と載っている、と悩むことはない。本質を理解すること)する仕掛けである。BBRには世界に通用する外線のIPアドレスがつく。ところがPCには内線アドレスしかついていない。外から(インターネットから)来るパケット(情報は、電子的な小包になってアドレスが表に書かれた形で到着する)には、BBR向けのアドレスしか書いてない。でも、BBRは自分が、LANの上にあるPCにどんな内線番号を割り当てたかしっているので、このパケットの表書きのIPアドレスをPCに割り当てたアドレスに書き換えてLANに流す。PCは、そのアドレスが自分のものであればそれを受け取る(ように作ってある)。このようにIPアドレスを(外線と内線の間で)変換する機能をNATと呼ぶ。実際には、BBRは、もう少し進化したIPマスカレードという機能を用いているので、NATは必要ない。しかし、IPマスカレードのことをNATともいう人もあるし、マルチNATと呼ぶこともあるので、一応、NATという言葉は知っておいたほうが良い。


IPマスカレード アイピー・マスカレード
これは、普通、何もしなくて良い

LAN上には、複数のPCが普通はある。NATでは、1台だけのPCが普通はあるとして外線番号(これをglobal IP addressという。グローバル アイピー・アドレス;グローバル;地球の、大域的な)を内線番号(private IP address;プライベート・アイピー・アドレス)に変換する機能であった。これでは、2台以上のPCがあるときに、どちらの内線番号に変換してよいか分からなくなる。それを解決する機能がIPマスカレードである。

前にも書いたが、サーバを建てていない家庭のLANでは、インターネット側からアクセスされることは、クラックは別として、ない。普通は、まず、LAN上のPCが(つまり貴方が)、インターネットのどこかのサーバに向かって何かを行う。Webを見るとか、メールを出すとかである。Webを見るにはブラウザから、Webサーバに対して、自分のIPアドレスが入った、ページ送信要求パケットを出す。あなたのIEのようなブラウザは、あなたがURLを入れると、これを行っている。貴方のPCは、BBRがリースしたIPアドレス(例;192.168.0.10)になっている。IEから出て行くパケットには、このアドレスがついている。

実は、もう一つ、ポート番号というものもついているのである。要するにアドレスが2個あるのであるが、ポート番号は使い捨て、その場限りで、PCの中のOSが付けていると思えば良い。そうすると、BBRは、例えば、貴方のPC1から来た192.169.0.10というIPアドレスと11というポート番号をもったパケットのIPアドレスを133.xx.xx.xx(これがBBRがISPからリースしたIPアドレスとする)という外線番号と11というポート番号に変換してインターネットに送り出す。この時、ポート番号11はPC1から来たパケットだということを覚えている。このパケットを受け取ったWebサーバ(あるいはメールならメールサーバ)は、このパケットの要求に応じた内容のパケットを送り返してくる。この時の返り先アドレスが、133.xx.xx.xx、ポート番号11である。133.xx.xx.xxだけでは、BBRは、これをPC1、PC2のどちらに返すのか分からなくなるが、ポート番号11はPC1から来たということを覚えてあるので、192.168.0.10に変換して(PC1に)送り返すことができるのである。 このようにポートを使って送り先を決めることをport forwardingと呼ぶ。

が、なぜかこのような複数のPCの内線番号を一つの外線番号に変換し、同時に混信なく通信する方法をIPマスカレード(masquerade)とよぶ。NATのようにアドレス変換ではなく、IP番号に仮面をつけ、隠してしまうこと(つまり仮装)が主眼になった命名である。実際には、192.168.0.10、192.168.0.11、192.168.0.12から来ているのに、インターネットから見たら、133.111.xx.xxから来たとしか見えない。192.168.0.10が、133.111.xx.xxに仮装していることからこのように呼ぶのであろう。

バーチャルサーバ、バーチャルPC、静的IPマスカレード、静的NAT
これは、普通、何もしなくて良い
これらは名前は違うが、基本的に同じ目的を意味している。
外のPCから家のPCにアクセスしたい場合にこの機能を使う。
外から家のPCにアクセスするには、そのPCのIPアドレスがわからないとアクセスできない。電話で考えれば分かるね。電話番号(IPアドレスに対応)が分からずに電話はかけられない。ところで、家のPCにはプライベートIPアドレスが付けてあるはず。で、一応、IPアドレスは分かっている、というか調べれば分かる。例えば、192.168.0.4というように。

ところが、プライベートIPアドレスというのは、電話で言えば内線だから、そんなものが分かっていてもアクセスできない。外線番号にあたるグローバルIPアドレスが必要である。Yahoo!BBやフレッツADSLなどは、これを接続時にリースしてPCか、その前にルータがあればルータに割り当ててくれる。これはDHCPが勝手にやっているので、貴方はしらないだろう。それでも、調べればわかる。

それはわかったとしよう。で、今は、BBRがある場合を考えているので、このグローバルIPアドレスは、BBRに付く。そうすると、外からそのIPアドレスにアクセスしてもBBRにアクセスできるだけで、家の中のLAN上にあるPCにはアクセスできない。ここで、少し仕掛けをすると、内部のプライベートIPアドレスしか持たないPCにアクセスできるようになる。

さて、一体、なぜ外から家のPCにアクセスできるようにしたいのか?Webサーバを建てて、外から見てもらうようにしたい。メールサーバを建てて、直接メールが来るようにしたい。Telnetサーバを建てて、外出先から自分のPCのファイルを見たい。FTPサーバを建てて、外とファイルの交換をしたい。などのためである。ということは、PCにサーバプログラムをインストールしないと当然、外からアクセスできない。サーバの入っていないPCにはアクセスできない。

さて、上の各サーバは全てそれ特有の通信プロトコルというものを使う。プロトコルとは通信の為にPC同士が使う言葉である。日本語のように万能プロトコルというものは、効率が悪いので、専用の言葉になっている。Webに使うプロトコルはHTTP、メールを送る時に使うのはSMTP、メールをサーバから読み出す時に使うのはPOP(POP3というようにバージョンが付くのが普通)ファイルダウンロードならFTPというように決まっている。このプロトコルの指定には、この名前ではなく、番号がついている。この番号のことをポートという。これはプロトコルに付いている番号であるが、サーバは一意的にどれかのプロトコルを使うからサーバの識別番号と思ってもいい。HTTPは80ポートを使う。Webは80ポートを使うといってもいい。

このポートは自分で勝手に変えることも可能である。自分のWebサーバは12345にしたければしても良い。Webサーバは、ポートを設定することができるようになっている。しかし、それでは、誰も貴方のWebサーバに来訪できない。Webサーバは世界的に80で行こうという約束になっているから、貴方はIEやネスケやOperaで、ポートを指定しなくても、それらのブラウザは80だと思ってアクセスしているからである。もし、80以外のポートを使っているWebサーバにアクセスしたければ、URLで指定しなければならない。こんな風に;

     http://www.nowhere.jp:12345/

このポート指定を省略すると、ブラウザは、80にアクセスするのである。

さて、192.168.0.4というプライベートIPアドレスを持つPCにWebサーバをインストールしたとしよう。

     →
−−−−−−−−BBR−−−−−−PC/Webサーバ
     133.xx.xx.xx       192.168.0.4

Webサーバはポート80だから、BBRは、[133.xx.xx.xx/ポート80]というアドレスを持っているパケットは、192.168.0.4にまわしてしまえばよい。192.168.0.4は勿論、Webサーバがインストールされているからポート80に来たパケットを受け取ることができる。もし、この同じPCにメールサーバ(SMTP)をインストールしたのなら、ポート25に来たパケットも192.168.0.4に交わせば良い。Telnetサーバをもう一台の別のPC(192.168.0.7としよう)にインストールしたのなら、ポート23に来たパケットは、192.168.0.7にまわす。こうすることによって、プライベートIPアドレスしか与えられていないPCにも外からアクセス可能になる。外から見ればこの2つのPCは、あたかも133.xx.xx.xxというグローバルIPアドレスを持っているように見える。本当は、持っていないので、バーチャル(仮の)サーバといわれるのだろう。

ここで、気をつけなければならないことは、折角IPマスカレードにより、外から隠して見えなくなっているPCが、この機能により、見えてしまっているということである。何しろパケットが届くのだから。それは見えているということなのである。そのパケットにウィルスが入っていたり、クラッカーが侵入するため操作が入っていたりすれば、そのPCは危機に曝され、さらにそのPCを通して、LAN全体が危機に曝されるということは覚えておかなくてはならない

例えば、Telnetサーバを建てていれば、外からそのPCが使える。管理者権限があれば、formatでもfdiskでも、ファイル削除でも自由自在である。さらには、LAN上の他のPCが動いていて、それらのPCがネットワークコンピュータでファイル共有などしていたら、そのPCも危ない。このことは良く覚えておくべきである。

バーチャルサーバの指定は、もうわかったと思うが下記の情報を、BBRに登録することによって可能になる。TCPか、UDPかはこれまで出てこなかったが、一般的なサーバはTCPである。もし、VideoOnDemandのようなストリーム系のサーバをインストールすれば、それは多分、UDPを使っている。TCPは、送られたデータの正当性を保証している。ネットワーク上では、データが化けたり、無くなったりする。そういうことが起きた場合は、自動的に再送して、必ず正しいデータが相手に届くようにするプロトコルがTCPなのである。従って、重い。メールやプログラムなどが文字化けしては読めなかったり、動かなかったりするので、これらは必ずTCPを使う。一方、映画などを見る時には、スピードが問題になる(ダウンロードではなく、見捨てである。インターネットラジオも同じである)。重くて遅いと、映像がカクカカクして不連続になったり、止まってしまったりする。映画は1秒間に20枚の画像を使う。1枚位無くなっても、人間の目には見えない。つまりデータが完全に正しい必要はないが、遅れるのは困る。もう1秒前に済んでしまった場面が再送されてきても、使い道が無い。そういう場合はUDPを使うのである。一般には、我々、家庭サーバ族には関係ない。

バーチャルサーバの指定に必要なデータ
  プライベートIPアドレス
  プロトコル(TCP or UDP)
  ポート番号



DMZ DeMilitarized Zone 非武装地帯
これは、普通、何もしなくて良い
読んで分かるように、BBRの内側にありながら、守られていないゾーンである。これ、本来のネットワークで使うDMZとは違う意味で使われている。BBR独特の、変な用法だから、気をつけること。一般のDMZの意味とは異なる。

特殊なバーチャルサーバだと思えば良い。ごみ箱バーチャルサーバ、あるいは、その他なんでもバーチャルサーバとでも言おうか。

バーチャルサーバでは、ある特定のポート番号を指定して、サーバPCにそのポート番号を持つパケットを転送した。それ以外のポートのパケットは、普通はBBRで廃棄される。でも、このDMZ機能を有効にしておくと、このPCに転送される。ネットワークゲームなどでは、特定のポートを使わないものがある。パケット毎に異なるポートが入っている。要するに好い加減なのである。だから、ポートを指定できない。その場合、ゲームをするPCのIPアドレスをDMZに指定しておくと、どんなポートでも、そこにまわされる。

既に、バーチャルサーバのところでも触れたが、これはDMZで指定したPCが外からみえていることを意味する。WindowsXPのリモートデスクトップなどがonになっていると、リモートデスクトップの使っているポート番号を持つパケットはすべてDMZのPCに転送されるから、外からやり放題である。Admin権限で入られたら、そのPCは一巻の終わりであることは銘記しておくべきである。DMZは怖い。

逆に、存在しないIPアドレスをここに指定しておくと、全パケットはここに転送されるが、存在していないので、LANの中で消えてしまう。133.xx.xx.xxにpingをされると、BBRによっては、応えてしまい、このIPアドレスの機器が存在していると相手に分かってしまうが、DMZにまわしてしまえば、誰も応えないので存在が、一応は秘匿でき、多少であろうが、クラックされる危険を回避できる。


I−O DATAのNP−BBRxpの設定



イーサネット用ケーブル(カテゴリ5以上)でNP−BBRxpにPCをつなぎ、IEなどブラウザを立ち上げて、アドレス欄に

http://192.168.0.1/


と打ちこむ。すると、認証の窓が開く。確か、ユーザがadminで、パスワードは何もなし、つまり、空欄が初期設定(デフォールト)だったと思うが、マニュアルを参照のこと。

bbr01.jpg

これが初期画面。左側の緑色のペインがメニュー。右側の黄色に濃い緑の帯があるペインが設定窓。

最初は、インターネット(WAN)側の設定になっている。

「インターネット共有設定モードの選択」

右のペインの上に、「インターネット共有設定モードの選択」とあるが、これがDHCPクライアント機能の設定である。
NTTのPPPoEとYahoo!BB/CATVでは方法が違うのでどちらかを選ぶ。
NTTのフレッツはPPPoE。
Yahoo!BBやCATVは、この上の図の項目を選んでおく;
CATVインターネット設定モード- DHCPによるIP自動設定。接続時に使用します

これで、WAN側のDHCPクライアント機能をonにしたことになる。

PPPoEの人は、ここでPPPoEという項目を選ぶ。


CATV(DHCP自動設定)接続アドレス設定

上で、DHCPクライアント機能がonになっている項目を選んであるので、ここは何もしなくても、DHCPが勝手に設定してくれる。何もしなくてよい。

下にスクロールすると、下記の設定項目になる。

bbr02.jpg

ここも何もする必要はない。
ドメイン名の設定;ISPから特に指定されている場合。よほど変なISPに入っていなければ、そんな指定はないとおもう。Yahoo!BBでは必要ない。
MACアドレスの設定; CATVに以前、イーサカードのMACアドレスを登録したことがあれば、そのMACアドレスをここに書いておく。最近のCATVでは、そんなことはないと思う。もし、あるなら、そういう嫌らしいところは止めて、Yahoo!BBに鞍替えしよう。

以上で、インターネット側の設定は終わりである。要するに、最初の項目選定だけを行えば、後は原則何もする必要はない。特に、Yahoo!BBでは、そうである。居候は別に、Yahoo!BBの回し者ではないヨ。



さて、これからはLAN側の設定である。左のメニューで、LAN側の設定を選ぶ。ここも、殆どやることはない。

LAN側の設定

bbr03.jpg

NP−BBRxpのIPアドレスの設定
最初に、これに接続するために192.168.0.1を入れたが、あのアドレスが初期設定で入っている。変えないで良い。というか、うかつに変えて、それを忘れてしまうと多少面倒なことになるので、こういうものは変えないことである。
サブネットマスクの設定
このままにしておく。意味がわからず変えると、繋がらなくなって、面倒なことになる。

255.255.255.0

DHCPサーバ機能
貴方が素人なら、ここはこの図の通り「使用する」にしておく。そして、LAN上のパソコンのTCP/IP設定で、IPアドレスの取得は、「自動」にしておく。これで、IPアドレスのことは何も考えなくてよくなる。
他の値も上の図を真似ておけば問題ない。
下の図は、IPアドレスの取得の「自動/手動」設定の個所である。
この図では手動設定になっている。当然、
「IPアドレスを自動的に取得」とする。

ipadr.jpg
これはWin95のネットワークコンピュータ

なお、特に手動でIPアドレスを設定したい場合、それは自分ですれば良い。但し、上のDHCPサーバが使う値の外側に設定しておかなければ、同じIPアドレスを持つPCがLAN上に存在する可能性が出るので、奇妙なことが起き、原因がわからず悩むことになる。

上の場合、192.168.0.2から30個の連続したIPアドレスを使うので、

192.168.0.2〜192.168.0.31

を用いる。だから手動のPCは、192.168.0.33〜192.168.0.254のどれかを用いる。192.168.0はネットワークアドレスだから、ここは変えてはいけない。変えると繋がらなくなる。なぜ、192.168.0がネットワークアドレスと分かるのか?上で、サブネットマスクの設定を255.255.255.0としたが、これが、どこまでがネットワークアドレスかを規定するための設定なのである。ここでは簡単のため、マスクの0の所がPCのアドレスだと思っておこう。また、アドレスには0と255は使ってはいけない。これは、OSに予約されている。なお、「.」で区切られた一つの枡には、0〜255の値が入る(8bit)。

高度な設定→バーチャルサーバの設定

ここは、登録することになる。最初は何も登録されていない。WebサーバをLANに建てて世界に公開したい人、メールサーバを自前で持ちたい人には、これが必要である。

しかし、サーバを建てれば必ず、クラッカーが侵入してくる。これはお約束である。必ずなのである。このこそ泥どもは、このHPを読んでいるような素人が無防備なサーバを建てるのを今や遅しと待っているのである。クラックされれば貴方だけでなく、そこを踏み台にして他のコンピュータにも入っていくので、それは貴方が共犯者とみなされ有罪になる場合もある。それでもやりたいという場合、それを承知の上で、設定していただきたい。

bbr04.jpg

転送先の設定  転送先IPアドレス
LAN上に建てたサーバ(PC)のIPアドレスである。これは、そのPCのファイル名を指定して実行などから、winipcfgなどを実行すれば表示される。Win9xでサーバは建てないだろうから、実際にはwinipcfgではない。NT、2000、XPではそれぞれ少しずつ違うと思うので、自ら多少苦労して調べてみよう。これくらいできなくては、先がない。

手動で設定した場合は、そんなことをしなくても分かるね。

既に、192.168.0までは入っているから、最後の欄に4とか5とか入れれば良いだけである。


ポートの設定
ポートとはアプリケーション(Webサーバ、メールサーバ、Telnetサーバなどのサーバ)の識別番号である。
アプリケーション名で指定
サーバアプリは、特殊なものでなければWell Known Portとして決まっている。図では

FTP(TCP 21)

というのが見えている。ポートというのはTCP(とUDP)が使うアプリの識別番号。IPアドレスはいうまでもなくIPのアドレスである。

この窓から、メール(SMTP;25、POP3;110)、Web(HTTP:80)などを選ぶ。

ポート番号で指定 ここにないアプリのポートは、直接に数字で入力する。それがなんであるかは、自分で建てたサーバだからあなたが知っているはずである。

プロトコルの種類
この場合、TCPかUDPかも指定する必要がある。それも貴方がしっているはずである。

サーバリストへ追加
以上を入力したら、このボタンを押すと、設定済みのバーチャルサーバリストに追加される。この図では、192.168.0.2がサーバで、25、113、8080、110などのポートが見える。





MELCOのBLR−TX4Lの設定




イーサネット用ケーブル(カテゴリ5以上)でBLR−TX4LにPCをつなぎ、IEなどブラウザを立ち上げて、アドレス欄に

http://192.168.0.1/


と打ちこむ。すると、下のような認証の窓が開く。買って来たばかりなら、ユーザ名はadmin、パスワードは無し。

blp01.jpg


blp02.jpg

一番上の「簡易設定」からやってみよう。

blp03.jpg


PPPoEをクライアント機能を使用しない。
CATV、Yahoo!BBなどはこちら。

blp04.jpg


DHCP,DNSともに「自動取得」にしておく。CATVで、DNSが、もしマニュアルにIPアドレスが指定されていて、手で入れると書いてあれば、それに従う。
これで、設定は終わり。簡単なものである。


「詳細設定」を行ってみよう。

blp05.jpg

「DHCPサーバ」とは、このBLR−TX4LがLAN上のPCに必要なネットワーク設定情報を自動で送る機能である。その主体は、IPアドレスの割り振りである。BLR−TX4Lは192.168.0.1を使っているからそこから先のIPアドレスを指定する。図では、192.168.0.3になっている。別に、192.168.0.2からで良い。好き好きである。何台のPCがLAN上にあるかを指定しておく。16台になっている。余裕を持たせただけである。

下半分に、「LAN側IPアドレス」と書いてあるところは、BLR−TX4L自身の設定である。IPアドレスは、192.168.0.1であったが、それはここで指定してあるからである。ここを変えれば好きにできるが、そんなことはしないほうが良い。忘れるとブラウザからつながらなくなる。RIPなどは、極めて専門的なことで、知らなくても全然かまわないが、このままにしておくこと。

NTTのフレッツADSLなどはこちら。
PPPoEをクライアント機能を使用する。

PPPoEは、認証システムだから、ISPから与えられたユーザ名と、自分で決めたパスワードを入れる。すると、DHCPと類似機能によって、IPアドレスが自動的にBLR−TX4LのWAN側に与えられる。

blppppoe04.jpg


DNSは「自動取得」で良い。が、ISPから異なる指定があるときはそれに従う。

blppppoe05.jpg


APの設定
APの設定は、結構、面倒くさい。その設定は、有線LANで繋がっているPCのブラウザ(IE)から行う。間違えないでほしいのは、APは独立した装置であるが、ノートPC側に付ける無線LANカード(USB用もある)は、PCの周辺機器だから、ドライバーをインストールしなければならない。そして、当然のことながら、この無線LANを付けたPCからAPの設定はできない。設定終了までは無線LANは使えないのだからね。APの設定は、有線LANでつながっているPCから行う。無線LANカードの話は、最後に書くことにする。まずはAPの設定。

E-SSID
WEP
MACアドレスアクセス制御
これらに関しては、126項など を参照。




188.Windows2000の入っているドライブにWindows98を入れてからWindows2000を消す 2003.2  目 次

Windows2000があまりに使いにくいので、Windows98にダウングレード。C:、D:、E:をもともとFAT32にしてあるので、fdiskも、formatもせず、4GBのC:にWindows2000がはいっているままにWindows98を起動フロッピーから起動して入れた。起動FDはFAT16しか知らないのだが、ファイルアクセスはマザーボードの大容量HDDをサポートしているBIOSに面倒みてもらうので、4GBのC:にもアクセスできるし、30GBのE:にもアクセスできる。勿論、1997年ころの古いマザーボードでは、80GBのHDDには対応していないので、こんなわけには行かない。2GBしか見えない。

基本は、ここを読んでもらうとして
Win9xとWindowsNT(多分、NT系の2000でも)とのデュアルブートの解消法

ここでは、Windows98とWindows2000の場合の問題を検討する。
なお、Windows98=Win98、Windows2000=Win2K等。

♪デュアルブート環境の解消;PBR書き換え
Win98は、Win2kの存在を(多分、WinNT4.0として)認識して、デュアルブート環境になる。これが、Win95だとデュアルブート環境になどならずに、PBRを自分だけのものに勝手に書き換えてしまうので、簡単である。Win98は、却って面倒なことになる。PBRを書き換えずWin2000のもののままだから、起動時にOSセレクタが起動し、

   Windows2000
   Windows98

の選択画面になる。この後、Windows2000を選べばc:\ntldr、Windows98を選べばc:\bootsect.dos(これは、Win98のPBRをファイル化したもの。Win2Kの居るHDDにWin98を入れると、Win98がこんな作業をインストール時にやっているのだ)→io.sysで起動していく。

win2000は要らないのだから、PBRを書きかえる;

Win98の起動フロッピから起動して、

    A:\> sys c:


として、PBRをWin98のものに書きかえる。(Win2KをC:に入れた場合)

注意;
・よくある間違いだが、WindowsファミリーではMBRはすべて同じなので、
 「fdisk /MBR」は不要だし、何の意味もない。
・Win95の起動FDを使うと、起動時のWin98の旗が、Win95になってしまうよ。

011d.gifコーヒブレイク
起動時ロゴの直し方/作り方
ちゃんと、Win98の起動FDで sys c: をやりましょう。(^^;;;)

でなければ、C:\logo.sysというビットマップ ファイルを作る。これがない場合、io.sys に埋め込まれたビットマップが使われる。こんなものは書き換えられないので、どこかから適当な起動画面を入手して、C:\logo.sysとすればいい。

  例:ZIP圧縮15KB

   注意;このファイルを使う時は、C:\にあるオリジナルをlogo.oldなどに
   renameしておかないと元にもどらなくなります。


自分で作りたい時は、ペイントで、640x480、256色のビットマップファイル(.bmp)を作り、それを縦をそのまま、横を1/2(320)に変換して、縦長の320x480、256色bmpファイルにして保存し、それをlogo.sysに名前を変え、c:\に移動する。縦長にしておかないと、起動時に横に2倍に引き伸ばされひしゃげた画像になる。ペイントの場合、メニューの「変形→伸縮と傾き」で、水平方向50%にする。 他の画像処理ソフトなら、リサイズを、縦横比を保存するからチェックを外し、横を50%に設定して行う。


♪Winntフォルダを消そうとしても、消せない理由
win2kはHDDに1GBものファイル群を持っているので、これは消したい。しかし、Win98のエクスプローラからでは消せない。Win98はWin2kの存在を認識し、デュアルブート環境を構築するだけに、Win2kのファイル群を守ろうとする。一見、消えていても再起動すると、なんと、元に戻っている。

Win2Kは、バージョンで言えば、WinNT5.0だから、そのフォルダーはWinntである。あなたが、インストール時に変えていなければだが。因みに、インストールしてから、この名前を変えようとすると、奇妙な現象が起きる;winnt→winntxとしてみると、winntフォルダーが、別途、復活してくる。アクセスすると、拒否される。再起動すると消えている。システムフォルダWinntをWinntxに変えてしまったのだから、これは既にシステムだとは認識されないと思ったら、キチンとというか、Windowsの特徴である小さな親切大きなお世話で、名前の変化を追跡しているらしく、システムとして認識している。従って、これが消そうとする側には厄災をもたらすのである。

まず、
  1.Win98のエクスプローラでWinntを削除すると、一応、削除が始まる。
    ごみ箱にたいして多き過ぎるから直接消しますというダイアログが出るのでOKとする。

  2.「_」というアンダーバーだけの名前のファイルがあるのか、できたのか、
    これが消せないといって、削除が中断される。

  3.再起動すると、さっき消えたファイルが復活している。
    ごみ箱に入れたのではないのだからどこかに隠し持っているのだ。
    上記2の「_」が怪しい。

さて、こんな現象が起きるので、winntをWin98からは消せないのである。それでDOSから消す。

♪WinntフォルダをDOSで消す
Win98の(居候はwin95のものを使用)起動FDから起動。下記のような操作を行う。尚、太字は、あなたが入力するもの。

A:\>c:         ;c:ドライブに移動
C:\>cd winnt    ;winntフォルダに移動
C:\winnt>del *.*  ;winnt内の全ファイル削除
C:\winnt>cd system32
C:\winnt\system32>del *.*

これで、10分位かかって、system32内のファイル群が消える。
起動FD→BIOS経由のHDDアクセスは16ビットモードなので、極めて遅い。system32は、Win2Kの心臓部であり、大きな容量なので、時間がかかるのである。HDDアクセスLEDがつきっぱなしになるので、それが消えるまでコーヒーでも点てて気長に待つ。

再起動して、Win98のエクスプローラでWinntフォルダを消す。今度は、Win98からでも消える。system32内のファイルが悪さをするのだろう。少なくとも居候環境ではこれで消えた。

他に、Win2Kの起動FDや、CDから、復旧インストールを途中まで行って削除する方法があるらしい。面倒だから、しなかったが。

C:\にあるWinnt関係ファイルの削除
気にしなくてもいいのだが、綺麗好きの人は、

Win9xとWindowsNT(多分、NT系の2000でも)とのデュアルブートの解消法参照。


♪Win2KとWin98のデュアル環境では、Win98でファイル削除すると、固まってしまう;ごみ箱の問題
Win2Kと、Win98では、ごみ箱の形式が違うので、固まってしまう。全く(--#)。Win98では、単独環境でも、削除で固まることがあるのだが、何なんだろう。

さて、直し方;

起動時に、BIOS表示が終了したあと、

   Starting Windows98...

というメッセージが出たところで、素早くF8を押して、
セーフモードコマンドプロンプトオンリー(Safe Mode Command Prompt Only)を選ぶ。

英数字モードで、

(下記のように表示されたら、ピリオド2つ続けて入れる。
c:\windows>..      ;←ピリオド2つ。c:\windowsから、c:\に移動)

c:\>deltree recycled  ;recycledという名前のごみ箱フォルダを消す


c:以外にもHDD上にドライブがあれば(D:、E:など)

c:\>d:
d:\>deltree recycled
d:\>e:
e:\>deltree recycled

(Windowsや、DOSでは大文字小文字は区別無く、同じ扱い)

011d.gifコーヒブレイク
小さな親切大きなお世話
M$の研究者は、ベイズの定理(事後確率を計算するための簡単な定理;何か象が起きた、別の事象が起きる確率。簡単に言えば、あなたが何かをしたら、その次、何をする確率が一番高いかを計算して、それに関するヘルプを自動起動するのに使われている古い古い、高校で習う定理。外れてばかりいるよね)を使ったマンマシンインターフェイスを使い、利用者の操作を監視していて、イルカ君のようなヘルプを自動で(というか、勝手に)起動するので、邪魔で、五月蝿くて、気が散って、PCが重くなって、イライラして、削除にいらぬ手数がかかって、煩わしくて仕方ない

ベイズの定理で個々の人間の意図が分かれば苦労はない。確率は、統計現象だから個々の人間の意図とは関係がない。平均寿命が75歳だと分かっても、自分が実際、何歳まで生きられるかとは何の関係もないし、平均結婚年齢が27歳だと分かっても、自分が幾つで結婚するかはサッパリわからない。統計とはそういうものである。

おまけに、ちゃんとした事後確率の計算には事前確率を意味するデータが大量に必要なのだが、これがいい加減だろうから、当たらないのである。ゲイツもこの似非研究者連中には、相当イラ付いていたらしく、オフィスXPの最大の進歩は、クリッピー(米国ではイルカではなくクリップ)がデフォールトから消えたことだと皮肉っている





189.Webの吹き出しWindowの作り方        目 次


ホームページで良く吹き出し広告 に出会う。あれは、JavaScriptで簡単に書くことができる。


その1; HPが開いた時に、同時に現れる窓の作り方

これは広告に使われる。
<BODY BGCOLOR="#eeFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#008040" ALINK="#FF00FF"> (BODYタグ) の直後(BODY内ならどこでも良いが。後で分かりやすいような場所におこう)に

<SCRIPT LANGUAGE="JavaScript">
<!--
window.open("http://www.myhomepage.hukidashi.htm","popup","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,close=yes,width=400,height=100");// -->
</SCRIPT>


上の枠内をブラウザで見えているままマウスでなぞってコピーして(ソース表示など高級な技は要らない。というより、それでは出来ないようになっているよ)、使えば良い。赤い部分が吹き出しにしたいURLである。同じフォルダにあるなら、ファイル名だけでよい。下記;

吹き出しファイルが同じフォルダにある場合
<SCRIPT LANGUAGE="JavaScript">
<!--
window.open("pc1.htm","popup","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,close=yes,width=400,height=100");// -->
</SCRIPT>


行の長さを整えようと、改行を入れると、動かないのでそのつもりで。上記をそのままコピー&ペーストで使う。

やってみれば、簡単に分かると思うが;
 toolbar=no    ;ツールバー非表示
 menubar=no   ;メニューバー非表示
 scrollbars=no   ;スクロールバー非表示
 resizable=no   ;窓サイズ固定
 width=400     ;窓幅
 height=100    ;窓の高さ

内容が
<!-- -->でコメント化してあるところがJavaScriptのミソである。



その2; 文字などをクリックした時に現れる窓の作り方

上の書き方では、HPが呼ばれた時、同時にポップアップウィンドウも現れてしまう。広告にはこれで良いが、HPの中のどこかをクリックした時だけ、現れるようにしたい時がある。ツールバーとか、メニューバーなどのないスッキリとしたウィンドウを出したい時に使う。

2つの手続きに分かれる;

1.JavaScript関数の定義;<HEAD>でPopUpWindowを定義。

その1と違って、<BODY> の中で、直接、 window.open を呼ばず、 window.openを呼ぶPopUpWindowという関数を定義する。<BODY> の中では、PopUpWindowを呼ぶことになる。

<HEAD>と</HEAD>の間にPopUpWindowを定義した下記を置く。その1と同じようになぞってコピーする。このスクリプト、異常に改行に敏感だから、このまま使うこと。変なところに改行を入れるとエラーになる。こちらは、どこも書き変える必要はない。勿論、「no」のところを「yes」にするには好き好きである。
<SCRIPT LANGUAGE="JavaScript">
<!--
function PopUpWindow(URL,Wname,Wwidth,Wheight){
window.open(URL,Wname,"width="+Wwidth+",height="+Wheight+",scrollbars=no,resizable=no,toolbar=no,location=no,directories=no,status=no,left=200,top=100")
}
// -->
</SCRIPT>


ウィンドウを出す位置は、上記の
  left=200,top=100
で調整。


2.次に、HPの本文の中で、クリックする文字列や写真に <A HREF="...> でリンクして、URLの代わりに1.で定義したPopUpWindowでウィンドウを記述してポップアップさせる。

PopUpWindow(URL,Wname,Wwidth,Wheight)は、もう、見ればわかると思う。

 URL; ポップアップさせたいHPのURL。
   他のWebサーバにある時; http://www.myhomepage.hukidashi.htm/ のような普通のURL
   同じフォルダにある場合;mypage.htmlのように、ファイル名だけ
   同じサーバの他のフォルダにある場合;パスを書く。190項参照。
 Wname;ポップアップするウィンドウに付ける名前。何でも良い。
 Wwidth;ポップアップするウィンドウの幅
 Wheight;ポップアップするウィンドウの高さ

例;
  PopUpWindow('http://www.myhomepage.hukidashi.htm/','popup1','400','100')
  PopUpWindow('mypage.html','popup1','400','100')
  PopUpWindow('../../pic/photo.jpg','popup1','400','100')

のように書く。

正確には下記;
<a href="JavaScript:PopUpWindow('mypage.html','popup1','250','300')"> ここをクリックするとポップアップ</a>

赤字の部分はあなたの希望のものに書きかえる。

マウスをクリックする文字列の上におくと、文字列の色が変わるようにするには、

  <font onMouseover="color='#ff0000'" onMouseout="color=''">

を使う、
<a href="JavaScript:PopUpWindow('mypage.html','popup1','250','300')"> <font onMouseover="color='#ff0000'" onMouseout="color=''"> ここをクリックするとポップアップ</font></a>


ここをクリックするとポップアップ
文字色変化版;ここをクリックするとポップアップ




190.ホームページのディレクトリの表し方 2003.2  目 次

directory.jpg

HPでは、ディレクトリという概念を理解しておかないと、ファイル群がベターと一つのフォルダーの中に入ってしまって整理がつかない。なお、Windowsではフォルダーというが、DOSやUNIXではディレクトリという。同じものである。WebサーバはたいていUNIX系OSだから、「ディレクトリ」を使う。

例えば、ディレクトリの構造がこの図のようになっているとする。赤い字や矢印は、しばらく無視しておこう。これをエクスプローラ風に考えれば、

MyHomePageというフォルダーの中にPCwinePICという3つのフォルダーがあり、PCフォルダーの中にNetworkフォルダーとPICフォルダーがある。

Networkフォルダーの中にLANフォルダーがある。

そして、wineフォルダーの中にredフォルダーとPICフォルダーがある。

この図では、下にあるディレクトリは上のディレクトリの中にあるのだと思えば良い。同じ事である。



大切なことは、
 ・ディレクトリには親子関係、兄弟関係のような関係があること。
 ・ファイルは、ディレクトリの中に入っているだけで、親子関係という概念はないこと。
 ・ファイルが入っているディレクトリがそのファイルが属するディレクトリであること。
 ・ファイルのなかでディレクトリを表現する場合、自分の属しているディレクトリは「.」
 ・自分の属しているディレクトリの親ディレクトリは、「..」
 ・ディレクトリとディレクトリの間には「/」を入れる。
 ・最後にファイルが来るが、その切れ目にも「/」を入れる。

こんな風に書く;

    ../../../wine/red/red.html

  . 自分が居るディレクトリ   .. 親   ../.. おじいちゃん   ../../.. ひいおじいちゃん

祖先に向かうには、..を何段にも重ねる。
  例; ../../pc01.html   lan.htmlの中でpc01.htmlを指定する時の書き方。
子孫に向かうには自分を基点に、ディレクトリの名前を書いていく
  例; ./wine/red/red.html   index.htmlの中でred.htmlを指定する時の書き方。

 この2つを組み合わせれば、兄弟、従兄弟なども簡単である。共通の祖先まで .. で上がって行き、そこから、今度は名前を使って降りてくれば良い。

  例; ../PIC/nic.jpg
   Networkディレクトリの中のintro.htmlの中で
   兄弟ディレクトリのPIC中にあるnic.jpgを指定する時の書き方。

また、UNIX系では、つまりたいていのWebサーバでは大文字と小文字は異なる文字として扱われる。Windowsは区別しないので、トラブルの元になる。FTPクライアントソフトは、ファイルを送る時に、ファイル名を全部小文字にする機能があるから(Windowsでは、小文字に見えているからといって、内部も小文字であるとは限らないのでこの機能が必要)、これを設定しておき、html内でファイルやディレクトリ名を書く時には全部小文字にしておくと、混乱することがない。ここでの例は、それを強調するために、敢えて大文字小文字を使っているが、実際にはやらないほうが良い。

一つ下にあるディレクトリにあるファイルを呼ぶ時
MyHomePageディレクトリの中のindex.htmlからPICディレクトリの中にあるbg.jpgを呼びたいと思った時、どのように書けばいいか?

  ./PIC/bg.jpg

と書く。

自分が入っているディレクトリは「.」で示す。index.htmlの中で呼ぶのだから、自分はindex.htmlである。それが入っているディレクトは  と書くのである。 MyHomePageと書けばよさそうだが、自分が入っているディレクトリの中にあるディレクトリは分かるけれど、自分が入っているディレクトリの名前は(自分より偉いからか?)書けないのである。だから、それを表すには   を用いる。
従って、index.htmlの中で、bg.jpgを呼ぶには

   ./PIC/bg.jpg となる。


自分が入っているディレクトリより下にあるディレクトリにあるファイルを呼ぶ
これは簡単。自分が入っているディレクトリより下にあるディレクトリは名前を使って呼べる。index.htmlからlan.htmlを呼ぶには;

  ./PC/Network/LAN/lan.html

となる。


親ディレクトリにあるファイルを呼ぶ
自分の入っているディレクトリは . であった。
この考えを拡張すると、自分が入っているディレクトリの親ディレクトリは、 ..と表す。ドット2つの連続である。 ./. ではない。これでは、自分が入っているディレクトリの中にある自分になってしまって、何のことか分からない。そもそも、上にいけない。
例えば、PCディレクトリの中のpc01.htmlの中で、MyHomePageの中のindex.htmlを呼び出すとする。

   ../index.html

と書く。pc01.htmlの中で自分が入っているディレクトリの親ディレクトリの中にあるファイルにリンクしたい時に使う。


兄弟ディレクトリにあるファイルを呼ぶ
PCディレクトリの兄弟は、wineディレクトリと、MyHomePageディレクトリの中のPICディレクトリである。pc01.htmlの中でwineディレクトリの中のwine_story.htmを呼ぶには、下記のように書く。

../wine/wine_story.htm

.と..の概念さえ理解すれば簡単である。

因みにLANディレクトリの中のlan.htmlの中で、red.htmlを呼ぶには

  ../../../wine/red/red.html

である。これをパス(path)という。lan.htmlからred.htmlへのpath=道だね。
上図の赤く書いた部分と見比べれば良く分かるだろう。

呼ぶという意味はリンクだから、こんな風に書くことが多い。

  <A HREF="../../../wine/red/red.html">
  <IMG SRC="../../../wine/PIC/glass.gif" WIDTH="36" HEIGHT="39" BORDER="0">

親子とは、ディレクトリの親子関係であって、ファイルとディレクトリの関係ではない。ファイルは、ディレクトリに入れてもらう居候みたいなものである。

尚、「pc01.htm」というファイル名だけの表現は、「./pc01.htm」の省略形であるが、UNIX使いにはセキュリティ上の理由から、前者はすごく嫌われる。






191.フラッシュメモリーをデフラグしていけない理由 2003.3.1  目 次

フラッシュメモリとは、コンパクトフラッシュ、スマートメディア、メモリースティックなど、デジカメなどに使うメモリーで、PCMCIA、USBなどに挿しこんで使うものである。これの説明書には、デフラグ(最適化)はしてはいけないと書かれている。何故かはかかれていない。

機械にはなんでも寿命がある。フラッシュメモリには書きこめる回数に制限がある。あまり何回も書くと、そのうちヘタッテ壊れる。とはいえ、普通に使っている分には、その前に製品寿命が来てしまうから、気にしなくてよい。製品寿命とは、例えば、デジカメの普及品の解像度が200万画素(2MB/BMPフォ−マット)や300万画素の現在、2MBのフラッシュメモリなど売ってもいないし、使い道もない。フロッピーの代わりになるくらいである。最低でも、64MB,まあ、256MBとか出来たらもっと欲しい。そういうことである。だから、読み書きする回数など気にすることはない。

ただし、デフラグをすると、物凄い勢いで書き換えを行うので、偏執狂的に綺麗好きで、何でも、整理しないと気持ちが悪いのだと言って、毎日1回デフラグをしていては、これは、いつまで持つか保証の限りではない。
hdd じゃ、デフラグしないと読み書きのスピードが落ちないかと、思うかもしれないが、落ちない。HDDのように回転系のメモリーでは、順次アクセス(シーケンシャル アクセス)という方法が用いられる。HDDでは、できたら、データがディスク上に一列にならんでいて欲しいわけだ。そうすれば、HDDは音楽CDのようにヘッドを動かすことなく、じっとして読み出し、書きこみができる。つまりアクセスが速い。データがこのように配置されていれば、同心円上のデータを読んでいる限りはヘッドは動かないで済む。ディスクが5400回転とか、7200回転などの速さで回っているからその速さで読み出せる。左図は3.5インチのHDDの中身だ。まさに、CDプレーヤ。昔風にいえば、レコードプレーヤそのものの作りである。この図の赤い線の方向への動きは、ディスク上の同心円状のトラックを読む動きで、この動きをseekシークという。(目的のトラックを)探すという意味だね。seekの平均時間は1/100秒以下であるから、人間的には凄く速いが、MPUに比べたらとんでもなく遅い。

011d.gifコーヒブレイク
シーケンシャル アクセス sequential accessとランダム アクセス random access

HDDがシーケンシャル アクセスであるというと、少し語弊がある。完全なシーケンシャル アクセスのメディアはテープである。何しろ巻き物だから、ある特定の場所を読むためには、そこまでぐるぐる巻かなければならない。間を通らずに一飛びには行けない。その意味では、HDDは間を飛ばすことができるので、一応ランダムアクセスっぽい。とはいえ、HDDでは普通はセクター単位(PCでは512byte)でしか読めない。どこかの1byteだけ読もうとしたら、それが含まれるセクターをメモリーに読んで、それから今度は、そのbyteにアクセスする。

HDDが、例えば、情報処理技術者試験ではどちらに分類されているかは、知らないが(まあ、大学の先生の類いはあんな難しい物には受からない)居候説では、擬似ランダムアクセスである。

だが、もし、データがディスク上に不連続に並んでいると、例えば最初のデータが一番内側にあれば、ヘッドは、まずそこまで動く。これは機械的な動きなので、非常に遅い(といっても、人間の感覚では滅茶苦茶速い。MPUや、SDRAMに比べて遅いということだ)。そこで、一つデータを読むと、次のデータが一番外側にあるとすると、またヘッドが動かなければならない。HDDがカシャカシャ言っているのはこの動きの音である。そして、外側までたどりついた時、読み出したいデータが丁度ヘッドの下を通り越した後だったら、ヘッドはそこで、1回転待たなければならない。この待ち時間も、MPUにとったら、気が遠くなるほど長い。簡単に計算すれば分かる。7200回転/分の高速HDDとしよう。待ち時間は、60秒/7200である。つまり1回転に要する時間は、0.008秒(8ミリ秒)である。この間に3GHzのPentium4は、何回処理ができるか?0.008x3x1,000,000,000=24,000,000=2千4百万回処理ができてしまう。ついでながら、ヘッドがカシャカシャ動く平均時間もこの程度である。平均シーク時間と書かれているものだ。HDDというものが如何に遅いかわかるだろう。それで、HDDでは、たまに、たまにだよ、デフラグをした方がいい。居候も、半年に1回くらいはやっている。

ところが、フラッシュメモリ、というより半導体メモリー(DRAM,SDRAMなど主記憶もそうだ)では、一般にランダムアクセスする。つまり、RAM;Random Access Memoryなのだ。ランダムとは、任意のアドレスに直接アクセスできるという意味。順番に読まなくても、出鱈目の順序に読めるという意味でつけられた名前である。だから、デフラグしても、しなくても同じことなのである。どうせ、1byte単位でアクセスするのである。順番にデータが並んでいてもそのことを利用できるように作られてはいないからだ(厳密にいうと違う場合もあるが、そんな小さな工夫程度のものはどうでもいい。ここでは原理ね)。主記憶にデフラグかけることはしないでしょ。

フラッシュメモリーは、Windowsでは、ATA互換のドライバが入るから、アプリからはHDDとみなして扱われるが、内部コントローラは、多分、これを普通のRAMとして扱っている。だから、デフラグしても無駄であるだけではなく、一生懸命、寿命を縮めているわけだ。





192.Pcameのような安いUSBデジカメで、定点観測 ライブカメラ USBカメラ2003.3  目 次

webcam.jpg 最近めっきり30万画素程度のUSBデジカメが安くなってきた。大抵は、インターネット用とか、Web用とか、あるいは、PCカメラなどと謳っているので、普通のデジカメとは違うことは分かる。勿論、ワンショットは取れて、多少のメモリも持っているだろうから、普通のカメラとしても使えないわけではないが、そういうことは考えないほうがいい。PCに常時接続してTV電話、TVチャットみたいな用途でつかうものである。

左の写真のようなカメラは、普通のデジカメのように持ち歩いて使うものではない。大抵、Webカメラと箱に書いてあるので、このカメラと、Windows付属のPwersonalWebServerのようなWebサーバを使えば、定点観測のWebサイトを簡単に立ち上げられる。

秋葉原をうろついていたら、Pcameが、1980円で売られていた。今まで見たのは、最安でも、2900円・35万画素なので、10万画素で、この価格は高いが、絶対値が安いからいいか。なにしろ、この用途では、画質などどうでもいいのだ。(何か、最近、この部屋は、ギミック(小道具)部屋みたいになっているが、まあ、それも面白い。)どうせ、普通のデジカメとしては使えない。このPcameは、解像度が低いのは承知だから仕方ないが、電池がすぐなくなる。内蔵メモリーが普通のSRAMなので、画像を保持するには電池が必要なのだ。だから、単4アルカリ2本がスイッチを切っていても2週間でなくなる。さて、Pcameのような普通のデジカメ機能以外の機能としては、「PCカメラ」としか謳ってないものでは、PCにビデオカメラのように映像を出せるという意味しかないから、一般にはWebで送出することは難しい。それを行う方法は後で書くとして、Webカメラの条件を考えてみる;

pcame.jpg
 1.カメラがPCに接続できる
 2.カメラが撮る画像を連続してPCに送れる(撮る時間間隔を指定できる)
 3.画像ファイルがどのフォルダに置かれるかが分かるか、指定できる
 4.画像ファイルをjpgにできる
 5.そのPC自体にWebサーバ機能があるか、あるいは、
   他のWebサーバに自動的にある時間間隔でFTPできる機能がある。

Webカメラは、ネットワークにあるWebサーバの自分のフォルダに画像をFTPできる機能までが一体になっているので、簡単だが、高い。上の図の左上のカメラは2003.1発売で、22万円だ。 右下のカメラは2003.1発売で、4千4百円。勿論、カメラの性能などが違う。どこまでネットワーク機能があるかはわからない。

Pcameには、下記のようにかいてあるから、MSネットミーティングソフトは、Pcameの画像は取り出せる。同じことが出来るソフトをかけば、1〜3はできるということだし、多分、4もできるのだろう。

  ・USB接続でPCカメラにもなる!
  ・ネットミーティングでカンタンTV電話!

Pcame仕様
●画像素子 10万画素 CMOSイメージセンサー
●インターフェイス USB端子
 USB接続された場合、カメラ本体はPC側から電源の供給を受け作動します。←これ重要
●PCカメラ機能 最大フレームノート:9fps(CIF)/20fps(QCIF)

ついでに、動作環境
●対応OS Microsoft Windows 98/SE/ME/2000
●CPU Pentium200MHz以上
●RAM 32MB RAM以上(64MB以上推奨)
●ハードディスク空き容量 200MB以上
●ディスプレー 800×600/16ビットディスプレー(HighColor)以上推奨
●インターフェイス USB端子

PcameをWebカメラにする方法;
Pcameのドライバを入れると、PCの画面にカメラからの映像が映る。最大の問題はここから、画像を任意の時間間隔でどうやって、手にいれるかである。つまり、付属ソフトは、その映像のファイル名や、ありかなどは教えてくれないのである。ソフト内部で密かに処理して、終われば消してしまう。だから、カメラから自分で映像ファイル(複数の画像ファイル)を抜き取る方法を考えなければならない。

RtImageを使う。


このソフトは、優れもので、上記の1〜4の機能がある。なぜ、そんな、ある企業が勝手に作った機器のドライバーの書き方が分かるのか?USBという標準機器で、「Video For Windowsに対応したデバイスであれば、ほぼ、どのようなデバイスでも、動作すると思います。」とRtImageのreadmeに書いてあるように、ドライバが標準化されているからである。Pcameは、説明書には一切書いてないが、Video For Windowsに対応であった。WindowsPCの画面にTVカメラのように映像(静止画ではなく)を映すには、Video For Windowsの機能を借用したほうがカメラメーカとしても楽だし、第一、標準だから便利である。だから大抵のカメラはVideo For Windowsをつかっているのではないだろうか?

011d.gifコーヒブレイク
RtImageを見つけるまでに、色々な定点観測Webカメラ用ソフトをgetしてみたが、特定のイメージキャプチャカードにしか対応していない。TWAIN規格対応の物もあったが、これは、カメラ側でシャッターを押して、内部のDRAMに画像が写されたら、その画像を取り込むものであった。カメラ自体にコマンドを送って、映像を取り出すことができないのである。これでは、小人ロボットでも作って、シャッターを一定時間間隔で押させなければならない。

Vectorのここにいろいろある。

みっかっちゃったっ!
USBカメラを使い簡単な侵入者検知を行い、カメラ画像をネットワークを介して送信」 ;
これは、必要なソフトが、ワンパックになっていて、ピッタリ;readmeには、 「DirectShowに対応したカメラがインストールされていないとエラーとなります。」と書いてある。Pcameは対応しているので、これも使える。しかも、メールで写真まで送ってくれたり、認証付きのWebサーバまでたててくれるし、独自プロトコルで、サーバにアクセスして写真をみることもできるので、多少、安全でもある。ただ、残念なことに、これは侵入者検知が主体で、定点観測のようにある場所を取りっぱなしにして、1分おきに写真を更新するという用途に微妙に異なる。まず、

 ・1分とか、3分おきなどの長い時間間隔で画像を取り込めない。最大で4秒である。
  まあ、それでもいいか。
 ・定点観測ではなく、画面で何か−−泥棒だが−−が動いたときだけ、画面を取り込む。
  これも、検知感度を100%に設定しておけば、何も動かなくても−−画面に変化が
  なくても−−常に取り込むので一応、定点観測と同じにできる。
 ・ファイルの上書き設定ができないので、4秒に1枚どんどん画像ファイルが増えて行く。
  これは、ファイルを置くフォルダのクオータ(量)を設定できるから、最小の3MBにしておく。
  そうしておけば、3MBになると、古いものから消されて行くので、まあ、これも悪くはない。

Webサーバは、なぜかわからないが、使えなかった。ヘルプには、http://URL/と入力すれば良い。としか書いてない。で、こうすると、認証画面になるので、確かに接続はできるのだが、ファイルが見つからないといわれてしまう。ドキュメント・ルートは、設定できるのだが、それが効いていないようなかんじである。
なお、これは卒業研究で作ったということだ。たいしたものだ。

DirectShowは、Windowsならデフォールトで入っていると思うが、無い場合、あるいは、Updateの場合、下記;
   DirectShow
直接には、下記からダウンロードできる。
   DirectX 9.0 End-User Runtime 日本語

「BTScan 2.11 TWAIN対応のスキャナやデジタルカメラから画像を取り込み、連番をつけてファイルに保存」;これで行けるかなと思ったのだが、Pcameについているドライバ+基本ソフトのDSC(DigitalStillCamera)機能と同じもの。カメラでシャッターを切って写した写真をPCに取り込む機能。定点観測には使えない。


というわけで、このソフトをインストールして、起動。使い方は、凄く簡単であった。Pcame付属のソフトは起動する必要は、いうまでもなく、ない。RtImageは、指定したフォルダーへ、jpgにして、指定した時間間隔で指定した名前の画像ファイルを書きこんでくれる。上書きモードと、連番での複数ファイルモードがあるので、上書きモードにしておく。でないと、HDDが画像で溢れてしまう。もっとも、監視カメラにして証拠を残す目的なら、連番の複数ファイルモードにしておけば、VTRのようなものになる。

で、この同じPCにPersonalWebServerをインストールし、そのデータ用フォルダに画像ファイルを置くように指定しておけば、その画像がWebで発信される。FTPは必要ない。が、逆に、必要な場合は、別途、何か考えなければならない。それは、また後にしよう。


画像を送り出すHTMLファイルの書き方;

このように書けば、60秒置きに、新しい画面が相手に送られる。

<HEAD>
<meta http-equiv="refresh" content="60;URL=このHPのURL">
</HEAD>

<BODY>
<IMG SRC="ファイルへのパス" WIDTH="320" HEIGHT="240" BORDER="0" ALT="pcame.jpg" >
</BODY>


具体的には;
以下は、
http://www.geocities.co.jp/SiliconValley-Cupertino/6040/
に、index.htmlと、pcame.jpgを置いた場合である。
(言うまでもなく、http://www.geocities.co.jp/SiliconValley-Cupertino/6040/は、自分のPCではないので、Pcameの画像をRtImageで、直接は置けない。FTPでupする必要がある。)
<HEAD>
<meta http-equiv="refresh" content="60;URL=http://www.geocities.co.jp/SiliconValley-Cupertino/6040/index.html">
</HEAD>

<BODY>
<IMG SRC="pcame.jpg" WIDTH="320" HEIGHT="240" BORDER="0" ALT="pcame.jpg">
</BODY>





このページの先頭    目 次