5

Таким образом, Skype и другие приложения типа p2p часто работают с помощью так называемого дырокола (см. Простое руководство здесь), чтобы соединить двух клиентов, которые находятся за брандмауэрами, которые блокируют входящие соединения.

uPnP также используется, чтобы обойти пользователя вручную, чтобы переадресовать порты. Как именно он отличается от вышеописанного вида пробивки отверстий? Я предполагаю, что он должен работать по-другому, так как большинство маршрутизаторов имеют настройку для его включения / выключения, в то время как я не вижу способа, которым можно было бы остановить вышеупомянутый тип пробивки дырок UDP (кроме блокирования исходящих соединений и входящих / установленных).

Во-вторых, если, скажем, Skype/bittorrent может установить и установить прямое соединение между AB с пробиванием дырок, значит ли это, что на маршрутизаторе не нужно включать upnp?

1 ответ1

9

Для работы UPnP соответствующий маршрутизатор должен поддерживать его. Устройство с UPnP в основном просит маршрутизатор с поддержкой UPnP открыть порт и перенаправить трафик на него. Ни одна сторона, внешняя по отношению к ЛВС, не должна быть в состоянии сделать это, если только маршрутизатор ЛВС не настроен неправильно или широко открыт для всего мира.

Перфорация отверстий использует преимущества UDP-соединения:

  • A отправляет пакет UDP по порту +IP на B
  • NAT A запоминает это, и, поскольку A создал пакет, считает, что A начал диалог (хотя технически с UDP нет способа узнать это наверняка), а затем разрешает входящий трафик на этот порт +IP
  • Промежуточная сторона (в статье, которую вы предоставили, это сервер коммутации Skype) все еще необходима, поскольку брандмауэр B будет блокировать входящий трафик, но теперь сервер коммутации может MITM и отправлять ответ через порт A +IP, который должен достигать A, потому что NAT переадресовывает из-за инициирующего трафика.

Перфорация отверстий в основном позволяет стороне, находящейся вне локальной сети, достичь чего-то, слушающего за NAT с помощью посредника.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .