{{위키데이터 속성 추적}}
{{출처 필요|날짜=2010-02-19}}
{{다른 뜻}}
[[파일:P2P-network.svg|섬네일|200px|중앙 집중식 관리 시스템을 사용하지 않고, 상호 연결된 노드(피어)들이 서로 간에 자원을 공유하는 P2P 네트워크.]]
<!-- 역자(소개부분) 주
  바로 이전 판의 소개 부분은 거의 클래이 셔키의 "무엇이 P2P고... 무엇이 아닌가"란 번역본에 대부분 의존하고 있는데, 내용 자체도 논란이 되는 부분이 있고, 둠이란 게임의 예를 역자가 한국인에게 친숙한 스타크레프트로 임의로 바꾸는 바람에 원 저자의 의도와는 다른 예가 된 것 같습니다.  스크는 오히려 냅스터보다 훨씬 더 클라이언트-서버 구조라 할 수 있지요.  임시 방편으로 그 부분만 삭제 했지만, 마음에 걸렸었는데 바로 최담담님의 요청도 있고, 셔키의 저작권 문제도 있을 법해서, 미흡하나마 초역을 했습니다.  근데, 생각보다는 시간도 좀 걸리고 귀찮은 부분이 많군요.  한국어 링크가 개편되는대로 링크 등은 고쳐 주세요.  ^정^
-->

'''P2P'''(peer-to-peer network) 혹은 '''동등 계층간 통신망'''(同等階層間通信網)은 비교적 소수의 서버에 집중하기보다는 망구성에 참여하는 기계들의 계산과 [[대역폭]] 성능에 의존하여 구성되는 [[네트워크|통신망]]이다. P2P 통신망은 일반적으로 [[노드]]들을 규모가 큰 [[Ad hoc|애드혹]]으로 서로 연결하는 경우 이용된다. 이런 통신망은 여러 가지로 쓸모가 있는데, 오디오나 비디오, 데이터 등 임의의 디지털 형식 파일의 공유는 매우 보편적이다. 또한, 인터넷 전화([[음성 인터넷 프로토콜|VoIP]])같은 실시간 데이터 등도 P2P 기술을 통해 서로 전달될 수 있다.

순수 P2P 파일 전송 네트워크는 [[클라이언트]]나 [[서버]]란 개념 없이, 오로지 동등한 계층 노드들(peer nodes)이 서로 클라이언트와 서버 역할을 동시에 네트워크 위에서 하게 된다. 이 네트워크 구성 모델은 보통 중앙 서버를 통하는 통신 형태의 클라이언트-서버 모델과는 구별된다. [[파일 전송 프로토콜|FTP]] 서버야 말로 P2P 파일 전송 형식이 아닌, 대표적 반례로 꼽을 수 있다. 어떤 사용자가 FTP 서버에 어떤 파일을 올리면 다른 사용자들이 내려 받는데, 올리는 쪽과 내려받는 쪽 모두 동시에 접속하지 않아도 된다.

[[냅스터]], [[오픈냅]], [[IRC]] [[w:Depot channel|@find]]) 등과 같은 네트워크와 채널은 클라이언트-서버 구조를 검색 등과 같은 일부 기능에 쓰고, 다른 기능은 P2P 구조를 쓴다. [[누텔라 (네트워크)|누텔라]]나 [[프리넷]] 같은 네트워크는 모든 기능에 P2P 구조를 가지는데, 비록 그 네트워크가 다른 같은 계층의 사용자들(peers)의 네트워크 주소를 알려 주는 데 디렉터리(directory) 서버에 크게 의존하긴 하지만, 때때로 진정한 P2P 네트워크으로 인용된다.

P2P 네트워크 구조는 최근에 인터넷 상에서 멀티미디어 파일을 공유하는 용도로 많이 부각되긴 했지만, [[1969년]] [[4월 7일]]에 제정된 [[RFC]](Request for Comments)란 인터넷 규약의 초기 버전부터 핵심적인 기술로 내제되어 있어 유래가 깊다.

