반응형


  • NAT(Network Address Translation)은, ip 패킷이 트래픽 라우팅 장비를 거치면서 이동할 때, 헤더에 있는 IP 정보를 수정(변환)하는 작업을 말한다. 즉, 이름 그대로 네트워크 주소 변환을 의미한다. 이러한 주소 변한 기능은 보통 라우터나 방화벽에 설치된다. 공인 IP 주소의 갯수가 부족하기 때문에 1개의 공인 IP 주소에 여러 개의 사설 IP 주소를 할당한다. 그러면 여러 사람이 사설 IP들을 나눠서 사용하지만, 실제로 외부에서 보았을 때는 하나의 공인 IP로 취급된다. 이 사설 IP들은 인터넷 공간에서 라우팅되지 않기때문에 내부망을 외부로부터 보호할 수 있기도 하다. 하지만 너무 많은 주소 변환이 일어나게 되면 속도 저하가 커지는 단점이 있다.

  • NAT에는 Static NAT와 Dynamic NAT가 있다. Static NAT(정적 NAT)는, IP 주소들을 1:1 매핑으로 변환해주는 가장 간단한 NAT 유형이다. Static NAT는 1:1 NAT라고 불리기도 한다. Static NAT는 호환되지 않는 주소 체계를 가지고 있는 두 개의 IP 네트워크가 서로 통신해야 할 때 사용될 수 있다. Static NAT 명령어를 입력하자마자 NAT 변환 테이블에 변환 정보가 입력된다. 아래 그림에서, client가 server web으로 IP 패킷을 보내려고 할 때, client가 만든 초기 IP 패킷의 헤더에는 client의 사설 IP 주소인 172.16.0.5가 Source IP로 기재되어 있다. 그러면 라우터는 이것을 공인 IP 주소인 10.16.0.5로 변환한 뒤 인터넷을 통해 server web으로 가게 되는 것이다.

(사진 출처 : https://www.ciscozine.com)

  • 반면에 Dynamic NAT(동적 NAT)는 정적 NAT처럼 NAT 라우터가 사설 IP와 공인 IP 간의 매핑 정보를 생성한다. 그리고는 IP 패킷이 네트워크에서 나가거나 들어올 때 그 패킷 헤더의 IP 주소를 변환하게 된다. 그런데 이때 사설 IP와 공인 IP를 매핑하는 것을 정적인 정보에 기반으로 하는 것이 아니라 동적으로 수행한다. 사용 가능한 공인 IP 주소들의 pool 을 만들어 두고, 어떤 사설 IP 주소들이 NAT에 의해 주소 변환이 되어야 하는지 결정하기 위해 매핑 기준을 정의한다. 동적 NAT에서는 주소 변환이 필요한 트래픽을 라우터가 받기 전까지는 NAT 테이블에 변환 정보가 존재하지 않는다. 이 방식은 공인 IP 주소의 갯수가 사설 IP 주소의 갯수보다 적을 때 사용한다. 아래 그림에서 볼 수 있듯이, 동적 NAT에서는 사용 가능한 주소 pool(10.16.0.1~6)을 만들어서 이용하고 있다.

(사진 출처 : https://www.ciscozine.com)

  • PAT(Port Address Translation)는 Dynamic NAT의 한 종류라고 볼 수 있는데, 공인 IP 주소 1개에 사설 IP 주소 여러개를 매핑하는 것이다. 변환된 IP 주소로는 사내망 호스트들을 구분할 수 없기 때문에 포트번호를 부여하여 구분한다. 대부분의 홈 네트워크는 PAT를 사용하고 있다. ISP(Internet Service Provider)는 홈 네트워크 라우터에 하나의 공인 IP 주소를 할당한다. 컴퓨터 A가 인터넷에 로그온하면 라우터는 사설 주소에 포트 번호를 붙여서 유일한 주소를 할당한다. 그 다음에 컴퓨터 B가 인터넷에 로그온하면 컴퓨터 A에게 할당한 똑같은 사설 주소에 다른 포트 번호를 붙여서 유일한 주소를 또 만들어서 할당한다.


반응형

+ Recent posts