넷플릭스의 미래, 토렌트에 있다?

[임민철의 Webology]웹RTC로 재탄생한 P2P네트워크

컴퓨팅입력 :2016/07/22 17:42    수정: 2016/07/22 17:43

P2P 공유프로그램 '토렌트' 하면 뭐가 떠오르시나요. '어둠의 경로'라든지 '불법 다운로드'같은 용어가 먼저 생각나실 수 있겠네요. 사람들에게 해를 끼치거나 법의 테두리를 벗어나는 정보와 데이터를 주고받는 수단이란 인식이 워낙 강하니까요. 하지만 토렌트에 뭔가 나쁜 짓을 위한 도구라 낙인을 찍고 금기시하기만 한다고 지금의 문제가 자연히 해결되진 않습니다. 법적 문제 없이 사람들에게 유익하게 활용할 수 있는 토렌트 활용 시나리오가 많아져야 할 겁니다.

일례로 서버 인프라 투자 부담 없이 많은 사람에게 대용량 콘텐츠나 데이터를 효율적으로 빠르게 배포하기에 토렌트만한 방식이 없죠. 일부 게임 회사는 이미 자신들이 개발했거나 퍼블리싱하는 온라인 게임의 대용량 클라이언트 설치 파일을 빠르게 배포할 수 있는 수단으로 토렌트를 선택하고 있습니다. 이용자들은 수십GB를 웃도는 클라이언트 설치 파일을 내려받지 않으면 온라인 게임을 시작할 수 없고, 이미 즐기고 있는 이용자들도 수시로 업데이트되는 클라이언트 프로그램의 내용 때문에 이를 여러번 내려받는 경우가 많거든요.

웹토렌트 오픈소스 프로젝트의 데스크톱 설치형 소프트웨어 다운로드 페이지 화면.

비슷한 이유로 언젠가 넷플릭스같은 동영상 스트리밍 사업자들이 이런 게임 회사처럼 토렌트를 주요 콘텐츠 배포 수단으로 삼을 지도 모릅니다. 화질마다 차이가 있겠지만 전반적인 스트리밍 영상의 용량과 이를 소비하는 이용자들의 규모는 빠르게 늘고 있습니다. 토렌트처럼 서버에 큰 부담을 안 주면서 데이터를 내려받는 사람들끼리 완성된 정보를 빠르게 받아갈 수 있는 기술은 스트리밍 서비스에도 매력적이죠. 넷플릭스가 만들어내는 트래픽은 이미 엄청납니다.

현재 넷플릭스는 월정액을 내는 가입자들에게 무제한 비디오 스트리밍을 제공합니다. 올 상반기까지 전 세계 누적 가입자가 8천100만명에 달합니다. 그중 3천500만명은 미국외 지역 서비스를 시작한지 4년만에 확보한 해외 가입자라고 합니다. 한국서도 6개월 가량 서비스를 이어 오면서 유료 방송 플랫폼 사업자들과 파트너십을 맺는다거나 오리지널 콘텐츠를 제작한다는 계획을 밝히면서 성장 의지를 드러냈죠. 따라서 넷플릭스가 가입자들에게 제공할 스트리밍 서비스가 만들어낼 트래픽은 지금보다 훨씬 더 커질 전망입니다.

[☞관련기사: 넷플릭스 한달 "돈 내고 보시겠습니까?"]

