Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Хочу все знать (http://forum.oszone.net/forumdisplay.php?f=23)
-   -   Как работает торрент? (http://forum.oszone.net/showthread.php?t=243969)

The_Immortal 04-10-2012 19:30 1999666

Как работает торрент?
 
Не могу понять каким образом Utorrent принимает входящие и исходящие соединения, когда порт, указанный в настройках программы, закрыт.

UPnP на роутере, как и в Utorrent отключен.


Есть мысли?

apozlevich 04-10-2012 19:38 1999669

Вроде бы там есть опция выбора случайного порта при запуске.

The_Immortal 04-10-2012 19:43 1999672

apozlevich, а она отключена:

ab57 05-10-2012 12:03 1999929

Если порт закрыт, то utorrent входящие соединения не принимает. Он коннектится к серверу (трекеру) и от него получает список пиров для запрошенной раздачи. Затем, с использованием этого списка, подключается к клиентам с открытыми портами и скачивает кусочки раздач. Т.е на компе с закрытым портом обмен с другими участниками сети выполняется только по инициативе вашего клиента. Если же порт открыт, то ваш комп фактически работает и как клиент, и как сервер. Обмен происходит как по инициативе вашего клиента, так и по инициативе других клиентов участников пиринговой сети, раздающих качаемый вами файл. Если у вас порт закрыт, и закрыты порты у всех, кто раздает, скачивания не будет, даже если есть сиды.

The_Immortal 06-10-2012 21:56 2000605

ab57,
А вот на практике почему-то совсем другое - см. скрин. Порт закрыт, UPnP отключено. Раздачи старые, т.е. я их не скачал только что.

Этому есть объяснение?

freese 06-10-2012 23:35 2000665

торрент может использовать любой порт (даже 80 и независимо какой у вас настроен) это видно в статистике подключений

The_Immortal 07-10-2012 01:12 2000704

freese,
Цитата:

Цитата freese
это видно в статистике подключений »

А можно уточнить где именно эта статистика? :)

rover_61eg 07-10-2012 10:19 2000778

Цитата:

Цитата The_Immortal
Этому есть объяснение? »

А что показывает внизу в правом углу значёк "сети" и что показывает тест? Или в 1.8.2 такого нет?

ab57 07-10-2012 10:48 2000781

Цитата:

Цитата The_Immortal
А вот на практике почему-то совсем другое - см. скрин. Порт закрыт, UPnP отключено. Раздачи старые, т.е. я их не скачал только что. »

Это, неважно, когда вы скачали раздачу. Как только вы запускаете utorrent , он подключается к трекеру (его данные есть в торрент-файле) и сообщает ему свой адрес и хеш-суммы активных раздач , на что в ответ клиент получает адреса других клиентов, скачивающих или раздающих эти же файлы. Далее ваш клиент периодически информирует трекер о ходе процесса и получает обновлённый список адресов. Этот процесс называется объявлением (англ. announce).

Клиенты соединяются друг с другом и обмениваются сегментами файлов без непосредственного участия трекера, который лишь хранит информацию, полученную от подключенных к обмену клиентов, список самих клиентов и другую статистическую информацию.
Соединения между клиентами выполняются по TCP . Т.е в каждом соединении участвует 1 TCP-сервер (клиент с открытым портом) и 1 TCP-клиент ( клиент с любым свободным на момент соединения портом). Если у вас закрыт порт, то ваши соединения возможны только с теми раздающими, у которых есть открытый порт.
Посмотреть, какие соединения имеются на данный момент можно в командной строке:
netstat -nb
Увидите, что установленные (Established) соединения программы utorrent созданы с другими клиентами, IP и номера их открытых портов. И не будет соединений на ваш закрытый порт.

Цитата:

Цитата rover_61eg
А что показывает внизу в правом углу значёк "сети" и что показывает тест? Или в 1.8.2 такого нет? »

Есть такой значок даже в предыдущих версиях. Используется как индикатор входящих соединений. Если порт открыт, и участники торрент-сети подключаются к вам, то он зеленый. Тест позволяет выполнить соединение на указанный порт от сервера, на котором выполняется программа тестирования и тем самым проверить доступность порта.

rover_61eg 07-10-2012 11:17 2000791

ab57, ну мне-то зачем рассказывать? Хотя может у топикстартера там зелёный кружёк, а он утверждает, что порт закрыт...

The_Immortal 07-10-2012 15:39 2000878

rover_61eg,
Цитата:

Цитата rover_61eg
А что показывает внизу в правом углу значёк "сети" и что показывает тест?»

Кружочек красный, порт закрыт.



ab57, похоже загвоздка в понимании у меня именно вот в этом моменте:

Цитата:

Цитата ab57
Соединения между клиентами выполняются по TCP . Т.е в каждом соединении участвует 1 TCP-сервер (клиент с открытым портом) и 1 TCP-клиент ( клиент с любым свободным на момент соединения портом). Если у вас закрыт порт, то ваши соединения возможны только с теми раздающими, у которых есть открытый порт. »

Так... А если у меня порт открыт, то мне по барабану на их закрытые порты? Дык мне, как раздающему, вообще по сути пофиг на порты тех, кто с меня собирается качать.

В общем, я вижу две схемы по раздаче:

1) Порт на моем компе на входящее подключение закрыт. Клиент (на моей стороне) получает список доступных пиров и открывает для них соединение (при этом на их стороне должен быть открыт порт на входящее подключение, т.к. я стучусь к ним из вне) - идет раздача.

2) Порт на моем компе на входящее подключение открыт. Клиент (на чьей-то стороне) находит среди доступных сидеров меня, "стучится" в мой порт (который открыт) и соединение открывается - идет раздача.

Я правильно понимаю?

freese 07-10-2012 16:11 2000888

Цитата:

Цитата The_Immortal
А можно уточнить где именно эта статистика? »

в любом фаерволе
прекрасно видно что клиент связывается не только по тому порту который назначен

The_Immortal 07-10-2012 16:15 2000892

freese,
Цитата:

Цитата freese
прекрасно видно что клиент связывается не только по тому порту который назначен »

Разумеется. Потому что тут представлены соединения, инициализированные Вашей стороной.

freese 07-10-2012 16:22 2000896

The_Immortal, и если вы закрываете один порт?...

The_Immortal 07-10-2012 16:29 2000898

freese,
Цитата:

Цитата freese
и если вы закрываете один порт?... »

То ничего страшного не происходит :) Потому что мой клиент будет "обзванивать" доступных пиров и предлагать им скачать у меня файлег. Но только у этих пиров порт на входящее подключение должен быть открыт, иначе приглашение к закачке они не получат.

Цитата:

Цитата The_Immortal
1) Порт на моем компе на входящее подключение закрыт. Клиент (на моей стороне) получает список доступных пиров и открывает для них соединение (при этом на их стороне должен быть открыт порт на входящее подключение, т.к. я стучусь к ним из вне) - идет раздача. »

Я вот так это понимаю.


Время: 14:48.

Время: 14:48.
© OSzone.net 2001-