「ファイル共有ソフト」仕組みと利点。P2Pソフトとは何か。

共有システム

ワークステーション

 パソコンが今よりもずっと低スペックだった時代。
インターネットもない頃。
ネットワークは、コンピューターに詳しい管理者が統治する、小規模なものだけだった。
ネットワークのイメージ「ネットワークの仕組みの基礎知識」OSI参照モデル、IPアドレスとは何か  ローカルネットワークしかなかったと言えるし、そういうネットワークを管理するコンピューター、あるいは管理体制は『ワークステーション』と呼ばれていた。

 ようするに、 「ファイルやシステムの共有」という意味でのネットワークは、インターネット(TCP/IP)とは、別に発展していた時期がある。
コンピュータの操作「コンピューターの構成の基礎知識」1と0の極限を目指す機械

ローカル・エリア・ネットワークの進化

デバイスドライバとAPIの関係

 モニターやプリンター、拡張カードや、様々な周辺機器など、パソコンに接続されているいろいろを、OSなどによって制御可能にするためのソフトウェアを『デバイスドライバ(ドライバー)』と言う。
 ようするにドライバーとは、機器(デバイス)を動作させるためのソフト。

 また、あるソフトウェアの機能や、管理データを、外部の他のプログラムから呼び出して利用するための手順やデータ形式を定めたシステムを、『API(Application Programming Interface)』と言う。
 例えば、たいていのソフトウェアで共通して使うような、汎用的な機能を、簡単なコード記述で、呼び出せるような規約である。

 よくあるOSの機能として、ドライバーを利用する場合に、その呼び出しとしてAPIを使う。
APIとドライバーは、併用される事が多く、関連が深い。

イーサネット。LANケーブル

 TCP/IPプロトコルと、よく組み合わせて使われる、ネットワークの規格に『イーサネット』がある。
OSI参照モデルにおける、物理層とデータリンク層に関わり、例えば『LANケーブル』などの技術規格である。

 LANとは、Local Area Network(ローカル・エリア・ネットワーク)、つまりは一部地域的な意味であり、例えば、自宅のコンピューターを、LANケーブルで、ルータのような中継ポイント機器に接続する事で、インターネットは可能になる。
 ただ、電波を使うような無線LANは、普通は、ケーブルとは言わない。
電波「電波とは何か」電磁波との違い。なぜ波長が長く、周波数が低いか  イーサネットとかは、『インターフェイス』の一種と言える。
インターフェイスとは、異なるコンピューターを接続し、交信や制御を可能にするための装置やソフトウェアの事。
制御工学「制御とは何か」コントロールの工学技術の基礎  

IBM社のNetBIOS。LAN Manager

 IBM社は、1980年代に自社製のコンピューター上で、ネットワークを実現するための『NetBIOS(Network Basic Input Output System)』というドライバーを作成。
IBMのコンピューターが採用していた、マイクロソフト社のOS『PC DOS』上のソフトウェアに、NetBIOSを共通して呼び出すAPIを備えさせた。
 このNetBIOSを、イーサネットなどのインターフェイスでも利用可能にするために、調整したシステムが、PC DOS用のネットワークソフト『LAN Manager』に受け継がれた。
APIの利点のひとつは、そのような引継ぎが行いやすいという事である。
 そして、NetBIOSは、LAN Managerを介して、Windowsにも引き継がれる事になった。

NetBEUI。TCP/IP

 実のところ、IBMが作った、NetBIOSを用いた通信プロトコルは、『NetBEUI』というもので、後に主流となるTCP/IPではなかった。

 Windows98くらいまでは、NetBEUIが標準であった。
NetBEUIはTCP/IPに比べたら、非常にシンプルであり、ただ、「個々の機器の名前だけ決めて、接続する」というようなものだった。
当然、こんなのでは、大規模なネットワークになってくると、管理が大変である。

 かつては、狭い領域でのネットワークにNetBEUI。
インターネットに接続する時はTCP/IPと、プロトコルを使い分ける方法もあったようだが、今は廃れている。

 結局、NBT(NetBT:NetBIOS over TCP/IP)という、TCP/IPのプロトコル上で、NetBIOSを利用する仕組みが開発され、NetBEUIは完璧に使われなくなった。

(注釈)あえて使う

 NetBEUIは小範囲でネットワーク向きであり、セキュリティ上の観点から利用可能と言われる事もある。

ファイル共有ソフト

 同じネットワーク上の、他のコンピュータからも参照できるように設定されているファイルを、『共有ファイル』と言う。
 NetBIOSは、Windowsのファイル共有(共有フォルダ)機能の基盤でもある。

 NBTにより、インターネットを介して、様々なネットワーク上の共有ファイルが、他のネットワーク上のコンピューターからも利用できるようになった。

 さらに、何らかのファイルを共有するソフトを『ファイル共有ソフト』と言う。

P2Pの利点。クライアントサーバー式に比べて

 21世紀以降は、専用のサーバーを持たない、『P2P(ピアツーピアネットワーク)』というシステムが登場した。
P2Pは、利用者それぞれのデバイスが、ネットワーク上の他のデバイスから見て、サーバーの役割を果たすと同時に、クライアントとしても動作するというもの(そういうふうに動作する独自プロトコルを用いている)。

 P2P登場以降、 ファイル共有ソフトはこの方式が主流となっている。
そして、 従来のようなサーバーなどに共有するファイルをアップする方式は、『クライアントサーバー式』と呼ばれるようになった。

 P2Pというシステム自体は、 そのネットワークの利用者が増えても、特定のデバイスに負荷が集中しにくいというメリットがある。
 それにクライアントサーバー式のように、システムの中核を担う少数のデバイスがダウンし、ネットワーク自体もダウンしてしまう、ということがあまりない。
 P2Pはいわば、管理も共有しているような方法なので、強力な性能を持つコントロールデバイスがあまり必要ない。
よってシステム開発者の消費コストも引くくなる。

 今は、P2Pシステムを利用した者に対する匿名性は低い事も多い。
これはP2Pの仕様上、匿名性を高くしてしまったら、何らかの違法ファイルが配布された場合に、いったい誰が、そのをファイルを最初に配布したのかが。全くわからなくなってしまいがち、だからである。
 他にもP2Pシステムは、「意図しない個人情報の流出の危険」や、「開発段階において、ノード(利用者)が多くなった場合のシミュレーションがかなり面倒」などといったデメリットもけっこうある。