메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

IT/모바일

JuxtaNet

한빛미디어

|

2001-08-08

|

by HANBIT

6,478

by 켈리 트루러브(Kelly Truelove) 프로젝트 JXTA(역자 주: JXTA는 "병치하다"라는 뜻의 영어 단어 "juxtapose"의 줄임말로, "적스타" 라고 읽는다)의 실체가 드러나면서, 썬은 P2P 개발의 새로운 빌딩블록(building blocks)을 소개했을 뿐 아니라 분산(decentralized) P2P 네트워크를 출범시키고 있다. JXTA는 인트라넷과 같이 한정된 환경에서 작동하는 P2P 애플리케이션에 사용될 수 있지만(이의 성공은 도메인에서 얼마나 많이 사용하느냐에 달려 있다), JuxtaNet이라는 광범위한 공공 JXTA 네트워크가 생겨날 것이다. 코어 JXTA 프로토콜은 썬의 초기 레퍼런스 구현의 기초가 되며, 이는 다시 셸(Shell)과 InstantP2P를 비롯한 썬의 예제 애플리케이션을 위한 초석이 된다. 이러한 애플리케이션은 통신하는 피어들을 구동 및 인스턴스화(instantiate)해서 JxtaNet을 만들어 낸다. JuxtaNet은 오픈, 범용(general-purpose) P2P 네트워크라는 점에서 중요하다. JXTA는 코어, 서비스, 애플리케이션의 여러 레이어(layer)로 압축되는데, 코어 위에 여러 서비스 계층이 있고, 코어와 서비스는 여러 애플리케이션을 지원한다. 그래서 비슷한 목적을 수행하기 위한 여러 서비스나 애플리케이션이 JuxtaNet에 모두 함께 있을 수 있다. 일례로 PC의 OS가 동시에 여러 워드 프로세서를 지원하는 것과 마찬가지로, JuxtaNet은 여러 파일 공유 시스템을 지원한다. JuxtaNet을 더 잘 이해하기 위해 또 다른 오픈, 분산 P2P 네트워크인 GnutellaNet과 비교해 보자. 개발자들이 GnutellaNet을 사용한 것과 같은 이유로 JuxtaNet을 사용할 것인가? 그누텔라의 매력 그누텔라 프로토콜은 분산 P2P 파일 공유를 지원하려는 하나의 목적으로 고안되었다. 개발자가 열정적으로 성능을 향상시킨 덕분에, GnutellaNet은 주요 장애물을 극복하고 상당한 성장을 거두었다. Clip2에서는 13달 밖에 되지 않은 이 네트워크가 현재 2만 5천에 달하는 피어를 가지고 있으며, 매일 약 25만 정도의 피어가 접속하고 있다고 추정한다. 그누텔라는 효과적으로 특화된 네트워크이지만, 몇 줄로 특성을 요약하면 다음과 같다.
  • 자주 논의되긴 했지만, 현재 GnutellaNet에서는 구현되지 않는 그누텔라 검색 쿼리는 찾고자 하는 파일 이름의 일부를 인식하는 수준을 넘어선다. 이의 예로는 증권 시세 표시기를 찾고자 하는 주식 가격에 대한 쿼리로 인식하는 것을 들 수 있다. 생각했던 범위를 훨씬 넘어서면서, 그누텔라의 쿼리-응답 메시지는 P2P 옥션(auction)의 bid-response 메커니즘으로 사용된다.
  • 그누텔라에서 검색과 파일 전송은 분명히 별개의 것이며, HTTP는 파일 전송에 사용된다. 따라서 방화벽으로 접근이 차단되어 있지 않다면, 표준 웹 브라우저는 잠시 접속해 있는 그누텔라 피어에게도 접근할 수 있다.
  • 오픈 프로토콜이기 때문에 최종 사용자 인터페이스와 기능은 기본이 되는 네트워크와 분리되어 있어, 일반적인 GnutellaNet과 상호작용하는 상호운용 애플리케이션이 아주 많다.
