Rakan-ke-rakan

Secara umumnya, jaringan komputer **rakan-ke-rakan** (atau **P2P**) merujuk kepada sebarang jaringan yang tidak mempunyai pelanggan dan pelayan tetap, tetapi sejumlah nod *rakan* (peer) yang berfungsi sebagai pelanggan dan juga pelayan kepada nod lain dalam jaringan. Model aturan jaringan ini berbeza dengan model pelayan-pelanggan (client-server). Setiap nod mampu untuk memulakan atau menamatkan sebarang transaksi yang disokong. Nod rakan mungkin berbeza dalam konfigurasi tempatan, kelajuan memproses, lebar jaringan "network bandwidth", dan kuantiti storan. Contoh popular P2P adalah jaringan perkongsian fail.

## Penggunaan

Walaupun istilah ini hanya secara teknikal boleh digunakan bagi beberapa teknologi jaringan "networking technologies" dan applikasi yang menggunakan model ini  (seperti protokol NNTP yang digunakan untuk memindah berita Usenet, ARPANET, applet Java sembang terus "live chat" tersebar atau BBS FidoNet), ia pada kebiasaannya digunakan untuk merujuk kepada jaringan perkongsian fail seperti Gnutella, FastTrack, dan sekarang yang ditutup Napster yang memberikan kemudahan percuma untuk perpindahan fail (dan agak "anonymous") antara komputer peribadi bersambung dengan Internet.

Sesetengah jaringan dan saluran, seperti Napster, OpenNap, atau IRC @find, menggunakan struktur pelayan-pelanggan untuk sebahagian tugas (contoh pencarian) dan struktur rakan-ke-rakan untuk yang lain. Jaringan seperti Gnutella atau Freenet, menggunakan struktur rakan-ke-rakan untuk semua tujuan dan dirujuk sebagai jaringan rakan-ke-rakan sebenar.

Apabila istilah rakan-ke-rakan digunakan untuk menggambarkan jaringan Napster, ia membayangkan protokol rakan adalah penting, tetapi sebenarnya pencapaian Napster terbesar adalah pemberian kuasa kepada rakan (contoh perbatasan jaringan).  Protokol rakan merupakan cara paling biasa untuk mencapai matlamat ini.

## Pertelingkahan undang-undang

Fail yang paling biasa dikongsi pada jaringan sedemikian adalah fail mp3 muzik popular dan fail filem DivX. Ini telah mendorong ramai pemerhati, termasuk kebanyakan syarikat media dan sebahagian penyokong rakan-ke-rakan, untuk memutuskan bahawa jaringan ini memberikan ancaman serious kepada model business syarikat media yang sedia ada. Akibatnya, jaringan rakan-ke-rakan telah menjadi sasaran oleh organisasi perdagangan seperti RIAA dan MPAA sebagai bakal menjadi ancaman. 

Perkhidmatan Napster telah ditutup oleh saman RIAA; kedua kumpulan RIAA dan MPAA membelanjakan sejumlah besar wang untuk cuba melobi pembentuk undang-undang untuk mengemukakan kekangan perhakiman. Cubaan yang paling melampau sehingga Januari 2003 adalah satu cadangan yang dikemukakan oleh wakil California, Berman, yang memberikan pemegang hak milik hak sah untuk memecah masuk kedalam sistem komputer yang dipercayai menyebarkan bahan hak cipta, dan subvert operasi jaringan rakan-ke-rakan. Cadangan tersebut ditolak oleh jawatankuasa 2002.

Ketika serangan oleh syarikat media meningkat, jaringan rakan-ke-rakan kelihatannya berubah dengan cepat dan menjadi semakin sukar dari segi teknologi untuk ditanggalkan. Kesemua ini menyebabkan syarikat media bertukar arah dan mula menjadikan pengguna sistem tersebut sebagai sasaran. Sesetengah pemerhati telah menjangkakan jaringan terbuka akan beransur berubah menjadi tertutup, berkod dimana identiti pihak yang berkongsi tidak diketahui oleh pihak pemohon. Trend lain kearah keimmuna dari syarikat media kelihatannya kearah jaringan tanpa wayar adhoc dimana setiap perkakasan disambungkan secara bentuk rakan-ke-rakan sebenar dengan perkakasan bersebelahan.

## Rakan-ke-rakan dari sudut pandangan sains komputer

Secara teknikal, applikasi rakan-ke-rakan sebenar mesti melaksanakan hanya protokol sesama rakan yang tidak menggunakan konsep "pelayan" atau "pelanggan". Applikasi dan jaringan sebegitu adalah jarang. Kebanyakan applikasi dan jaringan yang digambarkan sebagai rakan-ke-rakan sebenarnya mempunyai atau bergantung kepada elemen bukan-rakan, seperti DNS. Juga, applikasi dunia sebenar sering menggunakan pelbagai protokol dan bertindak sebagai pelanggan, pelayan, dan rakan serentak atau dalam tempoh masa tertentu. Jaringan tersebar rakan sepenuhnya talah digunakan untuk beberapa tahun, dua contoh termasuk USENET (1979) dan FidoNet (1984).

