본문 바로가기

Network

NAT (Network Address Translation)

1. 사용 목적

1.1. 공인 IP 절약

NAT 기술은 하나의 공인 IP를 사용하여 여러 대의 호스트에게 인터넷을 사용할 수 있게 한다.

예를 들어 A 회사에 공인 IP가 1.1.1.1 이고, 호스트(PC)가 30대가 있다고 가정해보자.

A 회사 공인 IP : 1.1.1.1
A 회사의 호스트(PC) : 30대

 

먼저 A 회사의 라우터는 30대의 호스트에 각각 다른 사설 IP를 지정한다.

A 회사 라우터 : 1.1.1.1
A 회사 호스트1 : 192.168.0.1
A 회사 호스트2 : 192.168.0.2 
...
A 회사 호스트30 : 192.168.0.30

그리고 호스트가 부여받은 사설 IP로 외부 B 에 목적지로 통신 요청을 보내면,

중간에 라우터가 호스트의 사설 IP를 A 회사의 공인 IP인 1.1.1.1로 변환해서 외부 B에 목적지로 통신 요청을 보내준다.

 

NAT 기술을 사용하지 않았다면 각각의 호스트마다 공인 IP를 부여해서 통신해야 했을 것이다.

그렇다면 공인 IP 주소는 남아나지 않을 것이다.

때문에 NAT의 첫 번째 목적은 공인 IP의 절약이다.

1.2. 보안

그렇다면 외부 B에서는 처리한 요청을 어떻게 다시 사설 IP 대역으로 보낼까?

기본적으로 외부에서는 요청을 보낸 호스트의 사설 IP를 알 수 없다.

즉, 요청을 보낸 호스트를 특정할 수 없고, 요청이 왔던 A 회사의 공인 IP(1.1.1.1)로 처리한 요청을 보낸다.

그러면 A 회사의 라우터에서 자신이 관리하는 호스트 목록(테이블)을 보고,

외부 B에 요청을 보냈던 호스트(사설 IP)로 외부 B의 처리된 요청을 보내준다.

 

정리하자면 NAT 기술 사용으로

외부의 사용자는 A 회사 내부의 사설 IP(호스트)를 모르기 때문에

특정 호스트를 공격하기 어렵고, 내부 네트워크(호스트)를 보호하기에 좋다.

바로 이것이 NAT의 두 번째 목적인 보안이다.

2.  사설 IP 대역

// A Class
10.0.0.0 ~ 10.255.255.255(10.0.0.0/8)

// B Class
172.16.0.0 ~ 172.31.255.255(172.16.0.0/12)

// C Class
192.168.0.0 ~ 192.168.255.255(192.168.0.0/16)