개인 IP 주소 또는 로컬 주소가 공용 IP 주소로 변환되는 것을 말합니다. NAT는 로컬 IP 또는 개인 IP 주소를 글로벌 또는 공용 IP 주소로 변환하여 사용 가능한 IP 주소의 고갈 속도를 늦추는 데 사용됩니다.
예를들어 컴퓨터,스마트폰 , 스마트 TV 세가지 기기가 잇는 홈 네트워크에서 NAT를 사용하지 않을 경우, 인터넷에 연결하려면 각 장치에 고유한 공용 IP 주소가 있어야 합니다.
하지만 NAT를 사용하면 이러한 모든 장치가 하나의 공용 IP 주소를 공유하고 각자의 사설 IP 주소를 사용하여 인터넷과 통신할 수 있습니다.
장치 중 하나가 인터넷에 요청을 보내면 NAT에서는 개인 IP 주소가 공용 IP 주소로 변환됩니다. 즉 외부 입장에서는 어떤 사설IP가 보냈는지 알지 못합니다. 그냥 공유기 주소(공인 IP)만 알고 있습니다.
위와 같은 특징이 있습니다.
그림으로 이해해 보겠습니다.

sw1(공유기)에 연결된 컴퓨터들은 각가의 사private(사설IP라 칭하겠습니다)한 Ip를 받습니다.
만일 인터넷을 통해 특정 사이트에 접속하고 싶다면, 컴퓨터는 공유기에게 신호를 보냅니다.
신호를 받은 공유기는 다음 순서를 거쳐 웹사이트에 요청을 보냅니다.
이제 공유기는 이 요청을 공인 IP로 웹사이트에 요청을 하고 웹사이트는 이 요청을 처리합니다. 그리고 다시 웹사이트는 다시 공인 IP로 응답을 보내고
sw1(공유기는) 사설 IP 192.168.1.2로 보내 통신을 완료합니다.
좀 더 자세히 알아 보겠습니다

인터넷 공유기를 통해 외부에 있는 웹 서버를 접근하고자 하는 경우, 해당 요청 패킷은 반드시 공유기를 거치게 되어있습니다. 이 때 사설 IP는 웹서버 측에서 알 수 없는 IP주소이기 때문에 공인 IP를 쓴다고 보면됩니다.
NAT는 따라서 다음과 같은 과정을 거치게 됩니다.
host 컴퓨터
출발지: 10.0.1
목적지: 200.100.10.1
라우터(게이트 웨이)에서 다시출발
출발지: 10.0.1 -> 150.150.01.1
목적지: 200.100.10.1
웹서버에서 출발
출발지: 200.100.10.1
목적지:150.150.01.1
라우터(게이트 웨이)에서 다시출발
출발지: 200.100.10.1
목적지:150.150.01.1 -> 10.0.1
사설 네트워크에 한 대의 호스트가 아닌 여러 대의 호스트가 같은 목적지와 통신 할 때, 되돌아오는 패킷의 최종 목적지가 어디로 가야하는 혼선이 생길 수 있습니다.
이 때 별도의 추가 포트를 설정하여 패킷을 구분하는 PAT방식을 사용합니다.
위의 세가지 기기가 있는 옛 컴퓨터가 인터넷에 요청을 보내면 PAT는 고유 포트 번호를 할당한 후 컴퓨터의 개인 IP 주소를 네트워크의 공용 IP 주소로 변환합니다.
목적지인 서버는 요청을 수신 후 고유 포트 번호로 응답하여 컴퓨터가 응답을 받을 수 있도록 합니다.
| NAT | PAT |
|---|---|
| 네트워크 주소변환 | 포트 주소 변환 |
| 개인 IP 주소 → 공용 IP 주소로 변환 | 개인 IP 주소 → 포트 번호를 통해 공용 IP 주소로 변환 |
| IPv4 주소를 사용 | IPv4 주소와 port를 사용 |
| 정적, 동적 NAT 및 PAT/ NAT 과부하/IP 마스킹 총 3가지 유형 | 정적 및 과부하 PAT 두 가지 유형 |
NAT는 PAT의 상위 집합이라 할 수 있습니다.