вівторок, 17 березня 2009 р.

вівторок, 3 березня 2009 р.

Що ж таке торрент і з чим його їдять? :)

Бітторрент - це протокол розроблений для обміну файлами. По суті він є peer-to-peer протоколом, коли кожен користувач зєднується до іншого безпосередньо, для прийому або передачі частин інформації. Але в той же час існує центральний сервер (так званий трекер) який є координатором дій всіх існуючих зв'язків між користувачами. Трекер тільки управляє з'єднаннями, він не містить ніякої інформації про зміст файлів, передаваних між користувачами. Принципова відмінність Бітторрент - від інших p2p систем - в тому, що користувач, який викачує до себе інформацію, є так само її розповсюджувачем, тобто передає інформацію іншим користувачам. В цьому випадку пропускна здатність мережі використовується найліпшим способом, наскільки це можливо. Бітторрент розроблений для найліпшої роботи в мережах, де велика кількість людей із співпадаючими інтересами. При цьому чим більша кількість людей бере участь в роздачі конкретного торрента, тим більшу кінцеву швидкість може отримати кожний з них.
А навіщо вона потрібна? Коли є каза, діректконнект, емуль і ще купа піртупірів..
Найбільш популярним методом передачі файлів в мережі є модель “клієнт-сервер ”.Центральний сервер посилає файл цілком кожному, хто його потребує - так працюють протоколи http і ftp. Клієнти спілкуються тільки з сервером - і ніколи - між собою. Основним, і мабуть єдиною перевагою цього методу є те, що він простий в реалізіції і використанні. Цей метод працює до тих пір, поки сервер, знаходиться в мережі і може обслуговувати запити всіх клієнтів. Інакше - і це ми бачимо достатньо часто, ця модель може давати збої - як тільки сервер стає занадто популярним, і як тільки розмір даних починає бути занадто великим. Ось тому ви можете спостерігати повідомлення “занадто багато користувачів” намагаючись викачати демку нової гри або новий CD з сервера. Чи концепція “зеркал” частково рішає цю проблему, оскільки вимагає складної настройки “віддзеркалювання” серверів і розподілу завантаження між ними.
Інший метод передачі файлів став популярнішим - p2p системи, такі як Kazaa, eDonkey , Gnutella, Direct Connect, etc. У таких мережах звичайні користувачі мережі обмінюються файлами, безпосередньо під'єднуючись один до одного. Перевага цих систем в тому, що файли не обов'язково повинні знаходиться на одному сервері. При цьому, неможливо відстежити вміст цих файлів. Саме тому ці мережі набули величезного поширення серед любителів музики, фільмів і особливо warez. Проблемою цих мереж стали популярні дані, до яких звертається найбільша кількість людей. Оскільки за новими файлами буквально “шикувалися черги” то швидкість скачування зменьшувалась пропорційно кількості запитів на цей файл. Крім того в більшості p2p систем кількість з'єднань між користувачами обмежена, і часто користувачі звернувшись за якимось файлом просто діставали відмову. Неповністю викачані файли також були проблемою для корстувачів оскільки наперед визначити чи “цілий” запитаний файл, чи ні, неможливо. Результатом цих проблем стало падіння популярності багатьох мереж і введення заборонних правил для користувачів, що беруть участь в них.
Проте узявши на озброєння досвід Usenet , де інформація розповсюджується між користувачами по ланцюжку, де кожний з користувачів може викачати інформацію і при цьому внести свою, не руйнуючи логічну цілісність групи. В результаті файли, поширювані по Usenet стали найбільш зручним способом для масового розповсюдження файлів. Как наслідок, - групи новин перетворилися на потоки повідомлень з цифрових даних.
Бітторрент чимось схожий на Usenet в цьому. Він найбільш підходить для розповсюдження новинок,якими цікавиться велика кількість людей. Старі або мало використовувані файли розповсюджуються в нім поволі або взагалі недоступні.
A звідки візьметься стільки добрих людей які дозволять мені завантажити у них файли?
Всі хто завантажує даний файл одночасно є і розповсюджувачами вже викачаних ними фрагментів. Отже ви завантаживши бракуючі фрагменти файлу одночасно поширюєте вже викачані вами фрагметни іншим. Тим самим ви “допомагаєте” іншим а “інші” у свою чергу “допомагають” вам.
Ну і який результат?
Результат такий, що швидкість завантаження в ідеалі обмежена лише пропускною спроможністю вашого каналу. Насправді - вона сильно залежить від кількості людей які завантажують цей файл. Тобто чим більше людей - тим більша кількість потенційних джерел розповсюдження цього файлу. А оскільки торрент-клієнт підтримує багатопоточність - то ж як наслідок - висока швидкість !
А що таке сідер, лічер, трекер, торрент, ратіо, анноунсер? (seeder, leacher, tracker, torrent, ratio, announсe URL)
Ось список основних термінів:
Торрент (torrent) - Це ідентифікатор. Тобто файл який містить в собі інформацію про запитані файлах а саме:
а) про розмір і кількість фрагментів, і контрольну суму викачуваного файлу (файлів).
б) про трекер на якому можна отримати інформацію про сидерів і лічерів, що поширюють цей файл.
Торрент файл може бути зроблений і завантажений на трекер, любим бажаючим. Після того, як інші охочі викачують це файл собі - вони вже “знають” де брати файли з яких був створений торрент. Ще раз торрент - це ярлик, який однозначно ідентифікує вміст передаваної інформації і адресу де можна отримати цю інформацію.
Сідер (seeder) - товариш, який має на диску вже завантажений і повністю готовий до роздачі файл. Він же може бути ініціатором роздачі файлу.
Лічер (leecher) - майже товариш сидеру, той хто в даний момент бере участь в системі і завантажує шматки файлу одночасно роздаючи завантажені шматки іншим лічерам. Сідерам вони само собою не потрібні. Як тільки лічер завантажив файл - він стає сідером.
Трекер (tracker) - Це сайт, а точніше движок на сайті, який
a) складує у себе торренти і роздає їх всім клентам, щоб ті завантажували один у одного файли
б) розсилає їм інформацію про сідерів і лічерів які поширюють даний торрент, тобто є сполучною ланкою між ними.
Ратіо (ratio) - Це грубо кажучи співвідношення завантаженої і переданої вами інформації. Халявників не люблять ніде. Якщо ви хочете завантажувати інформацію з інших - будьте добрі прийняти участь в її розповсюдженні. Власне вам особисто робити для цього нічого не треба - просто не вимикайте ваш БТ-клієнт взагалі ніколи - він висить в треї і не мішає. А тим самим ви допомагаєте іншим завантажувати файли з вас, як інші допомагають вам завантажувати його з них. Майте на увазі якщо ви тільки завантажуватимете собі - адміністратор трекера може заборонити вам користування його ресурсом. Халявщиків не люблять ніде. Проте, на даний момент на цьому трекері ratio не використовується. Тобто ви можете не стежити за вашим рейтингом.
Аннонс (announce) - це службова адреса (URL) яка міститься в торрент файлах, а також сприймається клієнтами. Вони (клієнти) використовуючи цю адресу обмінюються інформацією з трекером. Чи потрібен він вам? у одному випадку коли створюєте торрент - введіть його в відповідне поле, щоб клієнти, які завантажили цей торрент знали, куди йти за вмістом.
Ой, як складно. А чи не можна простіше?
Не можна. Для того, щоб швидко поширювати інформацію по мережі її необхідно підготувати для цього.
Як створити торрент?
Є спеціальна програма для створення торрентів. MakeTorrent. Також деякі клієнти наприклад Azuerus уміють створювати торренти. Коли створюватимете торрент - не забудьте вказати URL анноунсера того трекера на який буде завантажуватись цей торрент.
Як стати лічером?
Немає нічого простішого. Викачайте торрент на диск, відкрийте в своєму клієнтові і скажіть куди завантажувати вміст торрента.
Як стати сідером?
Ще раз нагадаю - сідер - це той у кого є файл цілком. Для того, щоб стати їм, треба:
а) перечитати і спрбувати осмислити все написане вище
б) завантажити правильно створений торрент на трекер (див. попереднє питання)
в) відкривши в своєму БТ-клієнтові створений вами торрент. Далі вказати клієнтові на вміст цього торрента, тобто на ті файли, з яких був створений цей торрент.
Тяжко зрозуміти? Ще раз - коли клієнт відкриває торрент він питається "куди дівати вміст".Якщо ви вкажете на йому що у вас вже є “вміст” цього торрента - клієнт це зрозуміє і ви автоматично станете сідером. Клієнт повідомляє про це трекеру. Трекер повідомляє лічерів і ті почнуть завантажувати. Все буде добре.
Які особливості цієї системи?
Одну я вже написав - чим більше тих що завантажують файл, тим швидше він "розповзається" по мережі і завантажується вами. Дивно, але це так. Забудьте про “No slots aviable” і про “maximum connections reached”. Висновок з цього правила - чим більше народу - тим цікавіше жити разом. Порівняєте наприклад з ДЦ-жными хабами, які задихаються від напливу жадібних і “порожніх” юзерів. Зворотний бік медалі - якщо ви шукайте щось рідкісне - завантажуватимете з одного-двох сидерів, якщо взагалі знайдете. Це дійсно істотний недолік, особливо якщо в системі мало народу.
У системі як правило немає сміття. Тут ніхто не шарить гігабайти покидьків, і вам не потрібно копатся в них, намагаючись вишукувати щось корисне для себе. Трекер, на якому відображається інформація про активні торренти, є одночасно каталогізатором, рейтингом, і форумом для обміну думками. У трекера є модератори, які стежать за порядком. Хуліганитимете - забанять. Шукайте інший трекер.

Інформація про автора

Огірко Ігор Васильович у 1971р. закінчив Львівський державний університет ім. І. Франка. У 1978р. захистив кандидатську, у 1989р. - докторську дисертації. Тривалий час працював у системі Національної академії наук України, в Інституті прикладних проблем механіки та математики. Протягом багатьох років плідно працює з інформаційними технологіями для електронних видань. Виклалає курс "Прикладна математика", "Управління проектами", "Мережеві технології".
Автор 156 наукових праць, серед яких 3 монографії, 59 наукових статей. Має 12 авторських свідоцтв на винаходи.
Член двох спеціалізованих рад із захисту кандидатських та докторських дисертацій в Українській академії друкарства і Львівському національному університеті ім. І. Франка.
Постійний член редколегій збірників наукових праць "Поліграфія і видавнича справа" і "Наукові записки УАД".