NAT (Network Address Translation) 이란?
NAT가 나오게 된 이유
NAT가 나오게 된 이유 중 가장 큰 이유는 IPv4 주소의 부족 문제를 해결하기 위해서 나왔다. IPv4는 약 43억 개의 고유 주소를 제공하고 인터넷의 급속한 성장에 따라 주소 부족이 염려되어 나온 것이 IPv6이지만, 기존에 이미 뿌려져 있는 IPv4 주소를 IPv6로 전환하는 것은 복잡하고 전 세계적으로 동시에 이루어져야 하므로 시간과 노력이 매우 필요하기 때문에 IPv6 대신 아직까지 IPv4가 사용되고 있다.
NAT의 역할
NAT를 사용하게 되면 하나의 공인 IP 주소를 여러 개의 사설 IP주소와 매핑할 수 있다.
위 이미지를 보면 공인 IP 한개 NAT를 사용하여 여러개의 사설 IP 주소를 각 사용자에게 할당해준다. 해당 이미지는 간단하게 표현한 것이지만, 사실 NAT에는 여러 종류가 있다.
- 정적 NAT(Static NAT): 하나의 내부 IP 주소를 하나의 공인 IP 주소에 1:1로 매핑한다. 이 방식은 주소 변환 테이블에 고정적인 항목을 가지며, 주로 외부에서 내부 네트워크의 특정 서버에 접근할 필요가 있을 때 사용된다.
- 동적 NAT(Dynamic NAT): 내부 IP 주소를 사전에 정의된 공인 IP 주소 풀 중 하나로 매핑한다. 내부 주소와 공인 주소의 비율이 1:1이지만, 매핑은 고정적이지 않고 동적으로 할당된다.
- PAT(Port Address Translation)/NAT 오버로드: 여러 내부 IP 주소를 단일 공인 IP 주소로 매핑하지만, 각 연결을 구분하기 위해 포트 번호를 사용한다. 이 방식은 가장 널리 사용되며, 하나의 공인 IP 주소를 통해 많은 내부 장치가 인터넷에 접근할 수 있다.
NAT 장단점
장점으로는 아래와 같다.
- 주소 공간의 효율적 사용: IPv4 주소 부족 문제를 해결한다.
- 보안 강화: 내부 네트워크의 구조와 IP 주소를 외부에 숨길 수 있어, 무단 접근으로부터 네트워크를 보호할 수 있다.
- 네트워크 관리 용이성: 사설 IP 주소 범위를 자유롭게 할당하고 변경할 수 있어, 내부 네트워크 관리가 유연하다.
단점으로는 아래와 같다.
- 응용 프로그램 호환성 문제: 일부 프로토콜과 애플리케이션은 NAT 환경에서 잘 작동하지 않을 수 있다.
- 성능 저하: 모든 인터넷 트래픽이 NAT 장비를 통과해야 하므로, 처리량과 지연 시간에 영향을 줄 수 있다.
- IP 주소 추적 문제: 여러 내부 사용자가 같은 공인 IP 주소를 공유할 경우, 특정 사용자의 활동을 추적하기 어려울 수 있다.
OSI 3계층
NAT는 OSI 3계층에서 작동하며, NAT를 구현하는 장비는 주로 라우터와 같은 네트워크 장비이다.
OSI모델의 7계층 구조 중에 네트워크 계층에 속하여 내부와 외부 네트워크 간의 트래픽을 관리하고 네트워크 주소의 변환을 담당한다.
Reference