Nie potrafiłem wyjaśnić dziwnego zachowania NAT, mam nadzieję, że ktoś może pomóc:
W domu mam router Linksys WRT54G.
- Klient wysyła pakiet UDP Keep Alive z 192.168.1.20:16688 (nat poza publiczny adres IP / port jest znany przez STUN) na serwer publiczny co 15 sekund. (serwer publiczny zignoruje pakiety utrzymujące przy życiu klienta i nie wysyłające odpowiedzi z powrotem)
- sever wysyła losowe wiadomości (kilka pakietów) z powrotem na publiczny adres / port NAT klienta
- klient odbiera pakiety z serwera OK
Jednak klient odbiera wiadomości z serwera tylko raz, po czym klient nie może już odbierać wiadomości z serwera. Wąchałem NAT poza linkiem i pakiety osiągają NAT. Wygląda na to, że mapowanie portów NAT jest usuwane nawet przy wysyłaniu pakietów podtrzymujących co 15 sekund.
Testowałem inny NAT i nie widzę takiego problemu.
Dzięki,
Daniel