Здравствуйте, fk0, Вы писали:
fk0>очевидного — UDP тупо закрыт фаерволом), как часто эти случаи встречаются у домашних пользователей и у корпоративных пользователей.
Бывает. Но по мере продвижения гуглевкого QUIC, UDP становится более открытым. Хотя в корпоративных сетях, особенно в больших корпорациях, нередко встречается политика, разрешающая только исходящий HTTP.
fk0> Hole punching скорей невозможен с т.н. full cone NAT. Так как третий сервер не пробьёт при всём желании дырку для второго.
Очень многие симметричные NAT'ы выделяют порты по порядку (N, N+1, N+2, ...). Так что с неплохой вероятностью можно предугадать, какой порт получит твое соединение, и предложить другой стороне долбиться прямо в него (и еще в парочку следующих, для надежности).
fk0>Пробить всё равно можно, но нужно перебрать 65536 портов в пербом приближении. Долго и муторно. На хабре кто-то занимался,
Это — очень плохая идея. В процессе такого перебирания насоздается куча лишних записей в таблице известных NAT'у соединений. Роутеры, которые при переполнении этой таблицы просто тупо виснут не являются редкостью, особенно в массовом сегменте.