Чому розповсюдження випадкових фрагментів файлу швидше, ніж суцільна передача?


17

Чому кажуть, що BitTorrent швидше, частково, тому що він передає випадкові фрагменти файлу, а не передає його від початку до кінця безперервно / лінійно?


EDIT: Але чому вони повинні бути "випадковими"? Чому б не передбачуваніше "напівконтрольне" перенесення, коли один одноліток дає вам першу половину, а другий одноліток другу половину? Це теоретично зменшило б накладні витрати.

Відповіді:


6

Щодо редагування, запитуючи, чому вони повинні бути випадковими: Скажімо, торренти були змінені на завантаження лише першого блоку, якого завантажувач ще не має, гарантуючи тим самим неперервну передачу.

Потім я поділяюся файлом 100MB. 10 людей підключаються і кожен завантажує 50 Мб, перш ніж я перейду в офлайн.

Ці люди потім накручуються, бо всі вони мають першу половину файлу, а лише я другу половину. Поки я знову не стану доступною, вони не можуть завершити завантаження.

Натомість, коли блоки переносяться у випадковому порядку, як це насправді, у кожного з цих 10 людей є різний набір блоків, тому вони можуть торгувати між собою, щоб завершити завантаження, не потребуючи мене.

Ще краще, адже кожен з них має різний набір блоків, кожен з них може завантажувати з усіхз інших заповнити прогалини в їх копії. Ви редагували посилання на ідею починати з випадкової точки у файлі та безперервно завантажувати з цього моменту, але це збільшило б кількість накладень з копії одного завантажувача на іншу (якщо Аліса починається на початку файлу, а Боб починає 10% в ньому, то є 40% файлу, який вони мають, і лише 10% унікального для кожного з них, що вони можуть торгувати без того, щоб я знову підключався, щоб зробити решта доступною). Завантаження у довільному порядку забезпечує максимальну унікальність набору блоків кожного завантажувача, таким чином, максимально збільшуючи здатність завантажувачів розпочати торгівлю між собою та максимально збільшуючи шанси, щоб вони змогли зібрати повну копію, якщо немає насіння.

Одночасне безперервне завантаження може (або не може, залежно від умов) для вас краще , але завантаження у довільному порядку краще для мережі загалом.


"випадковий порядок максимізує унікальність кожного набору" - точно.
forevermatt

30

Ключовим є те, що ви отримуєте файл одночасно з кількох джерел (однолітків), а не з одного джерела.

Якщо у вас є файл, розбитий на 10 частин і потрібно 100 секунд для завантаження з 1 сервера, то теоретично ви можете отримати файл від 10 однолітків за 10 секунд (плюс деякі накладні витрати), оскільки кожен одноранговий постачальник може отримати його частину за 10 секунд. На практиці це займе більше часу, оскільки кожен аналог не буде ідеальним, і ви, ймовірно, досягнете межі своєї пропускної здатності (але ви отримаєте ідею).

Оскільки вам доведеться збирати файл у будь-якому випадку, вам не доведеться добирати шматки по порядку. Отже, якщо у вас є лише 5 однолітків, кожен з яких постачає 2 частини, це можуть бути випадковими частинами файлу.


Простий. Ясно. +1
Xavierjazz

5
"Якщо 6 чоловіків можуть копати 6 лунок за 6 хвилин, скільки часу потрібно 10 чоловікам, щоб викопати 10 ям?"
Мартін

4
@martin залежить від розміру отворів (розмір шматка) та наявного обладнання (пропускна здатність) :)
грохот freak

14

Слід сказати, що це повністю залежить від файла, про який йде мова, кількості одноранків та швидкості джерела, що не стосується біторентів.

Ви ніколи не завантажуєте швидше, ніж максимальна пропускна здатність вашого з'єднання, і якщо ви завантажуєте з місця з достатньою пропускною здатністю, це буде швидше, ніж використання Bittorrent.

Однак, оскільки швидкість Інтернету стає все швидшою і швидшою, ми доходимо до того, коли (менші) веб-сайти та хости не можуть йти в ногу.

Наприклад, коли я озирався на ціни на колокацію в Лондоні кілька місяців тому, мені цитували абсолютно жахливі ціни на 5 Мб з'єднання. Якби я взяв це, це добре би послужило більшості людей.

Однак, на тому ж рядку, якби я мав розмістити кілька файлів 500 Мбіт, і кожен мав кабельні (50 Мбіт) або швидкі ADSL2 + (24 Мбіт) лінії, ви помітите, що мій сервер не зможе швидко настільки швидко обслуговувати вас ...

