http://ru.wikipedia.org/wiki/Bittorrent
BitTorrent — система распостранения обьёмных файлов в сети, основанная на технологии http://ru.wikipedia.org/wiki/P2P. Этот протокол рассчитан на каналы с высокой скоростью передачи данных.
BitTorrent был создан программистом http://ru.wikipedia.org/w/index.php?title=%D0%9A%D0%BE%D1%83%D1%8D%D0%BD%2C_%D0%91%D1%80%D1%8D%D0%BC&action=edit (http://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA Bram Cohen).
Особенности
От аналогичных P2P-протоколов Bittorrent отличается тем, что не имеет системы поиска: для каждого распространяемого файла создаётся файл с расширением torrent, который содержит информацию о распространяемом файле. Данный torrent-файл может распространяться через любые каналы связи — например, списки torrent-файлов могут выкладываться на специализированных http://ru.wikipedia.org/wiki/%D0%92%D0%B5%D0%B1-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80, размещаться на домашних страницах пользователей сети, рассылаться по http://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D0%BF%D0%BE%D1%87%D1%82%D0%B0, публиковаться в http://ru.wikipedia.org/wiki/%D0%91%D0%BB%D0%BE%D0%B3 или новостных лентах http://ru.wikipedia.org/wiki/RSS. Сам torrent-файл содержит метаинформацию (к примеру, http://ru.wikipedia.org/wiki/Hash, адрес http://ru.wikipedia.org/wiki/%D0%A2%D1%80%D0%B5%D0%BA%D0%B5%D1%80, и так далее) о распределяемых данных. Данные распределяются при помощи собственного коммуникационного протокола на базе http://ru.wikipedia.org/wiki/TCP/http://ru.wikipedia.org/wiki/IP.
Основной принцип работы протокола: раздача файла полностью контролируется http://ru.wikipedia.org/wiki/Tracker (адрес которого находится в torrent-файле), поэтому пользователь, качающий себе файл (он называется http://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%87%D0%B5%D1%80) сам начинает раздавать, как только скачивает первую пригодную для этого часть. Кооперативное поведение пользователей заложено в самой архитектуре протокола, а эгоистичное невозможно в принципе.
Принцип работы
Архитектура BitTorrent предусматривает наличие у файла, выкладываемого в сеть, единственного владельца, который и заинтересован в его распространении. Именно первоначальный обладатель файла генерирует torrent-файл. Клиент, в свою очередь, загружает файл с расширением torrent, где содержится информация об адресе владельца в интернете, имени и размере нужного файла, а также его хеш. Это всё необходимо для отслеживания хода процесса, контроля над ним и ликвидации возможности загрузки пользователями неполного или пустого файла. Далее нужный торрент-файл открывается клиентом http://ru.wikipedia.org/wiki/BitTorrent, http://ru.wikipedia.org/w/index.php?title=BitComet&action=edit, http://ru.wikipedia.org/w/index.php?title=UTorrent&action=edit, http://ru.wikipedia.org/wiki/Shareaza, http://ru.wikipedia.org/wiki/Azureus, BitTornado или любым другим torrent-клиентом и при наличии ресурсов начинается загрузка конечного файла.
Пользователи-«эгоисты»
Залогом успеха любой пиринговой сети является правило, требующее от пользователей не только загрузки файлов, но и предоставление их другим. Между тем, в силу разных причин (в основном, связанных с оплатой каналов), весьма часто пользователи предпочитают как можно быстрее загрузить файл и отключиться, несмотря на то, что в правила этикета записана просьба поделиться с другими пользовательми. Это снижает количество доступных источников для других, из-за чего страдают стабильность и качество сети. В BitTorrent предусмотрен особый метод борьбы с «эгоистами», который предполагает рейтинг пользователей, где самые «щедрые» получают приоритет на чужих серверах, а те, кто «делиться» не желают, при загрузке популярного файла уходят в конец очереди. Если в http://ru.wikipedia.org/wiki/Kazaa без труда можно было повлиять на свой рейтинг, то в BitTorrent это пока невозможно.
Неполные файлы
Участие в системе обмена tracker-сервера дало программистам BitTorrent возможность внедрить алгоритм, предотвращающий появление неполных файлов. Поскольку tracker хранит информацию о сегментах, успешно загруженных на каждую машину, то загрузка файла новыми клиентами принудительно начнётся с наиболее редкого сегмента. Если клиент BitTorrent загружает крупный файл, разбитый на 200 частей, то это совсем не означает, что процесс начнётся с сегмента №01 и закончится сегментом №200. Клиент всегда получает сегмент, занимающий последнее место по распространённости, что в идеале после 200 подключений к центральному серверу даст возможность выложить в пиринговую сеть файл целиком.
Ресурсы торрент-файлов
В самих клиентах нет функции поиска файлов, для этого существует множество сайтов, на которых публикуются торрент-файлы. Найти их не составит много трудностей.
-----------------------------------------
P.S.
Поисковые сайты:
bittorrent.com
isohunt.com
mininova.org
thepiratebay.org
bitoogle.com
bytenova.org
torrentspy.com
torrentz.com
Полезные ресурсы:
torrent.e2k.ru
-------------------------------------------
http://torrents.ru/forum/viewtopic.php?t=1045
Битторрент - это протокол разработанный для обмена файлами. По сути он является peer-to-peer протоколом, когда каждый пользователь коннектится к другому напрямую, для приема или передачи частей информации. Но в то же время существует центральный сервер ( называемый трекер) который является координатором действий всех существующих связей между пользователями. Трекер только управляет соединениями, он не содержит никакой информации о содержимом файлов, передаваемых между пользователями. Принципиальное отличие Битторрент - от других p2p систем - в том , что пользователь, который скачивает к себе информацию, является так же ее распространителем, т.е передает информацию другим пользоваелям. В этом случае пропупскная способность сети используется наилучшим способом, насколько это возможно. Битторрент разработан для наилучшей работы в сетях, где большое количество людей с совпадающими интересами. При этом чем большее количество людей участвует в раздаче конкретного торрента, тем большую конечную скорость может получить каждый из них.
А зачем она нужна? Когда есть каза, директконнект, емуль и еще куча пиртупиров..
Наиболее популярным методом передачи файлов в сети является модель "клиент-сервер". Центральный сервер посылает файл целиком каждому, кто в нем нуждается - так работают протоколы http и http://ftp./ Клиенты общаются только с сервером - и никогда - между собой. Основным, и пожалуй единственным преймуществом этого метода является то, что он прост в реалицации и использовании. Этот метод работает до тех пор, пока сервер, находится в сети и может обслуживать запросы всех клиентов. В противном случае - и этом мы видим достаточно часто, эта модель может давать сбои - как только сервер становится слишком популярным, и как только размер данных начинает быть слишком большим. Именно поэтому вы можете наблюдать сообщения "слишком много пользователей" пытаясь скачать демку новой игры или новый CD с сервера. Концепция "зеркалировани" лишь отчасти решает эту проблему, посколько требует сложной настроийки "отзеркаливания" серверов и распределения загрузки между ними.
Другой метод передачи файлов стал более популярным - p2p системы, такие как Kazaa, eDonkey, Gnutella, Direct Connect, etc. В таких сетях обычные пользователи сети обмениваются файлами, напрямую подсоединяясь друг к другу. Преймушество этих систем в том, что файлы не обязательно должны находится на одном сервере. При этом, однако, невозможно отследить содержимое этих файлов. Именно поэтому эти сети получили огромное распространение среди любителей музыки, фильмов и особенно warez. Проблемой этих сетей стали популярные данные, к которым обращается наибольшее количество людей. Поскольку за новыми файлами буквально "выстраивались очереди" то скорость скачивания уменьшалась пропорционально количеству запросов на этот файл. Кроме того в большинстве p2p систем количество соединений между пользователями ограничено, и зачастую пользователи обратившиеся за каким либо файлом попросту получали отказ. Неполностью скачанные файлы также были проблемой для пользователей- поскольку заранее определить "целый" ли запрошенный файл или нет невозможно. Результатом этих проблем стало падение популярности многих сетей и введение запретительных правил для пользователей, участвующих в них.
Однако взяв на вооружение опыт Usenet, где информация распространяется между пользователями по цепочке, где каждый из пользователей может скачать информацию и при этом внести свою, не разрушая логическую целостность группы. В результате файлы, распространяемые по Usenet стали наиболее удобным способом для массового распростанения файлов .Как следствие - группы новостей превратились в потоки сообщений из цифровых данных.
Битторрент в чем то похож на Usenet в этом. Он наиболее подходит для распростанения новинок, которыми интересуетсяч большое количество людей. Старые или мало используемые файлы распространяются в нем медленно или вообще недоступны.
A откуда возьмется столько добрых людей которые позволят мне качнуть у них файло?
Все кто скачивает данный файл одновременно являются и распространителями уже скачанных ими фрагментов. Так что вы скачивая недостающие фрагменты файла одновременно распространяете уже скачанные вами фрагметны другим. Тем самым вы "помогаете" другим а "другие" в свою очередь "помогают" вам.
Ну и каков результат?
Результат таков, что скорость скачивания в идеале ограничена лишь пропускной способностью вашего канала. В реале - она сильно зависит от кол-ва людей качающих этот файл. Т.е чем больше людей - тем больше количество потенциальных источников распространения этого файла. А поскольку торрент-клиент поддерживает многопотоковость - то как следствие - выше скорость !
А чо такое сидер, личер, трекер, торрент, ратио, анноунсер? (seeder, leacher, tracker, torrent, ratio, announсe URL)
Вот список основных терминов:
http://www.rusdivx.ee/tracker/dokuwiki/bittorrent
Русская версия Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)