본문 바로가기
끄적끄적 etc

Peer-to-Peer (P2P)란 ?

by Dddu 2025. 7. 6.
SMALL

p2p 에 대해 알아보자 

 

peer - to - peer (P2P)란? 

Peer-to-Peer(이하 P2P)는 중앙 서버 없이 네트워크 참여자들(Peer) 간에 직접 데이터를 주고받는 통신 방식이다. 각각의 Peer는 클라이언트이자 서버의 역할을 동시에 수행하며, 자원을 요청하거나 제공할 수 있다. 이러한 구조는 분산 시스템의 대표적인 형태로, 블록체인, 파일 공유, 실시간 통신 등 다양한 분야에서 활용되고 있다.


Peer-to-Peer는 언제 사용되는가?

  1. 대용량 파일 공유
    • 예: BitTorrent
    • 하나의 서버가 아닌 여러 Peer에게서 동시에 데이터를 받아 속도와 효율을 높인다.
  2. 실시간 음성/영상 통신
    • 예: Skype(초기 구조), WebRTC 기반 영상 통화
    • 서버를 거치지 않고 사용자 간 직접 통신을 통해 지연 시간을 줄인다.
  3. 블록체인 및 분산 원장 시스템
    • 예: Bitcoin, Ethereum
    • 거래 정보를 모든 노드에 분산 저장하고, 합의를 통해 블록을 생성한다.
  4. 분산 파일 시스템
    • 예: IPFS(InterPlanetary File System)
    • 중앙 저장소 없이 전 세계에 분산된 Peer가 데이터를 저장하고 검색한다.

주요 특징

  • 분산형 구조: 중앙 서버 없이 각 Peer 간에 직접 통신이 이루어진다.
  • 자율성: Peer는 독립적으로 실행되며, 각자의 리소스를 사용하여 데이터 공유에 참여한다.
  • 확장성: Peer 수가 늘어날수록 전체 처리 능력이 향상된다.
  • 내결함성(Fault Tolerance): 일부 Peer가 중단되더라도 전체 시스템에는 영향을 덜 준다.
  • 직접성: 데이터를 주고받는 과정에서 중간 서버가 없거나 최소화된다.

장점 및 단점

장점

  • 확장성 우수: 시스템 참여자가 늘어날수록 처리 능력도 증가한다.
  • 비용 효율적: 중앙 서버를 유지할 필요가 없어 인프라 비용이 줄어든다.
  • 내결함성 강화: 일부 노드가 실패해도 전체 서비스가 중단되지 않는다.
  • 분산 저장: 데이터를 여러 Peer에 분산시켜 보관할 수 있다.

단점

  • 보안 이슈: 신뢰할 수 없는 Peer가 있을 경우 데이터 위변조 가능성이 존재한다.
  • 복잡한 네트워크 관리: Peer 간의 연결 상태나 경로 관리가 어렵다.
  • 성능 예측 어려움: 각 Peer의 네트워크 속도나 성능이 다르기 때문에 일정한 품질 보장이 어렵다.
  • 법적 책임 소재 불분명: 중심 관리자가 없기 때문에 문제 발생 시 책임 추적이 어려울 수 있다.

Client-Server와의 차이점

 

  Client-Server Peer-to-Peer
구조 중앙 서버 존재 서버 없이 Peer 간 직접 통신
데이터 위치 서버에 집중 저장 Peer에 분산 저장
확장성 서버 용량에 따라 제한적 Peer 수가 늘수록 확장 용이
의존성 서버 장애 시 전체 시스템 영향 일부 Peer 장애에도 계속 동작 가능
예시 웹사이트, 인터넷 뱅킹 BitTorrent, 블록체인, WebRTC
 

 

LIST