NAT (Network Address Translation) 란 ?

 

NAT란 네트워크 주소 변환 (Network Address Translation) 줄여서 NAT 라고 합니다.

우리가 인터넷을 사용할 때 공인 IP 와 사설 IP를 나누어서 사용하게 되는데,

이 공인 IP와 사설 IP의 경계에서 인터넷 주소를 주고 받으며 네트워크 트래픽을 주고 받게 해주는 역할을 합니다.

 

아마 공유기를 설치한 경험 다들 있으실 겁니다.

공유기를 설치할 때 랜선을 공유기 뒤 쪽 포트에 꽂게 됩니다.

랜선엔 우리 집에 부여된 공인 IP가 있습니다.

 

외부의 네트워크에서 우리 집에 랜선을 끌어 오면서 우리 집의 공간이 공유기를 통해 사설네트워크(사설망)가 된 것입니다.

 

IP는 각 기기당 1나 씩만 할당되는데, 공유기에는 한개의 랜선만 꽂혀서 1개의 IP만 부여 받았는데 

어떻게 집에 있는 여러 전자기기들을 IP를 받아 사용할 수 있을 까요 ?

 

여기서 NAT를 사용하는 이유가 나오는데

NAT를 이용해 사설 네트워크에 속한 여러 개의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위함입니다.

또한,

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

 

이 글을 읽기전에, 공인 IP와 사설 IP 에 대해선 아래 포스팅을 참고하시면 좋습니다.

 

공인(public) IP, 사설(private) IP란 ? ( 고정 IP, 유동 IP )

IPv4와 IPv6 란? IPv4와 IPv6의 차이점에 대해 알아보자. IP 주소 ( Internet Protocol Address ) 란 ? 인터넷에 연결되어 있는 모든 장치들(컴퓨터, 서버 장비, 스마트폰 등)을 식별할 수 있도록 각각의 장비에

hstory0208.tistory.com

 


NAT 동작 과정

다음 그림을 통해 과정을 쉽게 설명해보겠습니다.

 

1️⃣ 만일 철수가 노트북 ( 192.168.0.1 ) 을 통해 네이버에 접속하고 싶다면, 노트북은 게이트웨이 주소에 해당되는 공유기 ( 192.168.0.100 )에 신호를 보냅니다.

 

2️⃣ 신호를 받은 공유기는 먼저 요청받은 노트북 사설(내부) IP - 192.168.0.1 을 기록합니다. ( 누가 요청했는지 알아야하기 때문 )

 

3️⃣ 요청한 노트북 IP는 사설 IP로, 외부에 접속할 수 없기 때문에  NAT를 통해 외부 접근이 가능한 공인 IP( 178.123.32.11 )로 변환합니다.

 

4️⃣ 그러면 공유기는 노트북의 요청을 공인 IP로 네이버에게 요청을 하고, 네이버는 그 요청을 처리합니다.

 

5️⃣그 다음 네이버는 앞의 과정 역순으로, 공인 IP ( 178.123.32.11 ) 로 응답을 보내고, 공유기에서 다시 노트북의 사설 IP ( 192.168.0.1 ) 로 보내 통신을 완료합니다.

 


NAT 장점과 사용하는 목적.

 

  • 인터넷의 공인 IP주소를 절약하기 위한 목적.

인터넷의 공인 IP주소는 한정되어 있기 때문에 부족한 IP주소를 가급적 공유할 수 있도록 하는 것이 필요한데,

NAT를 이용하면 사설 IP주소를 사용하면서 이를 공인 IP주소와 상호변환할 수 있도록 하여, 공인 IP주소를 다수가 함께 사용할 수 있도록 함으로써 이를 절약할 수 있습니다.

 

 

  • 인터넷이란 공공망과 연결되는 사용자들의 고유한 사설망을 침입자들로부터 보호할 수 있다는 점 ( 보안의 목적 )

공개된 인터넷망은 외부에서 내부로의 해킹이나 침입의 위험이 있습니다.

그렇기 때문에, 공개 인터넷망과 내부 사설망 사이에 방화벽(Firewall)을 설치하여 외부 공격으로부터 사용자의 내부 인터넷망을 보호하는 기본적인 수단으로 활용합니다.

 

이때 외부 통신망 즉 인터넷망과 연결하는 장비인 라우터에 NAT를 설정할 경우 라우터는 자신에게 할당된 공인 IP주소만 외부로 알려지게 하고, 내부에서는 사설 IP주소만 사용하도록 하여 필요시에 이를 서로 변환시켜 줍니다.

 

따라서 외부 침입자가 공격하기 위해서는 사설망의 내부 사설 IP주소를 알아야 하기 때문에 공격이 불가능해지므로 내부 네트워크를 보호할 수 있게 됩니다.

 

 


NAT의 단점

 

  • END-TO-END 간의 추적(IP trace)어려워 집니다.

여러 개의 NAT라우터에 의해 multiple NAT가 적용 되었을 경우 경로 추적이 더욱 어려워 지는데

이러한 단점은 반면 헤커가 대상 경로를 추적하기 어렵게 만듦으로써 좀 더 보안성 있는 연결을 하게 된다고 볼 수도 있습니다.

 

 

  • NAT 라우터를 거치는 모든 패킷을 scan하므로 switching path delay가 길어집니다.

NAT는 IP주소를 이용하는 몇 몇 application을 동작하지 못하게 할 수도 있는데

이러한 경우 static NAT를 이용하여 해결이 가능한 경우도 있다고 합니다.

 

 

  • 내부와 외부 인터넷을 오갈 때마다 패킷에 변화가 생기기 때문에 IP 주소 변환과 TCP/UDP의 체크섬(checksum)도 다시 계산합니다.

이를 통해 성능 감소를 야기할 수 있습니다.

 


참고자료
https://inpa.tistory.com/entry/WEB-%F0%9F%8C%90-NAT-%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80
https://knowledgemarble.tistory.com/227