Private IPv4 addresses can be reused in homes, offices, cloud networks, and data centers, but public networks cannot route those overlapping addresses as globally unique destinations.
Network Address Translation connects the two addressing scopes by rewriting packet headers at a boundary. A host can send from 10.0.0.25, while an external server sees the packet coming from a public address such as 203.0.113.5.
Most Internet gateways do more than replace one address. They also translate transport ports so many internal connections can share one public IPv4 address. That behavior is Port Address Translation.
Stateful translation looks like a small header edit, but a PAT implementation must maintain per-flow state, update checksums, handle return traffic, expire idle mappings, allocate ports without collision, and preserve state during failover. Those details explain many “outbound works, inbound fails” and “only some connections time out” incidents.