네트워크 / NAT(Network Address Translation)
Created 2024-12-01
Last Modified 2024-12-01
NAT는 네트워크 주소 변환을 의미하며, 네트워크 트래픽의 IP 주소를 변환하는 기술입니다. 주로 사설 네트워크(Private Network)와 공인 네트워크(Public Network) 간의 통신을 가능하게 하기 위해 사용됩니다. NAT는 보안, 주소 공간 절약, 그리고 네트워크 확장을 위해 필수적인 기능으로 널리 활용됩니다.
NAT의 주요 기능
-
IP 주소 절약:
- IPv4 주소의 고갈 문제를 해결하기 위해 사설 IP 주소(Private IP)와 공인 IP 주소(Public IP) 간 변환을 수행합니다.
- 하나의 공인 IP 주소를 사용해 여러 기기가 인터넷에 접근할 수 있도록 합니다.
-
보안 강화:
- 외부 네트워크에서 내부 네트워크의 사설 IP 주소를 알 수 없게 해 보안성을 높입니다.
- 트래픽 필터링 및 특정 포트만 허용하는 NAT 설정으로 기본적인 방화벽 기능을 제공합니다.
-
네트워크 확장:
- 사설 네트워크를 사용함으로써 대규모 네트워크 환경에서 공인 IP를 절약하고 효율적으로 확장할 수 있습니다.
NAT의 동작 방식
NAT는 트래픽이 네트워크 장치(라우터 또는 방화벽)를 통과할 때 IP 주소와 포트 정보를 변환하여 동작합니다. NAT가 수행되는 주요 단계는 다음과 같습니다:
-
패킷의 IP 주소와 포트 정보 확인:
- 송신 트래픽의 출발지 주소(사설 IP)와 포트 번호를 확인합니다.
-
주소 변환:
- 사설 네트워크의 출발지 주소를 공인 주소로 변환하거나, 반대로 공인 주소를 사설 주소로 변환합니다.
-
패킷 전달:
- 변환된 패킷을 목적지 네트워크로 전달합니다.
-
역변환:
- 응답 트래픽이 들어오면, 변환된 주소를 원래 주소로 역변환하여 내부 네트워크로 전달합니다.
NAT의 유형
-
Static NAT (정적 NAT):
- 하나의 사설 IP 주소를 하나의 공인 IP 주소에 고정 매핑합니다.
- 주로 내부 서버가 외부에서 접근 가능해야 할 때 사용됩니다.
- 예) 내부 웹 서버가 192.168.1.10일 때, 공인 IP 203.0.113.10로 매핑.
-
Dynamic NAT (동적 NAT):
- 사설 IP 주소를 공인 IP 주소 풀(pool) 중 하나로 변환합니다.
- 공인 IP가 부족할 경우, NAT 할당이 실패할 수 있습니다.
-
PAT (Port Address Translation):
- 하나의 공인 IP 주소를 여러 사설 IP 주소가 포트 번호를 이용해 공유하도록 합니다.
- 가장 일반적으로 사용되는 형태로, 일반적으로 **NAPT(NAT Overload)**라고도 합니다.
- 예) 내부 네트워크의 여러 기기(192.168.1.x)가 공인 IP 203.0.113.1로 변환되며 포트를 통해 식별.
-
Policy-Based NAT (정책 기반 NAT):
- 트래픽의 조건(출발지 IP, 목적지 IP, 포트 등)에 따라 NAT 정책을 적용합니다.
- 복잡한 네트워크 환경에서 유용합니다.
NAT의 장점과 단점
장점
- IP 주소 절약: 여러 사설 IP가 하나의 공인 IP를 공유 가능.
- 보안 강화: 내부 네트워크가 외부에 노출되지 않음.
- 유연성: 네트워크 구성 변경 시 IP 주소 변경 없이 관리 가능.
단점
- 성능 저하: NAT 변환 과정에서 추가적인 처리 시간이 발생.
- 추적 어려움: 여러 내부 기기가 동일한 공인 IP를 사용하면 특정 기기를 추적하기 어려움.
- 프로토콜 호환성 문제: 일부 응용 프로그램(예: P2P, VoIP)에서 NAT로 인해 통신 문제가 발생할 수 있음.