Как работают программы p2p (skype, torrent ...), когда Firewall не принимает входящие соединения?

В брандмауэре Juniper нет политики перехода из Интернета в локальную сеть, но такие программы, как skype a torrent, работают без проблем. без какой-либо входящей политики, как эти программы работают?

2 ответа

Решение

Обычно (ab) использует Statefulness брандмауэра.

Большинство, если не все, брандмауэры в наши дни являются Stateful. Они отслеживают входящий и исходящий трафик, поэтому знают "взаимосвязь" между пакетами. Например, если узел внутри сети отправляет пакет SYN куда-то извне, брандмауэр знает об этом и знает, что ожидать соответствующего пакета SYN ACK с адреса, на который был отправлен исходный SYN.

Таким образом, пока хост внутри устанавливает соединение вне, тогда "шлюзы открыты" для обратного трафика.

Есть и другие, более сложные методы. Небольшой список примеров включает в себя:

  • Туннелирование (например, внутри HTTPS или ICMP)
  • UPnP (не относится к корпоративным брандмауэрам, таким как Juniper)
  • STUN

Приложения P2P используют методы для прохождения NAT, которые большинство людей имеют в своем жилом шлюзе. Используемые приемы основаны на том факте, что исходящие соединения разрешены, поэтому они работают на брандмауэрах с одинаковой политикой.

Самый простой и успешный метод - пробивание отверстий UDP.

Его вариант TCP немного сложнее, но в случае сбоя программное обеспечение может попытаться использовать туннелирование TCP через UDP.

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

Другие вопросы по тегам