... однак, якби я запропонував вам один і той же файл через Bittorrent, а там було 200 людей, кожний дав би лише 30 Кбіт / с, що дорівнювало б 5,8 Мбіт / с (і багато людей мають набагато більшу швидкість завантаження, ніж це!) .... і тепер, якби я запустив Bittorrent на своєму сервері і запропонував би той самий файл, це означало б, що всього 10,8Mb / s для завантаження - набагато більше, ніж я міг би забезпечити через цю трубу 5Mb / s на мій власний.

Bittorrent - це дуже велика гра, вам потрібно буде достатньо завантажувати людей з достатньою пропускною здатністю ... Через додаткові кроки, такі як перевірка цілісності (і те, що вам слід завантажувати назад), важко коли-небудь перемогти прямо завантаження з хорошого сайту з достатньою пропускною здатністю, але, для багатьох менших сайтів - це геніальні або навіть більші сайти, які просто хочуть заощадити гроші за рахунок своєї пропускної здатності.


не кажучи вже про те, що пропускна здатність для завантаження та завантаження в стандартних кабельних з'єднаннях не однакова (A в ADSL)
храповик freak

Дивне правило пропускної здатності колони, мені це здається. Тут, у Колорадо, здається, що більшість колонів пропонують 100 Мбіт / с підключення та стягують плату за користування щомісяця, і вам належить керувати та обмежувати власну швидкість з'єднання, якщо вам потрібно зменшити вартість.
Zan Lynx

Ще один коментар: я вважаю за краще завантажувати з Bittorrent, коли це можливо через перевірку цілісності. Надзвичайно болісно змушувати перезавантажувати цілий ISO DVD, оскільки SHA1 не відповідає. Bittorrent перевіряє кожен блок, щоб його замінити лише невеликий шматок.
Зан Лінкс

@Zan Lynx - Ой! Я мав цю проблему лише один раз за останні 5 років ... і до цього, це було головним чином, коли у мене була погана пам'ять, мовчки псуючи речі, я можу зрозуміти, але не бачив її вже багато років ... У будь-якому разі, я маю намір шукати колокації та хостинг за кордоном з певного часу - Англія дуже дорога за майже все :(
William Hilsum

4

Більшість відповідей, здається, не відповідають на ваше запитання.

BitTorrent не швидший.

Це насправді повільніше через накладні витрати на підключення до декількох джерел.

Справжня різниця в практиці, це те, що ви завантажуєте з багатьох джерел, які потенційно можуть скласти швидше, ніж те, що може дати вам веб-сайт. Багато веб-серверів знаходяться під великими навантаженнями або іншим чином обмежені швидкістю, тому ви не смокчете їх насухо.

Те, що BitTorrent передає файл у, здавалося б, випадковому порядку, не має прямого впливу на його швидкість.

Щодо вашої редакції, твори не випадкові! Їм надається пріоритет на основі рідкісності: рідкісний шматок повинен ставати менш рідкісним якомога швидше, щоб його не втратити, якщо джерело, яке має його, раптом покине. Це стосується доступності, а не швидкості.


3

Це питання доступності. Якщо вам доведеться завантажувати безперервно, ви залежите від людей, які розміщують більше файлу, ніж ви. Кожна людина, яка має менше файлу, ніж ви, не зможе надіслати вам будь-які дані.

Якщо шматки розподіляються випадковим чином, кількість хостів, з яких можна завантажити, буде вище, тому ви завантажите файл швидше.


1

Торренти не завжди швидші, але коли вони є, одна з причин - ентропія мережі. Зв'язок будь-якої тривалості (завантаження великого файлу) може погіршитися з часом, оскільки випадкові неконтрольовані фактори впливають на передачу пакетів, наприклад, перевантаження маршрутизатора та інші проблеми між вами та сервером. Більше помилок означає більше ретрансляції пакетів, і ця ситуація, як правило, погіршується з часом. Торренти здійснюють багато менших з'єднань, через багато шляхів маршрутизації, стратегія, яка за правильних обставин може зменшити помилки та втрачені чи пошкоджені пакети, і, здається, буде швидшою, особливо, коли збільшується кількість насіння та однолітків.


1

Скажіть, ви відправляєте двох людей у ​​продуктовий магазин, щоб забрати список предметів. Ви даєте їм кожен точно такий самий список. Однак один з них повинен забрати предмети у тому порядку, у якому вони відображаються у списку. Інший може забрати предмети в будь-якому бажаному порядку. Як ви думаєте, який закінчить перший?


Що робити, якщо предмети були впорядковані по порядку? (Дефрагментовано?)
Матін Ульхак

Впорядковано в якому порядку? В алфавітному порядку? Якщо б вони просто не були влаштовані саме так, як влаштовано супермаркет, це не допоможе. За аналогією "супермаркет" - це блок-списки різних завантажувачів. (Якби всі починали спочатку, то двоє людей, у кожного з яких було 33% файлу, не могли допомогти один одному, оскільки вони мали б абсолютно однакові блоки. Юк.)
Девід Шварц
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.