Friday, February 22, 2013

공유의 시대 - 토렌트 (Torrent) 를 사용하자

Leave a Comment
군가 대용량 파일을 보내달라고 할 때 대부분의 선택은 국내 포탈 서비스의 대용량 메일을 사용하거나 이제는 대중화된 파일 저장 클라우드 서비스를 이용해서 공유를 하는 방법이 있을 것이다. 미디어 파일 뿐만 아니라 전체적인 파일의 크기가 커지면서 파일을 공유하는 방법은 상당히 쉬워 보이면서도 생각해보면 꽤 번거로운 작업이라는 것을 느끼게 될 것이다. 특히 용량이 4G ~ 10G 정도 되는 파일의 경우 그 애매함은 더욱 더 심해진다. DVD 로 구워서 보내주기도 힘들고, 그렇다고 마땅히 파일 저장 클라우드 서비스를 이용하려고 해도 용량 제한이 있는 경우가 많기 때문에 제대로 보내기가 쉽지 않다. 이런 경우 메신저 서비스의 파일 전송과 같은 기능을 이용할 수 있지만 양쪽 모두 해당 메신저를 사용해야하는 조건이 있기 때문에 번거롭다. 외장하드, USB 등의 방법이 있지만 이 또한 번거롭기도 마찬가지이다.


인터넷에서 파일 전송은 아주 고전적인 프로토콜이었다. 가장 기본적으로 FTP (File transfer Protocol) 및 SFTP (Secured FTP) 등이 있고 아주 간단하게 웹상의 HTTP 도 기본적으로 파일 전송의 프로토콜을 지원한다. 그렇지만 대용량의 경우 서버나 클라이언트 어느 쪽이라도 불안정하면 파일이 제대로 전송되지 않을 수 있다. 물론 이런 안정성을 증가시키기 위해 다양한 방법을 제시하지만 또다른 문제는 서버와 클라이언트의 통신 속도가 느리다면 파일 하나 전송받는데 상당히 오랜 시간이 걸리는 문제점이 생길 수 있다.

BitTorrent 의 등장 

파일 전송에서 개인적으로 혁신을 만든 기술이 BitTorrent 라고 생각한다. 기존에는 연속적으로 파일을 받아야 한다는 생각에서 꼭 그렇지 않아도 되고 다양한 클라이언트가 파일을 공급하는 공급자로의 역할도 하게 되어 서로가 필요한 파일을 만들어가는 새로운 인터넷 기술이다. 인터넷 서비스에 참여하고 있는 클라이언트를 특별히 Peer 라고 부른다. 이런 Peer 들이 참여해서 서로가 필요한 서비스를 만들어가는 서비스의 형태를 Peer-to-Peer 서비스라고 부르는데 파일전송은 이런 P2P의 가장 기본적이고 대표적인 서비스가 된다.

From aplawrence.com/Girish/gv-peer-to-peer.html

존의 파일전송 FTP 를 예를 들면 서버 → 클라이언트로 보내는 일방적인 형태로 서버는 공급하고, 클라이언트는 공급받는다. 그러나 BItTorrent 의 경우 클라이언트도 다운을 받은 파일의 일부를 해당 파일이 필요한 다른 클라이언트에게 공급해주게 된다. 따라서 하나의 파일을 받으려는 클라이언트의 수가 많아지면 많아질 수록 파일을 더 수월하게 받을 수 있게 되고 파일전송이 완료된 클라이언트는 새로운 서버로 역할을 수행하면서 다른 클라이언트에 파일을 전송해주게 된다. 실제는 더 복잡할 수 있지만 실제 BitTorrent 를 사용하는데 필요한 기본적인 개념만을 챙기면서 가장 대중적으로 사용되는 Windows 에서 가장 가벼운 클라이언트인 μTorrent 를 기준으로 해서 사용법과 응용방법을 살펴보기로 한다.

토렌트에서 알아두면 좋은 용어들 

1. Peer (피어): 인터넷에 참여하고 있는 서버 혹은 클라이언트, 서버나 클라이언트는 하드웨어적인 개념이 아닌 인터넷 상의 어떤 역할을 하는가에 따라서 정해진다.

2. Torrent client (토렌트 클라이언트): 토렌트를 사용하고 파일을 받기위해 Peer 로 참여하기 위한 소프트웨어. 플랫폼에 따라서 다양한 클라이언트들이 존재한다. - [ BitTorrent client 비교 ]

