
P2Pって危険って言われてるけれど、クライアントサーバとの違いは何なのでしょう?
こんな疑問にお答えします。
・クライアントサーバとP2Pの違い(システムと役割)
・P2Pが危険と言われている理由
普段あまり意識することはありませんが、ネットワークを使用したシステムやサービスには、大きく分けて2つの通信方法があります。
その2つとは「クライアント・サーバ型」「ピアツーピア(P2P)型」
「P2P」という言葉を見ると、ニュースか何かで見た怖いイメージを持っている人もいるかもしれません。
今回、この2つの通信方法はどういったものなのか?それぞれどのように使われているのか?について解説します。中身がわかれば、怖さも和らぐと思いますよ。
▼目次
クライアントサーバとP2Pとは何が違うのか?

おれしばさん!SkypeってP2Pなんですか?大丈夫なんですか?
なんやいきなり…


こないだたまたま本で見たんですけど、SkypeはP2Pだって書いてあって、僕はSkype使ってるんですけど、それを聞いて危ないからやめようかなって思って…
ほぉ、なにが危ないんや?


だってほら、P2Pですよ。危ないやつじゃないですか。
なにかどう危ないのか説明してみなさい


……え、いや、あの、よくわかってないんですけど、ニュースとかでP2Pは危ないと。
しょうたくん、技術者を目指すならば物事をきちんと見ることが大事や。ただ「危ない危ない」ではなく、具体的に「何がどうなっているから、こんな危険性がある」と説明できねば、技術者とは言えないで。


…は、はい…
勉強も大事やけど、技術者としての姿勢も意識するようにな。


はい…反省………。では、P2Pがどんなものなのか、教えていただけないでしょうか?
ふむ、よろしい。
P2Pはいわば「システムの構造」を表したものや。
P2Pはいわば「システムの構造」を表したものや。


「システムの構造」ですか?
うむ、例えば先ほどのSkypeの例では「Skypeは、P2P構造のシステム」と言うわけやな。


なるほど、システムの構造って、他にも種類があるんですか?
お、良いところに気づいたな!他にもある。最も代表なものが、「クライアントサーバ」や。


クライアントサーバ!それこそ本とかでよく見ますね!
クライアントサーバこそが、最も一般的なシステム構造と言っていいやろうな。絵にするとこんな感じや。P2Pの構造も合わせて書いておこう。


「一つのサーバに対して通信する」のがクライアントサーバで、「パソコン同士で通信する」のがP2Pですね。
ざっくり言うとそんな感じやな。なお、世の中の大半のシステムや、ほとんどのインターネット上のサービスはクライアントサーバ型なんや。


へぇー
クライアントサーバは集中型システム、求めているのは「確実性」
まずは多数派のクライアント・サーバ型から説明しよう。
これは昔から使われているシステム構造で、様々なホームページを始め、オンラインショッピングや掲示板、Wikipediaなど、Webブラウザを使うようなものは、ほぼクライアントサーバ型と考えて良い。
これは昔から使われているシステム構造で、様々なホームページを始め、オンラインショッピングや掲示板、Wikipediaなど、Webブラウザを使うようなものは、ほぼクライアントサーバ型と考えて良い。


え、有名どころはほとんどクライアントサーバなんじゃないですか。
実際はそうや。と言うのも、効率を考えたら自然とそうなるわけやな。
例えばショッピングサイトをイメージしてもらえばわかるが、商品の情報や顧客の情報、お金のやり取りなど一箇所で行っていると、運営側も訳がわからなくなってしまうやろ。
例えばショッピングサイトをイメージしてもらえばわかるが、商品の情報や顧客の情報、お金のやり取りなど一箇所で行っていると、運営側も訳がわからなくなってしまうやろ。


まぁそうですよね。お客さんからしても、どこに行けば良いのってなっちゃいますからね。
せやな。それに買い物の履歴やクレジットカード決済情報が紛失してしまったりしたら大問題やしな。


信用に関わっちゃいますもんね。
そうや。だからこそ、一極集中でしっかり管理。確実性を重視する。そしてサーバも堅牢なものにするわけや。
その代わり、通信があまりに集中すると「重くなる」という症状がどうしても出てしまうのも特徴やな。
その代わり、通信があまりに集中すると「重くなる」という症状がどうしても出てしまうのも特徴やな。


あぁ~、確かに。大事件があったときのニュースサイトとか、人気商品の予約が始まったときのショッピングサイトとか。
一極集中型ゆえに起こる渋滞やな。

