본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

Peer-to-peer Network; Peer-to-peer Model Network

P2P 네트워크랑 중앙화된 (거의) 서버를 거치지 않고 사용자(peer)간 직접 통신하는 모델을 말한다.

  • 초기의 P2P 모델에서는 초기 피어 식별, 검색, 핸드셰이크 등을 위해 중앙화된 서버가 일부 기능을 하기도 하였으나, 최근엔 점차 중앙화된 서버 전혀 없이 동작하는 P2P 모델들이 많이 등장하고 있다.
  • 다만 효율적 네트워크 구성을 위해 동적으로 서버 역할을 하는 슈퍼 노드를 두는 하이브리드 방식의 P2P가 많이 사용된다.
  • 유연성: 상시, 고정적으로 구동되는 서버가 없고, 대부분의 엔드 포인트가 유동적인 IP를 가진다.
  • 상호성: 참여하는 각 피어들은 서비스 제공자이자 서비스 이용자이다.
  • 확장성: 수요가 늘어남에 따라 새로운 피어가 참여하여 새로운 자원으로써 역할을 하므로 자체적인 확장이 이루어진다.

구조화에 따른 구분

편집 원본 편집

P2P Network Categories

  • 구조화된 P2P 네트워크 (Structured P2P Network):
    • 가상 계층: 피어들 간의 연결이 무작위가 아닌, 특정 알고리즘에 의해 결정된다. 예를 들어, DHT(분산 해시 테이블)라는 기술을 사용하여 각 피어가 네트워크 내에서 특정 역할을 맡게 된다.
    • 특정 구조: 네트워크가 미리 정의된 규칙에 따라 피어들을 연결하므로, 검색이나 데이터 조회가 효율적이다. 요청이 잘못된 피어로 가더라도, 네트워크 내에서 원하는 데이터를 빠르게 찾을 수 있다.
    • 예시: Chord, Kademlia와 같은 DHT 기반 P2P 네트워크
  • 비구조화된 P2P 네트워크 (Unstructured P2P Network):
    • 임의의 연결: 피어들이 서로 무작위로 연결되며, 특정한 구조나 규칙이 없습니다. 이는 간단하지만, 데이터를 찾는 데 있어 효율적이지 않을 수 있다. 특히 네트워크가 커질수록 검색 시간이 길어지거나 실패할 가능성이 크다.
    • 탐색 방식: 피어들이 데이터를 찾기 위해 브로드캐스트 방식으로 여러 피어에게 요청을 보내야 한다. 결과적으로, 원하는 데이터를 찾는 데 많은 트래픽이 발생할 수 있다.
    • 예시: Gnutella, Freenet
  • 하이브리드 P2P 네트워크 (Hybrid P2P Network):
    • 클라이언트-서버 구조 결합: 일부 피어들은 다른 피어들보다 더 중요한 역할을 한다. 예를 들어, 특정 피어들이 중앙 서버와 유사한 역할을 하여 네트워크 관리를 돕는다. 이로 인해 네트워크가 더 안정적이고 효율적으로 동작할 수 있다.
    • 중앙 집중식 요소: 일부 피어들은 데이터를 관리하거나 네트워크 상태를 유지하는 역할을 하며, 일반적인 피어들이 이러한 '중앙 피어'를 통해 서비스를 이용할 수 있다.
    • 피어 동기화: 새로운 피어가 네트워크에 들어올 때, 기존 피어들과 데이터를 동기화하여 시스템의 중복성을 높여 데이터 유실을 방한다.
    • 예시: BitTorrent (트래커가 중앙 서버 역할을 수행), 일부 VoIP 서비스

하이브리드 아키텍처

편집 원본 편집

활발하게 운영되는 대형 P2P 네트워크는 대부분 하이브리드 아키텍처를 채택하는 경우가 많다. 하이브리드 P2P 네트워크는 순수한 P2P 네트워크와 클라이언트-서버 모델를 결합하여 각 네트워크의 이점을 활용하여 신뢰성과 보안을 높이는 동시에 단점을 최소화할 수 있다.

  • 비트 토렌토 및 초기의 스카이프 서비스가 하이브리드 아키텍처의 P2P로 구성되었다.

일반적 동작 과정

편집 원본 편집

하이브리드 아키텍처는 하이브리드 P2P 아키텍처에서 피어들은 슈퍼 노드와 일반 노드로 나뉜다.

  • 각 슈퍼 노드는 자신의 하위 노드들의 인덱스를 유지한다.
  • 요청은 슈퍼 노드로 전송되며, 슈퍼 노드는 로컬 인덱스에 없는 하위 노드를 찾기 위해 서로 쿼리를 주고받는다.
  • 일반 노드는 충분한 자원을 가지고 일정 시간 이상 P2P 네트워크에 머무르면 슈퍼 노드로 승격된다.
  • 하이브리드 아키텍처는 네트워크의 신뢰성과 보안을 향상시키는 동시에 단점을 최소화할 수 있다.

P2P 네트워크 중복성

편집 원본 편집

P2P Network Redundancy

  • P2P 네트워크에서 중복성은 데이터 계층을 포함한 전체 애플리케이션 인스턴스가 P2P 네트워크의 모든 피어에 존재함을 의미한다.
  • 이를 통해 단일 노드의 장애가 전체 P2P 네트워크에 영향을 미치지 않도록 네트워크의 회복력이 보장된다.
  • P2P 네트워크는 더 많은 피어가 참여할수록 더욱 탄력적이고 강력해진다.
  • 새로운 피어가 P2P 네트워크에 참여하면 자원이 공유되면서 용량이 증가하여 대역폭, 저장 공간, 처리 능력이 증가한다.
  • 반면, 클라이언트-서버 네트워크에서는 중앙 서버에 대한 클라이언트 요청이 증가할수록 클라이언트 당 이용할 수 있는 자원이 줄어든다.