3. .torrent (토렌트 파일 확장자): 전송받고 싶은 파일에 대한 내용을 저장한 파일(메타데이타; metadata) 로 토렌트 클라이언트에서 해석해서 어떤 파일을 어디서 어떻게 받을 수 있는지에 대한 내용을 저장한 파일이다. 토렌트를 처음 접하는 사람에게 가장 혼동되는 부분이 바로 이 부분인데, 토렌트 파일은 실제 자신이 받고 싶어하는 파일이 아니라 해당 파일을 전송 받을 수 있는 기본적 정보만을 가지고 있는 파일이다. 따라서 토렌트 파일을 열면, 토렌트 클라이언트가 해당 파일의 정보를 분석해서 어디서 받을 수 있는지 준비하는 것이다.

더 알아두어야 할 용어들이 있지만 실제 사용법을 통해서 살펴보도록 한다.

토렌트의 세계로 출발

토렌트를 사용하기 위한 가장 기본적인 준비는 당연히 토렌트 클라이언트를 설치하는 것이다. 자신의 운영체제와 원하는 형태 (프리웨어 혹은 상용 등) 를 선택해서 설치한다. 윈도우에서 가장 많이 사용되는 μTorrent 를 통해서 살펴보자. 원래는 프리웨어였으나 현재는 애드웨어(ad-ware)형태로 클라이언트에 자신들의 광고가 삽입되는 형태이고 기본적인 사용에는 별로 문제가 없다. 참고로 설치과정에서 설치하라고 권유하는 웬만한 추가적인 옵션은 선택하지 않기를 바란다. 만약 클라이언트의 광고를 거의 신경쓰지 않고 사용하고 싶다면, 최신버젼이 아닌 3.2 (build 27886) 버젼을 사용하면 좀더 만족할 것이다.

[ 업데이트 2013년 10월 10일: 실행 상 가벼운 클라이언트로 μTorrent 가 많이 사용되지만 최신버젼의 경우 클라이언트 상 원치 않는 광고가 붙어있고 추천한 3.2 의 경우 특별히 광고는 보이지 않게 사용할 수 있지만 컴퓨터의 CPU 가 100% 가 되어 더이상 컴퓨터에 무리가 되는 경우가 많다. 토렌트 시드의 분할 갯수와 디스크 캐쉬 등의 문제로 이런 문제가 발생할 때는 낮은 버젼의 클라이언트를 이용하는 방법도 추천한다. 이외 몇가지 설정 방법이 있지만 경우에 따라서 설정을 조정하며 자신에게 맞는 설정을 찾는 것이 필요할 것 같다. 다른 클라이언트를 사용하는 것도 좋은 방법이다. ]

험해보기 위해 Fedora 리눅스 torrents.fedoraproject.org 에 접속해서 .torrent 로 끝나는 파일 하나를 선택한다. 아주 작은 용량의 .torrent 로 끝나는 확장자의 파일을 다운받게 되고 해당 .torrent 파일을 열면 미리 설치한 토렌트 클라이언트가 실행된다.


토렌트 파일 내용을 보여주며, 어떤 파일이 있는지 그리고 어디에 저장을 할 것인지 확인하게 된다. (옵션에 따라서 이 화면은 바로 지정된 위치에 바로 전송을 시작할 수 있다.) 원하는 파일을 선택하고 확인을 누르면 토렌트 클라이언트에서 전송받는 것을 시작하게 된다.


해당 토렌트 파일이 가지고 있는 정보에 따라서 실제 파일을 자신이 지정한 위치 (폴더)에 저장하게 된다. 리스트 내용을 통해서 토렌트에 사용되는 용어를 추가로 설명하면...

4. Seeds (시드): Peer (해당 파일의 전송에 참여하는 인터넷 클라이언트) 중 해당 파일을 100% 가지고 있는 Peer 를 이야기한다. 6(297) 이란 말은 현재 297명의 Seeds 중에서 6명이 실제로 나에게 전송을 해줄 수 있다는 것을 뜻한다. 아래의 상세 화면에 나타난 Peers 화면에 보면 100.0 이라고 나온 사람들이 6명이고 100.0 이 아닌 Peers 들이 4명인 것을 볼 수 있다.

5. ETA: 원래는 도착예상시간이지만 파일 전송 완료 시간이 될 것이다. 현재 네트워크 속도와 파일 크기 등을 비교해 예상 완료 시간을 알려준다.