P2Pは分散型システム、求めているのは「スピード」

って考えると、確かにシステムってクライアント・サーバ型だけで良いんやないの?って思っちゃいますね。
P2P型って、使い道があるんですか?
P2P型って、使い道があるんですか?
ふむ、P2Pは技術としては昔からあったものの、サービスとして一般化されることはあまりなかったんや。
ところが最近は、クライアントサーバの欠点を補うものとして使われてきている。
ところが最近は、クライアントサーバの欠点を補うものとして使われてきている。


クライアントサーバの…欠点?
先程ちょっと触れたが「渋滞」問題や。クライアント・サーバ型は、そのシステムの構造上、どうしても渋滞が起きやすいからな。


え、でも、さっきの話で、しっかり管理したい、確実性を守るからこその一極集中じゃないですか。多少遅くなったりとか、仕方がないんじゃないですか?
ふむ、例えばショッピングやニュースなどは確かにせやな。Webページの切り替わりがいつもより遅くたって、例えばクリックしてから5秒かかったって、多少イライラはするかもしれんが、まぁ待てる時間や。
だが最近は、ちょっとした時間も待つことが受け入れられない事情が出てきた。
だが最近は、ちょっとした時間も待つことが受け入れられない事情が出てきた。


ちょっと待つのが受け入れられないって、なんかわがままですねぇ。そんなのあるんですか?
あるで。それは電話や。


あ…
話して、相手に伝わるまで5秒かかるとか、耐えられるか?


それは…ちょっと嫌ですね。会話も弾まなくなりそう。
しかも音声通信は、Webページ表示などに比べて非常に高度な処理となる。サーバも高い性能が必要や。
大量の利用者の音声通信をすべて処理しようと思ったら、超高性能のサーバが何百台必要なことか…
大量の利用者の音声通信をすべて処理しようと思ったら、超高性能のサーバが何百台必要なことか…


考えるだけで恐ろしくなりますね…
そこでP2Pの出番。すなわち、サーバ一極集中型ではなく、各パソコン同士が直接通信するんや。
いちいちサーバと通信することもないから通信時間も短く、負荷の集中もなくなるからな。
いちいちサーバと通信することもないから通信時間も短く、負荷の集中もなくなるからな。


そうか!Skypeの通話はP2Pだからあんなにスムーズに話ができるんですね!
うむ、あれだけ多くの利用者がおっても遅れなく高品質なテレビ電話ができるのは、P2Pによるところが大きい。それに、テレビ電話などは、多少映像に乱れがあっても、ちょっと音声が途切れても、そう困らないからなぁ。


なるほど、確かに。聞こえなかったら「え?なに?」って聞き返せば良いだけですしね。
そう、テンポよく通信できることが何より重要。確実性よりもスピードを重視しているわけや。


さっきのクライアント・サーバの一極集中は、とても合理的な考え方だと思ったんですけど、P2Pも、それはそれで合理的ですね。
ふむ、それぞれの事情に合わせた構造と言える。適材適所と言うやつやな。

「P2Pが危険」と言われるのはなぜ?

P2Pって、とっても合理的なことだと思うんですけど……なんであんなに危険危険って言われてるんでしょう?
どうしてあんな騒がれ方をしてしまったんですか?
どうしてあんな騒がれ方をしてしまったんですか?
ふむ、まさに最初に言った「なにがどうなっているから、こんな危険性がある」という部分やな。
よろしい。ここをきちんと説明しよう。
よろしい。ここをきちんと説明しよう。


お願いします!
P2Pの利用例として有名なのは「ファイル共有ソフト」
P2Pの特性を活かして、「ファイル共有ソフト」と言うものが作られたのが発端や。


ファイル共有ソフト?
例えばフリーソフトなどをダウンロードしようとすると、どこかのサーバにアクセスするのが一般的や。
だがそうすると、先ほどの「渋滞」問題が起こる。
だがそうすると、先ほどの「渋滞」問題が起こる。


人気ソフトとか、人気動画とか、みんなアクセスしますからねぇ。
そう、だからこそ生まれた「共有」という考え方。自分が持っているファイルをお互いに公開、共有し合うわけや。


…ちょっとよくイメージがわかない。
皆が皆、サーバからファイルをダウンロードしていたら効率が悪い。もしすぐ近くのパソコンにファイルがあるなら、そっちから貰おうという話や。


なるほど、確かに、そっちのほうが速そうですね。渋滞も起きないし。
人気のあるファイルは多くの人が持っているから、それだけ通信も分散されるしな。


