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

그누텔라

해시넷
hyerim302 (토론 | 기여)님의 2020년 8월 6일 (목) 14:11 판
이동: 둘러보기, 검색

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

개요

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

그누텔라는 분산검색을 위한 프로토콜이다. 비록 그누텔라 프로토콜이 전통적인 클라이언트/서버 검색 모델을 지원하고는 있지만, 그누텔라의 특징은 P2P(Peer to Peer) 분산형 모델이라는 것이다. 이 모델에서, 모든 클라이언트는 서버이고, 모든 서버는 클라이언트이다. 그누텔라 서번트(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]

주요 인물

진 칸

진 칸(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."를 읽었다. 진 칸이 죽은 후 독립 다큐멘터리 영화를 기획했지만 제작되진 않았다.[4]

특징

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

각주

  1. 1.0 1.1 안철수연구소, 〈네트워크를 이해하면 포렌식 분석이 쉽다 (1)〉, 《안랩》, 2009-06-01
  2. 이명헌, 〈. 냅스터 . 누텔라 . 그리고 프리넷.〉, 《이명헌경영스쿨》, 2001-03-13
  3. Gnutella 위키백과 - https://en.wikipedia.org/wiki/Gnutella#General_specifications
  4. Gene Kan 위키피디아 - https://en.wikipedia.org/wiki/Gene_Kan Gene Kan

참고자료

같이 보기


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