검수요청.png검수요청.png

"슈퍼피어"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
잔글
 
(사용자 2명의 중간 판 19개는 보이지 않습니다)
1번째 줄: 1번째 줄:
'''슈퍼피어'''<!--슈퍼 피어-->(super peer)는 [[피투피]](P2P) 시스템의 모델이다. 시스템의 [[노드]]는 중앙집중식 노드를 통해 더 큰 시스템과 상호작용하는 독립적인 피어의 집합을 나타낸다. 이 피어는 슈퍼피어라고 불린다.
+
'''슈퍼피어'''<!--슈퍼 피어-->(super peer)는 [[피투피]](P2P) 시스템의 모델이다. 시스템의 [[노드]]는 [[중앙집중]]식 노드를 통해 더 큰 시스템과 상호작용하는 독립적인 피어의 집합을 나타낸다. 이 피어는 슈퍼피어라고 불린다.
 +
 
 +
{{:인터넷 배너}}
  
 
== 개요 ==
 
== 개요 ==
슈퍼피어는 피어 투 피어 네트워크의 노드로서 클라이언트 집합에 대한 서버 및 수퍼 피어 네트워크에서 동등하게 작동한다. 슈퍼피어 네트워크는 중앙 집중식 검색의 효율성과 분산 검색으로 제공되는 공격에 대한 자율성,로드 밸런싱 및 견고성간에 균형을 유지한다. 또한, 최근 연구에서 막대한 것으로 밝혀진 피어들간에 이기종 기능 (예 : 대역폭, 처리 능력)을 활용한다. 따라서 KaZaA 및 Gnutella와 같은 새롭고 오래된 P2P 시스템은 설계에서 슈퍼피어를 채택하고 있다.
+
[[슈퍼피어]]는 피어 투 [[피어]] 네트워크의 노드로서 클라이언트 집합에 대한 서버 및 수퍼 피어 네트워크에서 동등하게 작동한다. 슈퍼피어 네트워크는 중앙 집중식 검색의 효율성과 분산 검색으로 제공되는 공격에 대한 자율성,로드 밸런싱 및 견고성간에 균형을 유지한다. 또한, 최근 연구에서 막대한 것으로 밝혀진 피어들간에 이기종 기능(예 : 대역폭, 처리 능력)을 활용한다. 따라서 KaZaA 및 Gnutella와 같은 새롭고 오래된 P2P 시스템은 설계에서 슈퍼피어를 채택하고 있다.
  
 
==역사==
 
==역사==
 +
[[P2P]](Peer-to-Peer) 기술의 태동은 1969년 [[ARPANET]]의 출현으로 거슬러 올라갈 수 있다. ARPANET의 4개의 컴퓨터가 서로 연결된 형태가 바로 P2P기술의 시작점이다. P2P는 그 이후에 상업적, 기술적 이유에 의하여 1999년 [[냅스터]](Napster)의
 +
출현으로 세상에 알려지기 까지 클라이언트/서버 모델의 유명세에 밀려, 무명의 세월을 보내야 했다. 그 무명의 세월 동안 P2P 기술은 Usenet, DNS 등과 같은 서비스를 제공하여 명맥을 이어왔다.
 +
P2P에 대한 표준도 1969년 IETF(Internet Engineering Task Force)에서 Host Software라는 제목으로(RFC : Request For Comment 1)표준문서가 등록되었다. 이러한 기술이 이제서야 [[상용기술]]로 떠오르고 있으며,
 +
그 능력에 대하여 기존의 인터넷 기술에서는 구사할 수 없는 많은 기능과 계산 능력을 갖고 있으며, P2P 서비스의 독주에 감탄을 마지않고 있는 것이 현재의 상황이 되었다. [[클라이언트]]/서버 모델을 수용할 뿐만 아니라,
 +
N:M의 네트워크 구조를 갖을 수 있도록 기본 기능을 제공하고 있다. 특히 사용자들이 친근하게 접근하고 있는 응용계층에 P2P 인프라와 서비스가 자리하고 있어서, 장비나 통신서비스에 종속된 기능에서 사용자들을 자유롭도록 만들었고,
 +
이로 인하여 사용자들에게 더욱 친근감을 갖고 다가가는 서비스로 변화하고 있으며, 이러한 서비스가 문화 콘텐츠 서비스와의 접목이 자연스럽게 이루어지고 있는 실정이다. 1세대 대표P2P인 하이브리드P2P에서 3세대 퓨어P2P로 이어졌으며그둘을 보안한 슈퍼피어가 가장최신의 P2P이다.<ref name="fd"></ref>
  
 
==특징==
 
==특징==
슈퍼피어 네트워크에 기반을 둔 P2P 시스템은 기존의 하이브리드 P2P 시스템과 순수 P2P 시스템이 결합된 장점을 나타내고 있다. 슈퍼피어는 어떤 일반 피어들의 집단에 대해 서버처럼 동작하는 특수한 피어이다.  
+
슈퍼피어 네트워크에 기반을 둔 P2P시스템은 기존의 [[하이브리드]] P2P 시스템과 순수 P2P 시스템이 결합된 장점을 나타내고 있다. 슈퍼피어는 어떤 일반 피어들의 집단에 대해 서버처럼 동작하는 특수한 피어이다.  
 
슈퍼피어들의 네트워크를 구성하는 문제는 슈퍼피어 네트워크에 기반을 둔 P2P 시스템에 있어서 중요한 문제 중의 하나이다. 기존의 P2P 시스템들은 2계층으로 구성된 피어들에 기반을 두고 있다. 하나는 일반피어들로 구성된 계층이고  
 
슈퍼피어들의 네트워크를 구성하는 문제는 슈퍼피어 네트워크에 기반을 둔 P2P 시스템에 있어서 중요한 문제 중의 하나이다. 기존의 P2P 시스템들은 2계층으로 구성된 피어들에 기반을 두고 있다. 하나는 일반피어들로 구성된 계층이고  
 
다른 하나는 슈퍼피어들로 구성된 계층이다. 슈퍼피어 네트워크는 랜덤 그래프의 형태를 가지고 있는 것이 일반적이다. 그러나 대규모 일반 피어들을 수용하기 위해서는 슈퍼피어 네트워크 또한 그에 맞도록 확장되어야 한다.  
 
다른 하나는 슈퍼피어들로 구성된 계층이다. 슈퍼피어 네트워크는 랜덤 그래프의 형태를 가지고 있는 것이 일반적이다. 그러나 대규모 일반 피어들을 수용하기 위해서는 슈퍼피어 네트워크 또한 그에 맞도록 확장되어야 한다.  
14번째 줄: 22번째 줄:
 