おぉ!そう考えるとすっごい便利ですね。とっても良い仕組みじゃないですか。
P2Pの仕組みを悪用する人が世の中には存在する
ところが…そういうソフトを悪用するものも出てくる。例えばウィルスを作成し、いかにも皆が欲しそうなファイル名を付けて公開したりな。


えぇぇぇ、、、そんな悪い奴がいるんですね。
いつかも言ったが、インターネットは良くも悪くもオープンやからの。そういう輩も一定数いるもんや。
そして、ウィルスに感染すると自分のHDDの中身がまるごとファイル共有され、意図せず公開されてしまったりする。
そして、ウィルスに感染すると自分のHDDの中身がまるごとファイル共有され、意図せず公開されてしまったりする。


ええええええ…
恐ろしいのが、そうやって意図せず公開されてしまったファイルを削除したくても、他の多くのパソコンに渡ってしまったらもう消しようがないということや。
それに、サーバというものがない以上、誰が仕掛けたウィルスなのか、誰が拡散元なのかもわからん。悪人側の言葉で言うならば「足がつきにくい」んや。
それに、サーバというものがない以上、誰が仕掛けたウィルスなのか、誰が拡散元なのかもわからん。悪人側の言葉で言うならば「足がつきにくい」んや。


おおおお、怖い。ファイル共有って怖いですね。
違うで、しょうたくん。


え?
怖いのはファイル共有ではなく、それを悪用する「行為」や。
ファイル共有そのものは、先ほどしょうたくんが思ったとおり、うまく活用すれば非常に効率よく便利なもの。
要は「使い方」の問題なんや。
ファイル共有そのものは、先ほどしょうたくんが思ったとおり、うまく活用すれば非常に効率よく便利なもの。
要は「使い方」の問題なんや。


使い方…そうか…確かにそうですね…ファイル共有の仕組みそのものは、非常に画期的で良いものなのに…
使い方次第で、良くも悪くもなる。ただこういった新しい技術は様々な意味で注目されるもんや。だから何か問題が起こったら「ファイル共有は危ない」「P2Pは危険だ」と言われてしまう。まぁこれはコンピュータに限った話ではなく、世の中なんでもそうやろうけどな。


技術者を目指す者、何がどう危険なのか、きちんと見極めるようにせねば!ですね。
結局、クライアントサーバとP2Pの違いとは何か?
さて話を戻してP2Pやけど、実は何かと実現は難しい。


え、そうなんですか?
考えてみ。サーバに一極集中させている機能を、パソコンに分散するようなイメージやから、いわば多くのパソコンが、ちょっとずつサーバの機能を持っている状態や。


まぁ、確かにそうなりますよね。
しょうたくん、パソコンにSkypeのソフトをインストールしとるやろう?


そうなんですよ、ちょっと面倒なんですけど、そうしないと使えませんからね。ブラウザだけで使えたら便利なんですけど…
それは無理なんや。先ほどの話で、他のパソコンとの通話を受け付けたりするためには、ブラウザだけでの実装は困難。
どうしても専用ソフトなどをインストールし、電話を受ける機能を持たせる必要がある。
どうしても専用ソフトなどをインストールし、電話を受ける機能を持たせる必要がある。


そうか…言われてみれば確かに。P2Pのほうが準備が大変そうですね。クライアント・サーバのほうがいろんな意味でシンプルなんだなぁ。
やな。とは言えSkypeにしても、すべてがすべてP2Pではない。例えばログインの機能などは、サーバと通信して行われている。
ログインはセキュリティに関する機能やから、安全確実が最優先。高速性もそこまで重要視されんからな。
ログインはセキュリティに関する機能やから、安全確実が最優先。高速性もそこまで重要視されんからな。


あ!なるほど、Skpyeも通話以外の部分ではクライアント・サーバ的な動きもしてるんですね。
多くのシステムはそういった構造になっている。P2Pが最も効果的に活用できる部分のみをP2Pで実装し、ほかはクライアント・サーバ型にするのじゃ。いわばクライアント・サーバとP2Pのハイブリッド型やな。


おぉ、ハイブリッド!なんかカッコイイですね。
まとめ
さて、P2Pのこと、分かったかな?


はい!本当におかげさまで、クライアント・サーバとP2Pの関係から、P2Pが怖いと言われてしまう意味まで、よく理解できました!
ふむ、通信システムの根幹とも言える部分やから、よく覚えておくように。そしてきちんと説明できるようにな。
また何かわからんかったら俺に聞くんやで!