6. Down Speed / Up Speed: 앞서 이야기한 것처럼 토렌트는 자신이 파일의 20%만 가지고 있다고 해도 20% 의 파일 조각이 필요한 다른 Peer 들에게 나누어준다. (Upload) 현재 내가 전송받고 있는 속도와 전송해주는 속도를 나타낸다.

7. Ratio (비율): 내가 전송해준 데이터량 / 전송받은 데이터량 을 나타낸다. 즉, 1.000 이면 내가 전송받은 데이터량이 1G 이면 나도 다른 피어(Peers)들에게 1G를 전송해준 것이다. 물론 전송해준 피어들이 누구인지는 상관없이 총량만을 나타낸다.

8. Availability (완전체): 토렌트에서 상당히 중요한 개념이다. 내가 최종적으로 받으려는 파일이 완전하게 몇 카피(copies)를 받을 수 있는지에 대한 개념이다. 보통은 현재 가능한 Seeds 의 숫자 + Peers 들이 가지고 있는 파일 구성으로 얼마나 구성되는지를 나타낸다. 즉, Seeds 는 100%를 가지고 있기 때문에 온전하게 1 copy 를 줄 수 있는 상태이고, Seeds 중에 서로의 파일을 모아 모아서 겹치는 파일 조각들을 제외하고 몇 카피까지 만들 수 있는지를 나타내는 것이다. 즉, 6.976 이라면 6개 카피와 97.6% 완성된 한 카피를 받을 수 있다는 것이다. 만약 완전체 숫자가 0.764라고 한다면 내가 아무리 현재 용을 써도 76.4%만 받을 수 있다는 것이다. 따라서 1이 안된다면 파일을 온전히 받을 수 없게 되고 새로운 Seeds 나 파일의 모자른 부분 파편을 채워줄 Peers 들이 참여하게 될 때 1 이상이 되어 전송 완료가 가능하게 되는 것이다.

시간이 지나면서 Seeds 와 Peers 들의 참여가 더 많아지면서 숫자는 증가하고 그에 따라 전송받는 속도도 증가하는 것을 알 수 있다.


아래 상태바를 보면 몇가지 정보가 나오는데 DHT 는 조금 뒤에 설명을 하고 두번째 항목은 전송받는 속도 / 총 전송받은 데이터량 이고 두번째는 전송해주는 속도 / 총량 을 표시해주고 마지막 녹색 (체크)표시는 네트워크에 잘 참여하고 네트워크 연결에 별 문제가 없다는 표시이다.

9. Health: 리스트 항목에서 설명하지 않은 항목인데, Availability 는 내가 완전하게 파일을 받을 수 있는지 아닌지의 가능성을 알려준다면, Health 는 안정적으로 제대로 속도가 나면서, 비실비실하지 않고 받을 수 있는 가능성을 표시해준다. 예를 들어 Seeds 가 있어서 1 이상이 된다고 해도 Seeds 의 네트워크 상태가 안좋거나 속도가 느려서 보였다가 안 보였다 할 수 있기 때문이다.

토렌트를 이용해 파일 전송받기

대방도 토렌트를 사용한다면 토렌트의 강력한 장점이 여기에서 발휘된다. 만약 전송해주고 싶은 파일이 있다면 실제 파일을 대용량 메일이나 FTP 서버 등을 통해서 보내주지 않고 간단하게 .torrent 파일 하나만 보내주면 실제로 보내줄 수 있는 서버가 없어도 인터넷에 수많은 Peers 의 도움으로 파일을 받을 수 있도록 해줄 수 있기 때문이다. 아주 작은 용량의 파일만으로도 파일을 받게 할 수 있기 때문이다.

그런데 여기에서 아주 기본적인 의문이 들 것이다. 바로 토렌트 파일 안에는 분명 누가 해당 파일을 가지고 있는지 어떻게 아는가이다. 아주 간단하지만 해당 파일을 전송보내고 있는 Peers (Seeds) 들이 어떤 파일들과 어느정도를 가지고 있는지를 알려주는 것이다. 자신이 전송보낼 수 있는 파일들에 대한 내용을 특정 서버에 알려주고 이 서버를 통해서 다른 Peer 들은 정보를 받아서 내가 받는 파일이 누구에게 어느 부분이 있는지를 알려주는 것이다. 이러한 역할을 하는 것이 Tracker 라고 부른다.

