1. 정의
- 네트워크 주소 변환(NAT, Network Address Translation)
- IP 패킷의 TCP/UDP 포트 숫자와 소스 및 목적지의 IP 주소 등을 재기록하면서 라우터를 통해 네트워크 트래픽을 주고 받는 기술
- 사설 네트워크에 속한 여러 개의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위함
- NAT는 IPv4의 주소 부족 문제를 해결하기 위한 방법으로서 고려되었으며, 주로 비공인(사설, local) 네트워크 주소를 사용하는 망에서 외부의 공인망(public, 예를 들면 인터넷)과의 통신을 위해서 네트워크 주소를 변환
- 내부 망에서는 사설 IP 주소를 사용하여 통신을 하고, 외부망과의 통신시에는 NAT를 거쳐 공인 IP 주소로 자동 변환합니다.
2. 사용 목적
2.1 인터넷의 공인 IP 주소 절약
- 인터넷 공인 IP 주소는 그 갯수가 한정적, 가급적이면 이를 공유할 필요가 있음
- NAT를 이용하면 사설 IP주소를 사용하면서 이를 공인 IP주소와 상호변환할 수 있도록 하여 공인 IP 주소를 다수가 함께 사용할 수 있게 할 수 있음
2.2 공공망과 연결되는 사설망을 침입자들로부터 보호
- 외부 통신망과 연결하는 라우터에 NAT를 설정할 경우, 라우터에게 할당된 공인 IP 주소만 외부 노출
- 노출되지 않은 내부는 사설 IP를 사용하여 필요시에 변환시켜서 통신하기 때문에 외부 침입자가 공격하기 위해서는 사설망의 내부 사설 IP주소를 알아야 공격 가능
3. 단점
- End-to-End 추적이 어려워짐
- 라우터를 거치는 모든 패킷을 검사하기 때문에 Switching path delay가 커지게 됨
4. 동작 원리
- 1:1의 주소 매핑을 수행하여 NAT라우터로 들어온 inside -> outside 패킷이 전환의 대상
- IP 헤더를 체크하여 NAT 테이블에 의해 해당 주소로 바꾼 뒤 Checksum을 다시 계산하여 IP 헤더를 변경
- Application layer까지 주소전환이 반영 되려면 IP 주소의 참조내용을 담고 있는 application 데이터 부분을 새로운 주소로 변환해야함
'Network' 카테고리의 다른 글
HTTP 메시지 구조와 메서드 (0) | 2022.07.29 |
---|---|
[Network] DNS란? (0) | 2022.07.22 |
[Network]Unicast, Broadcast, Multicast (0) | 2022.07.11 |
[Network] Gateway란? (0) | 2022.07.04 |
[Network] Subnet & Supernet (0) | 2022.06.24 |
댓글