いつか、どうにかして書いてやろうと思いながら、書けないでいたこと。
うまく書けるか、まだ自信がないけど、やっぱり書いておく。
WWW は、World Wide Web の略とされています。で、この、最後の単語。"WEB" に注目していただきたいのです。
「Web」「ウェブ」と聞いて、何を連想しますか?
「インターネット」という答えが返ってきそう(^-^;
「ウェブ」は、「網」という意味があります。
じゃぁ、「網」って、どんなの?
たいていの場合、「ロープなどを格子状に編んだ物体」を想像していただけるのではないかと思うのです。魚を捕る網とか、捕虫網とか。
今あなたが、この記事を見るために使っているインターネット。それは、網目状(というわけではないが)の電気回路を通ってきています。
ではですね。網の場合、縦のロープと横のロープが動かないように、そこには結び目があります。WWW におけるこの結び目は、なんでしょうか?
いわゆる中継機(サーバ)です。
デジタルなデータは劣化しませんが、そのデジタルデータを乗せている電気回路は、アナログな情報です。わんくま内に回路屋さんいたなぁ。コメントちょうだいね。定規で書いたように、ピシッ!と「ある」「ない」で変化するわけではありません。・・・よね?
また、回路には抵抗があります。電気の流れを阻害する要因があるため、ある程度の距離以上離れたところへ、直接伝達することはできません。途中で補強してやる必要があります。中継機(サーバ)は、この補強の役目も兼ねます。デジタルデータは、ノイズには強いですが、規定以上の差異がないデータを検出することはできません。
さて、この中継機(サーバ)ですが、ハブでもあったりします。で、ここで、どのようなことが起こるのでしょうか。
ここで、ちょっと戻る。
このエントリを書きたいと思っていた理由です。いろいろな掲示板でされている話、特にセキュリティ系を見ていて感じたことなのですが、ウェブを「網」として見ていない人がいるんじゃないか?と、いう感じがしたことがきっかけです。
様々なところで、ネットワークというと、網目を描くのは冗長でもあるため、省かれています。そして、クライアントとサーバが、1:1、一本の線でつながっている図が描かれています。この図を、そのまま受け入れているのではないか?
例えば、P2P 通信。どうも、自分と相手だけが内容を知っていると、思われているらしい。
例えば、掲示板の書き込み。私が誰で、どこから、何を見ているか、誰も知らないはずと、思われているらしい。
例えば、「対策にならないフィッシング対策がまたもや無批判に宣伝されている」(高木浩光@自宅の日記)に書かれているような話。
特に「SyncLock WEBアクセス用認証サービス」なんて、高木氏が言及されていますが、直接つながっている(間に人が介入できるはずがない)という発想だからこその話じゃないでしょうか。
で、こういう話をするとき、私は自分の両親や妻に、どうやって説明しよう?と考えます。コンピュータには疎い彼らが理解できるようにするためには、彼らが知っている何かに喩えて説明します。これは、何がいいだろう?
ってことで、「鉄道網」にしてみます。
あるコンピュータから、あるコンピュータへ情報を送ること。これを、自宅からどこかの観光地へ行くことに喩えます。世界文化遺産ある市の私の家から、東京にないのに東京という名前が付いている有名な遊園地へ行くことにします。
私の家から鉄道に乗るためには、バスに乗らなければなりません。駅が ISP だとすると、バスはそこまでの経路です。バスは直接鉄道とはつながっていません。いっぱいだと乗れないところなんて、まるでベストエフォート...
いや、それはいいや。んなわけで、駅まで出てきました。問題はここから。まず、東京まで行くわけですが、その方法はいくつかあります。新幹線に乗る。山陽本線、東海道本線を乗り継いで行く。神戸で飛行機に乗り換える。大阪で飛行機に乗り換える。名古屋から中央本線を通る方法だってあります。普通やりませんが、岡山経由で山陰本線に出て、京都から北陸を経由し、新潟から新幹線とか、青森まで行っちゃうとか、それこそ「網目」がつながっている以上、いろんな方法があります。
私が行く場合、私は一人しかいませんので、私が取る経路は必ずひとつです。鉄道会社も、そのつもりで料金設定しています。
ここが問題。
コンピュータのデータは、所詮0と1の集まりです。簡単にコピーできます。インターネットの場合、行くことが可能な乗り換え先にコピーしてばらまきます。
つまり、駅で私は、新幹線に乗る私、山陽本線に乗る私、それぞれ上り下りの4通りにコピーされ、それぞれ「最終目的地」の札を持って、次の中継地へ向かいます。
こんなことを繰り返していると、私が無限に増えて、それだけで回線がパンクしてしまいますから、私は「中継された回数」と、「中継の上限」を持っています。中継地を通るごとに「中継された回数」をインクリメントします。それが「中継の上限」に達すると、そこで降ろされます。
なぜこんな仕組みになっているのでしょうか。
インターネットの仕組みは、元々軍事利用が目的だったのです。
ペンタゴンと、各地にある基地をつなぎます。この線が一本しかなかったら?その一本を切ることで、連絡が途絶えてしまいます。そこで、線を網目状に引いて、ひとつの線が切られても、他の線を通って連絡ができること。こういう仕組みになっています。あなたが送った http によるリクエストも、こんな感じで、いろいろな経路を経て、大阪にあるわんくまサーバにやってきます。
そして、簡単にコピーできてしまうデータは、あちこちにばらまかれています。目的地へ行かなくても、途中で拾い上げることもできます。ネットワーク アナライザなどは、他のコンピュータ宛のデータも見えるようにしてくれます。
駅から、新幹線に乗ったデータが、新大阪で悪意ある人に捕まり、解析され、行くはずだった所からの返信として送り返されてくる。東京から帰ってくるデータが、京都で偽物にすり替えられて送り返されてくる。東京より先に着いた岡山で解析され、岡山を東京だと偽装されて送り返されてくる。そんなことだってあり得ます。
そんなことがあり得る、ということは、そんなことがないようにしようという動きもあります。例えば、スイッチング ハブは、リクエストが送られてきたときに、リクエストした装置の IP アドレスを記憶します。そして、その IP アドレス宛の情報だけ、そのポートに流します。
しかし、Web は、ひとつの経路が切れても代替経路があるように作ってあります。大前提は、ここです。これを忘れてはいけません。
ウェブのデータは、1対1で行われているものではありません。あちらこちらを中継して、中継地でコピーが作られて送られます。中継地では、中継回数を見て、オーバーすると捨てます。
もし、匿名プロクシを通しても、こうした中継しているデータをログしている奇異な輩がいると、発信者に到達することもできます。大変な苦労をようするけれど。
ウェブは、1:1でつながっているわけではありません。あなたが発信したデータ、受信しようとしているデータは、中継地点でコピーされ、(生存期間は短いですが)様々な場所にばらまかれています。重要なデータにアクセスしようとするとき、そのことを意識して下さい。また、ウェブには完全な匿名性はありません。準備をしておけば、苦労して解析することは可能なのです。
このエントリでは、SSL などの暗号化についてはふれていません。
投稿日時 : 2007年10月22日 21:38