10. Tracker (트랙커): 파일을 가진 Peer 와 네트워크 정보를 수신받고 이를 참여하는 Peer 들에게 알려주는 역할을 하는 서버 및 기능


아래의 Trackers 내용을 보면 제대로 작동하는지 그리고 언제 업데이트 되었고 해당 트랙커에서 몇명의 Seeds 와 Peers 가 있는지를 보여준다. 만약 트랙커가 존재하지 않거나 확인되지 않는다면 파일을 어디서 받아야 할지 모르기 때문에 파일을 제대로 전송받을 수 없게 된다. 가끔 토렌트 파일을 받았는데 전혀 전송이 진행이 되지 않는다면 해당 트랙커의 내용이 제대로 작동하는지 확인해 볼 필요가 있다.


Files 항목을 보면 전송받는 파일에 대한 항목들이 나온다. # Pieces 는 해당 파일을 몇조각 내서 받고 있는지를 보여준다. 그리고 Pieces 의 이미지를 보면 토렌트의 기본적 작동 원리를 느낄 수 있을 것이다. 즉, 조각난 파일들을 여러 곳에서 전송받아서 하나로 구성을 하기 때문에 꼭 100%를 가지고 있는 곳에서 전송을 받지 않고 60%만을 가진 곳이지만 속도가 빠르다면 빠른 곳에서 해당 파편을 채우는 방식으로 전송이 이루어지기 때문에 참여자가 많다면 상대적으로 다른 파일 전송 방식에 비해 빠를 수 있는 가능성이 높아진다. (100명이 하나의 서버에서 전송받는 방식이라면 오히려 속도는 줄어들 것이다.)

여러개의 파일을 전송받을 경우에는 리스트에서 전송받는 우선순위를 선택할 수 있다. 리스트에서는 Bandwidth Allocation 을 High 로 선택해서 다른 항목보다 더 먼저 받을 수 있도록 할 수 있고, 토렌트 내의 개별 파일의 경우에도 Priority 에서 High 를 선택해 다른 파일들보다 더 우선적으로 받을 수 있도록 조정할 수 있다. 물론 이렇게 우선순위를 높였다고 해서 먼저 전송완료 되는 것은 아니다.


파일 전송이 완료되면 자신은 100% 를 가지고 있기 때문에 Seeder 가 된다. 이때부터 파일 전송받는 것은 중단되고 파일이 필요한 사람들에게 전송을 해주게 된다. 이때 토렌트 클라이언트를 나가거나 (Exit; 토렌트 클라이언트에서 완전히 종료하기 위해서는 File → Exit 를 선택해야 한다.) 해당 토렌트를 Stop Torrent 혹은 Pause Torrent 하면 파일 전송해주는 작업은 중단되게 된다. 그러나 다시 토렌트 클라이언트를 실행시키거나 Start Torrent 를 하면 다시 Seeds 로서 파일 전송해주게 된다.

리스트에서 삭제(del)키를 누르거나 Remove (제거)를 누르면 해당 리스트에서 사라지는데 이때 사라지는 것은 전송받은 파일이 아니라 토렌트(.torrent) 파일이다. (물론 .torrent 파일과 함께 전송받은 파일(data)도 동시에 지우는 메뉴도 있다.) 바로 처음에 설명한 .torrent 파일이 클라이언트에서 더이상 사용되지 않는 것이다. 이렇게 파일을 누군가에게 전송을 다 받고 나서 해당 토렌트 파일을 삭제하게 되면 더이상 자신의 파일이 더이상 누군가에게 전송보내주지 않게 된다. 전송 완료되자 마자 바로 토렌트 파일을 리스트에서 지우는 것을 보통 Hit-and-Run 우리말로는 '먹튀'라고 부른다. 뭐 도덕적으로 나쁘다 뭐다 라고 말하기는 어렵지만 어느정도 토렌트를 공유하는 사이트에서는 적어도 자신이 받은만큼 다른 사람들에게 제공하는 (Ratio 가 1 이상) 것을 예의라고 생각하기도 한다. 따라서 이렇게 Ratio 가 1이나 2 이상을 유지하지 않으면 파일을 전송 받을 수 없도록 조정하는 트랙커(tracker)를 사용하는 Private Torrent 사이트들도 존재한다.

