IP의 패킷의 TPC/UDP 포트 숫자와 소스 및 목적지의 IP 주소 등을 재기록 하면서 라우터를 통해 네트워크 트래픽을 주고받는 기술을 말한다.

패킷에 변화가 생기기 때문에 IP나 TCP/UDP의 체크섬(checksum)도 다시 계산되어 재기록해야 한다. NAT을 이용하는 이유는 대개 사설 네트워크에 속한 여러 개의 호스트가 하나의 공인 IP 주소를 사용하면서 인터넷에 접속하기 위함이다. 많은 네트워크 관리자들이 NAT을 편리한 기법이라고 보고 널리 사용하고 있으며, NAT가 호스트 간의 통신에 있어서 복잡성을 증가시킬 수 있으므로 네트워크 성능에 영향을 줄 수 있는 것은 당연하다 볼 수 있다.

NAT는 IPv4의 주소 부족 문제를 해결하기 위한 방법으로서 고려되었으며, 주로 비공인(사설, local) 네트워크 주소를 사용하는 망에서 외부의 공인망(public, 예를 들면 인터넷)과의 통신을 위해서 네트워크 주소를 변환하는 것입니다.

즉 내부 망에서는 사설 IP 주소를 사용하여 통신을 하고, 외부망과의 통신시에는 NAT를 거쳐 공인 IP 주소로 자동 변환합니다.

Untitled

1:1 주소 매핑을 수행하기 때문에 NAT 라우터로 들어온 inside→outside 패킷(또는 그 반대) 만이 주소 전환의 대상이 된다.

즉, IP의 헤더라는 부분을 체크하여 NAT 테이블에 의해 해당 주소를 바꾼 다음 checksum을 다시 계산하여 IP 헤더를 바꾸는 방법. Application layer에서도 NAT의 주소 전환이 반영되려면, NAT은 IP 주소의 참조 내용을 담고 있는 application 데이터 부분을 새로운 주소로 변환해야 한다.

장점

단점


https://jwprogramming.tistory.com/30