Як BitTorrent працює лише з вихідними з'єднаннями?


18

Який механізм дозволяє BitTorrent працювати тільки з вихідними з'єднаннями?

Тобто без переадресації портів.

Найчастіші запитання та посібники Брайана щодо BitTorrent :

BitTorrent зазвичай нормально працюватиме в середовищі NAT (трансляція мережевих адрес), оскільки він може функціонувати лише з вихідними з'єднаннями.

Чи працюють у цьому випадку інші однолітки як сервери рандевусу?

Відповіді:


8

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

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


Чому цей метод призведе до менших швидкостей, ніж якщо порти були переслані?
gsingh2011

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

Для трекера це правильно, і це не проблема. але для завантаження це неправда. оскільки механізм завантаження бітових торрентів потребує завантаження у інших однолітків. інші однолітки можуть стояти за NAT (як ви). То як біт-торрент працює за NAT?
SMMousavi

4
Це часткова відповідь щодо загальних методів обходу NAT. Справжнє запитання: звідки ви знаєте, що хтось хоче завантажити деякі файлові блоки з вас, оскільки ви не приймаєте жодне непризначене з'єднання? Отже, лише обмежені можливості: або трекер попереджає вас, або ви активно підключаєтесь до кількох клієнтів трекера, щоб ініціювати сеанси пірінгу (щоб вони могли запитати про завантаження в якийсь момент часу), або ви приймаєте лише запити від однолітків, які ви активно завантажуєте від, або ці однолітки виступають у ролі пунктів Рендеса-Вуса. Отже, яка пропозиція реалізована в торент-клієнті?
KrisWebDev

5

BitTorrent працює за допомогою підключення P2P. Тому повинен бути спосіб прямого підключення до однолітків. Як відомо, NAT зводить P2P до роботи. Але для цього є якесь рішення. Більшість (як я всіх знаю) базується на протоколі STUN.

Кожен клієнт отримує свій загальнодоступний IP та тимчасовий номер порту (UDP) за допомогою сервера STUN. Сервер STUN допомагає клієнту виявити наявність NAT та виявити загальний ip + тимчасовий номер порту (присвоєний NAT). Потім клієнт намагається встановити пряме з'єднання з іншими однолітками, використовуючи техніку пробивання отворів (див. Wikipedia ).

Якщо ви ввімкнули UPnP, також є ще одне рішення.

Для отримання додаткової інформації див. NAT Traversal на wikipedia .



1

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

Якщо вхідні з'єднання неможливі, ваш клієнт також вийде і активно попросить надати дані іншим людям (і може зробити це, якщо можливі також вхідні з'єднання).

Ви не завантажуєте так багато, але це не викликає особливих проблем у публічних трекерах.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.