NAT(Network Address Translation)은 패킷의 TCP/UDP 포트 숫자와 소스 및 목적지의 IP 주소 등을 재기록하면서 라우터를 통해 네트워크 트래픽을 주고받는 기술을 말한다.
패킷에 변화가 생기기 때문에 IP나 TCP/UDP의 체크섬(Checksum)도 다시 계산되어 재기록해야 한다.
NAT를 이용하는 이유는 대개 사설 네트워크에 속한 여러 개의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위함이다. 하지만 꼭 사설 IP를 공인 IP로 변환하는 데에만 사용하는 기술은 아니다.
포트 포워딩 또는 포트 매핑은 패킷이 라우터나 방화벽과 같은 네트워크 장비를 가로지르는 동안 특정 IP와 포트 번호로 넘겨주는 네트워크 주소 변환(NAT)의 응용이다.
이 기법은 게이트웨이(외부망)의 반대쪽에 위치한 사실네트워크에 상주하는 호스트에 대한 서비스를 생성하기 위해 흔히 사용된다.