검수요청.png검수요청.png

"그누텔라"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
39번째 줄: 39번째 줄:
 
== 주요 인물 ==
 
== 주요 인물 ==
 
=== 진 칸 ===
 
=== 진 칸 ===
[[진 칸]](Gene Kan)(1976년 9월 6일 - 2002년 6월 29일)은 영국 태생의 중국계 미국인으로 피투피(P2P) 파일 공유 프로그래머로, '''그누텔라''' 프로토콜을 구현한 파일 공유 응용 프로그램의 오픈 소스 버전을 제작한 최초의 프로그래머 중 한 명이었다. 진 칸은 [[스펜서 킴볼]](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."를 읽었다. 진 칸이 죽은 후 독립 다큐멘터리 영화를 기획했지만 제작되진 않았다.<ref>Gene Kan 위키백과 - https://en.wikipedia.org/wiki/Gene_Kan Gene Kan</ref>
+
[[진 칸]](Gene Kan)(1976년 9월 6일 - 2002년 6월 29일)은 영국 태생의 중국계 미국인으로 피투피(P2P) 파일 공유 프로그래머로, '''그누텔라''' 프로토콜을 구현한 파일 공유 응용 프로그램의 오픈 소스 버전을 제작한 최초의 프로그래머 중 한 명이었다. 진 칸은 [[스펜서 킴볼]](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."를 읽었다. 진 칸이 죽은 후 독립 다큐멘터리 영화를 기획했지만 제작되진 않았다.<ref>Gene Kan 위키백과 - https://en.wikipedia.org/wiki/Gene_Kan</ref>
  
 
=== 저스틴 프랭클 ===
 
=== 저스틴 프랭클 ===

2020년 8월 6일 (목) 17:42 판

그누텔라(Gnutella)란 아메리카 온라인(AOL)의 자회사인 널소프트(Nullsoft)가 개발한 파일 공유 프로그램이다. 그누텔라는 GNU + Nutella의 합성어로서 GNU(GNU is no Unix)와 이탈리아의 제빵기술자 페레로(Ferrero)가 헤이즐넛에 초콜릿을 입힌 것에서 따온 이름 누텔라를 합친 것이다. 2000년 3월, 저스틴 프랭클(Justin Frankel)과 톰 페퍼(Tom Pepper)이 그누텔라의 첫 번째 프로그램을 개발했다.

개요

그누텔라는 피투피(P2P, Peer-to-Peer) 파일 공유 프로그램으로 사람들이 중앙 서버를 사용하지 않고도 인터넷을 통해 파일을 공유하며 주고받을 수 있도록 고안되었다. 그누텔라에서는 복잡한 주소를 직접 입력할 필요가 없으며 찾고 있는 파일의 이름만 검색하면 검색 결과가 나오게 되어 있다. 전자메일, 웹 페이지 같은 인터넷 기반 응용프로그램들은 네트워크상에서 라우터, 스위치 허브 같은 하드웨어와, TCP/IP 프로토콜 등에 의존하지만 그누텔라는 네트워크 구조가 순간순간 바뀌는 응용 네트워크를 구축하게 되어있다. 기조 네트워크의 경우 전화선 또는 케이블이 지반에 매설되어 있고 라우터는 고정되어 해당 경로 테이블에서 가장 빠른 경로를 선택하게 되어있는 반면 그누텔라에 참여하는 라우터와 경로는 순간마다 바뀌는 동적인 구조 위에 가상 기반 주소를 가지고 있다.[1]

그누텔라는 분산검색을 위한 프로토콜이다. 비록 그누텔라 프로토콜이 전통적인 클라이언트/서버 검색 모델을 지원하고는 있지만, 그누텔라의 특징은 피투피(P2P) 분산형 모델이라는 것이다. 이 모델에서, 모든 클라이언트는 서버이고, 모든 서버는 클라이언트이다. 그누텔라 서번트(Gnutella Servent)는 클라이언트와 서버의 기능을 동시에 작업하는 것을 의미한다. 서번트는 클라이언트 기능을 검색과 검색 결과를 통하여 제공하고, 이와 동시에 다른 서번트의 검색어를 접수 받아 사용자의 데이터와 비교 검색 후 이에 맞는 결과를 응답해 주는 서버의 기능을 하고 있다. 일부 서번트들의 네트워크가 오프라인이 되더라도 전체 그누텔라 네트워크의 운영에는 지장을 받지 않는 분산적인 특징 때문에, 서번트들의 네트워크는 매우 Fault-Tolerant 하다. 그누텔라 프로토콜은 서번트들이 네트워크를 통하여 대화할 수 있는 방법들을 정의한다. 다음은 그누텔라 프로토콜을 구성하고 있는 메시지들이다. 그누텔라 서번트는 현재 네트워크 안에 있는 다른 서번트들과 접속, 연결하는 과정을 통하여 스스로 네트워크에 연결한다. 하지만 다른 서번트들의 네트워크 주소를 획득하는 것은 프로토콜 정의에 포함되어 있지 않다. 이는 Host Cache라는 기술을 이용하여 그누텔라 서번트들의 네트워크 주소를 자동으로 획득한다. 일단 다른 서번트의 네트워크 주소를 획득하면 서번트와 TCP/IP 연결이 생기고, 그누텔라 서번트 간의 연결을 위한 문자열(ASCII)이 전송된다.

역사

2000년 3월 그누텔라는 저스틴 프랭클(Justin Frankel)과 톰 페퍼(Tom Pepper)가 널소프트(Nullsoft)에서 개발했고, 3월 14일에 널소프트에서 다운로드할 수 있게 됐다. 그누텔라는 냅스터와 달리 중앙에서 개입하는 부분이 전혀 없었다. 아무도 사용자를 추적할 수 없을 뿐만 아니라 사용자들이 교환하는 파일의 목록을 만들 수도 없었다. 아무나 네트워크에 접속할 수 있는 소프트웨어를 만들 수 있었고 대부분이 오픈 소스 형태로 쓰였기 때문에 누구나 새로운 기능을 덧붙이거나 개선할 수 있었다. Gnotella, Newtella, Gnut, LimeWire, ToadNode 등 약 10여 종 이상의 그누텔라들이 무료로 배포됐다. 이 프로그램은 수천명의 사람들이 다운받았다. 하지만 널소프트의 모회사인 아메리카 온라인(AOL)이 당시 타임 워너와 합병하려던 차였기 때문에 바로 중단됐다. 타임워너(Time Warner)는 음악/미디어 쪽의 거인이었기 때문이다. 하지만 해커들이 널소프트가 올렸다가 지운 그 코드를 가져갔고, 이를 바탕으로 자신들만의 새로운 소프트웨어, 즉 유사품들을 만들었다. 호환되는 오픈소스 클론이 나타났고, '누텔라 연방'이 등장하게 되었다. 서로 다른 그룹에 의한 클라이언트와 유사한 개발은 오늘날 그누텔라 개발의 방법론으로 남아 있다.[2]

최초의 독립 그누텔라 개척자 중에는 진 칸(Gene Kan)과 스펜서 킴볼(Spencer Kimball)이 있었는데, 그들은 그누텔라를 작업하기 위해 오픈 소스 커뮤니티를 모으기위한 첫 번째 포털을 시작했다. 그누텔라 프로토콜을 구현하는 최초의 오픈 소스 중 하나 인 "GNUbile"을 개발했다. 그누텔라 네트워크는 패스트트랙(KaZaA)이나 원래의 냅스터와 같은 중앙화되지 않으며, 분산적이다. 이 네트워크의 초기 인기는 2001년 냅스터를 위협했던 법적 소멸에 의해 촉발되었다. 인기가 급증하면서 초기 프로토콜의 확장성의 한계를 드러냈다. 2001년 초, 프로토콜의 변화(독점적 및 폐쇄적 소스 클라이언트에서 처음 구현)는 확장성의 개선을 가능하게 했다. 모든 사용자를 클라이언트와 서버로 취급하는 대신, 일부 사용자는 초고속 사용자로 취급되어 그들과 연결된 사용자에 대한 검색 요청과 응답을 라우팅했다. 이로 인해 네트워크는 인기를 끌 수 있었다. 2001년 말, 그누텔라 클라이언트 라임와이어 베이직(LimeWire Basic)은 무료 오픈 소스가 되었다. 2002년 2월, 상용 파일 공유 그룹인 Morpheus는 패스트트랙 기반의 P2P 소프트웨어를 포기하고 무료 오픈 소스 그누텔라 클라이언트 Gnucleus를 기반으로 한 새로운 클라이언트를 출시했다.

2010 년 10 월 26 일, 인기있는 그누텔라 클라이언트 라임와이어는 음반 업계 원고와 라임와이어가 동의한 동의 법령에 서명하면서 뉴욕 남부 지방 법원 의 킴바 우드(Kimba Wood) 판사로부터 폐쇄 명령을 받았다. 이것은 네트워크 규모가 눈에 띄게 줄어든 원인일 가능성이 높았는데, 이는 가처분 협상을 하는 동안 라임와이어 직원이 소프트웨어에 원격 비활성화 코드를 삽입했기 때문이다. 가처분 신청이 발효되면서 해당 버전(5.5.10 이하)을 설치한 사용자들은 피투피(P2P)망에서 차단됐다. 라임와이어는 무료 소프트웨어였기 때문에, 라임와이어 상표권이 사용되지 않는 한 비활성화 코드를 생략한 포크(fork)의 생성을 막을 수 없었다. 2010년 11월 9일, 라임와이어는 비밀 개발팀에 의해 부활되어 라임와이어 해적판이라는 이름이 붙여졌다. 라임와이어 5.6 베타(BETA)를 기반으로 했다. 이 버전은 서버 종속성을 제거했고 모든 PRO 기능을 무료로 가능하게 했다.[3]

특징

그누텔라는 네트워크를 구성하며 트랜잭션을 중재하는 관리자가 필요 없으며 그누텔라에 네트워크에 연결된 호스트만 자동으로 접속하도록 되어 있다. 그누텔라는 네트워크 분산을 이용하여 책임자를 누구라도 특정 지을 수 없으며 운영의 책임을 추궁하려면 수많은 수색영장, 집행 영장, 소환장을 발급하여 대대적인 수사 인력의 투입이 필요해야 가능하리라 추측하나 현실적으로는 거의 불가능하다고 할 수 있다. 최신 고성능 사양의 컴퓨터의 등장으로 그누텔라는 클라이언트서버를 한 시스템에 통합시켰으며 파일을 업로드하고 다운로드하는 2가지 방법을 통하여 인터넷 사용자들과 쉽게 접속이 가능하다. 소프트웨어 기반 네트워크로 형성된 그누텔라는 인터넷상의 이 기종 및 지역 네트워크들과의 통신을 가능하게 하는 라우터, 스위치 허브와 같은 장비를 구성하지 않고 있으며 통신 시설을 통합해서 한 노드에서 사용자가 네트워크를 관리하도록 하고 있다. 그누텔라는 특정하게 네트워크 관리자가 지정되어 있지 않으며 분산 실시간 정보 검색 시스템으로 역할을 다하고 있는데 이러한 것을 현재 우리가 주변에서 쉽게 다운로드받는 파일 공유 프로그램으로 이해하면 될 것이다. 그누텔라에서 사용하는 인프라서치(InfraSearch)를 사용하면 현재 사용하는 표준 웹 브라우저에서 동일한 검색 인터페이스에서 검색 질의어를 요구하면 키워드나 HTML로 이루어진 DB(DataBase)에서 질의에 대해 여러 개의 노드로 구성된 독립된 그누텔라 네트워크로 브로드캐스팅하게 되어있다. 노드 데이터에는 사진 이미지, 광고 메세지, 파일 이름, 계산기, URL, 뉴스 기사, 임의의 콘텐츠 들과 같은 다양한 데이터들이 섞여 있으며 노드들에 포함된 데이터들은 관련 있는 정보가 공유된 경우 응답하도록 되어 있다.[1]

피투피

피투피(P2P, peer-to-peer network)란 기존의 서버와 클라이언트 개념에서 벗어나 개인 컴퓨터들이 네트워크로 연결되어 서로 정보와 자료를 공유하는 것을 말한다. 피투피(P2P) 통신망은 일반적으로 노드들을 규모가 큰 애드혹으로 서로 연결하는 경우 이용된다. 이런 통신망은 여러 가지로 쓸모가 있는데, 오디오나 비디오, 데이터 등 임의의 디지털 형식 파일의 공유는 매우 보편적이다. 또한, 인터넷 전화(VoIP)같은 실시간 데이터 등도 피투피(P2P) 기술을 통해 서로 전달될 수 있다.[4] P2P에는 크게 3가지 방식이 있다.

  • 하이브리드 피투피 : 기존 Server/Client 모델을 완전히 벗어나지 못한 형태의 P2P이다. 중앙서버가 존재해 중개 및 검색을 제공하고 데이터 전송은 개인PC들 간에(peer) 주고 받는 방식이다. 많이 사용하고 접하는 냅스터(Napster), 소리바다 같은 파일공유 프로그램, NateOn 등과 같은 메신저를 통한 파일 전송등이 있다. 중앙서버가 존재해 검색이 빠르지만, 네트워크가 커질수록 중앙서버에 부담이 가며 중앙서버가 죽으면 전체 네트워크가 죽는 단점이 있다.
  • 퓨어 피투피 : 중앙서버를 사용하지 않는 방식으로 네트워크에 참여하는 모든 컴퓨터는 똑같이 Server/Client 역할을 겸하며 검색, 데이타 전송에 있어서 같은 책임을 진다. 이를 사용한 네트워크로 그누텔라나 프리넷(Freenet)등이 있다. 전체 네트워크가 죽는일이 거의 불가능하며, 네트워크 확장성이 매우 높고, 네트워크 증가에 따른 비용이 거의 없다. 또한 전세계 모든 컴퓨터의 정보 자료를 100% 검색 및 공유가 가능하기도 하고, 제한된 커뮤니티 내에서 파일 정보 공유 네트워크를 구성할 수도 있다. 그리고 이런 각 네트워크끼리 연결하면 커뮤니티 상호간의 정보 공유망 또한 자유롭게 구축할 수 있다. 반면 중앙 서버가 없기 때문에 네트웍을 제어할 수단이 없고, 파일 목록을 검색할 때마다 네트웍의 모든 컴퓨터를 검색해야 하므로 검색 속도가 크게 뒤떨어지며, 과도한 부하, 해킹 위험등이 있다.
  • 슈퍼 피어 : 슈퍼 피어(Super Peer)방식은 하이브리드 피투피방식과 퓨어 피투피방식의 장점을 결합해 놓은 방식이다. 하이브리드 피투피방식과 퓨어 피투피방식은 중앙서버의 존재 유무에 따라 각각 장단점이 나타나는데 슈퍼 피어방식은 피투피네트워크에 중앙서버 역할을 하는 슈퍼 피어들을 여러개 둬서 네트워크를 구성하는 방법이다. 중앙서버가 존재하므로 검색의 속도가 빠르며, 또한 중앙서버가 여러개 존재하므로 인해 하나의 중앙서버가 죽더라도 다른 중앙서버를 이용할 수 있는 방식이다. 반면 개념 자체만으로는 매우 간단해 보이지만 실제로 슈퍼 피어를 구현하기는 쉽지 않으며 게다가 슈퍼 피어에 대한 최적화된 이론이 정립되지 않은 상태여서 구현 방식에 따라서 천차만별의 성능을 보이는 것이 단점이다.[5]

이용 방법

그누텔라 네트워크에 참여하는 것은 간단하다. 누텔라 소프트웨어 패키지 중 하나를 웹을 통해 다운로드한 다음, 여러분의 컴퓨터를 "servent"(= server + client)로 바꾸면 된다. 그렇게 해서 그누텔라 네트워크 상의 또 다른 'servent'를 찾아서 서로 접촉한다. 이들 servent의 주소는 여러 웹 사이트, 채팅 방에서 쉽게 찾아볼 수 있다. 그누텔라를 이용한 접속은 분명히 인터넷 상에서 이뤄지고 있고 모든 컴퓨터는 IP 주소를 통해 각각을 구분한다. 하지만 누텔라는 WWW이 아니다. 사용자의 컴퓨터는 또 다른 여러 대의 servents와 커뮤니케이션하고 이들 servents는 또 각자 파악하고 있는 또 다른 servents에게 사용자의 메세지를 보내고 받는다. 이런 식으로 계속 확산되어 나가는 네트웍이 되는 것이다.파일을 찾기 위해서 키워드를 치면, 그 요청은 여러분 컴퓨터와 가장 가까운 이웃 컴퓨터로 보내진다. 이 메세지를 받은 컴퓨터는 우선 자신의 하드 디스크 드라이브를 뒤진 다음 맞는 것이 있으면 그 사실을 여러분 컴퓨터에 알려주고 여러분의 요청을 또 다른 servents로 재전송합니다. 이걸 받은 servents는 또 똑같은 과정을 반복한다. 그 결과, 단 한 번의 요청이 순식간에 수천 대의 컴퓨터로 퍼져나갈 수 있다.[2]

종류

그누텔라2

2002년 11월 마이클 스톡스(Michael Stokes)는 그누텔라2(Gnutella2) 프로토콜을 그누텔라 개발자 포럼에 발표했다. 그누텔라 프로토콜에서 영감을 얻은 그누텔라2는 연결 핸드 셰이크 및 다운로드 매커니즘을 제외하고는 거의 디자인을 공유하지 않는다. 그누텔라2는 확장 가능한 바이너리 패킷 형식과 완전히 새로운 검색 알고리즘을 채택한다. 그누텔라2에는 관련 네트워크 토폴로지와 향상된 메타 데이터 시스템이 있어, 네트워크에서 바이러스와 같은 가짜 파일을 효과적으로 줄일 수 있다. 일부는 그누텔라2에 대해 언급된 목표가 그누텔라 0.6 프로토콜로 깨끗이 단절하고 다시 시작하는 것이라고 생각했다. 라임와이어(LimeWire)와 비어쉐어(BearShare)의 개발자들은 이것을 엄청난 홍보라고 생각했고, 일부에서는 여전히 네트워크를 그누텔라2라고 부르기를 거부했다. 대신 마이크로 프로토콜(MP)이라고 부르기도 한다. 그누텔라2 프로토콜은 여전히 그누텔라 0.6 규격에 정의된 연결에 구형 "GNUTELLA CONNECT/0.6" 핸드셰이크 문자열을 사용한다. 이 이전 버전과 호환되는 핸드 셰이크 방법은 그누텔라 개발자 포럼에 의해 관계없는 새로운 네트워크를 부팅시키기 위해 그누텔라 네트워크를 이용하려는 시도라는 비난을 받았으며, 그 네트워크 지지자들은 그것의 의도가 그누텔라와 이전 버전과 호환 되도록 유지 하고 지금 그누텔라를 허용 하는 것이라고 주장했다. 개발자들의 입장이 고착화되고, 양측의 결단이 더욱 공고해졌다. 초안 사양은 2003년 3월 26일에 공개되었고, 곧 상세한 사양이 나왔다. 그누텔라2는 많은 그누텔라 네트워크 고객들에 의해 지원되지 않지만, 많은 그누텔라2 고객들은 여전히 그누텔라에 연결된다. 많은 그누텔라2 지지자들은 이것이 정치적인 이유 때문이라고 주장하는 반면, 그누텔라 지지자들은 이러한 급격한 변화들이 재 작성 비용을 능가할 만한 충분한 장점이 없다고 주장한다.[6]

기능

그누텔라2는 XML 문서 트리와 비교할 수 있는 확장 가능한 이진 패킷 형식을 가지고 있다. 패킷 형식은 향후 네트워크 개선 및 개별 공급 업체 기능을 추가하여 네트워크의 다른 클라이언트에 버그를 발생시키지 않을 수 있도록 설계되었다. 파일 식별 및 파일의 안전한 무결성 검사를 위해 SHA-1 해시를 사용한다. 파일을 여러 소스에서 안정적으로 다운로드할 수 있을 뿐만 아니라 파일을 계속 다운로드하는 동안 부품의 신뢰할 수 있는 업로드가 가능하도록 하기 위해 Tiger 트리 해시를 사용한다. 그누텔라2는 검색을 위한 강력하고 완벽한 시스템을 만들기 위해 파일 이름으로 수집되는 것보다 더 완전한 라벨링, 등급 및 품질 정보를 검색 결과에 제공할 수 있는 메타데이터 시스템을 갖추고 있다. 노드는 파일을 삭제한 후에도 이 정보를 공유할 수 있어, 사용자가 복사본을 보관할 필요 없이 네트워크에 바이러스와 웜을 표시할 수 있다. 그누텔라2는 또한 네트워크 연결에서 압축을 이용하여 네트워크가 사용하는 대역폭을 줄인다. 쉐어라자(Shareaza) 에는 이미지 및 비디오의 미리보기를 요청하는 추가 기능이 있지만 파일스코프(FilesScope) 만이 기능 을 제한적으로 사용합니다. gtk-gnutella는 프로토콜을 확장하여 그누텔라와 그누텔라2의 격차를 더욱 줄였다. 특히, 반 신뢰성 UDP 계층은 기존 G2 클라이언트와 역 호환되는 방식으로 누적 및 확장 확인을 추가하도록 향상되었다.[6]

차이점

  • 프로토콜 : 그누텔라의 패킷 형식은 원래 확장성을 염두에 두고 설계되지 않았고 수년에 걸쳐 많은 추가 기능이 있어, 패킷 구조가 복잡하고 비효율적이었기 때문에 비판을 받았다. 그누텔라2는 이것으로부터 배웠고, 그누텔라2에 추가된 그누텔라 표준의 많은 기능을 제외하고는 처음부터 미래 확장성을 위해 설계됐다.
  • 검색 알고리즘 : 그누텔라는 쿼리 플러딩 검색 방법을 사용하는 반면, 그누텔라2는 검색 노드가 허브(Hub) 목록을 수집하여 한 번에 하나씩 직접 연결하는 랜덤 워크 시스템을 사용한다. 그러나 허브가 스스로 조직하여, "허브 클러스터"(Hub clusters)라고 불린다. 각 허브는 이웃이 저장한 정보를 미러링하여 리프(Leaf)은 허브 클러스터 전체의 정보를 반환한다. 이것은 그누텔라의 쿼리 플러딩 시스템에 비해 몇 가지 장점이 잇다. 검색을 계속해도 네트워크 트래픽이 기하급수적으로 증가하지 않고, 쿼리가 노드 수만큼 라우팅되지 않으며, 검색의 세분성을 증가시켜, 결과의 미리 정의된 임계값을 얻으면 그누텔라보다 효과적이다. 그러나 도보 시스템은 네트워크와 필요한 네트워크 유지 및 관리의 복잡성을 증가시키고, 악의적인 공격자가 서비스 거부 공격에 네트워크를 사용하지 못하도록 하는 안전장치를 요구한다.
  • 용어 : 용어에도 차이가 있다. 네트워크를 압축하는 데 사용되는 더 유능한 노드는 그누텔라에서는 '울트라 피어'라고 하며, 그누텔라2에서는 '허브'라고 한다. 토폴로지에서는 약간 다르게 사용된다. 그누텔라에서 울트라 피어는 일반적으로 피어 연결만큼 많은 리프를 유지하는 반면, 그누텔라2 허브는 훨씬 더 많은 리프를 유지하고 더 적은 피어(허브 투 허브) 연결을 유지한다. 그 이유는 다양한 네트워크의 검색 방법이 서로 다른 최적의 토폴로지를 갖기 때문이다.[6]

주요 인물

진 칸

진 칸(Gene Kan)(1976년 9월 6일 - 2002년 6월 29일)은 영국 태생의 중국계 미국인으로 피투피(P2P) 파일 공유 프로그래머로, 그누텔라 프로토콜을 구현한 파일 공유 응용 프로그램의 오픈 소스 버전을 제작한 최초의 프로그래머 중 한 명이었다. 진 칸은 스펜서 킴볼(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."를 읽었다. 진 칸이 죽은 후 독립 다큐멘터리 영화를 기획했지만 제작되진 않았다.[7]

저스틴 프랭클

저스틴 프랭클(Justin Frankel)은 1978년에 태어나 애리조나 주 세도나에서 자랐다. 그는 어렸을때 부터 컴퓨터에 적성이있었다. 그의 적성은 그가 버드 밸리 스쿨의 학생 컴퓨터 네트워크를 운영하고 학생들을 위한 이메일 응용 프로그램을 작성하도록 이끌었다. 윈앰프(Winamp) 미디어 플레이어 응용 프로그램 작업과 그누텔라 피투피(P2P) 네트워크 발명으로 가장 잘 알려진 미국 컴퓨터 프로그래머 이다. 프랭클은 REAPER 디지털 오디오 워크 스테이션, NINJAM 공동 음악 도구 및 Jesusonic 확장 가능한 효과 프로세서와 같은 음악 제작 및 개발 소프트웨어를 만드는 콕코스(Cockos)의 창립자이다. 2002년에는 MIT 테크놀로지 리뷰 TR100에서 35세 미만의 세계 100 대 혁신가 중 한 명으로 지명되었다.

2000년 3월 14일 프랭클과 톰 페퍼는 널소프트의 기업 웹 서버를 사용해서 그누텔라를 출시했다. 널소프트의 모회사인 AOL은 당시 음악을 다루던 타임워너와의 합병되었기 때문에 그누텔라를 제거하도록 명령했다. 하지만 이미 수천 명의 사람들이 다운로드했고, 소스코드는 공개되었다. 그누텔라는 프랭클의 도움없이 계속 개발되었고, 당시 가장 인기있는 피투피(P2P) 파일 공유 네트워크 중 하나가 됐다. 그누텔라의 제거 이후 프랭클은 50명 정도로 구성된 네트워크에서 사용할 수 있는 소규모 P2P 소프트웨어 '웨이스트'를 개발했고, 널소프트의 홈페이지에 올렸다. AOL은 즉시 삭제했지만, 이미 공개 소스 사용자들 사이에서 상당히 퍼진 후였다. 또, 그 이후에 프랭클은 인터넷에서 MP3 파일을 검색할 수 있는 기능을 추가했다가 역시 모회사의 제지를 받았다.[8] AOL이 개인 피투피(P2P) 파일 공유프로그램을 삭제하고나서 프랭클을 사임하겠다고 위협했다. 그는 그 후에도 AOL에 머물면서 윈앰프 v2.x 시리즈와 윈앰프 v3의 하이브리드인 윈앰프 버전 5.0을 완성했다. 2003년 12월 9일, AOL은 널소프트의 샌프란시스코 사무실을 폐쇄하고 450명의 직원을 해고했다. 프랭클은 2004년 1월 22일 자신의 블로그를 통해 AOL에서 사퇴한다고 발표했다. 사퇴 이후 그는 프로그램 가능한 효과 프로세서 Jesusonic과 여러 음악가들이 인터넷을 통해 함께 음악을 만들 수 있게 해주는 NINJAM이라는 이름의 소프트웨어 개발을 진행했다. 그의 새로운 회사인 콕코스에서는 그는 윈도우와 맥 OS X를 위한 멀티 트랙 오디오와 MIDI 시퀀서인 REAPER를 베타 버전으로 개발했다.[9]

논란

확장성과 사용자 폭증

2000년 9월, 그누텔라가 집중화된 냅스터 네트워크처럼 확장성이 없다는 사실을 알려졌다. 이 말은 사용자가 많아질수록 효율이 떨어진다는 뜻이다. 사용자는 몇 주 동안 이 프로그램을 사용해 검색이나 질의를 하면 결과물이 거의 나오지 않다시피 했다. 파일 검색을 할 때면 시간이 경과돼 결과를 얻지 못하기 일쑤였다. 뭔가 잘못돼 가고 있었고 도대체 어떻게 되고 있는 것인지에 대한 여러 가지 가설들이 생겨났다. 병목현상검색을 해도 결과가 나오지 않는 것은 그누텔라 네트워크의 병목현상 때문이라는 의견이 지배적이다.

이런 병목현상이 생긴데는 몇 가지 이유가 있다. 첫째, 이 클라이언트 소프트웨어에 사용된 잘못된 코드다. 코드가 발표되고 나서 바로 AOL로부터 금지를 당했을 때 이 코드는 여전히 베타버전 상태였기 때문에 이것이 프로그래머들의 잘못이라고 할 수는 없다. 하지만 본질적으로 A라는 사용자가 오프라인 중에 있는 B라는 사용자의 파일을 찾을 경우, 이 소프트웨어는 이 파일이 원래 누구의 것인가를 추적하지 않고 대신 사용자 A와 연결된 모든 컴퓨터에 ‘푸시(push)’ 패킷 브로드캐스트를 전송한다. 전체 트래픽의 절반 이상이 호스트가 오프라인일 때 발생하는 라우팅 및 푸싱 기술 때문에 시스템 작동이 원활하지 않게 된다. 코드가 완전하고 대역폭을 소모하지 않는다 하더라도 56k 모뎀 사용자들의 경우 인터넷에 접속한 사람들과 보조를 맞출 수 있을 만큼 충분한 속도로 빠르게 다양한 검색 요구를 내보낼 수 없다. 너무 많은 사람이 동시다발적으로 검색을 수행할 경우 속도는 한층 더 느려진다. 또한 56k 모뎀 사용자들이 수백 명의 다른 사용자들을 연결시키는 접점이 되거나 네트워크에 연결된 또 다른 인물이 되기 때문에 이 부분의 네트워크는 필히 잘려나가야 한다.

대역폭 기존의 그누텔라 프로토콜이 다루지 않았던 또 다른 문제는 웹기반 검색엔진이 네트워크에 많은 트래픽을 줄 뿐, 파일 공유는 하지 않는다는 점이다. 이런 서비스를 이용하는 사람들은 누구나 시스템을 여과시키고 대역폭을 남용하고 있다.물론 이 모든 문제들에 대해 이런 저런 말들이 많지만 임시 해결책만으로는 부족하다. gPulp(general Purpose Location Protocol) 팀장인 세바스찬 램블라 같은 개발자들은 점검된 시스템에 대한 새로운 제안들을 gnutellaNG.wego.com에서 수집/작성하고 있었다. 이 팀은 W3C, IETF를 비롯해 인텔, 시스코 같은 대기업들로부터 지원 및 방책을 구하고 있었다. 세바스찬은 gPulp 프로토콜이 네트워크에서 서버, 웹 주소, 무선 장비, 심지어는 연락 정보에 이르기까지 어떤 형식의 데이터라도 다 찾을 수 있을 것이라고 믿고 있었다. 그리고 새 프로토콜은 데이터를 전송하지는 않지만, 인터넷에서 어떤 것이라도 찾아내는 모든 프로그램을 연결시킴으로써 기존의 인프라를 보완해줄 것이다. 그 사이 법적 타당성이 의심스러운 정보원에서 음악을 다운로드 하려는 사람들은 계속 냅스터, 스카우어(Scour), 내피게이터(Napigator)를 이용해야 하고, 그누텔라의 결함이 개선될 것인지 아니면 이것으로 종지부를 찍을 것인지는 앞으로 두고 본다는 의견이 나왔다.[10]

봇짐장수 그누텔라

인터넷의 처음 마음은 이랬다. 수많은 사람들이 평등의 전자공간에 몰려들면서 사뭇 양상이 달라졌다. 정보를 요구하는 쪽과 제공하는 쪽이 클라이언트와 서버라는 이름으로 확연히 구분되고, 정보가 흐르는 범위도 온갖 성벽과 대문으로 출입이 봉쇄됐다. 성 안에는 각종 돈되는 정보를 가공하는 장사치들이 늘어나면서 `신경제'란 커다란 시장도 형성됐다. 일단 성을 벗어나 대량복제된 정보는 갖가지 저작권의 패찰을 달고 행세하기 시작했다. 위계·독점·집중의 시장윤리가 이곳에도 어김없이 들어섰다. 시장에 골칫덩이가 나타났다. 하릴없이 산천을 떠돌면서 정보를 사고파는 봇짐장수들이 여기저기서 출현했다. `그누텔라'도 그중 하나다. 냅스터와 달리 그누텔라는 중앙의 서버를 거치지 않으면서 사람들 간의 평등한 네트워크를 구현한다. 서버가 클라이언트와 구분되면 서버는 돈벌이용 개찰구로 군림한다. 이에 반해 그누텔라란 봇짐장수가 나타나면서 서버와 클라이언트는 하나가 된다. 봇짐장수는 이 마을 저 마을을 넘나들면서 정보를 팔거나 전하면서 사람들간의 직접적 네트워크를 짜도록 돕는다. 밥 한술 대접에 선뜻 정보를 거저 내주기도 하면서, 멀리 떨어진 이들끼리 서로 필요한 정보의 교환을 주선한다. 발로 품을 팔며 사람들을 묶어줬던 봇짐장수의 구실은 시장의 위계를 무너뜨리는 일대일(P2P) 정보공유 체계인 그누텔라에 그대로 유지된다. 봇짐장수는 거래 기록을 남기는 법이 없다. 그저 머리에 기억된 길과 이름들뿐이다. 그가 만드는 네트워크 또한 내치는 발길에 의지한다. 그누텔라에서 교환되는 정보와 사람은 철저히 익명이다. 누군가 흐르는 정보를 강제로 감시하려 한다면 봇짐장수의 길을 꿰고 있을 때만 가능하다. 인터넷 전체를 통째로 가로막을 때나 가능하다는 얘기다. 저작권 위반 혐의로 옭아매기도 힘들게 됐다. 2001년 미국 월스트리트저널은 그누텔라가 새로운 웹 표준이 될 수 있다는 중요한 지적을 했다. 이 신문은 제2·제3의 그누텔라의 등장과 정보 검색기술의 진전이 닷컴 시장모델을 밑에서부터 무너뜨릴 수도 있음을 알고 있다.[11]

각주

  1. 1.0 1.1 안철수연구소, 〈네트워크를 이해하면 포렌식 분석이 쉽다 (1)〉, 《안랩》, 2009-06-01
  2. 2.0 2.1 이명헌, 〈P2P . 냅스터 . 누텔라 . 그리고 프리넷.〉, 《이명헌경영스쿨》, 2001-03-13
  3. Gnutella 위키백과 - https://en.wikipedia.org/wiki/Gnutella#General_specifications
  4. P2P 위키백과 - https://ko.wikipedia.org/wiki/P2P
  5. 내일을 향한 기대, 〈P2P(peer-to-peer)란 무엇인가?〉, 《네이버 블로그》, 2009-04-11
  6. 6.0 6.1 6.2 Gnutella2 위키백과 - https://en.wikipedia.org/wiki/Gnutella2
  7. Gene Kan 위키백과 - https://en.wikipedia.org/wiki/Gene_Kan
  8. 한세희 기자, 〈AOL타임워너 "프랭클이 미워"〉, 《전자신문》, 2003-06-04
  9. Justin Frankel 위키백과 - https://en.wikipedia.org/wiki/Justin_Frankel
  10. Aaron Pava ZDNet Music, 〈사용자 폭증에 시달리는 P2P 원조 「그누텔라」〉, 《지디넷》, 2000-09-26
  11. 이광석 뉴미디어 평론가, 〈힘센 봇짐장수 '그누텔라'〉, 《한겨레》, 2001-06-08

참고자료

같이 보기


  검수요청.png검수요청.png 이 그누텔라 문서는 인터넷에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.