11. Private Torrent: 회원제를 통해서 토렌트 파일을 공유하며 Ratio 비율에 대한 규율이 있어 해당 비율을 지키지 않는 경우 전송받을 수 없도록 만들어진 토렌트 파일. 일반적으로 먹튀가 어렵고 자신이 전송해준 실적(?)에 따라서 전송받을 수 있는 전송량이 정해진다. 그러나 폐쇄적인 운영으로 불법 자료들이 공유될 가능성이 높아지기 때문에 이에 대한 주의도 필요하다.

12. Public Torrent: Ratio (비율) 규정이 없기 때문에 얼마든지 먹튀가 가능하고 Peer 들의 자율적인 양심(?)과 자비심(?)으로 이루어지는 공개 토렌트 파일. 공유된지 오래되거나 원본 시드(seed)가 빠져 나간 경우 완전체가 이루어지지 않아서 제대로 받을 수 없기도 한다. 최근에 만들어져 공유된 토렌트의 경우나 참여자가 많아 전송에 문제없는 경우도 많다.

토렌트를 이용하여 파일 보내기 

렌트를 이용해 파일을 받는 경우에 대해서 살펴보았기 때문에 토렌트 (.torrent) 파일의 개념과 토렌트 클라이언트에 사용되는 개념에 대해서 살펴보았다. 파일을 보낼때도 이 개념을 기초로 보내면 아주 편리하다. 보낼 파일(폴더)를 지정하고 앞서 설명한 자신의 파일과 위치를 알려주는 트랙커(tracker) 서버를 지정하고 나면 torrent 파일을 만들 수 있다. 이렇게 만들어진 .torrent 파일을 상대방에게 보내주면 상대방은 파일 정보와 트랙커 정보를 통해서 파일을 보내줄 수 있다. 이때 중요한 것은 자신이 만들고 자신만이 가지고 있는 파일이기 때문에 상대방이 전송받기 위해서는 내가 Seed 로 제공해주어야 하기 때문에 토렌트 클라이언트를 실행하여 해당 파일을 Seeding 해주어야 한다는 것이다.


만약 해당 파일을 100명의 지인들에게 보내서 모두가 토렌트를 실행했다면 처음에는 자신만이 Seed 로 완전체 (Availability) 는 1로 시작하겠지만 상대방들이 점점 받아감에 따라서 완전체가 2 ~ 3 이 된다면 그때는 먹튀를 해도 다른 사람들은 전송받을 수 있게 된다. 물론 이때 모든 Seed 들이 먹튀를 한다면 당연히 나머지 Peer 들은 전송을 완료하지 못할 것이다.

트랙커 정보는 인터넷에서 검색으로 쉽게 찾을 수 있다. 그러나 혹시 모르기 때문에 몇개의 트랙커를 넣어도 되지만 DHT 등의 기술 등으로 특별히 트랙커의 도움없이도 작동할 수 있기 때문에 크게 걱정하지 않아도 된다. 그래도 혹시 모르기 때문에 기본값으로 넣어주는 트랙커의 경우 (개인적 파일전송을 위해서)

udp://tracker.openbittorrent.com:80
udp://tracker.ccc.de:80
udp://tracker.istole.it:80
udp://tracker.publicbt.com:80
http://announce.opensharing.org:2710/announce
http://announce.torrentsmd.com:8080/announce


정도 추가해주기도 한다. UDP 는 클라이언트 소프트웨어에 따라서 지원하는 경우가 있으니 확인이 필요하다. HTTP 는 모든 클라이언트에서 사용가능하다.

토렌트 설정의 몇가지 내용


신이 원한다면 토렌트 시더 (seeder)로 계속 토렌트 클라이언트를 실행시켜 누군가에게 전송해줄 수 있겠지만 이런 경우 자신의 컴퓨터를 계속 켜 놔야 하는 불상사가 생기기도 한다. 24시간 켜 놓는 서버나 NAS 의 경우라면 괜찮겠지만 일반 노트북이나 작업용 컴퓨터라면 윈도우가 실행될 때 자동으로 실행시켜 놓지 않는 것이 좋을 것이다. 토렌트가 자신이 원하는 파일이나 미디어 등 대용량 파일을 전송받는 좋은 방법이긴 하지만 앞서 설명한 것처럼 클라이언트를 실행시켜 토렌트 파일을 리스트에서 Seed 한다는 것은 계속 자신의 컴퓨터를 누군가가 파일을 가져가도록 켜있어야 한다는 것을 명심해야 할 것이다.