Sun menambahkan objek kepada bahasa Java untuk mempercepatkan pembangunan applikasi rakan-ke-rakan dengan cepat pada akhir tahun 1990an agar pembangun perisian boleh membina applet sembang waktu sebenar tersebar dan applikasi sebelum jaringan Pesanan Segera "Instant Messaging" menjadi popular. Usaha ini sekarang diteruskan dengan projek JXTA.

Sistem dan applikasi rakan-ke-rakan telah menarik perhatian penyelidik sains komputer; sesetengah projek penyelidik terkemuka termasuk perkhidmatan cari Chord "Chord lookup service", ARPANET, kemudahan storan PAST, dan sistem penyebaran kandungan CoopNet "CoopNet content distribution system" (lihat di bawah untuk pautan luar kepada projek berkenaan).

## Jaringan/protokol dan applikasi rakan-ke-rakan

*Format:*
* *Jaringan/protokol*
** *applikasi menggunakan jaringan tersebut*

* Jaringan BitTorrent network
** BitTorrent
** BitTorrent++
** ABC
** Azureus
** BitAnarch
** SimpleBT
** BitTorrent.Net
** Shareaza
** mlMac
** QTorrent
* Jaringan Direct Connect 
** NeoModus Direct Connect
** DC++
** BCDC++
** CZDC++
* Jaringan eDonkey 
** Pelanggan eDonkey (tidak lagi disokong)
** eMule
** aMule (versi linux)
** LMule
** mlDonkey
** Shareaza
** mlMac
** xMule
* Protokol FastTrack
** Kazaa, Kazaa Lite, K++ Diet Kazaa
** Grokster
** iMesh
** giFT
** Poisoned
** mlMac
* Freenet network
** Freenet
** Frost
** Entropy (pada jaringan sendiri)
* Jaringan Gnutella 
** Acquisition (Mac OS X)
** BearShare
** Gnucleus
** Limewire (Java)
** Morpheus
** Phex
** Poisoned
** Swapper
** Shareaza
** XoloX
** mlMac
** gtk-gnutella (Unix)
* Jaringan Gnutella2 (Protokol Mike)
** Shareaza
** MLDonkey
** Gnucleus
** Morpheus
** Adagio
** mlMac
* Protokol Kademlia
** eMule
** mlDonkey
** VarVar
* Jaringan MANOLITO/MP2P 
** Blubster
** Piolet
** RockItNet
* Jaringan Napster 
** OpenNap
** WinMX
** Napigator
** FileNavigator
* Jaringan WPNP 
** WinMX
* Joltid PeerEnabler
** Joltid
** Altnet
** Bullguard
** Sharman Networks (KaZaA)
* Jaringan lain
** Akamai
** Alpine
** Ares Galaxy
** Audiogalaxy network
** Carracho
** Chord
** The Circle
** Dexter
** Jaringan EarthStation 5
** Evernet
** FileTopia
** GNUnet
** Grapevine
** Groove
** Hotwire
** konspire2b
** MUTE
** OpenFT
*** Poisoned
** IRC @find and XDCC.
** JXTA
** Peersites (http://www.peersites.com)
** MojoNation
** Mnet
** Jaringan Overnet 
** Scour
** Scribe
** Jaringan SongSpy 
** Soulseek
** SquidCam (http://www.squidsoft.com/)
** Swarmcast
** Winny (Jepun)

Selain itu, paradigma rakan-ke-rakan telah digunakan untuk sistem terbit/langgan, contoh sistem di mana pengguna melanggan dengan pertanyaan berterusan dan asychronously menerima pemberitahuan apabila kejadian yang serupa "matching events" berlaku. P2P-DIET adalah sistem rakan-ke-rakan terbit/langgan yang memperalatkan kemungkinan bagi menggunakan rakan yang lebih kukuh sebagai pelayan. Dalam P2P-DIET, rakan lebih kukuh (rakan-super) membentuk jaringan rakan-ke-rakan lebih tulin, dan rakan-pelanggan dipautkan dalam bentuk bintang kepada rakan-super tunggal. Untul lebih terperinci berkenaan P2P-DIET, sila rujuk kepada http://www.intelligence.tuc.gr/p2pdiet.

Generasi lebih awal sistem rakan-ke-rakan dikenali sebagai "metakomputing" atau dikelaskan "middleware". Ini termasuk:

* Legion
* Globus
* Condor

Lihat juga: Servent, Perlesenan wajib "Compulsory licensing"

## Pautan luar
*OpenP2P
*Wired News: Still Plenty of Music Out There - An overview of mostly peer-to-peer software.
*IBM Developer Works: The practice of peer-to-peer computing
*P2P Info Centre p2p news, apps, Linux P2P,

## Penyelidik sains komputer
* Chord lookup service
* PAST distributed storage utility
* CoopNet cooperative content distribution system
* More peer-to-peer research resources
* P2P Networks (history, music, copyright, Napster, GNUtella, YouServe, Freenet, search engines, routing, security)