2005/2/10にjapan.internet.comに新しいコラムが掲載されました。
P2P の説明には「ピア」や「ノード」というキーワードがよく登場します。そしてこれらは P2P の話の中では、同じような場面で、同じような意味合いで使われることが多い用語でもあります。
そこで今回は、普段何気なく耳にしているピアとノードの意味、そしてそれらの違いについて触れておきたいと思います。
■そもそもピアとは?
P2P(ピアツーピア)はピア同士が直接通信を行うという意味ですが、そのピアとはいったい何でしょうか。ピアに対して、きちんとした意味を理解して、イメージを持っておくと、 P2P アプリケーションと関わる際に役立ちます。
ピアには「対等のもの。同等のもの」という意味があります。このように「対等」ということを強調しているのは、クライアント/サーバー型システムとの対比、という観点があるからです。
■役割が固定されているクライアント/サーバー方式
クライアント/サーバー方式のシステムには中心となるサーバーが存在します。サーバーはデータの配信、蓄積、それから検索といったサービスを一手に引き受けて、クライアントに提供しています。つまりサーバーとは文字通り、サービスを提供するコンピュータのことであり、クライアントは「サービスの依頼人。要求者」なのです。
そして一度決まったこの役割は、変わることがありません。システムの中では、サーバーはサーバー、クライアントはクライアントとして一生を送ります。
余談ですが、「サーバー」として販売されているハードウェアは、単に「サーバーに適している PC」という意味であり、実際にサーバーとして使うかどうかは、基本的にインストールされる OS やアプリケーションに依存します。
つまり家電量販店で売られているような PC をサーバーとして使うこともできますし、逆にサーバーとして販売している PC をクライアントとして使うこともできるということです。本コラムで取り扱うサーバーとは、あくまでその PC の実際の役割のことです。
■役割が状況によって変わる P2P
一方 P2P では、サービスを提供する側、受ける側という役割は決まっておらず、主にシステムを構成しているのはお互いに対等な関係のピアです。各ピアは状況に応じて、データを提供することもあれば、取得することもあります。つまり各ピアの役割は固定的ではなく、状況に応じてサーバーの役目もクライアントの役目も両方果たします。
*筆者注:ピアはサーバーとクライアントの両方の役割を果たすことから、それらを組み合わせた「サーバント」という造語が使われることもあります。
■ノード
ピアと同じように使われる言葉に「ノード」があります。
簡単に言うと、 P2P の世界ではピアもノードもほぼ等しく扱われる、というのが結論です。違いはそれらが登場する文脈です。ピアが「対等」な関係にあるものということを強調したいときに使われるのに対して、ノードはネットワークの幾何学的な形(トポロジー)が意識されている場合に使われます。
ノード(node)には「交点」や「節」という意味があります。各ピアはネットワーク上では交点に位置しているため、ノードとも呼ばれるのです。
この定義によると、ネットワークの中継をするものはすべてノードですから、 PC だけではなくルータやスイッチなどはすべてノードと言うことができます。ただし、 P2P の議論の中でノードが使われた場合、 PC 以外を指すことはまれです。
ちなみに筆者はピアよりもノードを使うことが多いです。