P2P

중앙 관리자 없이, 친구들끼리 책 조각을 서로 복사해 나눠 가지며 완성하는 분산 도서관이에요.

정의 P2P(Peer-to-Peer, 동등 계층 간 통신)는 중앙에 있는 서버 컴퓨터를 거치지 않고, 네트워크에 연결된 개별 사용자 컴퓨터끼리 파일을 직접 주고받는 통신 방식이에요. 여기서 참여하는 모든 컴퓨터를 대등한 동료라는 뜻으로 '피어(Peer)'라고 불러요.

선생님에게 줄 서기 vs 친구끼리 시험지 돌리기

선생님 한 분이 학생 50명에게 시험지를 한 장씩 직접 나눠주려면 줄이 길게 늘어서요. 기존 인터넷 서비스가 딱 이런 모습이에요. 거대한 중앙 서버 혼자서 수많은 사용자에게 데이터를 전송하다 보니, 사람이 몰리면 서버가 마비되거나 속도가 느려지죠.

반면 P2P 방식은 시험지를 먼저 받은 학생이 옆 친구에게 복사본을 건네고, 그 친구는 또 다른 짝꿍에게 건네주는 구조예요. 중앙 관리자 없이도 참여자들끼리 서로 직접 데이터를 주고받는 방식이에요.

이 구조에서는 네트워크에 연결된 컴퓨터가 손님이자 동시에 점원이 돼요. 데이터를 받는 '다운로더' 역할을 하면서, 동시에 자신이 가지고 있는 데이터를 다른 사람에게 건네주는 '업로더' 역할을 함께 수행하기 때문이에요.

중앙 집중형 방식과 P2P 분산 방식의 데이터 전송 비교 중앙 집중형 모델 P2P 분산 모델 ! 중앙 서버 서버 혼자 모든 요청 처리 참여자끼리 직접 공유

사람이 많아질수록 오히려 더 빨라져요

일반적인 웹사이트는 접속자가 몰릴수록 서버에 부하가 걸려 속도가 느려져요. 하지만 P2P 네트워크는 참여하는 사람이 많아질수록 오히려 다운로드 속도가 더 빨라지는 신기한 특징을 가지고 있어요.

예를 들어 100쪽짜리 두꺼운 책을 내려받는다고 상상해 볼게요. P2P 프로그램은 이 책을 1쪽씩 100개의 조각으로 잘게 쪼개요. 그리고 1쪽을 가진 친구, 2쪽을 가진 친구, 50쪽을 가진 친구에게서 각각 다른 조각을 동시에 가져오는 방식을 사용해요.

내가 조각을 모으는 중에도, 이미 내 컴퓨터에 들어온 조각은 다른 친구에게 즉시 전송돼요. 모두가 동시에 내려받고 동시에 공유하므로, 참여자가 늘어날수록 네트워크 전체의 데이터 공급 속도가 폭발적으로 증가하는 원리예요.

P2P 네트워크의 분할 파일 동시 공유 원리 1번 2번 3번 4번 1 2 4 3 1 2 3 4 참여자 A 참여자 B 참여자 C 참여자 D 조각난 원본 파일 서로 다른 조각 동시 공유

조금 더 정확히 말하면

모든 P2P가 중앙 서버를 100% 배제하는 것은 아니에요. 어떤 사용자가 어떤 파일 조각을 가지고 있는지 주소록처럼 목록만 알려주는 길잡이 서버를 두고, 실제 파일 전송만 사용자끼리 직접 하는 '하이브리드 P2P' 방식도 널리 쓰여요.

또한 P2P는 불법 다운로드에만 쓰이는 나쁜 기술이 아니에요. 대용량 온라인 게임의 업데이트 패치를 수백만 명에게 빠르게 배포하거나, 화상 회의에서 사용자 간 영상을 지연 없이 주고받을 때도 핵심 기술로 쓰여요.

중앙 관리자 없이 참여자들이 거래 장부를 함께 검증하고 나눠 가지는 비트코인블록체인 기술 역시 P2P 네트워크를 기반으로 움직여요. 인터넷을 더 유연하고 튼튼하게 만들어 주는 분산 기술의 핵심 뿌리인 셈이에요.

🤔 흔한 오해

✕ 오해

P2P는 불법 다운로드 전용 기술이다.

✓ 사실

P2P는 데이터를 효율적으로 주고받기 위한 네트워크 기술일 뿐이에요. 대형 게임 패치 배포, 화상 회의(WebRTC), 블록체인 등 합법적이고 중요한 시스템에서 핵심 기술로 활발히 쓰이고 있어요.

🧺 일상에서 만나요

1 비트토렌트(BitTorrent) 프로그램으로 여러 사용자에게서 대용량 파일 조각을 동시에 나눠 받아요.
2 대형 온라인 게임 회사가 새 패치를 수백만 명의 유저에게 서버 과부하 없이 빠르게 배포할 때 사용해요.
3 비트코인 같은 가상자산 네트워크가 중앙 은행 없이 참여자 컴퓨터끼리 거래 장부를 검증하고 공유해요.
💡 그러니까 한마디로

P2P는 중앙 서버 없이 네트워크에 참여한 사용자 컴퓨터끼리 직접 데이터를 주고받는 분산 통신 기술이에요.