최근의 P2P 서비스는 순수 파일 전송 네트워크에서 발달하여 [[그리드 컴퓨팅]] 기술로 진화해 웹하드 형태로 서비스되고 있다. 외부적으로 웹하드 형식으로 보이지만 실제로는 각 유저들의 저장장치에 화일이 직접 전송되어 순수 초기 P2P 네트워크와 마찬가지로 유저들의 시스템에 부하를 유발하는 공통점이 있다. 이런 웹하드 형태의 그리드 컴퓨팅 P2P 서비스로는 피디박스, 화일아이, 아이팝 등이 있다.

== 리소스 기반의 어드레싱 ==
P2P는 인터넷에 연결되어 있는 여러 가지 형태의 리소스 (저장 공간, 씨피유 파워, 콘텐츠, 그리고 연결된 컴퓨터를 쓰고 있는 사람 그 자체)를 이용하는 일종의 응용 프로그램이다. 그런데 이들은 고정된 ip 주소도 없고, 연결이 되었다 안 되었다 하는 '불안정한' 형태로 존재하는 분산된 리소스이다. 따라서 P2P 노드는 종래의 DNS '바깥에서' 운용될 수밖에 없으며 강력한 중앙의 서버들의 영향력이 미치지 않는다.

바로 이 점이 P2P를 독보적으로 만드는 핵심이다.

P2P 디자이너들은 그런 특징을 활용해서 CPU 싸이클들을 모을 수 있는 방법, 파일을 공유할 수 있는 방법, 채팅하는 방법 등을 찾아내고자 하는 것이다. 문제는 어떤 방향으로 나아가고자 하느냐이다.

냅스터나 ICQ, Popular Power, Freenet 등은 모두 기존에는 전혀 사용되지 않던 리소스를 발굴해서 지렛대로 활용하려 하고 있다는 점에서 유사하다. 이러한 서비스는 다양한 형태로 인터넷에 물려 있는 수천, 수만가지의 장치들을 잘 조합하고 연결하려고 하는 것이다.

혹자는 P2P 디자이너들이 해결하는 이러한 '연결 문제'(connectivity problem)가 단지 하나의 해프닝적인 것 아니냐는 식으로 얘기하곤 한다. 하지만, '컴퓨터끼리 연결하는 방법을 개선하겠다'는 모토가 그 유명한 IP 주소나 DNS, 또는 그전의 TCP, 심지어는 인터넷 그 자체를 태어나게 했다는 사실. 인터넷은 결국 위에서 말한 기술이 탄생한 순간 순간이 모여서 이뤄진 것이다.

== DNS를 우회하는 P2P ==
1996년 나온 ICQ는 항상 인터넷에 연결되어 있는 서버와는 다른, 접속하다 끊을 수도 있는 개인용 컴퓨터들끼리 서로 접속할 수 있는 길을 처음으로 터 주었다. 모든 것이 점차 휴대화되어 가는 추세를 맞아, ICQ는 DNS를 우회해서 저만의 독자적인 프로토콜 주소 디렉터리(protocol-specific address directory)를 창조해 냈던 것이다. 이를 통해 IP 주소는 실시간으로 업데이트 될 수 있었다. Groove, Napster, Netmeeting 등이 ICQ를 따라 이런 방법을 사용한다. (물론 모든 P2P 시스템이 이 트릭을 쓰는 것은 아니다. [[그누텔라]] (Gnutella) 나 Freenet의 경우, DNS를 우회하는 것은 이전 방식과 똑같지만 숫자로 표시되는 IP 주소를 활용한다는 점에서 다르다. Popular Power와 SETI@Home은 각 노드가 고정된 주소에 접속할 수 있는 스케줄을 제공해서, 접속 당시의 IP 주소를 전달하는 방식을 택하고 있다)

