Network Address Translation 의 약자, 말 그대로 네트워크 주소 변환이다.
NAT는 외부 네트워크에 알려진 것과 다른 IP 주소를 사용하는 내부 네트워크에서 IP주소를 변환하는 것
공인 IP ( Public IP )가 부족하기 때문이다. 만약 전세계 사람들이 집집마다 공인 IP를 사용한다면 IP의 갯수는 턱없이 부족하게 된다
=> 따라서 NAT를 사용해서 공인 IP(Public IP)에 여러개의 사설IP(Private IP)를 부여하여 실제로 인터넷을 사용할 때 하나의 공인IP로 나가게 한다.
외부로부터 내부망을 보호하기 위해서다
=> Private IP는 나갈 때 공인 IP로 변환되어 나가기 때문에 외부에 Private IP는 노출되지 않는다.
위 그림을 보면
영업부는 192.168.0.? 이라는 사설 망으로 묶여 있다. 하지만 인터넷 통신을 하기 위해서 NAT가 공인 IP로 변환시켜 내보낸다
김인턴의 192.168.0.2(사설) => 120.160.10.123(공인)
최사원의 192.168.0.3(사설) => 120.160.10.123(공인)
정대리의 192.168.0.4(사설) => 120.160.10.123(공인)
이차장의 192.168.0.5(사설) => 120.160.10.123(공인)
switch는 공유기를 생각하자
PAT
에 라는 것에 의해 가능하다.
PAT는 사설 IP에서 공인 IP로 바꾸는 과정에서 포트번호를 부여한다. IP가 바뀌는 과정에서 포트번호는 그대로 기억된다.
예를들면 위 그림에서 김인턴의 네트워크 정보가
IP : 192.168.0.2
부여받은 Port: 3939 라면
//요청
192.168.0.2/3939 (private) -> 120.160.10.123/3939(public) 변환 -> internet
//응답
internet -> 120.160.10.123/3939(public) => 192.168.0.2/3939 변환 -> 192.168.0.2/3939 (private)
위와 같은 과정을 거친다.