Uniquement si le port source du datagramme sortant d'origine était également le port N et si le NAT n'a pas choisi de laisser flotter le port source.
Autrement dit, le premier datagramme UDP de la machine A ressemble à ceci sur votre réseau local:
Source IP: MachineAPrivate
Source Port: PortA <-- note this is typically different than the destination port
Destination IP: MachineBPublic
Destination Port: PortN
Ensuite, après avoir été traduit par le NAT dans le sens sortant, il ressemble à ceci:
Source IP: NATPublic
Source Port: PortC <-- note this may or may not be the same as "PortA" above
Destination IP: MachineBPublic
Destination Port: PortN
Maintenant, lorsque la machine B répond, la réponse ressemble généralement à ceci:
Source IP: MachineBPublic
Source Port: PortN
Destination IP: NATPublic
Destination Port: PortC
Ensuite, après avoir suivi le processus de traduction NAT entrant:
Source IP: MachineBPublic
Source Port: PortN
Destination IP: MachineAPrivate
Destination Port: PortA
Ainsi, IF Machine A envoie la trame à partir du même port source que le port de destination ( « Port N »), et SI le NAT est en mesure de préserver le port source (il est configuré pour conserver les ports source lorsque cela est possible, et que le port source n'est pas utilisé), ALORS vous pouvez vous attendre à ce qu'une réponse au "Port N" revienne à la Machine A.
Voici la référence faisant autorité sur le bon comportement NAT UDP:
RFC 4787 / BCP 127: Exigences comportementales de traduction d'adresses réseau (NAT) pour Unicast UDP