반응형

비트토렌트란 무엇인가?

 

BitTorrent(비트토렌토)는 개인들간 피어투피어(peer-to-peer)로 연결하여 대용량파일을 빠른속도로 공유하도록 만들어진 프로토콜이다. 트래커(tracker)라 불리는 중앙서버가 사용자들간의 파일교환을 조정해준다. 트래커는 사용자간의 연결만을 도와줄뿐이며 공유되는 파일의 내용에 대한 정보는 취급하고 있지 않기때문에 비교적 적은 밴드위드로도 많은수의 사용자간 파일공유를 가능하게 해준다. 토렌토의 핵심철학은 사용자들이 파일을 업로드해주어야만 다운로드할 수 있다는 것이다. 즉 자신의 다운로드 속도는 자신의 업로드속도에 비례한다. (이는 당나귀(edonky)를 이용해본 사람들은 잘 이해할 것이다.) 이렇게 함으로써 네트워크 밴드위드를 가장 효율적으로 이용할수 있으며 특정파일을 다운하고자하는 사람들의 숫자가 늘면 늘수록 토렌트를 통한 파일공유의 효율은 더 증가하게 되는 것이다.

 

 

 

비트토렌토는 어떻게 작동하는가?

 

비트토렌토를 이용해서 파일을 공유하려면 3가지가 필요하다. (1) 비트토렌트클라이언트, 즉 다운로드 프로그램, (2) 공유파일의 정보를 내장하고 있는토렌트파일 (확장자가 .torrent로 끝나는 파일), 그리고 (3) 클라이언트에게 파일의 소스의 위치를 추적(track)해주고, 각클라이언트간 파일의 업로드와 다운로드를 조정해주는 트래커(tracker). 트래커는 당나귀네트워크에서 중앙서버의 역할을 해준다.

 

비트토렌트 클라이언트는 당나귀 클라이언트와 달리 독자적으로 오픈되지 않는다. 즉, torrent 파일을 클릭하지 않는 이상 비트토렌트 클라이언트는 항상 비활성 상태로 있게 된다. http://www.suprnova.org같은토렌트정보 사이트에 올라와 있는토렌트파일을 클릭하거나 이미 자신의 컴퓨터에 다운로드 받아놓은 토렌트파일을 클릭하면 비로소 비트토렌트 클라이언트는 활성화되어 다운로드와 업로드기능을 수행한다. 즉토렌트파일이 없는 경우는 작동하지 않는 것이다. 혹 시작메뉴에 있는 비트토렌트클라이언트를 클릭하면 클라이언트는 토렌토파일을 열것을 요구한다.토렌트파일이 없으면 비트토렌트클라이언트는 자동으로 다시 닫히게 된다.

 

트래커는 동일한토렌트파일(즉 동일한 hash code를 가지고 있는토렌트파일)을 오픈한 사람들끼리만 연결시켜준다. 만일 내가 2개의 서로 다른 트래커에 등록된 2개의 토렌토파일을 오픈시켜 2가지 다른 파일을 동시에 다운로드받고 있다고 한다면 (예를 들어, Lord.of.the.Rings.3.Screener.3CD.torrent와 Kill.Bill.Screener.2CD.torrent을 이용하여 두 영화를 동시에 다운하는 경우), 내 컴퓨터에는 두개의 비트토렌트클라이언트가 오픈되어 서로다른 트래커와 연결되어 파일을 다운로드/업로드하고 있을 것이다. 이점이 비트토렌토가 당나귀네트워크와 가장 크게 다른점이다. 즉, 당나귀네트워크는 서버중심의 파일공유 시스템인데 반해, 비트토렌트네트워크는 트래커가 중심이 아니라, 공유되는 파일을 중심으로 네트워크가 형성되는 것이다. 즉, 당나귀의 경우는 서버접속-->서버에게 다운받을 파일의 소스의 위치와 숫자문의-->서버가 소스파악/다운로드/업로드 조정 의 순서로 일처리를 한다면, 비트토렌토의 경우는토렌트파일 오픈-->지정된 트래커 접속-->트래커의 다운로드/업로드 조정의 순서로 일이 처리되는 것이다. 따라서 비트토렌토의 경우는 토렌토파일을 매개로 공유되는 특정파일에 관심이 있는 사람들끼라만 연결시켜줌으로써 트래커가 소스를 찾기위해 시간을 허비하지 않아도 되는 것이다. 이런이유로 당나귀네트워크와 비교한다면, 당나귀는 중앙네트워크방식인 반면에, 비트토렌토는 분산네트워크 방식이라고 불리워지는 것이다.

 