Whois에 따르면 IP 주소가 처음 뿌리를 내린 1984년 이후 16년 동안 2천3백만 개의 도메인 이름이 만들어졌다. 하지만 냅스터는 혼자서 16개월 만에 2천 3백만 개의 비 DNS 주소를 만들어냈다. 그리고 만약 사용자가 모든 비 DNS 인스턴트 메시징 주소에 가입한다고 하면 동적인 IP 주소에 접근할 수 있는 P2P 주소의 개수는 모두 2억 개를 넘어선다. 평균 DNS 호스트가 10개의 second.first.com 같은 형태의 2차 주소를 갖고 있다고 가정해 보아도, 현재의 P2P 주소의 모든 개수는 불과 4년 뒤엔 DNS 주소의 모든 개수와 같아지게 될 것이며, 오늘날의 DNS 세계보다 훨씬 더 광대한 세계로 성장해 가게 된다는 셈이 된다.

무선 PDA 같은 새로운 종류의 인터넷 접속 장치나 TiVo, Replay 같은 디지털 비디오 레코더가 보급됨에 따라 이들 역시 인터넷의 중요한 일부가 될 것이 확실하다. 하지만 현재로는 피씨 그 자체야말로 개척되지 않은 리소스의 절대 다수를 갖고 있다. 피씨는 인터넷의 다크호스이다. 그리고 그 피씨가 갖고 있는 '덜' 사용된 리소스는 P2P 혁명을 더욱 가속화할 것이다.

== 네트워크, 프로토콜, 응용 프로그램 ==
;형식:
* 네트워크/프로토콜: 해당 네트워크를 사용하는 응용 프로그램 목록 (사용 운영 체제)

알파벳순 표시 - 매우 비슷한 응용 프로그램 예외

