DEVELOPMENT

서버리스 P2P통신(Serverless Peer to Peer Communication)의 한계

OSP 2026. 2. 3. 16:02

서버리스 P2P통신(Serverless Peer to Peer Communication)의 한계


 

  1. 서론
    • 더보기

       

      • 이 글은 서버 없이 P2P통신을 기반으로 어플리케이션을 만들어 보려는 의도에서 시작한다. 테스트버전으로 실험해보기도 좋고, 안정성 흠결이 크지 않다고 판단한 경우 간결한 어플리케이션 론칭을 열어둘 수도 있다는 마음에서 시작했다.
      • 서버리스 P2P 통신이란 무엇인지, 서버-클라이언트 모델을 살펴보며 서버리스 P2P통신이 제한되는 방향으로 발전되었음을 살펴본다. 이후 NAT(Network Address Translation)에 따라 서버리스 P2P통신이 제한되는 방식을 알아본다.
  2. 서버리스 P2P 통신서버-클라이언트 모델(Server-Client Model)
    • 더보기

      • P2P통신은 A와 B의 사이에 중앙형 서버를 매개로 두지 않고 이루어지는 통신을 의미한다. P2P 통신의 핵심은 토폴로지상 중앙형 서버가 없어 각각의 통신 단말이 서로 대등하다는 것이다.
        • P2P라는 상호 직접적, 중간매개없음이라는 인상을 주기 쉽다. 그러나 IT에서 P2P의 정의는 분산네트워킹이고, 직접적이라거나 매개 없음을 의미하지 않고 단지 중앙집중형 매개가 없음을 의미할 뿐이다. 그리고 뒤에서 살펴보겠지만 P2P통신의 경우에도 서버로 기능할 무언가는 있어야 한다. 이런 혼동에서 자유롭고자 이 글에서는 서버의 부재 환경을 확실히 하기 위해 서버리스P2P란 표현을 사용했다.
      • 서버-클라이언트 모델은 현대 어플리케이션의 범용 구조이다. 서버(Server)는 편의기능(Service)를 제공하는 단말을 의미한다. 클라이언트는 서버에 서비스를 요청(Request)하는 주체, 서버는 요청에 응답(Response)하여 서비스를 제공하는 주체이다. 이 모델의 핵심적인 특징은 둘을 서로 대등하지 않게 본다는 것이다. 서버는 외부 요청에 열려있어야 하고, 클라이언트는 선수적으로 열어둘 필요는 없다.
      • 온라인 메신저, 게임 등 엔드포인트 단말간 데이터를 주고 받아야 하는 대부분의 앱은 A - 서버 - B와 같은 형태로 서버를 매개로 한다. 이는 서버가 우체국/택배회사 같은 기능을 담당하는 것이다. 경제원리적으로 비용와 생산성 모두 잡을 수 있으니까 이것이 가장 보편적인 건 이해 되는데, 직접 전달을 제한까지 하는 이유는 무엇일까?
        1. 앞서 클라이언트는 외부 요청에 열려 있을 필요가 없다 했는데, 한 발 더 나아가 외부 요청에 닫혀 있을 필요가 화두로 떠오른다. 보안문제 때문이다. 요청한 단말에 서비스를 제공하기만 하면 되는 건데 단말에 굳이 접근할 이유가 없다는 것이다. 
        2. 문제는 요청과 응답의 본질이 모두 동일함에 있다. 요청과 응답으로 개념적으로 분리해내긴 했지만 그 본질은 데이터 제공으로 동일하다. 응답이라는 이름만 붙이고 사실상 요청을 하는 형태로 우회되기 쉽다. 시스템이 선의에 의존해서는 안 되는 것이고, 구조적인 해결책이 필요했다.
  3. NAT(Network Address Translation)로 구현된 서버-클라이언트모델
    • 더보기

       

      1. NAT란 공인IP(Public/Global IP)와 사설IP(Private IP)를 매핑하는 기술이다. 공인IP는 세계에서 유일한 IP주소, 사설IP는 공인IP 내부에서만 유일하면 되는 IP주소이다.
      2. 기원적으로 이는 IPv4의 주소 부족 사태를 해결하기 위한 기술적 수단이었다. 그러나 상태기반 트래픽 제어로 기능함을 깨닫게 되면서 현대적으로 사실상 보안 메커니즘으로 기능하게 되었다.
        • 첫번째 이유로 사설IP는 DHCP(Dynamic Host Configuration Protocol)에 따른 동적 IP를 할당을 디폴트로 채택하고 있기 때문에 외부에서는 안정적인 주소 확보가 어렵다는 점이고,
        • 무엇보다도 현대 NAT 기술이 데이터흐름을 일방향적으로 제한할 수 있도록 설계되었다는 점에 있다. 비기업 회선에 대한 INBOUND패킷은 매핑되는 OUTBOUND패킷이 존재할 때만 허용한다. 가정용IP는 INBOUNT패킷을 제한하고, 기업용IP는 제한하지 않는다. 이렇게 서로 대등하지 않은 관계를 구현해내는 것이다. 참고로 모바일 데이터도 마찬가지이다(CGNAT, Carrier Grade NAT). 서버와 클라이언트는 물리적인 컴퓨터 시스템에 따른 구분이 아니라, 접근정책에 따른 구분이라 보는 것이 더 정확하다. 다모아에서 서버컴퓨터를 구매해도 가정용 회선 연결하면 서버로 못 쓴다. 반면 가정용 데스크톱도 기업용 회선 연결하면 서버로 쓸 수 있다.
      3. 여기에서 서버리스 P2P통신의 한계가 발생한다. A단말과 B단말이 통신하는 과정은 데이터 전달의 반복이고, 현대 서버-클라이언트 모델로 해석하자면 요청과 응답의 반복이다. 서버리스 P2P통신은 비기업용 단말간 통신을 염두에 둔 표현이다. 따라서 둘 다 상대방에게 요청은 할 수 있는데, 상대방의 요청을 받을 수는 없는 입장이라 요청을 보내고 마냥 기다리게 된다.
  4. 분산형 네트워크(Distributed Network)의 환상
    • 더보기

       

      1. 어느순간부터 분산형이라는 표현을 전면에 내세우는 기술들이 많이 생겼다. 공격적인 케이스에서는 서버가 없다는 표현을 쓰기도 한다. 분산형이라는 이름, 서버가 없다는 표현, P2P라는 표현 등이 버무려지면서 P2P=서버리스라는 인상을 주기도 한다. 그러나 앞서 NAT에서 보았듯 P2P 통신 제한은 ISP정책상의 한계이며, 비기업 회선 이용자간 통신에는 서버가 필요하다. 보안정책을 채택하지 않는 통신사를 새로 설립하지 않는 이상 말이다.
      2. 살펴보건대, 분산형 네트워크에서 서버가 없다는 표현은 운영자 측의 단일운영주체/단일장애점으로서 중앙서버가 없다는 의미로 이해된다. 대신 서버 역할을 사용자중 누구나 맡을 수 있게 열어둔다. 서버가 없다는 것은, 자리가 비었으니 사용자 누구라도 기업 회선을 받아 서버 역할에 참여할 수 있다는 사용자 개입을 의식한 표현으로 보인다. 그리고 그 비용을 비트코인/이더리움 등으로 보상해주겠다는 게 블록체인 생태계이다. 포스트-SKT 사업자모집 광고와 흡사하다.
      3. 결과적으로 블록체인을 필두로 하는 분산형 생태계는 투자금으로 운영되며, 레거시 보안정책에서 자유로운 신규 ISP처럼 기능한다. 이게 앞으로 어떤 방향으로 전개될지는 모르겠다. 넥스트ISP 인가 싶기도 하고, 보안정책과 기지국을 생각하면 바퀴 재발명의 길인가 싶기도 하다.
  5. 대안
    • 더보기

      • 서버리스P2P는 ISP정책상 제한됨을 알아보았으니, 그 대안을 살펴보자.
        1. WebRTC(Web Real Time Communication) : 브라우저간 플러그인 없이 저지연 실시간 P2P통신을 가능하게 하는 표준 기술/API로, 현재는 Web/모바일/데스크톱에서도 지원되는 크로스플랫폼 기술이다.
          • 서버를 두되, 그 개입을 최소화하는 방식. 다만 모바일에서는 UDP Hole Punching으로 인한 통신이 보장되지는 않기 때문에 결국에는 레거시한 데이터 릴레이 방식으로 귀결될 수 있다. 서버를 어디까지나 보험으로 두겠다는 의도라 볼 수 있다.
        2. libp2p/bittorrent : 분산네트워킹기술
          • 내 서버를 사용자들의 서버로 대신하는 방식. 생태계가 충분히 커야 유의미하며, 서버를 부담하는 이들에 대한 보상을 생각해야 한다.
        3. 동일Wifi, Wifi-Direct, Bluetooth, NFC
          • 디바이스 자체의 통신 기능을 이용하는 방식. ISP 정책을 벗어나 비기업 단말에 대한 선수적 데이터 제공이 가능하다.(아이폰은 제한) 아무래도 가장 큰 병목은 거리 의존성이다. 
  6. 정리
    • 더보기

      1. 서버-클라이언트 모델은 ISP의 운영정책(NAT/CNAT로 INBOUND 제한 허용)으로 구현된다.
      2. 따라서 비기업 단말은 요청을 받을 수 없기 때문에, ISP생태계에서 서버리스P2P 통신은 구조적으로 제한된다.
      3. 즉 서버리스P2P 통신의 한계는 네트워크 기술의 한계라기 보다는 ISP 관리영역 안에서의 한계다.
      4. 분산형 네트워크는 서버리스P2P통신기술이 아니라 신규 ISP사업에 가깝다.
      5. 서버를 두되 최소화 하거나, 사용자에게 서버를 전가하거나, ISP정책 외 통신 기능을 이용하는 대안이 있다.

'DEVELOPMENT' 카테고리의 다른 글

싱글턴 패턴(Singleton Pattern)의 현 주소  (0) 2026.02.04
WebRTC(Web Real Time Communication)  (0) 2026.02.03
포인터(Pointer)  (0) 2025.10.14
Network : Web : HTTP/HTTPs  (2) 2024.12.27