위의 Location of Downloaded Files 는 .torrent 파일이 아니라 토렌트를 통해서 다운 받은 파일을 이야기한다. 기본적으로 받을 위치와 전송이 완료되면 옮길 위치를 지정할 수 있다. 아래 부분은 .torrent 파일에 대한 내용이다. 처음에 토렌트 파일을 받는 위치, 만약 작업이 끝나면 (리스트에서 토렌트 파일을 삭제하는 경우) 옮겨지는 위치, 세번째 항목 (Automatically load .torrent from:) 은 만약 해당 위치에 토렌트 파일이 생기면 자동으로 토렌트 클라이언트를 실행해서 해당 파일을 전송시작한다. Dropbox 와 같이 폴더 동기화가 가능한 클라우드 서비스를 이용해서 모바일 기기에서 .torrent 파일만 클라우드 서비스 Dropbox 의 해당 폴더에 올리면 동기화되는 컴퓨터에서는 자동으로 전송받기 시작한다.

이렇게 해서 작업이 끝난 토렌트 파일들은 특정 위치로 옮겨 놓으면 용량도 거의 차지하지 않지만 나중에 필요하면 다시 전송받을 수 있는 일종의 자료실로 만들 수 있다. 해당 폴더를 다시 홈페이지 형태로 리스트만 해도 토렌트 파일을 공유하는 저장소로 만들 수 있다.
e.g.:) 작업 완료된 토렌트가 모이는 폴더 → Droppages 나 Pancake.io 와 같은 Dropbox 의 폴더를 홈페이지로 보여주는 서비스와 연동 → 다른 사람들에게 내가 받은 토렌트 파일을 공유


Bandwidth 는 내가 전송보내는 속도 (Upload) 와 전송받는 속도의 최고값을 정할 수 있다. 0 은 무제한으로 네트워크 상태에 따라서 최고값을 가진다. 설정값은 자신의 상황에 따라서 변경할 수 있지만 일반적으로 무제한으로 두어도 별 문제는 없다. 그런데 토렌트의 전송받는 특징을 살펴보면 앞서 본 것처럼 파일들을 조각조각 받는 것이기 때문에 디스크의 엑세스 빈도가 증가하는 것을 알 수 있다. 따라서 다운받는 위치가 운영체제와 같은 곳이라면 SSD 가 아닌 일반 HDD 의 경우에는 시스템 실행에 영향을 줄수밖에 없게 된다. 따라서 외장하드 / 운영체제가 설치된 디스크와 물리적으로 다른 (파티션으로 나누어진 C: D: 드라이브도 별 의미없겠죠?) 하드에 전송받는 것이 좋다. 그리고 외장하드의 경우 전체 인터페이스의 한계 속도가 있기 때문에 최대 전송받는 속도를 제한하는 것도 선택할 수 있는 방법이다.

Remote 항목에는 아이디와 패스워드를 지정할 수 있는데 이렇게 지정을 하면 모바일 기기나 다른 컴퓨터에서 [ remote.utorrent.com ] 로 접속하거나 전용 앱을 통해서 토렌트 클라이언트를 원격 조정할 수 있도록 해준다. 상당히 유용하고 전문적 토렌트 운영(?)을 하는 분들에게는 아주 괜찮은 도구가 되어준다.


이밖에 설정에는 다양한 옵션이 존재하기 때문에 각 항목을 살펴보며 자신에게 맞는 옵션을 설정하면 편리하게 토렌트를 사용할 수 있을 것이다.

[추가] 자동종료 기능: 전송받은 후 토렌트 클라이언트를 종료시키거나 대기상태 혹은 전원을 끄고 싶은 경우를 위해 Auto Shutdown (자동 종료) 기능이 있다. 주로 when Downloads Complete 을 선택하면 클라이언트를 종료시키거나 휴면모드(Hibernate) 대기상태, 리부팅, 종료 를 할 수 있다. 밤새 전송받다가 잠이 들면 전송이 완료 되어도 계속 전송해주기(Seeding) 상태로 켜있기 때문이다. 종료 되지만 해당 토렌트 리스트는 그대로 남아 있기 때문에 다음에 다시 실행하면 예전에 완료된 목록들이 그대로 남아 있을 것이다.


토렌트의 현실적 유용성, 응용성

