Webアプリ開発事始 第2回

TCP/IPネットワークとWebアプリケーションの基礎(2)
~クライアント・サーバー方式とTCP/IPプロトコル
長谷川裕行
有限会社 手國堂

ネットワークと資源の共有

ネットワークの基本が資源の共有にあるということは、誰しもご存じでしょう。では、資源を共有するとは、具体的にどういうことでしょう?


- ピアツーピア方式 -

コンピュータをサーバーとクライアントに分けるという考え方は、ハードウェアとしてのコンピュータだけではなく、ソフトウェアやそれの提供する機能(=サービス)にまで広がってきます。

機能を提供するコンピュータをサーバー、利用するコンピュータをクライアント――と、ハードウェアとしてのコンピュータをイメージさせるような表現をされることが多いので戸惑いますが、TCP/IPネットワークのサービスを見れば、その対象がコンピュータだけではなくソフトウェア的な機能でもあることが、お分かりいただけるはずです。

ソフトウェア的な機能さえ実装すれば、ハードウェアとしてのコンピュータはサーバーにもクライアントにもなれます。それがピアツーピア方式です。

例えば、外部記憶装置を公開し提供するファイルサーバーが、プリンタを公開し提供しているプリントサーバーの機能を使って、印刷処理を行っても構いません。このときファイルサーバーは、プリントサーバーのクライアントいうことになります。

つまりピアツーピア方式は、クライアント・サーバー方式の「一形態」なのです。


- クライアント・サーバーの一種 -

最近のネットワーク解説書(特に入門書)では、時として「ネットワークにはクライアント・サーバー方式とピアツーピア方式の2種類がある」などと書かれていることがありますが、これは正しい表現ではありません。

このことについては、まだパソコン・ネットワークが現在ほど広まっていなかった時代に、説明を分かりやすくする目的で私も似たような表現をしたことがあります(どうも、その説明が形を変えていまだに生き延びているようで、反省しています…)。

「コンピュータの役割分担」という意味では、確かにクライアント・サーバー方式とピアツーピア方式は異なる概念と言えます。しかし接続方式から見れば機能を提供するサーバーと利用するクライアントという関係はまったく同じです。


- サーバー兼クライアント -

専用のサーバーを配置する方式では、高機能&高価なサーバー専用機と低価格なクライアント機――という構図になります。しかし、低価格なパソコンでさえ、10年前のワークステーションを上回る性能を持っている現在、その処理能力をスタンドアロンとして1台に閉じ込めておく必要はありません。

小規模なネットワークでは、ネットワークのユーザー管理さえする必要のない場合があります。そこで、クライアント・サーバー方式のネットワークから管理機構を取り去り、どのコンピュータがサーバーでも構わないような形の運用形態としたものが、ピアツーピア方式です。

ピア(peer)とは「同輩」「同等の立場」という意味で、つまりホストと端末、クライアントとサーバーといった上下関係の存在しない「使い方、運用形態」を指します。


- PeerとPerson -

ピアツーピアは、頭文字をとってP2Pと略されます。上記の誤解は、Napstar社のシステム※4 やGnutella※5 のようなP2P型システムを見て、P2P=クライアントもサーバーも存在しないネットワークと受け止められたところから来たようです。

実際、こういったソフトウェアはPeer to Peer(同等の立場同士の連携)ではなくPerson to Person(人と人との連携)の略だとも言われます。

この場合でも、サーバーとクライアントが存在しない訳ではありません。Napstarの場合はユーザー管理用のサーバーが稼働していますし、Gnutellaは1台のコンピュータにサーバーソフトとクライアントソフトが同居していると見なせるので、機構上は明らかにクライアント・サーバー方式です。

クライアントもサーバーも存在しない――のではなく、ハードウェアにサーバー/クライアントという厳然たる区分けがなくなり、ネットワークから管理機構を取り去っただけ――ということです。
図3:ピアツーピアはクライアント・サーバーの一形態


※4 Napstar社のシステム:インターネット上でユーザー同士がMP3ファイル(音楽データ)を交換するためのクライアント・サーバー・システム
※5 Gnutella:インターネット上でユーザー同士が自在にファイル交換を行うためのソフトウェア。また、そのための規格も同じ名称で呼ばれる


- 資源の共有が基本 -

ホスト方式、クライアント・サーバー方式、そしてその一形態であるピアツーピア方式――どのようなネットワーク方式でも、共通しているところがあります。「資源の共有」です。

資源を共有するということは、情報の処理機構と伝達経路を共有するということでもあります。それがネットワークの基本です。TCP/IPネットワークの典型であるインターネットでも、それは変わりません。主に記憶装置(メモリとディスク)の共有が中心となります。

Webページの閲覧では、Webサーバーのディスクに保存されたHTMLファイルを、回線を通じてクライアントが読み出します。eメールも、メールサーバーのハードディスクを、多数のクライアントで共用していることになります。

ここで言う「資源」には、ハードウェアだけではなく「ソフトウェアの機能」も含まれます。サーバーのソフトウェア的な機能を、クライアントが利用するという図式は、先述したようにインターネットのサービスそのものです。


- 目次 -
ネットワークの原点
クライアント・サーバー方式のネットワーク
ネットワークと資源の共有
ピアツーピア方式
クライアント・サーバーの一種
サーバー兼クライアント
PeerとPerson
資源の共有が基本
TCP/IPプロトコルの基本
あとがき

Copyright © MESCIUS inc. All rights reserved.