[☞관련기사: 넷플릭스 CEO “한국은 글로벌 톱10 시장"]

와이어드가 지난 3월 보도에 인용한 임원 발언에 따르면 넷플릭스의 "(트래픽)규모는 인터넷의 전체 국가간 수용량(international capacity)보다 많다"네요. 전체 국가간 트래픽을 수용할 수 있는 백본의 총 용량은 초당 35테라바이트(TB)인데 넷플릭스의 트래픽은 그보다 크단 거죠. 물론 넷플릭스는 서비스 대부분을 국가간 트래픽으로 잡히는 대륙간 해저케이블 대신 '오픈커넥트' 어플라이언스같은 기술로 지역내(local) 트래픽으로 처리해 왔다는데요. 서비스 부하를 줄일 수 있는 다른 방법에 대해서 다각도로 고민할 것 같다는 생각이 듭니다.

[☞참조링크: Netflix’s Grand, Daring, Maybe Crazy Plan to Conquer the World]

넷플릭스 2007-2015년 월간 스트리밍 트래픽 증가추이

■넷플릭스가 브라우저 기반 토렌트를 탐낼만한 이유

넷플릭스에서 도입을 검토함직한 토렌트 관련 기술 하나를 소개하죠. 오픈소스 프로젝트 '웹토렌트(WebTorrent)'입니다.

웹토렌트는 브라우저 기반으로 돌아가는 토렌트 클라이언트 프로그램입니다. 주요 기능 요소들이 자바스크립트 코드로 프로그래밍됐다는 뜻이죠. 물론 윈도, 맥, 리눅스 데스크톱용 웹토렌트 프로그램을 설치할 수 있긴 한데, 그 알맹이는 브라우저와 자바스크립트 코드입니다. 웹사이트 운영자가 이 자바스크립트 코드를 호스팅하면, 방문자의 브라우저가 곧바로 토렌트 클라이언트 역할을 하게 됩니다. 즉 사용자 PC에 토렌트 프로그램이 깔리지 않아도 브라우저가 토렌트의 P2P 파일 및 콘텐츠 공유 기능을 수행할 수 있다는 얘깁니다.

예를 들어 사업자가 웹토렌트를 심은 사이트를 만들고, 서버에 스트리밍 서비스를 제공할 동영상을 올려 놓습니다. 서비스 홍보를 통해 동영상을 감상하려는 이용자들이 한꺼번에 대규모로 유입될 수 있습니다. 이 때 스트리밍할 동영상을 웹토렌트 방식으로 제공하면, 함께 사이트에 접속 중인 이용자들이 동일한 스트리밍 영상의 각자 다른 부분을 먼저 서버로부터 내려받고, 다른 이용자들에게 없는 부분을 나눠주면서 다른 이용자의 스트리밍을 지원할 수 있게 됩니다. 사업자 서버와 회선 부담은 상대적으로 줄어 들겠죠.

웹토렌트 공식 사이트를 방문해 보면 이 설명을 더 쉽게 이해하실 수 있습니다. 사이트에 접속하면 화면 상단 오른쪽에 130MB 용량의 15분짜리 샘플 애니메이션이 곧바로 재생됩니다. 가만히 애니메이션을 보고 있으면, 그 재생 구역의 왼쪽에 'You'로 표시되는 방문자의 파란 원이, 각자 접속한 IP주소로 표시되는 다른 이용자들의 노란 원과 1대 다로 연결된 상태를 확인할 수 있습니다. 재생 중인 스트리밍 영상을 사이트의 서버 대신, 방문자와 함께 보고 있는 다른 이용자들이 서로 공유 중이라는 걸 시각적으로 나타낸 겁니다.

웹토렌트 공식사이트 첫화면에선 샘플 스트리밍 영상이 곧장 재생된다. 이 영상은 웹토렌트 기술을 활용해 사이트 호스팅 서버에 부담을 최소화하고 다른 방문자들과 함께 스트리밍 영상의 조각을 나눠 받아 공유하는 방식으로 빠르게 전체 영상을 확보하고 끊김없이 재생할 수 있다.

사업자가 불시에 접속하는 불특정 다수 이용자에게 상대적으로 길이가 긴 스트리밍 영상을 끊김 없이 서비스하길 원한다면, 웹토렌트의 장점을 극대화할 수 있습니다. 토렌트의 성격상 데이터를 먼저 받기 시작한 이용자들이 나중에 받기 시작한 이용자들의 다운로드를 돕게 됩니다. 앞사람이 스트리밍 영상을 오래 감상할수록 뒷사람들의 다운로드를 더 오래 도와줄 수 있는 셈이 되기 때문이죠. 특히 같은 콘텐츠를 감상하려는 사람이 많이 몰릴 수록 전체 스트리밍 속도가 빨라집니다. 사람이 몰리면 뚝뚝 끊기는 서버 스트리밍과 정반대죠.

아닌 게 아니라 넷플릭스는 정말로 약 1년3개월전에 토렌트같은 P2P 네트워크 프로토콜을 다뤄 본 엔지니어를 채용한다고 공고를 낸 적이 있습니다. 토렌트 기술 관련 정보사이트 '토렌트프릭'이 지난해 5월 게재한 글에 따르면, 넷플릭스는 4월 하순 수석소프트웨어엔지니어 채용공고의 직무설명란에 비트토렌트, P2P 프로토콜 및 소프트웨어 개발, 웹토렌트같은 P2P 오픈소스 제품 기여, 웹기반 비디오 애플리케이션 및 툴 개발 등 경험을 요구했습니다. 내부의 P2P 기반 비디오 스트리밍 서비스 준비 계획을 노출시킨 걸로 해석할 수 있죠.

사실 넷플릭스는 2년 전에도 비슷한 성격의 채용공고를 게재해서 업계 이목을 끌었습니다. IT미디어 아스테크니카 2014년 4월26일자 보도에 따르면 당시 넷플릭스는 1개월 이상 자사 스트리밍에 적용할 대규모 P2P 네트워크 기술 연구와 아키텍처 담당자를 찾았습니다. 넷플릭스가 P2P를 활용해 스트리밍 서비스를 제공할 경우 통신사업자 컴캐스트에게 지불해야 하는 네트워크 직접 접속료를 아낄 수 있을 것이라는, 에릭 클링커 비트토렌트 CEO의 주장도 인용됐죠. 비용 절감을 보장하는 기술이라면 사업자에게 구미가 당길 수밖에요.

[☞참조링크: Netflix Needs BitTorrent Expert to Implement P2P Streaming]

[☞참조링크: Netflix researching “large-scale peer-to-peer technology” for streaming]

■웹토렌트의 핵심, 실시간 통신 표준 '웹RTC'

넷플릭스가 구인공고에 직접 예시로 든 만큼 웹토렌트는 P2P 서비스 기반 기술 중에도 흥미로운 프로젝트입니다. 웹토렌트와 일반적인 토렌트 프로그램의 최대 차이는 사용자끼리 정보를 주고받는 '비트토렌트' 프로토콜의 작동 방식에 있습니다. 웹토렌트는 전송 계층을 일반 토렌트의 'TCP/uTP'대신 '웹RTC(WebRTC)' 표준 기반으로 대체했죠. 웹RTC는 최신 파이어폭스나 크롬 브라우저에 구현되고 있는 실시간통신 표준 규격으로, 다자간 영상회의나 브라우저 기반의 바이너리 파일 전송 서비스에 실험적으로 활용되고 있습니다.

오픈소스프로젝트 웹토렌트의 설치형 클라이언트 작동 개념. 기존 비트토렌트 클라이언트와 웹토렌트의 프로토콜을 모두 지원한다. [자료=웹토렌트 FAQ]

국내 웹RTC 표준 활용 사례로는 SK텔레콤의 '플레이RTC(PlayRTC)'라는 클라우드 기반 API 서비스와 영상협업 전문 신생 벤처 '구루미(gooroomee)'의 서비스 외에 딱히 알려진 게 없는데요. 국외에선 실시간 영상 협업 솔루션과 서비스 제품을 보유한 다국적 IT업체와 각국 통신사 및 통신장비 제조사들이 이 기술에 적극 투자하면서 그 이름값을 높이는 추셉니다. 구글, 마이크로소프트(MS), 모질라, 애플같은 주요 브라우저 개발업체부터 페이스북같은 인터넷 업체, 미국 시스코, 스웨덴 에릭슨같은 대형 통신장비업체도 웹RTC에 관여하고 있죠.

[☞관련기사: 설립 10개월만에 유료화 나선 웹RTC 전문 벤처 '구루미']

웹RTC를 토렌트에 응용한 웹토렌트 프로젝트는 야후에 인수된 P2P기반 콘텐츠전송네트워크(CDN)업체 피어CDN(PeerCDN)의 공동창립자 중 한 명이었던 소프트웨어 엔지니어, 페로스 아보카디제(Feross Aboukhadijeh)가 시작했어요. 피어CDN도 웹RTC 기술을 활용해 자바스크립트 코드 형태로 브라우저에서 작동되게 만든 기술이었어요. 웹사이트의 이미지, 비디오, 파일 다운로드 요소같은 정적 리소스를 방문자들끼리 효율적으로 주고받으며 웹호스팅 서버의 부담을 줄여 준다는 게 핵심이죠. 웹토렌트는 이를 토렌트 네트워크에 응용한 셈이고요.

아보카디제가 웹토렌트를 공식 소개한 건 2014년 JSConf.Asia 컨퍼런스에섭니다. 등장 2년만에 다양한 파생 프로젝트가 소개되면서 이 기술이 얼마나 더 확산할 수 있을지 여부에도 관심이 갑니다.

웹토렌트 공식 사이트에서는 설치형 클라이언트 '베타토렌트(βTorrent)', 스트리밍 파일전송 '인스턴트io(Instant.io)', 깃허브 '깃토렌트(GitTorrent)', 파일공유 '파일피자(File.pizza)', '인스턴트셰어(Instant-Share)', 'P2P드롭(P2PDrop)', 비디오 갤러리 사이트 '패스트캐스트(Fastcast)', 블록체인 디지털자산 생성 프로토콜 '컬러드코인즈(Colored Coins)', 디지털 토큰 발행 '토큰리포켓(Tokenly Pockets)', 스트리밍비디오 '나이아가라(Niagara)', '비큐(Vique)', '피어튜브(PeerTube)', '시네매트릭스(Cinematrix)' 등 파생 프로젝트를 소개하고 있습니다.

[☞참조링크: Feross Aboukhadijeh: WebTorrent - JSConf.Asia 2014(유튜브)]

관련기사

[☞참조링크: WebTorrent FAQ]

전부 웹토렌트 프로젝트 기반이라고 표현하고 있는데, 달리 말하면 웹토렌트에 녹아 있는 웹RTC 표준 기술을 응용한 프로젝트인 셈이죠. 음성이나 영상같은 멀티미디어뿐아니라 이미지나 문서같은 바이너리파일 역시 웹상에서 사용자들간에 효율적으로 주고받을 수 있도록 설계된 웹RTC의 특징과 활용 가능성을 간접적으로 보여주는 사례 아닐까 합니다. 주요 브라우저들이 적극 지원을 예고한 만큼, 앞으로 웹RTC 관련 기술업계의 움직임이 더 활발해지길 기대해 볼만 합니다.