1세대 : P2P - Napster(냅스터)(1999년)
소리바다를 써보신분은 아시지만 소리바다의 원형이 냅스터입니다.
서버는 사용자가 서버에 접속하면 PC의 MP3, WMA등의 파일을 서버에 전송해 이것을 목록화하는 서버통제형방식입니다. 서버에 접속한 사용자의 파일은 중앙 서버에 모두 데이터화되고, 파일을 다운받고자 하는 컴퓨터와 제공하는 컴퓨터를 1:1로 연결하여 파일을 전송하게 됩니다
냅스터의 단점은 음악 파일만 공유할수 있다는 단점이 있습니다.
그리고 중앙서비가 일일이 파일의 목록을 간섭하기때문에 저작권단체의 표적이 되었고 결국 냅스터는 사라지게 됩니다. 냅스터를 그대로 빼긴 소리바다또한 같은 운명에 처하게 되죠
대표적프로그램: Napster(냅스터), 소리바다
2세대 : P2P- Gnutella(그누텔라)
혹시 구루구루 써보신 분 계신가요?
바로 구루구루의 원형이 그누텔라입니다. 개인과 개인끼리 묶어주는 P2P이죠. 사용자는 먼저 네트워크에 있는 또 다른 그누텔라의 IP 주소를 알아야 합니다. 수많은 그누텔라 사용자가 게시되어 있는 유명 웹 사이트를 방문하면 주소를 알 수 있죠. 사용자가 파일을 찾기 원한다면, 그 사용자는 그누텔라 사용자들에게 그 파일에 대한 질의(query)를 던집니다.
파일점 주세요?!! 제발!? 플리즈!! 이런식으로 구걸을 해야합니다;; 그야말로 파일이 많은 분이 신이죠..
초창기엔 사용자들이 그냥 파일을 공유했지만 나중에 사람들이 자료를 그냥 나누어주는게 아니라 받을려는 사람의 자료를 보고서 원하는게 없다면 주지를 않습니다. 자료가 없는 분은 구걸을 할수 밖에 없습니다.
이런 문제점이 누적되어 결국 그 왕좌를 당나귀에게 넘겨주어 역사의 뒤안길로 사라졌나 싶었는데 2008년에 들어서 다시 최근에 일본에서 우타타네(うたたね)로 화려하게 부활하고 있습니다. 우타타네에 대한 설명은 뒤에 다시 하겠습니다.
대표적프로그램: 구루구루, Gnutella(그누텔라), KaZaA(카자), Limewire(라임와이어), soulseek(소울식), Utatane(우타타네)
3세대 : P2P-edonkey(당나귀)
edonkey는 최초의 파일분할식 공유프로그램입니다. 영화같은 대용량의 파일을 공유하는 것은 당나귀가 출현하고 나서였죠. 그전까지 유행했던 카자, 라임와이어등이 몰락하고 당나귀가 P2P계를 제패했죠. 초창기 당나귀개발자들은 개발자금으로 당나귀에 광고창을 띠워서 자금을 충당했는데 이것이 공개소스진영을 반발을 사서 이뮬emule을 개발합니다.
이뮬은 공개소스이기 때문에 수많은 변형버전이 나왔죠.
이뮬은 그자체로 좋았지만 문제는 이뮬의 형제들이 악랄한 프로그램이 많았습니다. 이뮬의 변형버전들이 자신들끼리만 자료를 더 빠르게 공유하며 다른 유저를 차별을 했는데 유료회원에게만 더 빠른 속도를 제공하는 푸루나가 대표적이었죠.이런 이기적인 프로그램의 문제로 한개의 당나귀서버가 다운되면, 연쇄적으로 수많은 전세계의 당나귀서버들이 다운되는 일이 자주 발생하게 되었습니다. 서버말썽이 심하자 edonkey개발자들은 오버넷이라는 차세대프로그램을 만듭니다.
Overnet은 최초의 서버리스방식의P2P프로그램으로써 기념비적인 프로그램이기도 합니다. 이뮬진영은 오버넷에 대항해 kademlia라는 서버리스네트웍을 만듭니다. 당나귀의 폭발적인 성장으로 오랜동안 전성기를 누렸지만 저작권단체의 표적이 되어 서버가 패쇄되었고 당나귀개발자의 사망으로 결국 개발이 중단되었습니다. 이뮬이 당나귀의 네트워크를 물려받고 잠시동안 크게 성장했지만 역시 서버패쇄와 사용자의 이기적인 히트 앤드 런 문제로 점점 쇠락의 길을 걷고 있습니다.이뮬은 히트앤드런을 완벽하게 차단한 레이쇼정책을 쓰는 토렌트에 완벽하게 밀려버립니다.
대표적프로그램: edonkey(당나귀), Overnet(오버넷), eMule(이뮬), 미디어뱀프, 동키호테, 이지뮬, 푸루나, winmx
4세대 : P2P - BitTorrent(비트토렌트)
모든 p2p의 개념을 통합한 비트토렌트
p2p는 크게 2가지의 개념을 가집니다.바로 공개형과 비공개형이죠.
공개형은 바로 냅스터와 당나귀이고 비공개형은 그누텔라방식이죠
공개형P2P
1:多공유이다.
파일검색이 가능하다.
쉽게 파일에 접근해서 다운로드할수 있다. 검색을 통해 파일을 액세스할수있다.커뮤니티사이트가 없어도 된다.서버주소는 몰라도 된다. 자동으로 접속가능하다.보안에 취약하다.
대표적프로그램: Napster(냅스터), 소리바다, edonkey(당나귀), Overnet(오버넷), eMule(이뮬), 미디어뱀프, 동키호테, 이지뮬, 푸루나, winmx, Winny(위니), Share(쉐어), Perfect Dark(퍼퍽트다크), Cabos(카보스)
비공개형P2P
1:1공유이다.(요즘엔 개선해서 1:多공유로 바뀌었다고 합니다.)
파일검색이 불가능하다.파일에 접근할려면 상대방의 허락이 있어야한다. 질의한후 허락받고 파일을 액세스를 할수 있다. 커뮤니티사이트가 반드시 존재해야한다. 서버주소는 커뮤니티사이트에서 정보을 받아야한다.
보안에 강하다.
대표적프로그램: 구루구루, Gnutella(그누텔라), KaZaA(카자), Limewire(라임와이어), soulseek(소울식), Utatane(우타타네)
비트토렌트는 브램코헨은 이런 저작권의 소송에 주목하고 자신의 토렌트프로젝트에 그누텔라의 보안성에 접목시킵니다. 그리고 당나귀의 공개형방식과 그누텔라의 비공개형방식의 개념을 통합한 새로운 프로그램인 비트토렌트를 개발합니다. 비트토렌트는 당나귀의 파일분할방식을도입하고 서버통제방식과 서버리스방식을 상황에 따라 바꿀수 있도록 설계했으며
유저들이 파일을 접근하는것을 검색이 아닌 그누텔라방식으로 접근하도록 설계했습니다.
유저들의 파일액세스의 동선
당나귀유저: 프로그램가동 → 검색 → 파일액세스
그누텔라유저: 커뮤니티사이트에서 서버주소확보 → 프로그램가동 → 파일액세스권한을 질의 → 허가를 받은후 액세스
비트토렌트유저:
비공개:커뮤니티사이트에서 초대장을 확보 → 사이트의 회원이 되어 토렌트파일다운권한 획득 → 사이트에서 인덱스가 담겨있는 토렌트파일다운 → 프로그램가동 → 토렌트파일가동으로 파일액세스
공개: 커뮤티티사이트에서 자유롭게 토렌트파일다운 → 프로그램가동 → 토렌트파일가동으로 파일액세스
비트토렌트는 즉 공개형p2p와 비공개형p2p를 합친 혼합형p2p입니다.
공개트래커로 공개형으로 될수 있고 비공개트래커로 비공개형p2p가 될수있죠. 보안성이 거의 없었던 당나귀,이뮬은 몰락하였고 토렌트는 상황에 따라 공개사이트로 유저의 편리함을 비공개사이트로 사이트의 보안성을 추구하는 편리한 프로그램으로 각광받게 되었습니다.
(출처: http://han.gl/Fnc )
'BitSync' 카테고리의 다른 글
스마트 클라우드 시대의 핵심 서비스 (0) | 2014.05.13 |
---|---|
비트코인 기술 - P2P와 암호화 (0) | 2014.05.13 |
웹서버와 P2P그리고 암호학 (0) | 2014.05.13 |
제4의 화폐혁명-비트코인 (1) | 2014.05.13 |
P2P역사 (0) | 2014.05.13 |