Почему P2P-соединениям не нужны открытые порты?

Я имею в виду, если кто-то загружает файл от меня, не означает ли это, что я хозяин, и он подключается ко мне?

или я соединяюсь с ним?

в любом случае один из нас нужен открытый порт, нет?

У меня нет маршрутизации открытого порта на мой компьютер в моем маршрутизаторе, так как это я принимаю соединения?

29
задан Keltari
13.11.2022 8:20 Количество просмотров материала 3416
Распечатать страницу

3 ответа

Если ваш маршрутизатор поддерживает UPnP, возможно, что приложение p2p, которое вы используете, открывает порты на маршрутизаторе без необходимости вручную настраивать открытые порты.

Википедия UPnP

в противном случае, возможно, что ваше приложение использует процесс, называемый обход NAT, который распространен в приложениях p2p и приложениях удаленного рабочего стола, таких как GoToMyPC или Hamachi. Эта технология предназначена для работы через сетевой адрес Трансляция, которая считается межсетевым экраном, но также является средством для того, чтобы иметь частную сеть, разделяющую единственный IP-адрес в интернете (то, что использует ваш маршрутизатор).

Википедия обход NAT

10
отвечен Dustin G. 2022-11-14 16:08

в протоколах, таких как BitTorrent, пока одна из двух сторон соединения имеет переадресацию портов, включенную на открытой стороне, всегда будет действовать как хост. Если обе стороны открыты, то любой конец смог быть "хозяином". Если обе стороны закрыты, вам нужна третья сторона, у которой есть открытое соединение для согласования соединения, так это, как это делает skype (третья сторона называется Суперузлом)

вот хороший блог объяснение того, как skype использует суперноды и как он использует его, чтобы обойти брандмауэры.

7
отвечен Scott Chamberlain 2022-11-14 18:25

Я бы сравнил открытый порт с номером телефона.

представьте, что вы можете иметь телефон для набора, но не телефонный номер для приема вызовов.

для двух сторон, чтобы поговорить друг с другом (или один говорить все время) это не имеет значения, кто на самом деле набрать. Важно то, что хотя бы у одного из них есть номер телефона, потом ему звонит второй партнер.

Если ни один из них не имеет номера телефона, в некоторых системах используется может быть друг, который получает два звонка, один от каждого из них, и соединяет их вместе. Это единственный способ поговорить, если ни у одной из сторон нет номера телефона. Проблема в том, что разговор тогда вынуждена качества телефонной линии это надузел друга.

Я надеюсь, что эта аналогия облегчает понимание 3 возможных сценариев.

4
отвечен Sitoplex 2022-11-14 20:42

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх