In these two figures, why the 173.239.151.99(clientB) and the STUN server both know the clientA(192.168.0.1)'s public IP, why clientB can't reach clientA but STUN server can?
Or to put my question this way: why we need STUN server after all? Say when clientA send request to clientB, there will be a binding between clientA's IP&port and NAT device's public IP&port in translation table, this " mapping is created when a TCP SYN packet is sent from inside the NAT or when a first UDP packet is sent.", so when clientB sends response back, the translation table will help it to reach clientA. Then why on earth we need STUN?