비트토렌토의 분산네트워크 방식은 당나귀에 비해서 빠른연결과 다운로드/업로드 조정을 함으로써 파일공유속도가 빠른 반면에, 네트워크의 안정성이 매우 약하다. 즉, 공유네트워크가 특정파일에 관해 관심을 가진 사람들 위주로 분산적으로 형성되기때문에, 시간이 지남에따라 파일공유자의 숫자가 줄어들면, 그만큼 특정파일의 공유네트워크의 폭이 줄어드는 것이다. 즉, 비트토렌트네트워크는 생성되고 소멸되는 주기가 굉장히 짧은 일종의 게릴라식 네트워크라는 것이다. 이 때문에, 비트토렌토를 이용하여 오래전에 공유되었던 파일을 다운로드하기란 정말 어렵다. 최초로 공유된지 한달정도 지난 파일의 경우, 인기있는 파일이어서 계속 공유자들이 릴레이되지 않는 이상, 그 소스를 찾기란 당나귀처럼 쉽지않다. 그대신 많은 사람들이 동시에 관심을 가지고 있는 최신의 파일인 경우는 동시에 많은 사람들이 공유하기 때문에 쉽고 빠르게 다운로드 할수 있다. (하지만 최근에는 비토랜트 서치엔진 http://www.n4p.com 같은 것이 등장하고, 또 트래커의 안정성이 예전보다 향상되고 있기 때문에, 파일공유주기가 예전에 비해 점점늘어나고 있는 추세이다. 따라서 비트토랜트 네트워크를 통해서 구할수 있는 파일의 숫자가 엄청늘어나고 있음.)

 

 

 

비트토렌트가 당나귀와 다른 점은 무엇인가?

 

비트토렌트는 당나귀네트워크와 같이 파일을 조각내어 공유한다는 면에서는 파일공유방식이 동일하다. 하지만 동일한 조건이라면 (즉, 소스를 가지고 있는 사람의 수와 인터넷 회선의 속도가 같은경우) 당나귀네트워크 보다 다운로드속도가 훨씬 더 빠르다. 왜냐하면, (1) 파일의 소스를 추적(track)하여 원하는 사람에게 연결시켜주는 당나귀네트워크의 중앙서버 역할을 하는 트래커(tracker)는 파일의 내용에 관한 정보를 포함하고 있지 않기때문에, 파일공유 조정(coordination)에 필요한 정보량이 당나귀네트워크 방식보다 훨씬적어서 다운로드하려는 사람과 업로드 하는 사람간의 연결속도가 더 빠르기 때문이다. (2) 파일찾기 기능이 없는 것이 단점이기는 하지만 이것 또한 다운로드속도가 당나귀에 비해 빠른 이유중에 하나이다. 당나귀와는 달리, 비트토렌토는 이미 설명했듯이 분산네트워크방식을 취한다. 즉 트래커는 오직하나의 공유단위(단일파일일수도 있고 여러개의 파일을 포함한 디렉토리일수도 있음)에 관심이 있는 사람들끼리 연결을 시켜준다. (3) 트래커가 파일조각 (file parts)을 연결된 클라이언트들에 배분할때 따른 클라이언트가 받지 않은 조각들을 우선해서 배분해준다. 즉, 각 클라이언트들에게 서로 다른 조각들을 우선해서 배분해주므로, 각 클라이언트가 같은 조각을 받기위해 대기하는 시간을 최소화해주고, 또한 각 클라이언트간에 서로다른 파일조각들을 교환하게 함으로써 최단시간내에 파일공유를 극대화시켜준다. (4) 또한 비트토랜트는 당나귀에 비해 리소스를 훨씬 적게 사용하기 때문에, 비트토랜트 사용중 컴퓨터가 느려진다거나 다른 프로그램을 사용하는데 큰 지장이 없다.

 

그대신, 비트토렌토의 경우는 당나귀와 같은 서치기능이 없다. 당나귀의 경우는 사용자가 다운로드받은 파일을 공유폴더에 넣어두기만 하면 자신은 다른파일을 다운받더라도 그것을 원하는 사람이 서버를 통해서 계속해서 그파일을 다운받을 수 있지만 (즉 업로드/다운로드 파일이 다를 수 있지만), 비트 토렌토의 경우는 소스를 가진 사람이 토렌토파일을 오픈시켜놓지 않는 이상 (이를 seeding이라 한다. 즉, 완전체를 가진 사람이 업로드만 해주는 경우 이를 시딩이라고 한다.) 파일의 소스를 구할수는 없는 것이다. (제작자 Bram Cohen의 설명에 의하면 seeder(완전체를 가진사람)가 없더라도 각 클라이언트들이 가진 서로다른 파일조각들의 합이 100 퍼센트이면 seeder없이도 파일을 100퍼센트 받을수 있다고 함.)

 

파일서치기능이 없는 것이 비트토렌토의 불편한 점이기는 하지만, 무수히 많은 공유사이트를 통해서 많은 사람들이 관심을 갖고 있는 최신 파일(영화/게임/애니/유틸 등등)을 구하기란 어렵지 않다.

 

당나귀를 어느정도 사용한 사람이라면 몇시간 아니 몇일동안 다운받은 파일이 가짜로 드러나서 허탈하고 화가난 적이 한번쯤은 다 있을 것이다. 하지만, 토렌트 네트워크에서는 가짜파일이 거의 없다.

 

당나귀의 경우는 다운로드하는 파일과 업로드 하는 파일이 다를 수 있다. 하지만 비트 토렌토의 경우는 2개 이상의 토렌토를 오픈시키지 않는 이상, 다운로드와 업로드하는 파일이 다를 수없다. 즉, 특정 토렌트파일을 오픈시키면 자신이 그 토렌토에 담겨있는 파일을 다운로드하고동시에 업로드하는 것이다.

 

당나귀의 경우 공유단위가 단일 파일인 반면, 비트토렌트는 공유단위가 파일뿐만 아니라 복수의 파일을 포함한 디렉토리도 포함된다. 즉, 당나귀네트워크에서는 복수의 파일을 공유할 경우 압축을 하거나 시디 이미지로 만들어서 1개의 파일로 만들어야만 공유가 가능하지만, 비트토렌트에서는 자신의 하드에 있는 디렉토리자체를 하나의 토렌토파일에 담아서 공유가 가능하다. 물론 별도로 토렌트파일을 만들어야 하는 번거로움이 있기는 하지만, 공유를 위해 여러개의 파일을 단일파일로 압축을 하거나 하나의 시디이미지로 만들 필요가 없다는 것이다.

 

 

 

그럼 언제 어떤 용도로 비트토렌토를 사용하는것이 좋은가?

 

위에서 살펴보았듯이, 토렌토는 당나귀에 비해 빠른 다운속도라는 장점이 있는 반면, 네트워크의 안정성, 파일서치기능, 오래된파일을 구하기 힘든점 등의 약점이 있다. 그리고 아직 한국에서는 쓰는 사람이 많지 않기때문에 한국관련파일도 많이 공유되고 있지않다. 따라서 현재로서는 최근에 외국에서 새로 나온 영화/게임/음악/유틸/등등을 다운받는 경우에 사용하면 당나귀보다 훨씬 빠른속도로 다운받을 수 있으리라고 생각된다. 당연한 말이겠지만, 한국 사용자가 늘면 늘수록 한국관련 파일들도 비트토렌트를 통해서 구할수 있게 되리라고 본다.

 

 

--------------------------------------------------------------------------------------------

윗글은 당나귀 스쿨 의 식이네님이 작성하신 글입니다.

 

비트토렌트는 여러 종류의 클라이언트 프로그램이 존재합니다.

입맛에 맞는 프로그램을 사용하시면 됩니다.

 

다운로드 : BitTorrent :: 원조... by python

다운로드 : BitTornado :: 유명한... by python

다운로드 : Yet ABC (Yet Another Bittorrent Client) :: BitTornado 0.2.0를 기초해서 만든... by python

다운로드 : Azureus :: Java로 만든...

다운로드 : BitSpirit :: 많은 기능을 제공...

다운로드 : BitComet :: 검색사이트 링크 제공...

 

비트토렌트는 원래 검색기능이 없기 때문에 관련 사이트를 통해 다운로드하는 경우가 많습니다.

몇가지 사이트를 소개합니다.

 

http://www.suprnova.org :: 가장 유명한 외국사이트

http://www.n4p.com :: 서치엔진

http://bt.eastgame.net :: 중국 사이트

당나귀 스쿨 :: 당나귀를 위한 사이트지만 비트토렌트의 자료링크도 제공

http://cafe.naver.com/bittorrento.cafe :: 네이버 까페


반응형
Posted by Real_G