제한된 레벨의 수 때문에 규모성에 문제를 나타낼 수 있어, 좋은 규모성과 클라이언트 노드들에 관한 관리의 용이성을 보여주는 확장 슈퍼피어 네트워크라고 하는 k-레벨의 슈퍼피어 트리로 확장 시킨다.<ref>정원호,〈[https://www.earticle.net/Article/A291291 Super-Peer 네트워크에 기반을 둔 Peer-to-Peer 시스템의 계층적 구성]〉, 《earticle》</ref>
 
제한된 레벨의 수 때문에 규모성에 문제를 나타낼 수 있어, 좋은 규모성과 클라이언트 노드들에 관한 관리의 용이성을 보여주는 확장 슈퍼피어 네트워크라고 하는 k-레벨의 슈퍼피어 트리로 확장 시킨다.<ref>정원호,〈[https://www.earticle.net/Article/A291291 Super-Peer 네트워크에 기반을 둔 Peer-to-Peer 시스템의 계층적 구성]〉, 《earticle》</ref>
  
하이브리드 p2p와 퓨어 p2p의 장점을 모두 취해서 태어난 것이 슈퍼피어이다. 하이브리드 p2p와 퓨어 p2p의 중간 형태라고 해서 Mixed p2p라는 용어로 사용되기도 하였다.
+
[[하이브리드 p2p]]와 [[퓨어 p2p]]의 장점을 모두 취해서 태어난 것이 슈퍼피어이다. 하이브리드 p2p와 퓨어 p2p의 중간 형태라고 해서 [[Mixed p2p]]라는 용어로 사용되기도 하였다.
 
슈퍼피어라고 이름이 불리게 된 이유는 하이브리드 p2p와 퓨어 p2p 어떻게 섞었는지를 보면 알 수 있다. 하이브리드 p2p는 한곳에 중요한 기능이 모여 있는 것이 문제이고 퓨어 p2p는 그렇게 기능이 모여있는 곳이 없어서 문제이다.
 
슈퍼피어라고 이름이 불리게 된 이유는 하이브리드 p2p와 퓨어 p2p 어떻게 섞었는지를 보면 알 수 있다. 하이브리드 p2p는 한곳에 중요한 기능이 모여 있는 것이 문제이고 퓨어 p2p는 그렇게 기능이 모여있는 곳이 없어서 문제이다.
 
그래서 전산학자들이 생각해낸방법이 그런 중요한 기능을 하는 곳을 여러군데 두는 것이였다. 그래서 여러 노드를 가운데 컴퓨터의 성능이나 네트워크 환경이 좋은 몇군데를 골라서 슈퍼피어로 임명하고 하이브리드 p2p의 중앙 서버의 역할을 하게 된다.
 
그래서 전산학자들이 생각해낸방법이 그런 중요한 기능을 하는 곳을 여러군데 두는 것이였다. 그래서 여러 노드를 가운데 컴퓨터의 성능이나 네트워크 환경이 좋은 몇군데를 골라서 슈퍼피어로 임명하고 하이브리드 p2p의 중앙 서버의 역할을 하게 된다.
20번째 줄: 28번째 줄:
 
떨어질 일도 없게 된다. 어떻게 구현했는지에 따라 네트워크 특성이 하이브리드 p2p에 가까워질 수도 있고 퓨어 p2p에 가까워질 수도 있다.
 
떨어질 일도 없게 된다. 어떻게 구현했는지에 따라 네트워크 특성이 하이브리드 p2p에 가까워질 수도 있고 퓨어 p2p에 가까워질 수도 있다.
 
개념 자체만으로는 매우 간단해 보이지만 실제로 슈퍼피어를 구현하기는 쉽지 않다. 게다가 슈퍼피어에 대한 최적화된 이론이 정립되지 않은 상태여서 구현 방식에 따라서 천차만별의 성능을 보이는 것이 슈퍼피어의 단점이다.
 
개념 자체만으로는 매우 간단해 보이지만 실제로 슈퍼피어를 구현하기는 쉽지 않다. 게다가 슈퍼피어에 대한 최적화된 이론이 정립되지 않은 상태여서 구현 방식에 따라서 천차만별의 성능을 보이는 것이 슈퍼피어의 단점이다.
대표적인 기술적 어려움으로 슈퍼피어selection이라는 것이 있다. 말그대로 어떤 노드를 슈퍼피어로 사용 할 것인가에 대한 문제이다. 이것이 사용되는 기준이 너무나 다양하고 그 기준을 측정하는 것 방법 자체가 하나의 연구 과제가 될 정도이기 때문에
+
대표적인 기술적 어려움으로 슈퍼피어[[selection]]이라는 것이 있다. 말그대로 어떤 노드를 슈퍼피어로 사용 할 것인가에 대한 문제이다. 이것이 사용되는 기준이 너무나 다양하고 그 기준을 측정하는 것 방법 자체가 하나의 연구 과제가 될 정도이기 때문에
 
생각보다 쉽지가 않다. 현존하는 소프트웨어중 슈퍼피어를 가장 잘 이용한 케이스는 VolP소프트웨어인 스카이프가 있다.<ref>thesoul214,〈[https://thesoul214.tistory.com/152 super peer의 정의와 장단점]〉, 《티스토리》,2013-04-25</ref>
 
생각보다 쉽지가 않다. 현존하는 소프트웨어중 슈퍼피어를 가장 잘 이용한 케이스는 VolP소프트웨어인 스카이프가 있다.<ref>thesoul214,〈[https://thesoul214.tistory.com/152 super peer의 정의와 장단점]〉, 《티스토리》,2013-04-25</ref>
 
   
 
   
 
===P2P(peer to Peer)===
 
===P2P(peer to Peer)===
peer to Peer의 줄임말로 일반적으로 컴퓨터의 쌍방향 파일 전송 시스템을 가리킨다. 중앙서버 없이 컴퓨터와 컴퓨터간을 연결해 주며, 프로그램 엔진만 만들면 되기 때문에 매우 간편하게 파일을 전송할 수 있는 장점이 있다.  
+
peer to Peer의 줄임말로 일반적으로 컴퓨터의 [[쌍방향 파일 전송 시스템]]을 가리킨다. 중앙서버 없이 컴퓨터와 컴퓨터간을 연결해 주며, 프로그램 엔진만 만들면 되기 때문에 매우 간편하게 파일을 전송할 수 있는 장점이 있다.  
 
처음에는 느린 인터넷 속도 때문에 그저 그렇게 평가되었으나 인터넷이 점차 발달할수록 파일전송속도가 빨라짐에 따라 굉장히 널리 사용되게 되었으며 이에 따라 피해도 늘어났다.
 
처음에는 느린 인터넷 속도 때문에 그저 그렇게 평가되었으나 인터넷이 점차 발달할수록 파일전송속도가 빨라짐에 따라 굉장히 널리 사용되게 되었으며 이에 따라 피해도 늘어났다.
한국 최초의 P2P 프로그램으로는 소리바다가 있으며, 그 이전에도 미국에서 냅스터라는 프로그램, 일본에서 위니라는 프로그램이 존재했다. 비트토렌트, 이뮬, 당나귀, 프루나도 이 범주에 들어간다.
+
한국 최초의 P2P 프로그램으로는 [[소리바다]]가 있으며, 그 이전에도 미국에서 냅스터라는 프로그램, 일본에서 위니라는 프로그램이 존재했다. 비트토렌트, 이뮬, 당나귀, 프루나도 이 범주에 들어간다.
 
P2P라는 용어 자체가 불법공유와 과도하게 연결된 탓에 매우 어두운 이미지를 가지게 되었지만, P2P 기술 자체는 합법으로, 사용자 컴퓨터의 자원을 어느 정도 나눠서 쓴다는 점에서 서버 성능의 한계를 극복할 수 있는 대단히 유용한 기술이다.<ref>〈[https://namu.wiki/w/P2P p2p]〉, 《나무위키》</ref>
 
P2P라는 용어 자체가 불법공유와 과도하게 연결된 탓에 매우 어두운 이미지를 가지게 되었지만, P2P 기술 자체는 합법으로, 사용자 컴퓨터의 자원을 어느 정도 나눠서 쓴다는 점에서 서버 성능의 한계를 극복할 수 있는 대단히 유용한 기술이다.<ref>〈[https://namu.wiki/w/P2P p2p]〉, 《나무위키》</ref>
 
서버를 준비할 필요가 없고, 각 노드들이 트래픽과 자원을 할당해 부하를 분산시켜준다. 즉, 노드가 증가하더라도 서비스를 유지할 수 있는 높은 확장성을 갖고 있다.
 
서버를 준비할 필요가 없고, 각 노드들이 트래픽과 자원을 할당해 부하를 분산시켜준다. 즉, 노드가 증가하더라도 서비스를 유지할 수 있는 높은 확장성을 갖고 있다.
32번째 줄: 40번째 줄:
  
 
===하이브리드 P2P(Hybrid P2P)===
 
===하이브리드 P2P(Hybrid P2P)===
하이브리드 p2p는 세대별 구분으로는 1세대이고 기존 server/client모델을 완전히 벗어나지 못한 형태의 p2p이다. 중앙서버가 존재하여
+
하이브리드 p2p는 세대별 구분으로는 1세대이고 기존 [[server/client모델]]을 완전히 벗어나지 못한 형태의 p2p이다. 중앙서버가 존재하여
 
그 중앙서버에 각 peer들이 접속하며 중앙서버에서는 peer들의 위치와 peer들이 가진 데이터의 메타정보를 관리한다. 기존 server/client 모델과의 다른점은 중앙서버는 데이터들의 메타정보만을 관리해서 검색 결과등을 peer에게 줄뿐이며  
 
그 중앙서버에 각 peer들이 접속하며 중앙서버에서는 peer들의 위치와 peer들이 가진 데이터의 메타정보를 관리한다. 기존 server/client 모델과의 다른점은 중앙서버는 데이터들의 메타정보만을 관리해서 검색 결과등을 peer에게 줄뿐이며  
 
실제 데이터의 전송과 통신은 직접 peer들간에 이루어지게 된다.
 
실제 데이터의 전송과 통신은 직접 peer들간에 이루어지게 된다.
 
routing과 검색이 매우 빠르다는 장점이 있다. 왜나하면 peer들을 헤집고 다니면서 찾아다닐 필요없이 서버에 한번만 물어보면 되기 때문이다. 또한 p2p네트워크 내에 있는 peer과 데이터에 대한 검색이 보장된다. 쉽게 말해서 p2p네트워크 내에만 있다면 모든 자료를 찾을 수 있다는 말이다.
 
routing과 검색이 매우 빠르다는 장점이 있다. 왜나하면 peer들을 헤집고 다니면서 찾아다닐 필요없이 서버에 한번만 물어보면 되기 때문이다. 또한 p2p네트워크 내에 있는 peer과 데이터에 대한 검색이 보장된다. 쉽게 말해서 p2p네트워크 내에만 있다면 모든 자료를 찾을 수 있다는 말이다.
server/client 모델만큼은 아니지만 역시 peer가 늘어날수록 중앙서버에 부담이 더해진다. 즉, p2p네트워크가 커질수록 서버의 capacity를 늘려야되며 이것은 곧 돈으로 이어진다. 하지만 사실 routing과 검색만 중앙서버를 거치므로 데이터가 직접  
+
server/client 모델만큼은 아니지만 역시 peer가 늘어날수록 중앙서버에 부담이 더해진다. 즉, p2p네트워크가 커질수록 서버의 [[capacity]]를 늘려야되며 이것은 곧 돈으로 이어진다. 하지만 사실 routing과 검색만 중앙서버를 거치므로 데이터가 직접  
 
서버를 통하는 server/client모델에 비해서 비교도 안될만큼 효율적이다. 하이브리드 p2p의 큰 단점은 중앙서버가 죽으면 전체 네트워크가 죽는다는 것이다. 이것은 server/client 모델의 단점이기도 하며 하이브리드 p2p가 비록 성능면에 있어서
 
서버를 통하는 server/client모델에 비해서 비교도 안될만큼 효율적이다. 하이브리드 p2p의 큰 단점은 중앙서버가 죽으면 전체 네트워크가 죽는다는 것이다. 이것은 server/client 모델의 단점이기도 하며 하이브리드 p2p가 비록 성능면에 있어서
 
다른 p2p 구조에 비해서 뛰어나지만 다른 p2p구조에 비해 뒤떨어지는 기술로 취급받는 이유이기도 하다.
 
다른 p2p 구조에 비해서 뛰어나지만 다른 p2p구조에 비해 뒤떨어지는 기술로 취급받는 이유이기도 하다.
p2p를 세상에 알리고 수많은 법적 문제와 기술적 발전을 나았던 mp3공유 프로그램 napster이 사용한 방식이다. napster은 저작권 문제로 미국 연방법원의 판결로 중앙서버를 닫아야만 했고 그결과 전체 서비스가 문을 닫게 되었다. 우리나라의 소리바다도
+
p2p를 세상에 알리고 수많은 법적 문제와 기술적 발전을 나았던 mp3공유 프로그램 [[napster]]이 사용한 방식이다. napster은 저작권 문제로 미국 연방법원의 판결로 중앙서버를 닫아야만 했고 그결과 전체 서비스가 문을 닫게 되었다. 우리나라의 소리바다도
 
같은 전철을 밟았다. 하이브리드 p2p의 경우 이런 네트워크 전체를 서버를 통해서 통제할 수 있기 때문에 법적인 대응이나 해킹에 매우 취약한 구조를 가지고 있다. 하지만 네트워크 전체를 중앙서버에서 통제할 수 있다는 것과 그 뛰어난 성능으로 인해
 
같은 전철을 밟았다. 하이브리드 p2p의 경우 이런 네트워크 전체를 서버를 통해서 통제할 수 있기 때문에 법적인 대응이나 해킹에 매우 취약한 구조를 가지고 있다. 하지만 네트워크 전체를 중앙서버에서 통제할 수 있다는 것과 그 뛰어난 성능으로 인해
 
법적인 문제에서 자유로울 수 있는 서비스 같은 경우 이 하이브리드 p2p방식을 많이 사용한다.<ref> thesoul214,〈[https://thesoul214.tistory.com/150 하이브리드 p2p의 정의와 장단점]〉, 《티스토리》,2013-04-25</ref>
 
법적인 문제에서 자유로울 수 있는 서비스 같은 경우 이 하이브리드 p2p방식을 많이 사용한다.<ref> thesoul214,〈[https://thesoul214.tistory.com/150 하이브리드 p2p의 정의와 장단점]〉, 《티스토리》,2013-04-25</ref>
  
 
===퓨어 P2P(Pure p2p)===
 
===퓨어 P2P(Pure p2p)===
퓨어 p2p는 이름처럼 순수한,깨끗한 p2p의 정의에 가장 충실한 형태의 네트워크이기 때문에 3세대 p2p로 불리기도 한다. 다만 기술발전으로는 하이브리드 p2p 다음에 오는 것이 일반적이다.  수퍼 피어와  함께 decentralized p2p라고 불리기도 한다.
+
퓨어 p2p는 이름처럼 순수한,깨끗한 p2p의 정의에 가장 충실한 형태의 네트워크이기 때문에 3세대 p2p로 불리기도 한다. 다만 기술발전으로는 하이브리드 p2p 다음에 오는 것이 일반적이다.  수퍼 피어와  함께 [[decentralized p2p]]라고 불리기도 한다.
가장 큰 특징으로는 네트워크를 이루는 노드가 모두 동등하다는 것이다. 즉, 네트워크에 참여하는 모든 컴퓨터는 똑같이 server/client 역할을 겸하며 검색, 데이터 전송에 있어서 같은 책임을 진다, 따라서 하이브리드 p2p와는 달리 네트워크 전체에  
+
가장 큰 특징으로는 네트워크를 이루는 [[노드]]가 모두 동등하다는 것이다. 즉, 네트워크에 참여하는 모든 컴퓨터는 똑같이 server/client 역할을 겸하며 검색, 데이터 전송에 있어서 같은 책임을 진다, 따라서 하이브리드 p2p와는 달리 네트워크 전체에  
 
영향을 끼치는 중앙서버 같은 역할을 하는 노드가 없다. 모든 peer간 동등한 통신을 한다는 의미에서 p2p의 정의 그 자체라고 할 수 있다.
 
영향을 끼치는 중앙서버 같은 역할을 하는 노드가 없다. 모든 peer간 동등한 통신을 한다는 의미에서 p2p의 정의 그 자체라고 할 수 있다.
이 네트워크 전체를 shut down 시키는 일은 거의 불가능하다는 것이 최대 장점이다. 모든 peer가 동등한 역할을 하기 때문에 peer전체를 shut down 시키지 않는 이상 네트워크는 제 역할을 하게 된다. 또 다른 장점으로는 네트워크가 커짐에 따라 들어가는 cost가 제로라는 점이다. 즉, 퓨어 p2p 네트워크가 커지기 위해서는 그냥 peer가 추가되기만 하면 된다는 점에서 네트워크의 확장성이 매우 높다.
+
이 네트워크 전체를 [[shut down]] 시키는 일은 거의 불가능하다는 것이 최대 장점이다. 모든 peer가 동등한 역할을 하기 때문에 peer전체를 shut down 시키지 않는 이상 네트워크는 제 역할을 하게 된다. 또 다른 장점으로는 네트워크가 커짐에 따라 들어가는 cost가 제로라는 점이다. 즉, 퓨어 p2p 네트워크가 커지기 위해서는 그냥 peer가 추가되기만 하면 된다는 점에서 네트워크의 확장성이 매우 높다.
  
 
[[P2P]]라는 개념에 가장 잘 부합하는 네트워크이며 [[하이브리드 P2P]]가 가진 네트워크 취약성을 해결했음에도 불구하고 퓨어 p2p를 이용하는 케이스가 가장 적은 이유는 떨어지는 성능과 라우팅의 어려움 때문이다. 모든 peer가 동등한 역할을 하기 때문에 라우팅을 도와주는 역할을 하는 노드가 없는데, 이 때문에 한 peer가 다른 peer를 찾거나 데이터를 검색하기 위해서는 수많은 peer들을 건너다니면서 찾아가게 된다. 이는 곧 검색시간의 증가로 이어지며 이런 길찾기 과정에서 capacity가 낮은 peer를 거쳐갔을 경우 그 시간이 매우 크게 증가하게 된다. 또한 이런 라우팅 방법으로 인해 심지어는 네트워크 내에서 도달할 수 없는 peer가 생기기도 한다. 물론 이런 단점들은 라우팅 알고리즘으로 많이 개선시킨 경우도 있으나 일반적으로 성능면에서 하이브리드 p2p와 슈퍼피어에 비해서 많이 떨어진다. 그리고 기술적인 단점은 아니지만 네트워크 전체를 관리하거나 통제하기가 매우 힘들기 때문에 특정 기업이나 기관에서 이런 네트워크로 뭔가를 하거나 다른 P2P 네트워크에 비해서 어렵다. <ref>thesoul214,〈[https://thesoul214.tistory.com/151 pure p2p의 정의와 장단점]〉, 《티스토리》,2013-04-25</ref>
 
[[P2P]]라는 개념에 가장 잘 부합하는 네트워크이며 [[하이브리드 P2P]]가 가진 네트워크 취약성을 해결했음에도 불구하고 퓨어 p2p를 이용하는 케이스가 가장 적은 이유는 떨어지는 성능과 라우팅의 어려움 때문이다. 모든 peer가 동등한 역할을 하기 때문에 라우팅을 도와주는 역할을 하는 노드가 없는데, 이 때문에 한 peer가 다른 peer를 찾거나 데이터를 검색하기 위해서는 수많은 peer들을 건너다니면서 찾아가게 된다. 이는 곧 검색시간의 증가로 이어지며 이런 길찾기 과정에서 capacity가 낮은 peer를 거쳐갔을 경우 그 시간이 매우 크게 증가하게 된다. 또한 이런 라우팅 방법으로 인해 심지어는 네트워크 내에서 도달할 수 없는 peer가 생기기도 한다. 물론 이런 단점들은 라우팅 알고리즘으로 많이 개선시킨 경우도 있으나 일반적으로 성능면에서 하이브리드 p2p와 슈퍼피어에 비해서 많이 떨어진다. 그리고 기술적인 단점은 아니지만 네트워크 전체를 관리하거나 통제하기가 매우 힘들기 때문에 특정 기업이나 기관에서 이런 네트워크로 뭔가를 하거나 다른 P2P 네트워크에 비해서 어렵다. <ref>thesoul214,〈[https://thesoul214.tistory.com/151 pure p2p의 정의와 장단점]〉, 《티스토리》,2013-04-25</ref>
  
 
==활용==
 
==활용==
 +
===카자(Kazaa)===
 +
[[카자 미디어 데스크톱]](Kazaa Media Desktop, 처음에는 KaZaA로 사용되었으나 나중에 Kazaa로 변경됨)은 Joltid사의 라이선스를 받은 패스트트랙 프로토콜을 사용하는 P2P 파일 공유 애플리케이션으로 시작하였으며 샤먼 네트웍스에 의해 카자(Kazaa)로
 +
운영되었다. 카자는 Atrinsic사에 의해 합법적인 음악 구독 서비스로서 라이선스를 받게 되었다. 개발자들 중 [[Jaan Tallinn]]에 따르면 Kazaa는 카-자(ka-ZAH)로 발음된다.
 +
카자 미디어 데스크톱은 MP3 음악 파일 및 비디오, 애플리케이션, 문서 등 그 밖의 파일 유형을 인터넷 상에서 교환하기 위해 흔히 사용되었다. 카자 미디어 데스크톱 클라이언트는 무료로 다운로드가 가능하였다.
 +
그러나 [[애드웨어]]가 번들되었으며 한동안 "스파이웨어 없음"이라는 경고문을 카자의 웹사이트에서 볼 수 있었다. 이 해의 카자 운영 기간 중 샤먼 네트웍스와 관련 사업 파트너들은 저작권 관련 법적 소송의 표적이 되었고
 +
이는 패스트트랙 [[프로토콜]] 상에서 카자 미디어 데스크톱을 통해 배포되는 콘텐츠의 저작권과 관련된다.
 +
2012년 8월, 카자 웹사이트는 더 이상 운영하지 않는다.<ref>〈[https://ko.wikipedia.org/wiki/%EC%B9%B4%EC%9E%90 카자]〉, 《위키백과》</ref>
 +
 +
===그누텔라(Gnutella)===
 +
2000년 초에 AOL의 자회사인 널소프트의 저스틴 [[프랑켈]](Justin Frankel)과 톰 페퍼(Tom Pepper)가 첫 번째 프로그램을 개발했다. 그 해 3월 14일 [[Nullsoft]]에서 파일을 내려받을 수 있었으며, Slashdot에 소개된 첫 날 수 천명이 프로그램을 내려 받았다. Nullsoft의 모회사인 아메리카 온라인(AOL)이 당시 음악/미디어 쪽의 거인인 타임 워너와 합병하려던 차였기 때문에 배포된 다음날 내려 받기는 중지된다.
 +
하지만 이미 비밀은 누출되어 버린 뒤였다. Nullsoft가 올렸다가 지운 그 코드를 [[해커]]들이 낚아채서 이를 바탕으로 자신들만의 새로운 소프트웨어로 만들었다. 그 결과 불과 몇 주일 만에 웹 상에는 여러 종의 [[상호호환적]]인 누텔라 유사품이 등장한다.
 +
누텔라는 냅스터와 달리 중앙에서 개입하는 부분이 전혀 없다. 2001년초 냅스터의 법정 공방으로 P2P 네트워크가 유명세를 타게 되고 누텔라는 많은 사용자를 확보하게 된다. 하지만 초기 프로토콜의 확장성 문제 (사용자가 많아질수록 다운로드가 어려워지는 문제)가 드러나게 된다. 개발자들이 확장성 문제를 극복하는 새로운 누텔라를 개발하며, 새로운 피어간 경로 설정 기법인 "[[ultrapeers]]" 개념을 제시한다.
 +
"누텔라"는 특정한 프로젝트나 프로그램의 이름뿐만 아니라, 여러 클라이언트들에게 사용되는 일반적인 프로토콜의 의미를 갖기도 한다. 곳곳에서 새로운 클라이언트와 프로토콜들이 개발되고 있으므로, "누텔라"가 미래의 P2P 표준이 될 것이라는 장담은 할 수 없다.<ref>〈[https://ko.wikipedia.org/wiki/%EA%B7%B8%EB%88%84%ED%85%94%EB%9D%BC 그누텔라]〉, 《위키백과》</ref>
 +
 +
===P2P 게임 네트워크 구현시 슈퍼피어 선정하기===
 +
게임 네트워크를 제작할 때, 대다수의 게임이 서버와 통신을 하지만 몇몇 게임의 경우 로그인이나 게임의 데이터 송수신은 서버와 하지만 네트워크 게임 플레이 자체는 클라이언트 간의 통신, 즉 peer-to-peer(이하 P2P) 방식으로 처리하는 경우가 있다. 일반적으로 소규모 멀티 플레이 게임이나 데이터 전송량이 많은 FPS 같은 게임의 멀티 플레이에서 P2P 방식을 사용할 것을 권장한다.
 +
이러한 소규모 온라인 게임(Multi Online, MO)에서 사용하는 P2P 통신 방법의 하나로, P2P 그룹 내에 있는 멤버 중 하나가 게임 플레이를 위한 메시지의 송수신을 담당하는 Super peer(슈퍼 피어 혹은 호스트) 중심의 P2P [[네트워킹]]이 있다.
 +
간단한 예를 들자면 FPS게임에서 P2P 네트워킹을 사용하는데 게임의 종료 조건 중의 하나가 타임 오버일 때, 그 P2P 그룹에 속하는 모든 클라이언트가 각자의 시간을 가지고 계산한다면 상황에 따라서 게임이 종료되는 시간이 각 클라이언트마다 제각각인 상황이 발생할 수도 있다. 이러한 상황을 방지하기 위해 P2P 그룹의 멤버들 중에서 하나의 슈퍼피어를 선정하고 그 슈퍼 피어인 멤버의 클라이언트가 게임의 시간을 관리하게 하는 것이다. 그렇게 함으로써 모든 클라이언트의 종료 시점은 동일해질 수 있다.
 +
이런 슈퍼피어를 선정할 때에도 고려해야할 조건들이 있는데, 그것은 바로 P2P 그룹의 멤버 중에서 가장 네트워크 접속 상태가 좋고 전송 속도가 빠른 멤버를 슈퍼 피어로 삼아야 한다는 것이다. 만약에 통신 품질이 좋지 않은 클라이언트를 슈퍼피어로 선정하게 되면 게이밍 품질이 하락할 수 있다. 예를 들자면 FPS 게임에서 캐릭터의 이동을 슈퍼 피어의 기준으로 동기화하였는데, 슈퍼피어의 상태가 좋지 않다면 캐릭터의 이동이 뚝뚝 끊어져 보일 것이다.
 +
슈퍼 피어를 선택하는 방법은 다음과 같다 :
 +
#. 인터넷 공유기 뒤에 있지 않고 직접 회선에 물려있는 경우
 +
#. 클라이언트의 송신 속도가 높을 수록 슈퍼 피어로서의 자격이 상승한다.
 +
#. 클라이언트의 성능이 좋아서 초당 실행 프레임레이트(framerate)가 높은 경우<ref>베르,〈[https://wergia.tistory.com/45 P2P 게임 네트워크 구현시 슈퍼 피어 선정하기]〉, 《티스토리》,2017-05-16</ref>
 +
 +
===스카이프(Skype)===
 +
인터넷에서 음성 무료 통화를 할 수 있는 프로그램. 인터넷이 연결된 컴퓨터, 개인 휴대 정보 단말기([[PDA]])만 있으면 스카이프를 통해 언제든지 무료로 음성 통화를 할 수 있다. 특히 P2P 기반 슈퍼피어를 이용해 메신저 기능과 함께 인터넷 전화 기능을 제공하며, 깨끗한 음질로 통화를 할 수 있다.<ref>IT용어사전,〈[https://terms.naver.com/entry.nhn?docId=865253&cid=50373&categoryId=50373 스카이프]〉, 《네이버 지식백과》</ref>
 +
스카이프(Skype)는 에스토니아의 스카이프 테크놀로지사가 개발한 무료 [[VoIP 소프트웨어]]이다. 마이크로소프트 윈도우, 리눅스, OS X, 윈도우 CE, iOS, 안드로이드, 윈도우 모바일용으로 개발하여 다양한 운영 체제에서 사용할 수 있도록 개발되었으며, P2P 기술을 이용하고 있어, 비교적 느린 속도에서도 높은 통화품질의 안정된 통화를 실현할 수 있는 것이 특징이다. 국가에 따라 제한은 있으나, 유료로 일반 전화와도 통화할 수 있으며, 화상 통화와 화면 공유 기능도 지원하는 등의 다양한 기능을 제공하고 있다.
 +
2005년에 개발회사가 미국의 [[이베이]]사가 인수했다가 2013년에 마이크로소프트사에 매각되어 운영되고 있다. 당시 스카이프 서비스의 선호로 인해 윈도우 라이브 메신저의 퇴역 소식을 전했으며 중국 본토에서는 메신저를 계속 서비스할 것이라고 밝혔다. 마이크로소프트는 2013년 4월 모든 사용자를 스카이프로 이전시켰다.스카이프 이용자를 위한 여러 제품도 판매하고 있으며, 대한민국에서는 2011년 7월까지 옥션과 함께 운영했고, 현재는 대성그룹과 함께 운영하고 있다.
 +
[[크레딧]]으로 유료 전화가 가능하다. 대한민국에서는 대성스카이프 홈페이지에서 구매할 수 있다. 편의점이나 인터넷에서 영수증을 발급받는 방식으로 구매할 수 있으나, 잘 알려져 있지 않고 10% 부가가치세가 붙는다.<ref>〈[https://ko.wikipedia.org/wiki/%EC%8A%A4%EC%B9%B4%EC%9D%B4%ED%94%84 스카이프]〉, 《위키백과》</ref>
  
 
==종류==
 
==종류==
 +
===Centralized Peer-to-Peer networks===
 +
[[중앙 집중형]]은 P2P 네트워크의 초기 모델이 되었다. 클라이언트/서버 모델과의 [[상이점]]은 중앙서버가 단지 콘텐츠를 공유하는 Peer의 위치를 제공하여 준다. 즉, 중앙 탐색 서버에 의존하고 있는 것이고, [[스타구조]]를 갖는 것이 특징이다.
 +
 +
===DHT(Distributed Hash Table)-based Peer-to-Peer networks===
 +
[[Structured 구조]]의 P2P 네트워크는 현재로서는 [[DHT 기법]]을 이용하여 [[쿼리]]에 대한 [[라우팅]] 구조체를 갖는 메커니즘이다. 현재까지 DHT 방식으로 여러가지가 제안된 상태이고 그리고 상용화 수준에서 사용되는 프로토콜로 Kad, Bitorrent가 대표적이다. Unstructured 방식과 대표적인 차이점은 쿼리에 대하여 찾는 자원이 있느냐 없느냐를 판단하기를 예상할 수 있다는 것이다. 즉 Unstructured 방식에서는 있는지 없는지를 단지 무한정 기다려야 하는데, Structured 방식에서는 예측한 시간 내에 무응답시 네트워크 내에 찾고자 하는 자원이 없음을 확인할 수 있는 기능을 제공하는 것이다.<ref name="fd">〈[https://www.tta.or.kr/data/weekly_view.jsp?news_id=2264 P2P(Peer-to-Peer) 지식정보보안 기술 및 표준동향]〉, 《한국정보통신기술협회》,2008-06-30</ref>
  
 
{{각주}}
 
{{각주}}
64번째 줄: 106번째 줄:
 
*〈[https://snowdeer.github.io/blockchain/2017/07/04/blockchain-and-p2p/ 블록체인과 P2P 통신]〉, 《snowdeer's Code Holic》,2017-07-04
 
*〈[https://snowdeer.github.io/blockchain/2017/07/04/blockchain-and-p2p/ 블록체인과 P2P 통신]〉, 《snowdeer's Code Holic》,2017-07-04
 
* thesoul214,〈[https://thesoul214.tistory.com/152 super peer의 정의와 장단점]〉, 《티스토리》,2013-04-25
 
* thesoul214,〈[https://thesoul214.tistory.com/152 super peer의 정의와 장단점]〉, 《티스토리》,2013-04-25
 
+
*〈[https://www.tta.or.kr/data/weekly_view.jsp?news_id=2264 P2P(Peer-to-Peer) 지식정보보안 기술 및 표준동향]〉, 《한국정보통신기술협회》,2008-06-30
 
+
* 베르,〈[https://wergia.tistory.com/45 P2P 게임 네트워크 구현시 슈퍼 피어 선정하기]〉, 《티스토리》,2017-05-16
 +
*〈[https://ko.wikipedia.org/wiki/%EC%8A%A4%EC%B9%B4%EC%9D%B4%ED%94%84 스카이프]〉, 《위키백과》
 +
* IT용어사전,〈[https://terms.naver.com/entry.nhn?docId=865253&cid=50373&categoryId=50373 스카이프]〉, 《네이버 지식백과》
 +
*〈[https://ko.wikipedia.org/wiki/%EC%B9%B4%EC%9E%90 카자]〉, 《위키백과》
 +
*〈[https://ko.wikipedia.org/wiki/%EA%B7%B8%EB%88%84%ED%85%94%EB%9D%BC 그누텔라]〉, 《위키백과》
  
 
== 같이 보기 ==
 
== 같이 보기 ==

2024년 3월 19일 (화) 22:50 기준 최신판

슈퍼피어(super peer)는 피투피(P2P) 시스템의 모델이다. 시스템의 노드중앙집중식 노드를 통해 더 큰 시스템과 상호작용하는 독립적인 피어의 집합을 나타낸다. 이 피어는 슈퍼피어라고 불린다.

아사달 도메인 가로 배너 (since 1998).jpg
이 그림에 대한 정보
[아사달] 믿을 수 있는 도메인 회사

개요[편집]

슈퍼피어는 피어 투 피어 네트워크의 노드로서 클라이언트 집합에 대한 서버 및 수퍼 피어 네트워크에서 동등하게 작동한다. 슈퍼피어 네트워크는 중앙 집중식 검색의 효율성과 분산 검색으로 제공되는 공격에 대한 자율성,로드 밸런싱 및 견고성간에 균형을 유지한다. 또한, 최근 연구에서 막대한 것으로 밝혀진 피어들간에 이기종 기능(예 : 대역폭, 처리 능력)을 활용한다. 따라서 KaZaA 및 Gnutella와 같은 새롭고 오래된 P2P 시스템은 설계에서 슈퍼피어를 채택하고 있다.

역사[편집]

P2P(Peer-to-Peer) 기술의 태동은 1969년 ARPANET의 출현으로 거슬러 올라갈 수 있다. ARPANET의 4개의 컴퓨터가 서로 연결된 형태가 바로 P2P기술의 시작점이다. P2P는 그 이후에 상업적, 기술적 이유에 의하여 1999년 냅스터(Napster)의 출현으로 세상에 알려지기 까지 클라이언트/서버 모델의 유명세에 밀려, 무명의 세월을 보내야 했다. 그 무명의 세월 동안 P2P 기술은 Usenet, DNS 등과 같은 서비스를 제공하여 명맥을 이어왔다. P2P에 대한 표준도 1969년 IETF(Internet Engineering Task Force)에서 Host Software라는 제목으로(RFC : Request For Comment 1)표준문서가 등록되었다. 이러한 기술이 이제서야 상용기술로 떠오르고 있으며, 그 능력에 대하여 기존의 인터넷 기술에서는 구사할 수 없는 많은 기능과 계산 능력을 갖고 있으며, P2P 서비스의 독주에 감탄을 마지않고 있는 것이 현재의 상황이 되었다. 클라이언트/서버 모델을 수용할 뿐만 아니라, N:M의 네트워크 구조를 갖을 수 있도록 기본 기능을 제공하고 있다. 특히 사용자들이 친근하게 접근하고 있는 응용계층에 P2P 인프라와 서비스가 자리하고 있어서, 장비나 통신서비스에 종속된 기능에서 사용자들을 자유롭도록 만들었고, 이로 인하여 사용자들에게 더욱 친근감을 갖고 다가가는 서비스로 변화하고 있으며, 이러한 서비스가 문화 콘텐츠 서비스와의 접목이 자연스럽게 이루어지고 있는 실정이다. 1세대 대표P2P인 하이브리드P2P에서 3세대 퓨어P2P로 이어졌으며그둘을 보안한 슈퍼피어가 가장최신의 P2P이다.[1]

특징[편집]

슈퍼피어 네트워크에 기반을 둔 P2P시스템은 기존의 하이브리드 P2P 시스템과 순수 P2P 시스템이 결합된 장점을 나타내고 있다. 슈퍼피어는 어떤 일반 피어들의 집단에 대해 서버처럼 동작하는 특수한 피어이다. 슈퍼피어들의 네트워크를 구성하는 문제는 슈퍼피어 네트워크에 기반을 둔 P2P 시스템에 있어서 중요한 문제 중의 하나이다. 기존의 P2P 시스템들은 2계층으로 구성된 피어들에 기반을 두고 있다. 하나는 일반피어들로 구성된 계층이고 다른 하나는 슈퍼피어들로 구성된 계층이다. 슈퍼피어 네트워크는 랜덤 그래프의 형태를 가지고 있는 것이 일반적이다. 그러나 대규모 일반 피어들을 수용하기 위해서는 슈퍼피어 네트워크 또한 그에 맞도록 확장되어야 한다. 이러한 대규 모 P2P 시스템을 위한 트리 기반의 슈퍼피어 네트워크의 계층적 구성 방법이 제안된다. 먼저 두 개의 계층으로 구성되 는 단순 수퍼피어 네트워크의 구성이 소개되고, 그것을 일반화 그리고 확장 시키면서 다중 레벨 슈퍼피어 네트워크로 확장하는 알고리즘이 제안된다. 단순 슈퍼피어 네트워크도 좋은 특징을 가지고는 있으나, 제한된 레벨의 수 때문에 규모성에 문제를 나타낼 수 있어, 좋은 규모성과 클라이언트 노드들에 관한 관리의 용이성을 보여주는 확장 슈퍼피어 네트워크라고 하는 k-레벨의 슈퍼피어 트리로 확장 시킨다.[2]

하이브리드 p2p퓨어 p2p의 장점을 모두 취해서 태어난 것이 슈퍼피어이다. 하이브리드 p2p와 퓨어 p2p의 중간 형태라고 해서 Mixed p2p라는 용어로 사용되기도 하였다. 슈퍼피어라고 이름이 불리게 된 이유는 하이브리드 p2p와 퓨어 p2p 어떻게 섞었는지를 보면 알 수 있다. 하이브리드 p2p는 한곳에 중요한 기능이 모여 있는 것이 문제이고 퓨어 p2p는 그렇게 기능이 모여있는 곳이 없어서 문제이다. 그래서 전산학자들이 생각해낸방법이 그런 중요한 기능을 하는 곳을 여러군데 두는 것이였다. 그래서 여러 노드를 가운데 컴퓨터의 성능이나 네트워크 환경이 좋은 몇군데를 골라서 슈퍼피어로 임명하고 하이브리드 p2p의 중앙 서버의 역할을 하게 된다. 한마디로 super(잘난) 컴퓨터들(peer)을 이용한 방식이라고 해서 슈퍼피어라는 이름이 붙게 되었다. 이렇게 하면 하이브리드 p2p처럼 중앙서버가 다운 된다고 해서 네트워크가 죽을 일이 없으며 퓨어 p2p처럼 길 찾는걸 도와주는 컴퓨터가 없어서 성능이 떨어질 일도 없게 된다. 어떻게 구현했는지에 따라 네트워크 특성이 하이브리드 p2p에 가까워질 수도 있고 퓨어 p2p에 가까워질 수도 있다. 개념 자체만으로는 매우 간단해 보이지만 실제로 슈퍼피어를 구현하기는 쉽지 않다. 게다가 슈퍼피어에 대한 최적화된 이론이 정립되지 않은 상태여서 구현 방식에 따라서 천차만별의 성능을 보이는 것이 슈퍼피어의 단점이다. 대표적인 기술적 어려움으로 슈퍼피어selection이라는 것이 있다. 말그대로 어떤 노드를 슈퍼피어로 사용 할 것인가에 대한 문제이다. 이것이 사용되는 기준이 너무나 다양하고 그 기준을 측정하는 것 방법 자체가 하나의 연구 과제가 될 정도이기 때문에 생각보다 쉽지가 않다. 현존하는 소프트웨어중 슈퍼피어를 가장 잘 이용한 케이스는 VolP소프트웨어인 스카이프가 있다.[3]

P2P(peer to Peer)[편집]

peer to Peer의 줄임말로 일반적으로 컴퓨터의 쌍방향 파일 전송 시스템을 가리킨다. 중앙서버 없이 컴퓨터와 컴퓨터간을 연결해 주며, 프로그램 엔진만 만들면 되기 때문에 매우 간편하게 파일을 전송할 수 있는 장점이 있다. 처음에는 느린 인터넷 속도 때문에 그저 그렇게 평가되었으나 인터넷이 점차 발달할수록 파일전송속도가 빨라짐에 따라 굉장히 널리 사용되게 되었으며 이에 따라 피해도 늘어났다. 한국 최초의 P2P 프로그램으로는 소리바다가 있으며, 그 이전에도 미국에서 냅스터라는 프로그램, 일본에서 위니라는 프로그램이 존재했다. 비트토렌트, 이뮬, 당나귀, 프루나도 이 범주에 들어간다. P2P라는 용어 자체가 불법공유와 과도하게 연결된 탓에 매우 어두운 이미지를 가지게 되었지만, P2P 기술 자체는 합법으로, 사용자 컴퓨터의 자원을 어느 정도 나눠서 쓴다는 점에서 서버 성능의 한계를 극복할 수 있는 대단히 유용한 기술이다.[4] 서버를 준비할 필요가 없고, 각 노드들이 트래픽과 자원을 할당해 부하를 분산시켜준다. 즉, 노드가 증가하더라도 서비스를 유지할 수 있는 높은 확장성을 갖고 있다. 새로운 기능을 추가하거나 업데이트를 할 경우 관리가 어렵고 네트워크 전송 시간 때문에 노드간 정보 불일치, 성능 저하가 발생하기 쉽다.[5]

하이브리드 P2P(Hybrid P2P)[편집]

하이브리드 p2p는 세대별 구분으로는 1세대이고 기존 server/client모델을 완전히 벗어나지 못한 형태의 p2p이다. 중앙서버가 존재하여 그 중앙서버에 각 peer들이 접속하며 중앙서버에서는 peer들의 위치와 peer들이 가진 데이터의 메타정보를 관리한다. 기존 server/client 모델과의 다른점은 중앙서버는 데이터들의 메타정보만을 관리해서 검색 결과등을 peer에게 줄뿐이며 실제 데이터의 전송과 통신은 직접 peer들간에 이루어지게 된다. routing과 검색이 매우 빠르다는 장점이 있다. 왜나하면 peer들을 헤집고 다니면서 찾아다닐 필요없이 서버에 한번만 물어보면 되기 때문이다. 또한 p2p네트워크 내에 있는 peer과 데이터에 대한 검색이 보장된다. 쉽게 말해서 p2p네트워크 내에만 있다면 모든 자료를 찾을 수 있다는 말이다. server/client 모델만큼은 아니지만 역시 peer가 늘어날수록 중앙서버에 부담이 더해진다. 즉, p2p네트워크가 커질수록 서버의 capacity를 늘려야되며 이것은 곧 돈으로 이어진다. 하지만 사실 routing과 검색만 중앙서버를 거치므로 데이터가 직접 서버를 통하는 server/client모델에 비해서 비교도 안될만큼 효율적이다. 하이브리드 p2p의 큰 단점은 중앙서버가 죽으면 전체 네트워크가 죽는다는 것이다. 이것은 server/client 모델의 단점이기도 하며 하이브리드 p2p가 비록 성능면에 있어서 다른 p2p 구조에 비해서 뛰어나지만 다른 p2p구조에 비해 뒤떨어지는 기술로 취급받는 이유이기도 하다. p2p를 세상에 알리고 수많은 법적 문제와 기술적 발전을 나았던 mp3공유 프로그램 napster이 사용한 방식이다. napster은 저작권 문제로 미국 연방법원의 판결로 중앙서버를 닫아야만 했고 그결과 전체 서비스가 문을 닫게 되었다. 우리나라의 소리바다도 같은 전철을 밟았다. 하이브리드 p2p의 경우 이런 네트워크 전체를 서버를 통해서 통제할 수 있기 때문에 법적인 대응이나 해킹에 매우 취약한 구조를 가지고 있다. 하지만 네트워크 전체를 중앙서버에서 통제할 수 있다는 것과 그 뛰어난 성능으로 인해 법적인 문제에서 자유로울 수 있는 서비스 같은 경우 이 하이브리드 p2p방식을 많이 사용한다.[6]

퓨어 P2P(Pure p2p)[편집]

퓨어 p2p는 이름처럼 순수한,깨끗한 p2p의 정의에 가장 충실한 형태의 네트워크이기 때문에 3세대 p2p로 불리기도 한다. 다만 기술발전으로는 하이브리드 p2p 다음에 오는 것이 일반적이다. 수퍼 피어와 함께 decentralized p2p라고 불리기도 한다. 가장 큰 특징으로는 네트워크를 이루는 노드가 모두 동등하다는 것이다. 즉, 네트워크에 참여하는 모든 컴퓨터는 똑같이 server/client 역할을 겸하며 검색, 데이터 전송에 있어서 같은 책임을 진다, 따라서 하이브리드 p2p와는 달리 네트워크 전체에 영향을 끼치는 중앙서버 같은 역할을 하는 노드가 없다. 모든 peer간 동등한 통신을 한다는 의미에서 p2p의 정의 그 자체라고 할 수 있다. 이 네트워크 전체를 shut down 시키는 일은 거의 불가능하다는 것이 최대 장점이다. 모든 peer가 동등한 역할을 하기 때문에 peer전체를 shut down 시키지 않는 이상 네트워크는 제 역할을 하게 된다. 또 다른 장점으로는 네트워크가 커짐에 따라 들어가는 cost가 제로라는 점이다. 즉, 퓨어 p2p 네트워크가 커지기 위해서는 그냥 peer가 추가되기만 하면 된다는 점에서 네트워크의 확장성이 매우 높다.

P2P라는 개념에 가장 잘 부합하는 네트워크이며 하이브리드 P2P가 가진 네트워크 취약성을 해결했음에도 불구하고 퓨어 p2p를 이용하는 케이스가 가장 적은 이유는 떨어지는 성능과 라우팅의 어려움 때문이다. 모든 peer가 동등한 역할을 하기 때문에 라우팅을 도와주는 역할을 하는 노드가 없는데, 이 때문에 한 peer가 다른 peer를 찾거나 데이터를 검색하기 위해서는 수많은 peer들을 건너다니면서 찾아가게 된다. 이는 곧 검색시간의 증가로 이어지며 이런 길찾기 과정에서 capacity가 낮은 peer를 거쳐갔을 경우 그 시간이 매우 크게 증가하게 된다. 또한 이런 라우팅 방법으로 인해 심지어는 네트워크 내에서 도달할 수 없는 peer가 생기기도 한다. 물론 이런 단점들은 라우팅 알고리즘으로 많이 개선시킨 경우도 있으나 일반적으로 성능면에서 하이브리드 p2p와 슈퍼피어에 비해서 많이 떨어진다. 그리고 기술적인 단점은 아니지만 네트워크 전체를 관리하거나 통제하기가 매우 힘들기 때문에 특정 기업이나 기관에서 이런 네트워크로 뭔가를 하거나 다른 P2P 네트워크에 비해서 어렵다. [7]

활용[편집]

카자(Kazaa)[편집]

카자 미디어 데스크톱(Kazaa Media Desktop, 처음에는 KaZaA로 사용되었으나 나중에 Kazaa로 변경됨)은 Joltid사의 라이선스를 받은 패스트트랙 프로토콜을 사용하는 P2P 파일 공유 애플리케이션으로 시작하였으며 샤먼 네트웍스에 의해 카자(Kazaa)로 운영되었다. 카자는 Atrinsic사에 의해 합법적인 음악 구독 서비스로서 라이선스를 받게 되었다. 개발자들 중 Jaan Tallinn에 따르면 Kazaa는 카-자(ka-ZAH)로 발음된다. 카자 미디어 데스크톱은 MP3 음악 파일 및 비디오, 애플리케이션, 문서 등 그 밖의 파일 유형을 인터넷 상에서 교환하기 위해 흔히 사용되었다. 카자 미디어 데스크톱 클라이언트는 무료로 다운로드가 가능하였다. 그러나 애드웨어가 번들되었으며 한동안 "스파이웨어 없음"이라는 경고문을 카자의 웹사이트에서 볼 수 있었다. 이 해의 카자 운영 기간 중 샤먼 네트웍스와 관련 사업 파트너들은 저작권 관련 법적 소송의 표적이 되었고 이는 패스트트랙 프로토콜 상에서 카자 미디어 데스크톱을 통해 배포되는 콘텐츠의 저작권과 관련된다. 2012년 8월, 카자 웹사이트는 더 이상 운영하지 않는다.[8]

그누텔라(Gnutella)[편집]

2000년 초에 AOL의 자회사인 널소프트의 저스틴 프랑켈(Justin Frankel)과 톰 페퍼(Tom Pepper)가 첫 번째 프로그램을 개발했다. 그 해 3월 14일 Nullsoft에서 파일을 내려받을 수 있었으며, Slashdot에 소개된 첫 날 수 천명이 프로그램을 내려 받았다. Nullsoft의 모회사인 아메리카 온라인(AOL)이 당시 음악/미디어 쪽의 거인인 타임 워너와 합병하려던 차였기 때문에 배포된 다음날 내려 받기는 중지된다. 하지만 이미 비밀은 누출되어 버린 뒤였다. Nullsoft가 올렸다가 지운 그 코드를 해커들이 낚아채서 이를 바탕으로 자신들만의 새로운 소프트웨어로 만들었다. 그 결과 불과 몇 주일 만에 웹 상에는 여러 종의 상호호환적인 누텔라 유사품이 등장한다. 누텔라는 냅스터와 달리 중앙에서 개입하는 부분이 전혀 없다. 2001년초 냅스터의 법정 공방으로 P2P 네트워크가 유명세를 타게 되고 누텔라는 많은 사용자를 확보하게 된다. 하지만 초기 프로토콜의 확장성 문제 (사용자가 많아질수록 다운로드가 어려워지는 문제)가 드러나게 된다. 개발자들이 확장성 문제를 극복하는 새로운 누텔라를 개발하며, 새로운 피어간 경로 설정 기법인 "ultrapeers" 개념을 제시한다. "누텔라"는 특정한 프로젝트나 프로그램의 이름뿐만 아니라, 여러 클라이언트들에게 사용되는 일반적인 프로토콜의 의미를 갖기도 한다. 곳곳에서 새로운 클라이언트와 프로토콜들이 개발되고 있으므로, "누텔라"가 미래의 P2P 표준이 될 것이라는 장담은 할 수 없다.[9]

P2P 게임 네트워크 구현시 슈퍼피어 선정하기[편집]

게임 네트워크를 제작할 때, 대다수의 게임이 서버와 통신을 하지만 몇몇 게임의 경우 로그인이나 게임의 데이터 송수신은 서버와 하지만 네트워크 게임 플레이 자체는 클라이언트 간의 통신, 즉 peer-to-peer(이하 P2P) 방식으로 처리하는 경우가 있다. 일반적으로 소규모 멀티 플레이 게임이나 데이터 전송량이 많은 FPS 같은 게임의 멀티 플레이에서 P2P 방식을 사용할 것을 권장한다. 이러한 소규모 온라인 게임(Multi Online, MO)에서 사용하는 P2P 통신 방법의 하나로, P2P 그룹 내에 있는 멤버 중 하나가 게임 플레이를 위한 메시지의 송수신을 담당하는 Super peer(슈퍼 피어 혹은 호스트) 중심의 P2P 네트워킹이 있다. 간단한 예를 들자면 FPS게임에서 P2P 네트워킹을 사용하는데 게임의 종료 조건 중의 하나가 타임 오버일 때, 그 P2P 그룹에 속하는 모든 클라이언트가 각자의 시간을 가지고 계산한다면 상황에 따라서 게임이 종료되는 시간이 각 클라이언트마다 제각각인 상황이 발생할 수도 있다. 이러한 상황을 방지하기 위해 P2P 그룹의 멤버들 중에서 하나의 슈퍼피어를 선정하고 그 슈퍼 피어인 멤버의 클라이언트가 게임의 시간을 관리하게 하는 것이다. 그렇게 함으로써 모든 클라이언트의 종료 시점은 동일해질 수 있다. 이런 슈퍼피어를 선정할 때에도 고려해야할 조건들이 있는데, 그것은 바로 P2P 그룹의 멤버 중에서 가장 네트워크 접속 상태가 좋고 전송 속도가 빠른 멤버를 슈퍼 피어로 삼아야 한다는 것이다. 만약에 통신 품질이 좋지 않은 클라이언트를 슈퍼피어로 선정하게 되면 게이밍 품질이 하락할 수 있다. 예를 들자면 FPS 게임에서 캐릭터의 이동을 슈퍼 피어의 기준으로 동기화하였는데, 슈퍼피어의 상태가 좋지 않다면 캐릭터의 이동이 뚝뚝 끊어져 보일 것이다. 슈퍼 피어를 선택하는 방법은 다음과 같다 :

  1. . 인터넷 공유기 뒤에 있지 않고 직접 회선에 물려있는 경우
  2. . 클라이언트의 송신 속도가 높을 수록 슈퍼 피어로서의 자격이 상승한다.
  3. . 클라이언트의 성능이 좋아서 초당 실행 프레임레이트(framerate)가 높은 경우[10]

스카이프(Skype)[편집]

인터넷에서 음성 무료 통화를 할 수 있는 프로그램. 인터넷이 연결된 컴퓨터, 개인 휴대 정보 단말기(PDA)만 있으면 스카이프를 통해 언제든지 무료로 음성 통화를 할 수 있다. 특히 P2P 기반 슈퍼피어를 이용해 메신저 기능과 함께 인터넷 전화 기능을 제공하며, 깨끗한 음질로 통화를 할 수 있다.[11] 스카이프(Skype)는 에스토니아의 스카이프 테크놀로지사가 개발한 무료 VoIP 소프트웨어이다. 마이크로소프트 윈도우, 리눅스, OS X, 윈도우 CE, iOS, 안드로이드, 윈도우 모바일용으로 개발하여 다양한 운영 체제에서 사용할 수 있도록 개발되었으며, P2P 기술을 이용하고 있어, 비교적 느린 속도에서도 높은 통화품질의 안정된 통화를 실현할 수 있는 것이 특징이다. 국가에 따라 제한은 있으나, 유료로 일반 전화와도 통화할 수 있으며, 화상 통화와 화면 공유 기능도 지원하는 등의 다양한 기능을 제공하고 있다. 2005년에 개발회사가 미국의 이베이사가 인수했다가 2013년에 마이크로소프트사에 매각되어 운영되고 있다. 당시 스카이프 서비스의 선호로 인해 윈도우 라이브 메신저의 퇴역 소식을 전했으며 중국 본토에서는 메신저를 계속 서비스할 것이라고 밝혔다. 마이크로소프트는 2013년 4월 모든 사용자를 스카이프로 이전시켰다.스카이프 이용자를 위한 여러 제품도 판매하고 있으며, 대한민국에서는 2011년 7월까지 옥션과 함께 운영했고, 현재는 대성그룹과 함께 운영하고 있다. 크레딧으로 유료 전화가 가능하다. 대한민국에서는 대성스카이프 홈페이지에서 구매할 수 있다. 편의점이나 인터넷에서 영수증을 발급받는 방식으로 구매할 수 있으나, 잘 알려져 있지 않고 10% 부가가치세가 붙는다.[12]

종류[편집]

Centralized Peer-to-Peer networks[편집]

중앙 집중형은 P2P 네트워크의 초기 모델이 되었다. 클라이언트/서버 모델과의 상이점은 중앙서버가 단지 콘텐츠를 공유하는 Peer의 위치를 제공하여 준다. 즉, 중앙 탐색 서버에 의존하고 있는 것이고, 스타구조를 갖는 것이 특징이다.

DHT(Distributed Hash Table)-based Peer-to-Peer networks[편집]

Structured 구조의 P2P 네트워크는 현재로서는 DHT 기법을 이용하여 쿼리에 대한 라우팅 구조체를 갖는 메커니즘이다. 현재까지 DHT 방식으로 여러가지가 제안된 상태이고 그리고 상용화 수준에서 사용되는 프로토콜로 Kad, Bitorrent가 대표적이다. Unstructured 방식과 대표적인 차이점은 쿼리에 대하여 찾는 자원이 있느냐 없느냐를 판단하기를 예상할 수 있다는 것이다. 즉 Unstructured 방식에서는 있는지 없는지를 단지 무한정 기다려야 하는데, Structured 방식에서는 예측한 시간 내에 무응답시 네트워크 내에 찾고자 하는 자원이 없음을 확인할 수 있는 기능을 제공하는 것이다.[1]

각주[편집]

  1. 1.0 1.1 P2P(Peer-to-Peer) 지식정보보안 기술 및 표준동향〉, 《한국정보통신기술협회》,2008-06-30
  2. 정원호,〈Super-Peer 네트워크에 기반을 둔 Peer-to-Peer 시스템의 계층적 구성〉, 《earticle》
  3. thesoul214,〈super peer의 정의와 장단점〉, 《티스토리》,2013-04-25
  4. p2p〉, 《나무위키》
  5. 블록체인과 P2P 통신〉, 《snowdeer's Code Holic》,2017-07-04
  6. thesoul214,〈하이브리드 p2p의 정의와 장단점〉, 《티스토리》,2013-04-25
  7. thesoul214,〈pure p2p의 정의와 장단점〉, 《티스토리》,2013-04-25
  8. 카자〉, 《위키백과》
  9. 그누텔라〉, 《위키백과》
  10. 베르,〈P2P 게임 네트워크 구현시 슈퍼 피어 선정하기〉, 《티스토리》,2017-05-16
  11. IT용어사전,〈스카이프〉, 《네이버 지식백과》
  12. 스카이프〉, 《위키백과》

참고자료[편집]

같이 보기[편집]


  검수요청.png검수요청.png 이 슈퍼피어 문서는 인터넷에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.