* [[w:Applejuice|Applejuice]] network: [[w:Applejuice Client|Applejuice Client]]
* [[w:Avalanche (P2P)|Avalanche]]
* [[w:BitTorrent|BitTorrent]] network: [[w:ABC (BitTorrent)|ABC]], [[w:Azureus|Azureus]], [[w:BitAnarch|BitAnarch]], [[w:BitComet|BitComet]], [[w:BitSpirit|BitSpirit]], [[w:BitTornado|BitTornado]], [[w:BitTorrent|BitTorrent]], [[w:BitTorrent plus plus|BitTorrent++]], [[w:BitTorrent.Net|BitTorrent.Net]], [[w:G3 Torrent|G3 Torrent]], [[w:mlMac|mlMac]], [[w:MLDonkey|MLDonkey]], [[w:QTorrent|QTorrent]], [[w:SimpleBT|SimpleBT]], [[w:Shareaza|Shareaza]], [[w:TomatoTorrent|TomatoTorrent]] ([[w:Mac OS X|Mac OS X]]) [http://sarwat.net/bittorrent/], [[w:TorrentStorm|TorrentStorm]], [[w:UTorrent|µTorrent]]
* [[w:CAKE|CAKE]] network: [[w:BirthdayCAKE|BirthdayCAKE]] the reference implementation of [[w:CAKE|CAKE]]
* [[w:Direct connect file-sharing application|Direct Connect]] network: [[w:BCDC plus plus|BCDC++]], [[w:CZDC plus plus|CZDC++]], [[w:DC plus plus|DC++]], [[w:NeoModus Direct Connect|NeoModus Direct Connect]], [[w:JavaDC|JavaDC]], [[w:DCGUI-QT|DCGUI-QT]]
* [[w:eDonkey network|eDonkey network]]: [[w:aMule|aMule]] ([[w:Linux|Linux]], [[w:Mac OS X|Mac OS X]], others), <del>[[w:eDonkey2000|eDonkey2000]]</del>, [[w:eMule|eMule]], [[w:LMule|LMule]], [[w:MindGem|MindGem]], [[w:MLDonkey|MLDonkey]], [[w:mlMac|mlMac]], [[w:Shareaza|Shareaza]], [[w:xMule|xMule]], [[w:iMesh Light|iMesh Light]], [[w:ed2k|ed2k]] (eDonkey 2000 protocol)
* [[w:FastTrack|FastTrack]] protocol: [[w:giFT|giFT]], [[w:Grokster|Grokster]], [[w:iMesh|iMesh]] (and its variants stripped of [[w:adware|adware]] including [[w:iMesh Light|iMesh Light]]), [[w:Kazaa|Kazaa]] by [[w:Sharman Networks|Sharman Networks]] (and its variants stripped of [[w:adware|adware]] including: [[w:Kazaa Lite|Kazaa Lite]], [[w:K plus plus|K++]], [[w:Diet Kaza|Diet Kaza]] and [[w:CleanKazaa|CleanKazaa]]), [[w:KCeasy|KCeasy]], [[w:Mammoth|Mammoth]], [[w:MLDonkey|MLDonkey]], [[w:mlMac|mlMac]], [[w:Poisoned|Poisoned]]
* [[w:FotoSwap|FotoSwap]]
* [[w:Freenet|Freenet]] network: [[w:Entropy (network)|Entropy]] (on its own network), Freenet, [[w:Frost (network)|Frost]]
* [[w:Gnutella|Gnutella]] network: [[w:Acquisition (software)|Acquisition]] ([[w:Mac OS X|Mac OS X]]), [[w:BearShare|BearShare]], [[w:BetBug|BetBug]], [[w:Cabos|Cabos]], [[w:CocoGnut|CocoGnut]] ([[w:RISC OS|RISC OS]]) [http://www.alpha-programming.co.uk/software/cocognut/] {{웨이백|url=http://www.alpha-programming.co.uk/software/cocognut/ |date=20051026224448 }}, [[w:Gnucleus|Gnucleus]] [[w:Grokster|Grokster]], [[w:iMesh|iMesh]], [[w:gtk-gnutella|gtk-gnutella]] ([[w:Unix|Unix]]), [[w:Kiwi Alpha|Kiwi Alpha]], [[w:LimeWire|LimeWire]] ([[w:Java programming language|Java]]), [[w:MLDonkey|MLDonkey]], [[w:mlMac|mlMac]], [[w:Morpheus (computer program)|Morpheus]], [[w:Phex|Phex]] [[w:Poisoned|Poisoned]], [[w:Swapper|Swapper]], [[w:Shareaza|Shareaza]], [[w:XoloX|XoloX]]
* [[w:Gnutella2|Gnutella2]] network: [[w:Adagio (computer program)|Adagio]], [[w:Caribou (computer program)|Caribou]], [[w:Gnucleus|Gnucleus]], [[w:iMesh|iMesh]], [[w:Kiwi Alpha|Kiwi Alpha]], [[w:MLDonkey|MLDonkey]], [[w:mlMac|mlMac]], [[w:Morpheus (computer program)|Morpheus]], [[w:Shareaza|Shareaza]], [[w:TrustyFiles|TrustyFiles]]
* [[w:HyperCast|HyperCast]] [https://web.archive.org/web/20081011031938/http://www.cs.virginia.edu/hypercast]
* [[w:Joltid PeerEnabler|Joltid PeerEnabler]]: [[w:Altnet|Altnet]], [[w:Bullguard|Bullguard]], [[w:Joltid|Joltid]], [[w:Kazaa|Kazaa]], [[w:Kazaa Lite|Kazaa Lite]]
* [[w:Kad Network|Kad Network]] (using [[w:Kademila|Kademila]] protocol): [[w:eMule|eMule]], [[w:MindGem|MindGem]], [[w:MLDonkey|MLDonkey]]
* [[w:LUSerNet|LUSerNet]] (using LUSerNet protocol): [[w:LUSerNet|LUSerNet]]
* [[w:MANOLITO|MANOLITO]]/MP2P network: [[w:Blubster|Blubster]], [[w:Piolet|Piolet]], [[w:RockItNet|RockItNet]]
* [[w:Napster|Napster]] network: [[w:Napigator|Napigator]], [[w:OpenNap|OpenNap]], [[w:WinMX|WinMX]]
* [[w:Peercasting|Peercasting]] type networks: [[w:PeerCast|PeerCast]], [[w:IceShare|IceShare]] - P2P implementation of [[w:IceCast|IceCast]], [https://web.archive.org/web/20060218123435/http://www.freecast.org/ Freecast]
* [[프라우드넷]]
* [[w:LiveP2P|LiveP2P]] type networks: [[w:CoolStreaming|CoolStreaming]], [[w:Cybersky-TV|Cybersky-TV]]
* [[w:WPNP|WPNP]] network: [[w:WinMX|WinMX]]

* other networks: [[w:Akamai|Akamai]], [[w:Alpine program|Alpine]], [[w:ANts P2P|ANts P2P]], [[w:Ares Galaxy|Ares Galaxy]], [[w:Audiogalaxy|Audiogalaxy]] network, [[w:Carracho|Carracho]], [[w:Chord peer-to-peer lookup service|Chord]], [[w:The Circle|The Circle]], [[w:Coral Content Distribution Network|Coral]] [https://web.archive.org/web/20050205035215/http://www.scs.cs.nyu.edu/coral/], [[w:Dexter|Dexter]], [[w:Diet-Agents|Diet-Agents]], [[w:EarthStation 5|EarthStation 5]] network, [[w:Evernet|Evernet]], [[w:FileTopia|FileTopia]], [[w:GNUnet|GNUnet]], [[w:Grapevine (software)|Grapevine]], [[w:Groove (software)|Groove]], [[w:Hotwire|Hotwire]], [[w:iFolder|iFolder]][https://web.archive.org/web/20130921180524/http://www.ifolder.com/], [[w:konspire2b|konspire2b]], [[w:Madster|Madster/Aimster]], [[w:MUTE|MUTE]], [[w:Napshare|Napshare]], [[w:OpenFT|OpenFT]] ([[w:Poisoned|Poisoned]]), [[w:P-Grid|P-Grid]][http://www.p-grid.org] {{웨이백|url=http://www.p-grid.org/ |date=20050920043314 }}, [[w:Internet relay chat|IRC]] [[w:at find|@find]] and [[w:XDCC|XDCC]], used by [[w:IRC|IRC]] clients including: [[w:mIRC|mIRC]] and [[w:Trillian (instant messenger)|Trillian]], [[w:JXTA|JXTA]], [[w:Peersites|Peersites]] [http://www.peersites.com], [[w:MojoNation|MojoNation]], [[w:Mnet|Mnet]], [[w:Overnet|Overnet]] network, [[w:Scour|Scour]], Scribe, [[w:Skype|Skype]], [[w:Solipsis|Solipsis]] a massively multi-participant virtual world, [[w:SongSpy|SongSpy]] network, [[w:Soulseek|Soulseek]], [[w:SPIN (software)|SPIN]], [[w:SpinXpress (software)|SpinXpress]], [[w:SquidCam|SquidCam]] [http://www.squidsoft.com], [[w:Swarmcast|Swarmcast]], [[w:WASTE|WASTE]], [[w:Warez P2P|Warez P2P]], [[w:Winny|Winny]], [[w:AsagumoWeb|AsagumoWeb]], [[w:OpenExt|OpenExt]], [[w:Tesla (network)|Tesla]], [[w:soribada|soribada]], [[w:fileswapping|fileswapping]], [[w:XSC|XSC]],

P2P 시스템의 이전 세대는 메타컴퓨팅(metacomputing)이라 불리거나 미들웨어(middleware)로 분류됨. [[w:Legion (software)|Legion]], [[w:Globus|Globus]], [[w:Condor Soft|Condor]], [[w:ByteTornado|ByteTornado]]

=== 다중 네트워크(Multi-network) 응용 프로그램 ===
;형식:
* 응용 프로그램 (네트워크/프로토콜) (사용 운영 체제) (오픈 소스 여부?)

* [[w:eMule|eMule]] ([[w:Edonkey Network|Edonkey Network]], [[w:Kad Network|Kad Network]]) ([[w:Microsoft Windows|Microsoft Windows]], [[w:Linux|Linux]]) (open source)
* [[w:aMule|aMule]] ([[w:EDonkey network|EDonkey network]]) ([[w:Linux|Linux]], [[w:Mac OS X|Mac OS X]], [[w:FreeBSD|FreeBSD]], [[w:NetBSD|NetBSD]], [[w:OpenBSD|OpenBSD]], [[w:Microsoft Windows|Windows]] and [[w:Solaris Operating Environment|Solaris Operating Environment]]) (open source)
* [[w:Epicea|Epicea]] ([[w:Epicea|Epicea]], [[w:BitTorrent|BitTorrent]], [[w:Edonkey Network|Edonkey Network]], [[w:Overnet|Overnet]], [[w:FastTrack|FastTrack]], [[w:Gnutella|Gnutella]]) (Microsoft Windows) (?)
* [[w:GiFT|GiFT]] (own [[w:OpenFT|OpenFT]] protocol, and with plugins - FastTrack, eDonkey and Gnutella) (open source)
* [[w:xfactor|xfactor]] (uses [[w:GiFT|GiFT]]) ([[w:Mac OS X|Mac OS X]]) (?)
* [[w:Gnucleus|Gnucleus]] (Gnutella, [[w:Gnutella2|Gnutella2]]) (Microsoft Windows) (open source)
* [[w:Hydranode|Hydranode]] (eDonkey2000) (Microsoft Windows, [[w:Linux|Linux]], [[w:Mac OS X|Mac OS X]]) (?)
* [[w:iMesh|iMesh]] (Fasttrack, [[w:Edonkey Network|Edonkey Network]], Gnutella, [[w:Gnutella2|Gnutella2]]) (Microsoft Windows) (?)
* [[w:Kazaa|Kazaa]] (FastTrack, [[w:Joltid PeerEnabler|Joltid PeerEnabler]]) (Microsoft Windows) (closed source)
* [[w:Kazaa Lite|Kazaa Lite]] (FastTrack, Joltid PeerEnabler) (Microsoft Windows) (closed source)
* [[w:KCeasy|KCeasy]] (Gnutella, Ares, giFT) (?)
* [[w:Kiwi Alpha|Kiwi Alpha]] (Gnutella, Gnutella2) (Microsoft Windows) (?)
* [[w:MindGem|MindGem]] ([[w:Edonkey Network|Edonkey Network]], Kademlia) (?)
* [[w:MLDonkey|MLDonkey]] (BitTorrent, [[w:Edonkey Network|eDonkey]], FastTrack, Gnutella, Gnutella2, Kademlia) (Microsoft Windows, [[w:Linux|Linux]], [[w:Mac OS X|Mac OS X]]) (open source)
* [[w:mlMac|mlMac]] (BitTorrent, eDonkey, FastTrack, Gnutella, Gnutella2) (?)
* [[w:Morpheus (computer program)|Morpheus]] (Gnutella, Gnutella2)(Microsoft Windows) (closed source)
* [[w:Poisoned|Poisoned]] (FastTrack, Gnutella, Ares, OpenFT, giftd) (Max OS X) (?)
* [[w:Shareaza|Shareaza]] (BitTorrent, eDonkey, Gnutella, Gnutella2) (Microsoft Windows) (open source)
* [[w:WinMX|WinMX]] ([[w:Napster|Napster]], [[w:WPNP|WPNP]]) (Microsoft Windows) (closed source)
* [[w:XNap|XNap]] ([[w:OpenNAP|OpenNAP]], GiFT, [[w:Limewire|Limewire]], [[w:Overnet|Overnet]], [[w:ICQ|ICQ]], [[w:Internet Relay Chat|IRC]]) (Java) (open source)
* [[w:Zultrax|Zultrax]] (Gnutella, [[w:ZEPP|ZEPP]]) (?)

== 같이 보기 ==
* [[클라이언트 서버 모델]]
* [[컴퓨터 클러스터]]
* [[그리드 컴퓨팅]]

== 외부 링크 ==
* {{위키공용분류-줄}}
{{전거 통제}}

[[분류:P2P| ]]
[[분류:파일 공유 네트워크]]
[[분류:전자 상거래]]
[[분류:와레즈]]
[[분류:P2P 컴퓨팅]]