P2P 지역화(P2P Localization) 기술인 P4P 소개

Posted at 2010. 5. 10. 19:47 // in 네트워크 // by Manner of Traveling

P4P(Proactive network Provider Participation for P2P)는 ISP와 어플리케이션 개발자가 어플리케이션 최적화를 위하여 협력하는 프레임워크이다. P4P는 ISP의 네트워크 자원을 효율적으로 사용하여 ISP의 투자 및 운용 비용을 절감하고 어플리케이션의 성능을 향상시키는 것을 목적으로 한다. P4P는 DCIA(Distributed Computing Industry Association)의 P4PWG(http://www.dcia.info/activities/#P4P)에서 제안되었다.
 

P4P의 시작점은 “네트워크 자원을 어떻게 효율적으로 사용할 것인가?”하는 것이다. ISP는 다양한 이유로 인하여 네트워크 정보를 외부에 제공하지 않았다. P2P 어플리케이션은 최적의 피어 선택을 위해서 필요한 정보가 없는 상태에서 나름의 알고리즘을 사용하여 네트워크 정보를 추측하고 이를 기반으로 피어를 선택하도록 하고 있다. 이러한 노력에도 불구하고 P2P는 피어 선택에 있어서 네트워크 정보를 사용하지 않으므로 많은 지역에서 트래픽을 수신한다. 이렇게 P2P가 네트워크 자원을 비효율적으로 사용함으로 인하여 P2P 자체의 성능도 저하되고, ISP 네트워크에 부담을 가중시키고 있는 것이 현실이다.

ISP 내부 관점에서는 Local에서 처리 가능한 트래픽이 불필요하게 백본을 경유하여 네트워크 전체 혹은 특정 링크에 부하를 준다. CacheLogic의 연구 결과에 따르면, ISP의 전체 트래픽에서 약 50~80%가 P2P 트래픽인 것으로 분석되었다. 버라이즌의 시험 결과에 따르면, P2P 트래픽이 평균적으로 5.5 Hop을 경유하는 것으로 분석되었다. 반면에 P4P를 적용한 경우, 성능 저하 없이 평균 0.89 Hop으로 줄일 수 있다.

ISP간 연동 관점에서는 불필요한 트래픽이 ISP간에 유통됨으로 인하여 ISP에 경제적인 손실이 유발한다. ISP간에 연동에는 무정산도 있으나 대개의 경우 연동에 따른 비용을 지불한다. 일부 P2P 어플리케이션은 Local에 데이터를 제공할 피어가 존재하는 경우에도 약 50% ~ 90%의 데이터를 외부에서 다운로드한다.

P2P 어플리케이션 관점에서는 네트워크 정보를 알지 못하므로 나름에 방식에 의존하여 최선의 피어를 선택하려고 노력한다. 그러나, ISP가 네트워크 정보를 제공하지 않는다면, 이러한 방식은 언제나 최적의 방식이 될 수는 없다. ISP도 Cache, Rate-limit 등의 다양한 트래픽 제어 기술을 고려하고 있으나, 현재까지는 P2P와 협력하지 않고 위에 지적한 문제를 해결할 수 있는 방안은 없는 상태이다.

P4P의 기본적인 컨셉과 동작을 간단하게 설명하면 다음과 같다.

간단하게 먼저 용어부터 정리하면,
iTracker는 ISP(통신사업자)가 네트워크 정보를 공개하기 위한 서버이다.
appTracker는 P2P 어플리케이션이 콘텐츠 및 피어 검색을 하기 위해서 사용되는 중앙 서버이다. 콘텐츠 서버나 수퍼 피어(Super Peer)와 유사한 개념이다. Tracker라는 개념은 BitTorrent에서 나온 개념으로 자세한 사항은 BitTorrent를 참고하십시오.

P4P에서는 ISP와 P2P가 협력하기 위하여 iTracker라는 개념을 창안하였다. iTracker는 ISP의 네트워크 정보를 제공하는 Provider Portal이다. iTracker에서 네트워크 토폴로지, 네트워크 정책, 네트워크 용량 등의 정보를 제공한다.


P4P의 동작 방식은 다음과 같다.

1. 피어가 appTracker에 피어 리스트를 요청한다.

2. appTracker는 iTracker에 최적의 P2P 피어 선택을 위한 ISP의 네트워크 정보(토폴로지, 정책, 용량 등)를 요청한다.

3. iTracker는 네트워크에 대한 정보를 appTracker에 제공한다.

4. appTracker는 P2P 자체의 정책이나 알고리즘과 iTracker가 제공한 네트워크 정보를 사용하여 최적의 피어 리스트를 피어에 제공한다.

이와 같은 모델은 BitTorrent와 같은 Tracker 모델에 해당하는 시나리오이다. Gnutella와 같은 Tracker-less 모델의 P2P 어플리케이션은 위의 Tracker에서 수행하는 일련의 과정일 클라이언트에서 직접 수행하도록 P2P 클라이언트를 수정하여 상호 협력이 가능하다.

위와 같이 P2P 개발사와 ISP가 상호 협력하여 네트워크 자원을 효율적으로 사용할 수 있다.

참고 사이트

DCIA : http://www.dcia.info/activities/#P4P
Wikipedia : http://en.wikipedia.org/wiki/Proactive_network_Provider_Participation_for_P2P
RFC 5632 : http://tools.ietf.org/rfc/rfc5632.txt
P4P: Provider Portal for P2P Applications(Internet draft) : http://tools.ietf.org/id/draft-p4p-framework-00.txt


Joost - The Venice Project -

Posted at 2007. 8. 6. 11:29 // in 트랜드 // by Manner of Traveling

Joost(TVP: The Venice Project, http://www.joost.com)는 P2P 파일 공유 서비스인 카자(Kazaa)의 공동 창업자이자, 인터넷전화 스카이프(Skype)의 CEO로 유명한 니콜라스 젠스트롬(Niklas Zennstrom)이 개발하는 인터넷 TV 서비스이다.

사용자 삽입 이미지 사용자 삽입 이미지
[Joost Beta 0.9.2 화면]

개인적으로 스카이프를 정말 잘 사용하고 있다. 방화벽을 사용하는 회사에서도 사용에 제약이 없다는 것이 가장 중요한 이유이고, 가끔 외국에 출장간 사람이나 관련자들과 무료로 통화를 하는 것이 맘에 들어서 사용중이다. 스카이프의 CEO였던 사람이 개발하는 인터넷 TV 서비스(Joost)에 자연스레 관심을 가지게 되었다.

일반적으로 네트워크를 하는 사람들은 인터넷전화(VoIP)를 위해서는 QoS가 보장되어야 한다고 주장한다. 그러나 스카이프(SKype)는 이러한 주장을 무색하게 하고 있다. QoS가 보장되지 않는 일반 인터넷을 통해서 인터넷전화를 제공하면서도 품질에는 전혀 문제가 없다. 사실은 ISP들이 인터넷 사용량 증가를 예상하여 Over-Provisioning을 하기 때문에 문제가 없다고 볼 수도 있지만, 어쨌든 스카이프는 성공했다.

Joost 서비스에 대해서 생각해보자. 역시나 네트워크를 하는 사람들은 IP-TV하면 멀티캐스트(Multicast)를 필수요소로 생각한다. 필자도 멀티캐스트 장점과 필요성에 대해서는 어느정도 동의하는 입장이다. 그러나, 월드와이드(Worldwide) 서비스를 제공하기에는 ISP간의 연동이라는 커다란 장애물이 존재한다. 또한, ISP들은 각자가 소유한 멀티캐스트 네트워크 연동에 대해서 부정적인 생각을 가지고 있다. 전통적으로 텔코(Telco)들은 보수적인 성향을 가지고 있으며, 상호 연동은 텔코가 기존에 가지고 있던 수익원를 빼앗기는 것으로 생각하기 때문이다.

그러나, Joost는 이러한 멀티캐스트라는 기술 대신에 P2P라는 기술을 선택했다. 현실적으로 멀티캐스트가 활성화 되려면 더 많은 시간이 필요하다. 현재의 인터넷에서는 P2P 기술이 최선의 선택일 수도 있다. 스카이프가 그랬듯이 Joost도 이러한 네트워크 관점에서 생각하는 문제점을 뛰어 넘을지 개인적으로 대단히 궁금하다.

Joost 서비스의 특징 몇가지를 적어보면, 다음과 같다.

1. Joost는 H.264 코덱을 사용한다.
   (국내의 IP-TV를 추진하는 업체들도 대부분 H.264를 채택하고 있으며, Apple의 iTune도 H.264를 사용하고 있다.)

2. Joost의 코어 부분은 모질라(Mozilla) 브라우저를 수정해서 사용하고 있다.

3. Joost는 현재 Windows와 Mac을 지원하며, Linux는 아직 지원하지 않는다.
   (베타가 끝나는 시점에는 Linux도 지원할 것으로 생각된다.)

4. Joost는 P2P(peer-to-peer) 기술을 사용한다.

5. Joost는 현재까지 TV라기 보다는 VOD 서비스를 제공한다.
   (Joost 서비스 채널을 모두 살펴보지는 못했지만, Live는 보지 못했다.)

Joost는 유저 인터페이스가 세련된 느낌을 준다. Apple의 iPod를 처음 봤을때 느꼈던 그런 느낌이었다.(개인적으로 사실 애플을 대단히 좋아한다. iPhone이 WCDMA가 지원된다면 구입하고 싶은 마음이 굴뚝같다) 또한, 채널에 대한 검색, 실시간 채팅, 위젯 등의 기능을 제공한다.

개인적으로 어떤 제품을 평가할때는 유저 인터페이스에 많은 비중은 둔다. 세련되고 멋있는 것에 대해서는 돈을 지불하는 것은 그리 아깝다고 생각하지 않는다. 사람들이 명품을 사는 것도 비싼 가격만큼 개인에게 만족을 주기 때문에 명품이 팔리는 것이다. 이런 면에서 Joost 서비스에 유저 인터페이스에 좋은 평점을 주고 싶다.

Joost의 화질은 유튜브나 아프리카, 판도라TV 등에 비해서 보다 나을 화질을 제공한다.(현재 Joost의 화질인 만족스럽다는 것은 아니다.)

중요한 것은 Joost 서비스가 새로운 방식의 인터넷 TV로서 충분한 가능성을 보여주고 있다는 것이다.

그러나, Joost 서비스도 몇가지 문제점을 앉고 있는 것으로 생각된다.

첫째, Joost 서비스에는 Interactive TV 방식의 인터페이스를 볼 수 있다. 그러나 현재 대부분의 컨텐츠가 VOD 형식이고 라이브 방송이 없는 형태에서 사용자 참여를 유도할 수 있는가? 바꾸어 말하면,  Interactive TV를 위해서는 라이브 방송이 필수적이다. 그래야만 사용자 참여를 위한 동기 유발이 가능하다고 생각한다.

둘째, Joost의 컨셉이 맞는가 하는 부분이다. 라이브 방송을 제외한다면 사실상 인터넷 TV 서비스로서는 성공이 불가능하다고 생각한다. 그렇다면, 과연 P2P 방식으로 라이브 방송 제공이 가능한가? 솔직히 어렵다고 판단한다. 필자는 라이브 방송을 위해서는 멀티캐스트가 사용되어야 한다고 생각한다. TV를 보는 사람들이 보는 화면이 1초정도 차이가 나더라도 그것을 라이브로 볼 수 있을 것으로 생각된다. 그렇다면 Joost의 실시간 방송은 불가능한 것은 아니라 생각된다. 그래서 Joost의 행보가 어떻게 될지 더욱더 궁금하다.

또 다른 측면의 이슈를 생각한다면, Joost 서비스가 국내에 보급되는 경우를 상상해보자. 어쩌면 하루종일 Joost를 사용해서 TV를 보면서 채팅을 하는 중독자들이 생겨날지도 모르겠다. P2P를 통해서 엄청난 양의 데이터가 인터넷에 유통되게 되어 현재의 인터넷으로는 감당하지 못할수도 있다. ISP들이 자사에 아무런 수익을 가져다 주지 않는 Joost와 같은 서비스를 위해서 네트워크에 대한 투자를 늘여야만 할 수도 있다. 향후에 Joost가 국내에서 활성화 되면 ISP가 어떻게 대처할지도 재미있는 내용이 될 것 같다.

2007년 다보스 포럼에 참석한 빌게이츠는 "5년 안에 PC와 TV에 혁명이 일어날 것이다"라고 예언(?)하였다. 이러한 PC와 TV 혁명에 Joost가 함께할지는 계속 지켜봐야 할 것이다.


Joost 관련 블로그 기사 :
http://itviewpoint.com/tt/index.php?pl=2562
http://itviewpoint.com/tt/index.php?pl=2611&stext=joost
http://blog.naver.com/ssoowoo/50015052960
http://blog.naver.com/hallym/90014849378