Peer-to-Peer

P2P에서는 모든 참여자가 서로에게 노드가 된다

P2P 모델은 중앙 서버가 모든 데이터를 직접 제공하지 않고, 참여자들이 서로 데이터를 나눠 갖고 주고받습니다. 참여자가 늘면 다운로드 수요와 업로드 자원이 함께 늘어나는 구조입니다.

각 peer는 클라이언트이면서 동시에 서버 역할도 합니다.
파일 공유는 조각 단위로 받아 다시 다른 peer에게 전달합니다.
초기 발견에는 tracker, bootstrap node, DHT 같은 보조 구조가 쓰일 수 있습니다.
Peer A

다운로드 + 업로드

125
가진 조각을 다른 peer에게 보냅니다.
Peer B

서로 교환

356
필요한 조각은 받고, 가진 조각은 내보냅니다.
Peer C

분산 복제

1234
여러 peer에 데이터가 퍼져 단일 서버 부담이 줄어듭니다.
확장성

참여자가 늘수록 업로드 자원도 함께 늘 수 있습니다.

장애 내성

일부 peer가 사라져도 다른 peer가 조각을 제공할 수 있습니다.

운영 난점

신뢰, 보안, NAT 통과, 버전 관리가 중앙형보다 어렵습니다.