Здравствуйте, vsb, Вы писали:
vsb>Если хочется, чтобы два компьютера, потенциально оба за всякими NAT, говорили друг с другом. Я в курсе про UDP hole punching, когда третий сервер пробивает дырки в NAT-е и позволяет двум общаться. Хочется понять ограничения этой технологии. В каких случаях она не будет работать (ну кроме очевидного — UDP тупо закрыт фаерволом), как часто эти случаи встречаются у домашних пользователей и у корпоративных пользователей.
В общем случае — гарантий нет (симметричный
NAT не допускает такого поведения в принципе, разве что пытаться экспуатировать нюансы реализации конкретных NAT).
Второй нюанс — согласны ли Вы ждать несколько часов пока карты лягут должным образом, если хост имеет плавающий график нагрузки.
Что погуглить: stun turn ice