이 때문에 개발자들이 GnutellaNet에 열광하는 것이다. 쿼리 해석의 일반화 덕에 진 칸의 인프라서치(InfraSearch) 데모 프로젝트와 Clip2의 초기 그누텔라 작업이 탄생할 수 있었고, 지금도 LimeWire 사이트와 같은 개발자들 사이에서는 중요한 일로 기억되고 있다. 그누텔라에서 HTTP를 사용하면서 과도 웹(transient Web)의 밈(meme)이 등장하게 되었고, 혁신적인 GnutellaNet과 웹이 통합된 프로젝트를 다수 낳았다. 결국에는 오픈, 상호운용적인 네트워크의 특성 덕에 모든 개발자가 완전한 네트워크의 파일 컨텐츠를 이용할 수 있게 되었다. Clip2의 그누텔라 프로토콜 문서가 수만 번 다운로드 되었다는 사실에서 개발자들의 GnutellaNet에 대한 꾸준한 인기를 실감할 수 있다. JXTA의 매력 그누텔라와 달리, JXTA는 다목적으로 고안되었다. 그누텔라는 하나의 프로토콜만을 사용하지만, JXTA 코어는 여러 개의 프로토콜로 구성된다. 이러한 차이점은 상당히 중요하다. 과장을 조금 보태서 그누텔라가 주머니 계산기라면, JXTA는 PC쯤 될 것이다. 막 출범했기 때문에 JuxtaNet에는 그다지 참여자가 많지 않지만, JXTA 애플리케이션을 개발하고 채용함에 따라 그 수는 증가할 것이다. Clip2는 JuxtaNet을 자동 추적하고 있는데, 이번에는 현재의 JuxtaNet 메트릭스를 사이트에 올려 놓았다. GnutellaNet에 비추어 보면, 개발자가 JuxtaNet에 열광하는 데는 다음과 같은 이유가 있다.
  • 피어와 피어 그룹의 일원 발견, 파이프와 피어 감시를 위한 여러 코어 프로토콜이 풍부한 기반이 있고, 그 위에 다양한 고수준의 서비스와 애플리케이션이 있다. 새로운 분산 애플리케이션을 개발하고자 하는 개발자들은 그누텔라에서 이러한 서비스와 애플리케이션을 구축하는 경로에서 현재의 구조를 오버로딩하거나, 이미 설치돼 있는 것을 망가뜨리지 않고 새로운 것을 설치할 수 있다는 것을 알게 되었다. 이와 달리, 개인적으로 개발해서 P2P 네트워킹 레이어에서부터 애플리케이션 레이어까지 수직으로 통합하는 방식은 여러 모로 좋지 않다. 마찰이 심하게 일어나 개발을 어렵게 하는 것이다. 하지만 JXTA에서는 이를 낮추었으며, JXTA의 그룹과 보안, 파이프, 광고 등의 특성이 환영받는 빌딩블록이 되어야 한다.
  • 개발자를 사로잡는다는 면에서 보면, 그누텔라 프로토콜이 오픈 소스라서 GnutellaNet이 이점을 가지듯이, JXTA 프로토콜이 오픈 소스라서 JuxtaNet이 이점을 가진다. JXTA는 그누텔라에 비해 훨씬 복잡하기 때문에 배우는 데 시간이 많이 걸리지만, 썬에서는 예제로 배울 수 있는 오픈 소스 참조 코드를 배포해서 이를 해결하고 있다.
  • JuxtaNet은 GnutellaNet과 마찬가지로, 애플리케이션이 저수준에서 상호운용되는 오픈 네트워크이다. 그래서 개발자들은 GnutellaNet과 유사한 "즉각적인 사용자 기반"을 제공 받는다.
  • JXTA의 초기 디자인을 보면 강력한 P2P 기반이라는 것을 쉽게 알 수 있다. 썬에서는 커뮤니티가 이끌어 가는 프로젝트로 만들려고 하고 있어, JXTA는 앞으로 필요하게 될 특성을 모두 충당할 수 있도록 진화할 것이다. 과거의 경험에서도 GnutellaNet은 독립된 개발자들이 서로 긴밀한 연락을 취하며 네트워크가 진화하도록 협업했을 때 급격히 진화한 바 있다.
JXTA에 그누텔라를? 그누텔라 프로토콜은 분산 P2P 파일 공유에 초점을 맞추고 있어, 분산 검색이 어렵다. 하지만 JXTA에서는 이러한 P2P 내용 검색이 코어가 아니라, 코어와 애플리케이션 사이의 서비스 계층에 적합한 기능의 일부일 뿐이다. 한 예로, 초기 이러한 서비스를 기대하면서 썬은 JXTA에 그누텔라식의 CMS(Content Management Service)를 프로토타입으로, 그리고 이를 이용하는 단순 애플리케이션 InstantP2P를 내 놓았다. PC와 워드 프로세서를 비교한 데로 돌아가서, InstantP2P는 JXTA 파일 공유 애플리케이션의 노트패드로 생각하면 된다. 정교한 애플리케이션을 CMS에 구현할 수도 있고, 실제로 CMS는 확장 및 대체가 가능하다. 독자에게 JXTA는 저수준의 빌딩블록의 범용 프로젝트라는 점을 주지시키기 위해, 재미 있는 문제를 내면서 이 글을 마무리할까 한다. 여러분이 해야 할 과제는 다음과 같다(물론 과제를 하기로 한 사람에 한해서이다). JXTA 코어와 CMS를 가능한 한 많이 사용해서 그누텔라의 검색 모델(활동 접속, 브로드캐스트 쿼리, 라우트된 응답)에 가장 가까운 분산 P2P 파일 공유 애플리케이션을 구현하라. extra-credit 강화는 그누텔라의 컨텐츠 이익 집단(content interest groups)과 같은 특성에 비해 쉬울 것이다. 하지만 JXTA의 비동기 통신 모델과 같은 특성에는 좀더 창의적인 노력이 필요하다. 과제를 했다면 kelly@clip2.com으로 메일 주기 바란다.
켈리 트루러브(Kelly Truelove)는 Clip2의 창시자이자 CEO로, 그는 회사가 P2P 시스템, 분산 검색, 그누텔라에 주력하도록 만들었다.
TAG :
댓글 입력
자료실

최근 본 책0