그누텔라
그누텔라(Gnutella)란 아메리카 온라인(AOL)의 자회사인 널소프트(Nullsoft)가 개발한 파일 공유 프로그램으로[1] 2000년 3월, 저스틴 프랭클(Justin Frankel)과 톰 페퍼(Tom Pepper)이 첫 번째 프로그램을 개발했다. 그누텔라는 GNU + Nutella의 합성어로서 GNU(GNU is no Unix)와 이탈리아의 제빵기술자 페레로(Ferrero)가 헤이즐넛에 초콜릿을 입힌 것에서 따온 이름 누텔라를 합친 것이다. 그누텔라는 피투피(Peer-to-Peer) 파일 공유 프로그램으로 사람들이 중앙 서버를 사용하지 않고도 인터넷을 통해 파일을 공유하며 주고받을 수 있도록 고안되었다. 그누텔라에서는 복잡한 주소를 직접 입력할 필요가 없으며 찾고 있는 파일의 이름만 검색하면 검색 결과가 나오게 되어 있다. 전자메일, 웹 페이지 같은 인터넷 기반 응용프로그램들은 네트워크상에서 라우터, 스위치 허브 같은 하드웨어와, TCP/IP 프로토콜 등에 의존하지만 그누텔라는 네트워크 구조가 순간순간 바뀌는 응용 네트워크를 구축하게 되어있다. 기조 네트워크의 경우 전화선 또는 케이블이 지반에 매설되어 있고 라우터는 고정되어 해당 경로 테이블에서 가장 빠른 경로를 선택하게 되어있는 반면 그누텔라에 참여하는 라우터와 경로는 순간마다 바뀌는 동적인 구조 위에 가상 기반 주소를 가지고 있다.
개요
그누텔라는 분산검색을 위한 프로토콜이다. 비록 그누텔라 프로토콜이 전통적인 클라이언트/서버 검색 모델을 지원하고는 있지만, 그누텔라의 특징은 P2P(Peer to Peer) 분산형 모델이라는 것이다. 이 모델에서, 모든 클라이언트는 서버이고, 모든 서버는 클라이언트이다. 그누텔라 서번트(Gnutella Servent)는 클라이언트와 서버의 기능을 동시에 작업하는 것을 의미한다. 서번트는 클라이언트 기능을 검색과 검색 결과를 통하여 제공하고, 이와 동시에 다른 서번트의 검색어를 접수 받아 사용자의 데이터와 비교 검색 후 이에 맞는 결과를 응답해 주는 서버의 기능을 하고 있다. 일부 서번트들의 네트워크가 오프라인이 되더라도 전체 그누텔라 네트워크의 운영에는 지장을 받지 않는 분산적인 특징 때문에, 서번트들의 네트워크는 매우 Fault-Tolerant 하다. 그누텔라 프로토콜은 서번트들이 네트워크를 통하여 대화할 수 있는 방법들을 정의한다. 다음은 그누텔라 프로토콜을 구성하고 있는 메시지들이다. 그누텔라 서번트는 현재 네트워크 안에 있는 다른 서번트들과 접속, 연결하는 과정을 통하여 스스로 네트워크에 연결한다. 하지만 다른 서번트들의 네트워크 주소를 획득하는 것은 프로토콜 정의에 포함되어 있지 않다. 이는 Host Cache라는 기술을 이용하여 그누텔라 서번트들의 네트워크 주소를 자동으로 획득한다. 일단 다른 서번트의 네트워크 주소를 획득하면 서번트와 TCP/IP 연결이 생기고, 그누텔라 서번트 간의 연결을 위한 문자열(ASCII)이 전송된다.
주요 인물
진 칸(Gene Kan)
진 칸(Gene Kan)(1976년 9월 6일 - 2002년 6월 29일)은 영국 태생의 중국계 미국인으로 P2P(Peer-to-Peer) 파일 공유 프로그래머로, 그누텔라 프로토콜을 구현한 파일 공유 응용 프로그램의 오픈 소스 버전을 제작한 최초의 프로그래머 중 한 명이었다. 진 칸은 스펜서 킴볼(Spencer Kimball)과 함께 GNU General Public License에 따라 라이센스가 부여 된 "Gnubile"이라는 프로그램을 개발했다. 진 칸은 1997년 버클리 캘리포니아대 전기공학과 전산학과를 졸업했으며 eXperimental Computing Facility(XCF)의 학생클럽 회원이었다. 진 칸은 2000년 6월 24살 때 스티브 워터하우스(Steve Waterhouse)와 또 다른 친구와 함께 InfraSearch.com로 알려진 분산 검색 엔진을 만들었다. 넷스케이프 공동창업자인 마크 앤드리슨(Marc Lowell Andreessen)은 창업의 투자자였다. 인프라서치(InfraSearch)는 2001년 3월 6일, 썬 마이크로시스템즈(SUN Microsystems)에 의해 Sun 주식 옵션에서 $ 12.5M USD에 구매되었다. 이 인수는 선에서의 JXTA 프로젝트의 일부가 되었다. 진 칸은 Sun에서 근무하면서 이 기술을 계속 연구했다. 진 칸은 2000년 7월 미 상원 법사위에서 '디지털 시대의 지적재산권'에 관한 증언을 한 것으로 인터넷계에서는 비교적 잘 알려져 있다. 메탈리카의 드러머 라스 울리히(Lars Ulrich) , 소니(SONY)의 CEO 프레드 얼리치(Fred Ehrlich) 등은 청문회에서 증언했다. 그는 자신의 설명에서 냅스터(Napster)와 같은 기업의 운명을 결정함에 따라 "기술은 앞으로 나아가고 계략은 뒤로 남겨둔다"면서 "그는 항상 승리하고 교착상태는 항상 지고 있다"고 강조했다. 진 칸은 P2P 컴퓨팅을 옹호했으며, 일부는 그누텔라 개척자들과 함께 그 창립자로 인정했다. 진 칸은 그것이 분산 컴퓨팅이라고 불리는 기술적 분야의 일부라고 주장했다. 2002년 6월 29일, 진 칸은 자살했다. 사인은 머리에 한 발의 총상이었다. 그는 당시 25세였다. 진 칸은 생전에 버클리 캘리포니아대 서버에서 주최한 이력서의 전자사본을 업데이트하여 "요약 : Sad example of a human being. Specializing in failure."를 읽었다. 진 칸이 죽은 후 독립 다큐멘터리 영화를 기획했지만 제작되진 않았다.[2]
특징
그누텔라는 네트워크를 구성하며 트랜잭션을 중재하는 관리자가 필요 없으며 그누텔라에 네트워크에 연결되어 있는 호스트만 자동으로 접속하도록 되어 있다. 그누텔라는 네트워크 분산을 이용하여 책임자를 누구라도 특정 지을 수 없으며 운영의 책임을 추궁하려면 수많은 수색영장, 집행영장, 소환장을 발급하여 대대적인 수사인력의 투입이 필요해야 가능하리라 추측하나 현실적으로는 거의 불가능하다고 할 수 있다. 최신 고성능 사양의 컴퓨터의 등장으로 그누텔라는 클라이언트와 서버를 한 시스템에 통합시켰으며 파일을 업로드하고 다운로드 하는 2가지 방법을 통하여 인터넷 사용자들과 쉽게 접속이 가능하다. 소프트웨어 기반 네트워크로 형성 된 그누텔라는 인터넷상의 이 기종 및 지역 네트워크들과의 통신을 가능하게 하는 라우터, 스위치 허브와 같은 장비를 구성하지 않고 있으며 통신시설을 통합하여 한 노드에서 사용자가 네트워크를 관리를 하도록 하고 있다. 그누텔라는 특정하게 네트워크 관리자가 지정되어 있지 않으며 분산 실시간 정보 검색 시스템으로 역할을 다하고 잇는데 이러한 것을 현재 우리가 주변에서 쉽게 다운로드 받는 파일 공유 프로그램으로 이해하면 될 것이다. 그누텔라에서 사용하는 인프라서치(InfraSearch)를 사용하면 현재 사용하는 표준 웹 브라우저에서 동일한 검색 인터페이스에서 검색 질의어를 요구하면 키워드나 HTML로 이루어진 DB(DataBase)에서 질의에 대해 여러 개의 노드로 구성된 독립된 그누텔라 네트워크로 브로드캐스팅하게 되어있다. 노드 데이터에는 사진 이미지, 광고 메세지, 파일 이름, 계산기, URL, 뉴스 기사, 임의의 컨텐츠 들과 같은 다양한 데이터들이 섞여 있으며 노드들에 포함된 데이터들은 관련 있는 정보가 공유된 경우 응답하도록 되어 있다.
각주
- ↑ 그누텔라 네이버 지식백과 - https://terms.naver.com/entry.nhn?docId=932393&cid=43667&categoryId=43667
- ↑ 〈Gene Kan〉, 《위키피디아》
참고자료
- GNU 공식 홈페이지 - https://www.gnu.org/philosophy/gnutella.ko.html
- 〈그누텔라〉, 《위키백과》
- 셀프리더, 〈그누텔라 개발자 사망〉, 《네이버 블로그》, 2004-07-06
- Aaron Pava ZDNet Music, 〈사용자 폭증에 시달리는 P2P 원조 「그누텔라」〉, 《ZDNet》, 2000-09-26
- 셀프리더, 〈[펌 그누텔라 프로토콜에 대하여]〉, 《네이버 블로그》, 2004-07-06
- 이광석 뉴미디어 평론가, 〈힘센 봇짐장수 '그누텔라'〉, 《한겨례신문》, 2001-06-08
- 노경윤, 〈[정보공유/칼럼 새로운 인터넷을 꿈꾼다 – 그누텔라와 프리넷]〉, 《진보네트워크》, 2004-07-06
같이 보기
- 피투피(P2P)