Объясните принцип IP и портов.

Не могу понять как работает передача пакетов по инету. Я так понимаю, что клиент выбирает рандомный порт и зная порт сервера и его ip отправляет пакет на него. Вот только если допустим нужно достучаться до пк, который находиться в локальной сети и прослушивает определенный порт, пакет же сначала приходит на маршрутизатор, и получается, чтобы установить связь нужно открывать порты на роутере. Но как тогда работают программы сетевые? Например торент, он- же тоже прослушивает порты, а пакеты приходят минуя роутер. То есть порт, который открыл торент не открыт на роутере и не происходит переадресация. Как тогда торент получает пакеты?
5 года назад от Nikitosjen

2 Ответы

0 голосов
Ты тут в одну кучу все смешал.

Для установки соединения по протоколу TCP/IP необходимо знать адрес сервера и порт, на котором сервер открыл серверный сокет. Ничего "рандомного" тут нет и быть не может.
Торенты обычно используют протокол UDP. Роутеры умеют делать автоматический проброс портов UDP, и по умолчанию эта функция включена. Но можешь е отключить и посмотреть, как там будут работать твои торенты тогда.
Как именно торент-клиент узнает, по какому порту обращаться к серверу - я ХЗ, подозреваю, что спрашивает у трекера или у других участников скачивания, у которых сервер уже что-то скачивал.
5 года назад от Елизавета Королева
0 голосов
Пакеты которые отсылаются с твоего внутреннего адреса локальной сети маршрутизатор пропускает, а пакеты с уделённого сервака маршрутизатор пропускает так как они являются ответами на запросы твоей локальной сети (компа) . Маршрутизатор отслеживает твои пакеты на сервак и только пакеты на эти запросы от сервака маршрутизатор принимает, остальные (которые не являются ответами на твой запрос отбрасываются) . Маршрутизатор подерживает установление соединения (ESTABLISHED, RELATED) . Механизм определения состояния
5 года назад от KatriceLeitc

Связанные вопросы