렌트가 무엇이고 어떻게 파일을 받고 보내주는지에 대해서 그리고 설정에 대한 내용을 확인해도 여전히 남는 뭔가 개운하지 않은 느낌이 있다. 어디서 내가 원하는 파일을 받을 수 있는가이다. 물론 이런 토렌트를 전문적(?)으로 주고 받을 수 있도록 만들어진 게시판 커뮤니티들도 많이 있고 검색엔진도 있다. 문제는 해당 파일들이 대부분 영상물이나 라이센스 없는 소프트웨어의 경우가 많다는 것이다. 이런 시스템을 모르는 사람들은 직관적이고 간편한 파일공유 사이트들에서 실제 돈을 지불하며 파일을 전송받는 경우가 있지만 잘만 활용하면(?) 자신이 원하는 자료를 얻는 것이 그리 어렵지 않다는 것을 알 수 있다. 이부분에 대해서 설명하고 소개하는 것은 적절하지 않기 때문에 그렇게 쓰는 사람들이 많다는 현실적 유용성만을 언급하고 넘어간다.

그보다는 토렌트를 이용하면 상당히 유용한 곳에 많이 사용될 수 있다. 기존의 파일 서버를 새로운 형태로 토렌트로 변경한다면 서버의 비중은 줄이면서 원활한 자료 공유가 가능하게 해줄 것이다. 예를 들어 생명공학 연구에 사용되는 단백질 데이터나 DNA 데이터 등 다양한 실험 데이터들은 한개의 파일만 1G 이상 되는 경우가 많은데 이런 경우 파일을 올려 공유하는 형태가 아닌 토렌트 파일로 공유하는 형태로 만든다면 공유에도 무리없고 전송에서도 무리가 덜할 것이다. 앞서 예로 들어 보인 페도라 리눅스의 경우에도 설치 이미지의 배포를 토렌트를 이용해 수많은 사람들의 Seed 를 통해서 가능하게 해주었다.

토렌트 파일이 파일 전송에 유용한 파일이지만 나중에 쓸모가 없어지거나 이 또한 하나의 처리해야하는 파일로 남는 경우가 많다. 토렌트 파일에는 새로운 기능이 있다. 마그넷 (magnet) 이란 형태인데 토렌트를 실행시키는데 파일조차 존재하지 않고 단순한 텍스트 스트링(text string)으로만 토렌트를 실행시킬 수 있는 방식이다.

토렌트 파일 대신 얻은 마그넷 주소를 토렌트 클라이언트에서 입력하면...


magnet:?xt=urn:btih:4AC6 ..A83B6B8955 ....7B94A5673

와 같은 형태의 텍스트를 입력해서 자료 전송을 시작할 수 있고 반대로 자신이 지금 전송받고 있는 자료의 경우에는 리스트에서 오른쪽 버튼이나 메뉴 버튼을 누르면 마그넷 주소 복사(M) / Copy Magnet URL 을 통해 마그넷 주소를 복사할 수 있다. 토렌트 파일과 동일하게 전송받을 수 있게 된다.

당분간 p2p 를 대체할 새로운 형태의 서비스가 나타나기 전까지는 아마도 토렌트가 거의 절대 강자로 군림할 것 같은 느낌이다. 문제는 어떤 자료들이 토렌트를 통해서 전달되고 공유되는가이다. 아주 간단하게는 저작권의 문제도 있을 수 있고, 청소년 유해물도 쉽게 전송받을 수 있다는 문제점이 존재하고 익명성이 더 강하기 때문에 고려해야하는 문제점들도 많을 것이다. 그러나 토렌트는 파일 전송에 있어서 가장 명쾌하고 간단한 방법이기도 하다.

어두운 면이 있지만 반면 다양한 응용을 통한 새로운 접근과 기술의 발전도 가능하다는 점도 무시해서는 안될 것이다. 에를 들어 RSS 와 결합하여 주기적으로 올려지는 새로운 미디어 형태를 방송하는(broadcasting)하는 방식, 앞서 설명한 실험, 연구에서의 데이터 공유의 체계적인 공유 등 파일 데이터가 가지는 사이즈의 한계를 토렌트는 아주 가볍게 해결하게 해주었다. 실제로 대부분의 토렌트 클라이언트는 토렌트와 스트리밍을 연결해서 토렌트를 통한 스트리밍 미디어를 이용할 수도 있다. 이러한 다양한 응용 가능성에 앞서 토렌트가 가지는 특성과 기능, 그리고 개념을 이해한다면 좀더 편리하게 사용할 수 있을 것이라 본다.

0 comments:

Post a Comment