본문 바로가기

Network

NAT의 종류?

728x90
반응형

내가 네알못임을 또 크게 깨달았다...
NAT에 종류가 있었구나... 그저 NAT는 Private IP/Port를 Public IP/Port로 매핑시켜준다.
이정도만 알고 있던 내가 부끄럽다...

자 그래서, 오늘 써볼 내용은 NAT의 종류이다.
(아래 나오는 모든 그림은 내가 그렸다!)
크게 4가지가 있다.

  1. Full Cone NAT
  2. Restricted Cone NAT
  3. Port Restricted Cone NAT
  4. Symmetric NAT

Full Cone NAT

가장 간단한 NAT 방식이다.
private ip/port와 public ip/port가 매핑되면, 누구든 간에 그 public ip/port로 접근 시, host에게 통신을 시도할 수 있는 방식이다.
말로 설명하면 너무 어렵다. 그림으로 설명하자.

위 그림을 보면서 생각하면 된다.
Host의 Private IP와 Port가 Router나 L3 Switch를 통해 Public IP와 Port로 매핑이 되면,
매핑된 정보를 토대로 Host가 Service A로 통신을 시도했을때, Service A도 마찬가지로 매핑된 정보를 토대로 Host에게 패킷을 보낼 수 있고, 이는 Router 또는 L3 Switch를 통해 Host에게 전달이 가능하다.

여기서 중요한건, Service A가 아니다. 바로 Service B이다.
Service B는 Host와 통신하지 않았지만, 매핑된 정보를 토대로 Host에게 패킷을 보낼 수 있고, 이는 Host에게 전달이 가능하다는 점이다.
"즉 정리하면, 통신을 하던 목적지가 아님에도 NAT로 매핑된 정보만 안다면 누구든지 Host에게 패킷을 전달할 수 있다" 는 것이다.


Restricted Cone NAT

Restricted 제한된이라는 뜻이다.
즉 Full Cone NAT에 비해 무언가가 제한되었다는 말이겠지...
그림을 보자

그림을 보면 Full Cone NAT와 차이점이 있다.
바로 통신이 제한되는 부분이 있다는 것이다.

Full Cone NAT는 "누구든지" 매핑된 정보만 안다면 패킷을 Host에게 전달할 수 있다고 했다.
하지만 Restricted Cone 방식은 하나의 제한이 있다.
바로 기존에 통신하던 Service의 IP가 아니라면 Host에게로 패킷이 도달하지 않는다는 것이다.

위 그림을 보면, Host가 통신을 수행한 Service는 Service A이고 IP는 8.8.8.8 Port는 8888을 사용하고 있었다.
이때 동일한 IP인 8.8.8.8에서 다른 port인 7777 port를 통해 Host에게 패킷을 보낼 경우, 이는 Router 또는 L3 Switch를 거쳐 Host에게로 전달이 가능하다.
하지만 Service C처럼 port는 같지만, IP가 다른경우, 패킷을 매핑된 정보를 통해 보낸다 하더라도, Router / L3 Switch에서 막히며 Host에게까지 전달되지 않는다.


Port Restricted Cone NAT

Port Restricted라고 한다... 포트 제한... 딱 봐도 느낌오지 않는가
마찬가지로 제한이 있을거고 아마 이름대로 포트제한이 있겠지
그림을 보자

자 Restricted Cone과 비교했을때, 또 하나의 제한이 생겼음을 확인할 수 있다.
예상했듯이, Port 제한이다.

기존 Restricted Cone은 기존에 host와 통신을 하던 Service의 Server IP와 패킷을 보내고자 하는 Server의 IP가 다를 경우, Host로의 패킷 전달을 차단하였다. 
Port Restricted Cone은 여기에 host와 통신을 하던 Service의 Server IP, Port가 전부 동일하지 않다면, Host로의 패킷 전달을 차단한다는 것이다.

즉, 기존에 통신하던 Service가 아니면 Host에게 패킷을 직접적으로 보낼 수 없는 환경이라는 말이다.


Symmetric NAT

Symmetric...? 파파고야 도와줘...

대칭 이라고 한다... 흠 대칭 NAT 대충 느낌이 온다.
일단 그림 보자.

일단 기본적으로 패킷 전달에 대한 제한은 Port Restricted Cone NAT와 동일하다.
그거는 위에 그림 참고!

그러면 이 그림은 무었이냐~
바로 위 3개 Cone 방식의 Nat와 이 Symmetric 방식의 Nat의 차이점이다.

Cone 방식의 Nat는 Host와 Router / L3 Switch 간의 매핑이 이루어지면 통신할때 계속해서 그 매핑된 정보를 쓴다.
어떤 Service의 Server와 통신을 하더라도 동일한 매핑 정보를 사용한다.

하지만 Symmetric 방식은 통신하는 Service의 IP/Port 를 기반으로, 매핑정보를 달리한다.
그림을 보다싶이 8.8.8.8 IP에 8888 Port를 사용하는 Service A와 통신할때는 10000번 Port로 통신을 하고,
4.4.4.4 IP에 7777 Port를 사용하는 Service C와 통신할때는 20000번 Port로 통신을 한다.

즉 Host가 통신하는 대상에 따라 각각 다른 매핑정보를 가져간다. 매핑정보가 계속해서 변하는 방식이다. 라고 말할 수 있다.


다른 블로그나, 내용들 보니까... 너무 어렵게 설명이 되어있길래, 
내가 할 수 있는 최대한으로 쉽게 설명해 보았다.

틀린내용이 있다면 지적 환영!!

728x90
반응형

'Network' 카테고리의 다른 글

Application Level Gateway 란?  (0) 2021.03.12