Skip to main content

NAT

NAT stands for Network Address Translation, and it's generally used with regards to allowing a larger number of client devices to share one public IPv4 address, due to the exhaustion of the IPv4 address pool. It tends to break things like peer to peer communication and is generally viewed as a nuisance to other protocols and programs attempting to set up communications, which is why IPv6 is being implemented, to replace IPv4 and subsequently kill off NAT with it.

Effectively all home ISPs require you to use NAT, unless you are only using a single computer on your network, as they will only assign you one public IPv4 address. NAT is typically done by routers, and what it does is it takes your private IP addresses, and translates them into a single public IP address, then does the same thing in reverse, by keeping a table of what has been sent out and received. Hosting servers behind a NAT is possible via the use of port forwarding, which is something most routers doing NAT will support, do note however this breaks down with ISPs implementing CG-NAT, which is a second layer of NAT controlled by the ISP, making it impossible to open ports on your home network without them also opening those ports on there NAT device.