Я не мог объяснить странное поведение NAT, надеюсь, кто-то может помочь:
У меня дома есть маршрутизатор linksys wrt54g.
- Клиент отправляет UDP-пакет поддержки активности с 192.168.1.20:16688 (например, за пределами общедоступного IP-адреса / порта STUN известен) общедоступному серверу каждые 15 секунд. (общедоступный сервер будет игнорировать клиентские пакеты поддержки активности и не отправлять ответ обратно)
- сервер отправляет случайные сообщения (несколько пакетов) обратно на общедоступный адрес / порт NAT клиента
- клиент получает пакеты с сервера ОК
Однако клиент получает сообщения от сервера только один раз, после чего клиент больше не может получать сообщения от сервера. Я перехватил NAT на внешнем канале, и пакеты достигают NAT. Похоже, что сопоставление портов NAT удаляется даже при сохранении отправки пакетов каждые 15 секунд.
Я протестировал другой NAT и не вижу такой проблемы.
Спасибо,
Даниил