Blog/P2P vs SFU

P2P와 SFU의 차이틴캔이 1:1 통화에서 압도적으로 빠른 이유

WebRTC P2P vs SFU 비교

음성 채팅을 하다 보면 어떤 프로그램은 상대방과 같은 공간에 있는 것처럼 반응이 즉각적인 반면, 어떤 프로그램은 내가 말한 뒤 0.5초가 지나서야 상대방이 대답하는 '딜레이(Latency)'를 겪게 됩니다.

이러한 속도의 차이는 통신 '아키텍처(구조)'에서 발생합니다. WebRTC의 핵심 통신 방식인 P2P(Peer-to-Peer) SFU(Selective Forwarding Unit)의 차이를 알아보고, 틴캔이 소규모 룸에서 왜 그토록 팽팽한 통화 품질을 자랑하는지 기술적으로 풀어보겠습니다.


1. P2P (Peer-to-Peer): 거치는 곳 없는 직통 고속도로

P2P 방식은 단어 뜻 그대로 사용자(Peer)와 사용자(Peer)가 서버를 거치지 않고 직접 오디오 데이터를 주고받는 구조입니다.

장점 — 사실상 제로(0) 지연

데이터를 중계하는 중앙 서버가 없기 때문에 지연 시간(Ping)이 사실상 '제로'에 가깝습니다. 중간에 데이터를 가로챌 서버가 없어 보안성도 매우 뛰어납니다. 1:1 통화나 소규모 인원에서는 최고의 효율을 냅니다.

단점 — 인원이 늘면 과부하 (Mesh Network)

5명이 방에 있다면 나는 내 음성을 나머지 4명에게 각각 보내야 하고, 동시에 4명의 음성을 받아야 합니다. 내 컴퓨터의 CPU와 네트워크 업로드 대역폭에 엄청난 과부하가 걸리게 됩니다.


2. SFU (Selective Forwarding Unit): 똑똑한 교통경찰 서버

SFU는 중앙에 똑똑한 라우팅 서버를 두는 방식입니다. 내가 말한 오디오 패킷을 SFU 서버에 한 번만 보내면, 서버가 방에 있는 다른 사람들에게 '선택적으로(Selective)' 뿌려줍니다. 현대의 다중 화상/음성 회의가 채택하는 가장 진보된 방식입니다.

장점 — 기기 과부하 없음

인원이 10명, 50명으로 늘어나도 내 컴퓨터는 서버에 단 한 번만 데이터를 보내면 되므로 기기 과부하가 전혀 없습니다. 저사양 기기 환경에서 다인원 통화 시 절대적으로 유리합니다.

단점 — 미세한 추가 지연

P2P와 달리 중앙 서버를 한 번 거쳐서 오기 때문에, 아주 미세한 수준의 지연(수십 ms)이 추가될 수 있습니다.


3. 틴캔(Tin Can)의 영리한 하이브리드 통신 전략

틴캔은 '가장 빠르고 가벼운 브라우저 통화'를 지향합니다. 게임 듀오나 소규모 파티 등 1:1, 혹은 극소수의 인원이 모였을 때는 WebRTC의 순수 P2P 직결 연결을 최우선으로 시도하여 0.1초의 지연도 없는 '실전화기'급 브리핑 환경을 제공합니다.

만약 사용자들의 네트워크 환경(NAT/방화벽 등)으로 인해 직결이 불가능하거나 인원이 늘어날 경우에는, 글로벌 분산 처리된 최첨단 SFU 서버와 릴레이(TURN) 서버가 즉시 개입하여 끊김 없는 소통을 이어줍니다.

1:1 / 소규모
P2P 직결

서버 없이 직통 연결, 사실상 0ms 지연

대인원 / NAT 환경
SFU + TURN

글로벌 분산 서버가 안정적으로 중계

무거운 클라이언트 앱이 서버에서 음성을 믹싱하며 딜레이를 만드는 동안, 틴캔은 브라우저 단에서 가장 효율적인 경로를 스스로 찾아내어 최단 시간 내에 여러분의 목소리를 상대방에게 전달합니다. 지금 바로 틴캔에서 직접 확인해보세요.