Введение
Файлообменная сеть – это собирательное наименование сетей для совместного использования файлов. Иногда основанием файлообменных сетей выступают одноранговые компьютерные сети, которые основаны на равных правах пользователей, принимающих участие в обмене файлами. То есть, все участники одновременно считаются и клиентами, и серверами.
Главными принципами работы файлообмена типа torrent являются следующие аспекты:
- Пользователь должен скачать программу себе на компьютер.
- Пользователь должен разрешить доступ другим пользователям к определенной части своих ресурсов (данный процесс называется «расшариванием» от английского sharing).
- В каждой такой программе присутствует поиск, который ищет ресурсы, выложенные на компьютерах других пользователей для свободного скачивания.
Программа предоставляет большой набор возможностей. В частности, каждый пользователь при помощи поиска может найти на компьютере любого другого пользователя ту совокупность ресурсов, которую тот предоставил для свободного доступа, и бесплатно скачать их. А поскольку количество пользователей подобных файлообменных программ может исчисляться сотнями тысяч, а может даже миллионами, то пользователь, как правило, находит необходимый ему файл.
Основы разработки файлообменного сайта типа «torrent»
Существуют следующие типы организации файлообменных сетей:
- Сети централизованного типа.
- Сети децентрализованного типа.
- Сети гибридного типа.
Достоинством централизованной сети может считаться сравнительная простота программирования подобной сети и незначительный объем служебной информации, которая должна передаваться на серверы.
В децентрализованной сети отсутствуют выделенные серверы, а все узлы (peer) выступают и как клиенты, и как серверы. В отличие от архитектуры клиент-сервера, эта архитектурная организация предоставляет возможность сохранения работоспособности сети при любых количествах и любых сочетаниях доступных узлов.
Частично децентрализованные, то есть, гибридные сети, сочетают в себе скорость централизованных сетей и надежность децентрализованных. В них задействованы гибридные схемы, в которых применяются независимые индексационные серверы, которые непрерывно синхронизируют информацию между собой. Это означает, что при выходе из строя одного из серверов, сеть продолжает нормально работать
Следует отметить одну из особенностей устройства одноранговой сети. Каждый член сети не может гарантировать свое присутствие на постоянной основе. Он может появиться и исчезнуть в любой момент времени. Но когда достигается определенный критический размер сети, то может наступить такой момент, что в сети одновременно могут существовать много серверов, имеющих одинаковые функции.
Во всем мире насчитывается примерно 150 миллионов пользователей торрента, что является лучшим доказательством того, что система работает и считается необычайно популярной. Следует отметить, что найти и скачать необходимую информацию при помощи торрента намного проще, чем искать ее в сети, а иногда и не находить.
Протокол BitTorrent содержит в себе самые простые и понятные принципы, в основе которых заложено «Я тебе — ты мне». Но при этом, это не просто одноранговая (пиринговая) сеть, где пользователи могут скачивать друг у друга открытые для этого файлы, непременно находясь в очереди в ожидании, пока для них должен освободиться необходимый слот. Скорее наоборот, это технология, которая позволяет получить файл максимально оперативно, а часто даже быстрее, чем при скачивании его с HTTP-сервера.
Значительная роль здесь отводится так называемым torrent-трекерам, которые изначально предполагались только в качестве координаторов процесса передачи файлов между пользователями. Однако в дальнейшем они превратились в информационные порталы о расшаренных файлах, имеющие огромную популярность.
Протокол BitTorrent впервые был представлен общественности в начале июля 2001-го года, когда программист Bram Cohen представил его первоначальную версию на языке Python. Сегодня существует очень большое количество клиентов, которые используют более чем 150 миллионов пользователей BitTorrent по всему миру. Такая популярность обусловлена следующими причинами:
- Он обладает самой высокой скоростью работы по сравнению с другими пиринговыми сетями.
- Полное отсутствие очередей и фактически моментальное начало закачки файла.
- Наличие возможности просмотра подробной информации о скачиваемом файле, благодаря информационным сайтам, где выложены торренты. К примеру, для музыкального альбома это может информация о битрейте, треклист, лог-файл программы риппера, обложка.
- Наличие возможности закачки файлов частями.
- Передача файлов выполняется напрямую между пользователями, сервера могут только координировать процесс соединения и передачи файлов.
Для того чтобы осуществить обмен файлами, пользователю требуется так называемый BitTorrent-клиент, то есть, программа, в которой реализуется протокол BitTorrent. Чтобы скачать какой-нибудь файл, следует сначала найти для него, так называемый torrent-файл, внутри которого находятся специальные метаданные, а именно, это:
- Информация о самом файле (его хэш-сума).
- Информация о координатах так называемого трекера, то есть, компьютера-сервера, координирующего распространение файла.
Torrent-файл способен сохранять информацию не об одном, а сразу о многих файлах, поддерживая сложную иерархию папок. После прочтения из torrent-файла метаданных, клиент должен подсоединиться к трекеру и сообщить ему свой адрес и хэш-сумму запрашиваемого файла, на что в ответ должен получить адреса других пиров, скачивающих или раздающих данный файл.