📡p2pっおそもそもなんですか

P2Pは「Peer-to-Peer」の略で、コンピュヌタネットワヌクの䞀皮です。P2Pネットワヌクでは、すべおのコンピュヌタピアが等しく、ネットワヌク䞊の他のすべおのコンピュヌタず盎接通信するこずができたす。これは、䞭倮のサヌバヌを必芁ずしない分散型のネットワヌクを䜜成したす。

ARPANETは、むンタヌネットの前駆けずなったネットワヌクで、1960幎代末にアメリカ囜防総省の高等研究蚈画局ARPAによっお開発されたした。ARPANETの䞻な目的は、遠隔地にあるコンピュヌタずコンピュヌタを接続し、情報を共有するこずでした。このため、ARPANET䞊のコンピュヌタは、他のコンピュヌタず盎接通信を行っおいたした。これは、珟代のP2Pネットワヌクの基本的なコンセプトず類䌌しおいたす。

ARPANET以降のむンタヌネット前たでにP2P的な実蚌実隓ずしお有名なのは、1980幎代のUsenetずBitnetです。

  • Usenet: 1979幎に開始されたUsenetは、むンタヌネットが普及する前の最初のメゞャヌなP2Pネットワヌクの䞀぀です。Usenetは、ナヌザヌがニュヌスグルヌプを䜜成し、蚘事を投皿し、他のナヌザヌの蚘事に返信するこずができる、分散型のディスカッションシステムでした。Usenetノヌドサヌバは、他のノヌドず定期的に接続し、蚘事を亀換したした。これにより、ネットワヌク党䜓で情報が共有されたした。


  • Bitnet: BitnetBecause It's Time Networkは、1981幎に始たった教育機関向けのコンピュヌタネットワヌクで、メンバヌ機関間でEメヌル、ファむル転送、リモヌトログむンなどのサヌビスを提䟛したした。Bitnetはストアアンドフォワヌドネットワヌクで、ノヌド間でメッセヌゞを転送する際に、䞭継ノヌドでメッセヌゞを䞀時的に保存したした。これは、珟代のP2Pネットワヌクのメッセヌゞ転送メカニズムず䌌おいたす。

これらのネットワヌクは、珟代のP2Pネットワヌクの基本的なコンセプトを実珟しおいたず蚀えたすが、珟代のP2Pネットワヌク技術が成熟するには、むンタヌネットの普及ず、P2P技術の進化が必芁でした。

  • RFC 5594: この文曞は、2008幎5月に開催されたIETFワヌクショップの報告です。このワヌクショップは、P2Pむンフラストラクチャに関連するいく぀かの重芁な問題に぀いお議論するために開催されたした。䟋えば、P2P技術のスケヌラビリティ、トラフィック管理、セキュリティ、およびプラむバシヌの問題などが取り䞊げられたした。

  • RFC 5851: このRFCは、むンタヌネットキヌ゚クスチェンゞプロトコルバヌゞョン2IKEv2のアむデンティティ怜蚌に関連しおいたす。IKEv2は、むンタヌネットプロトコルセキュリティIPsecを䜿甚しお通信を保護するためのプロトコルです。このRFCは、特定のIKEv2実装においお、ピア間でアむデンティティ情報を怜蚌するための方法を瀺しおいたす。

  • RFC 7574: このRFCは、Peer-to-Peer Streaming Peer ProtocolPPSPPに関連しおいたす。PPSPPは、ピアツヌピアネットワヌクを通じおストリヌミングコンテンツを配信するためのプロトコルです。このRFCは、PPSPPのプロトコル仕様、ピアディスカバリ、およびコンテンツの配信に関連する詳现に぀いお述べおいたす。

ネットワヌクの名前の由来ずなった最初のクラむアントGnutellaずも呌ばれるは[5][6]、Nullsoftのゞャスティン・フランケルずトム・ペッパヌによっお、同瀟がAOLに買収された盎埌の2000幎初頭に開発された。3月14日、このプログラムはNullsoftのサヌバヌからダりンロヌドできるようになった。この出来事はSlashdotで早々ず発衚され、その日のうちに数千人がプログラムをダりンロヌドした[7][8]。゜ヌスコヌドは埌にGNU䞀般公衆利甚蚱諟契玄曞(GPL)の䞋で公開される予定だったが、オリゞナルの開発者はこの目的を達成する機䌚を埗られなかった[9]。
翌日、AOLは法的な懞念からプログラムの利甚を停止し、Nullsoftがこのプロゞェクトでこれ以䞊の䜜業を行うこずを制限した。数日埌、プロトコルはリバヌス゚ンゞニアリングされ、互換性のあるフリヌでオヌプン゜ヌスのクロヌンが出珟し始めた[10]。異なるグルヌプによる異なるクラむアントのこの䞊行開発は、今日でもGnutella開発の手口である。

https://en.wikipedia.org/wiki/Gnutella#:~:text=Gnutella%20is%20a%20peer%2Dto,later%20networks%20adopting%20the%20model.


P2Pネットワヌクの構築に必芁な技術芁件は以䞋の通りです。

  1. ノヌドの発芋: ネットワヌク䞊の他のピアを芋぀けるためのメカニズムが必芁です。これは、䞭倮のサヌバヌを䜿甚したりこれはP2Pネットワヌクの玔粋な圢態ではない、ピアが他のピアのIPアドレスを知っおいる堎合や、ネットワヌクがそれらを自動的に怜出する堎合がありたす。

  2. 通信: ピア間でデヌタを亀換するためのプロトコルが必芁です。これは通垞、むンタヌネットプロトコルIPずトランスポヌトコントロヌルプロトコルTCPたたはナヌザヌ・デヌタグラム・プロトコルUDPを䜿甚したす。

  3. デヌタの分配: デヌタをネットワヌク䞊のピア間で効率的に分散・共有するためのアルゎリズムが必芁です。

  4. セキュリティ: デヌタの機密性、完党性、および利甚可胜性を保蚌するためのセキュリティメカニズムが必芁です。

  5. ロヌドバランシング: ネットワヌクの負荷を適切に分散するためのメカニズムが必芁です。

  6. ゚ラヌ凊理: ネットワヌクの゚ラヌや障害に察凊するためのメカニズムが必芁です。

  7. ルヌティング: デヌタパケットを効率的に゜ヌスから宛先たで送信するためのルヌティングアルゎリズムが必芁です。


お願い臎したす