윈디하나의 누리사랑방. 이런 저런 얘기

글쓴시간
분류 기술,IT
※ NAT는 Network Address Translation 의 약어로, 네트워크 주소 변환의 약자다. 192.168.0.1 과 같은 주소를 변환해주는데, 어떻게 변환해주느냐에 따라 크게 4가지로 나뉜다. IP 공유기가 바로 NAT 장비다.

사용자 삽입 이미지

교환전

사용자 삽입 이미지

교환후 패킷. 주소와 체크섬만 변환되어있다.

---

※ Full Cone NAT (Static NAT)

목적지로 가는 패킷이 오면, 패킷의 소스IP를 공유기IP로 변환(포트번호는 그대로)하고 목적지로 패킷을 발송한다. 이때 소스IP:소스PORT 를 저장해 놓는다. 패킷이 공유기IP:소스PORT로 오면 이 패킷을 그대로 저장했던 소스IP로 포워딩한다.

※ Restricted Cone NAT (Dynamic NAT)

Full Cone NAT에 IP제한을 둔 NAT형태. 패킷 발송은 Full Cone NAT와 동일하다. 소스IP:소스PORT 및 목적지IP를 저장해 놓는다. 패킷이 공유기IP:소스PORT로 오면 이 패킷을 저장했던 목적지IP와 비교해 매칭되는 소스IP:소스PORT로 패킷을 포워딩한다.

※ Port Restricted Cone NAT (Dynamic NAT)

Restricted Cone NAT에 Port 제한을 둔 NAT형태. 패킷 발송은 Full Cone NAT와 동일하다. 소스IP:소스PORT 및 목적지IP:목적지PORT를 저장해 놓는다. 패킷이 공유기IP:소스PORT로 오면 이 패킷을 저장했던 목적지IP:목적지PORT와 비교해 매칭되는 소스IP:소스PORT로 패킷을 포워딩한다.

※ Symmetric NAT (Dynamic NAT)

Port Restricted Cone NAT과 유사하지만 발송 방법에 차기아 있다. 목적지로 가는 패킷이 오면, 패킷의 소스IP를 공유기IP로 변환하고 소스PORT도 임의의 공유기PORT로 변환한 후 목적지로 패킷을 발송한다.

---

※ Static NAT

- 사설IP하나당 공인IP하나를 할당하는 1:1 방식의 주소변환 방식.

※ Dynamic NAT

- 공인IP가 사설IP보다 더 많은 경우 사설IP는 임의의 공인IP들과 매핑됨. 동시에 사용할 수 있는 최대 사설IP사용자는 공인IP의 개수와 동일함. 특별한 경우를 제외하고는 찾아볼 수 없음.

※ PAT(Port Address Translation)

- 공인IP가 사설IP보다 적은 경우, IP뿐만 아니라 포트 번호까지 바꿔서 매핑함. 가정에서 사용하는 가능 흔한 형태의 NAT.

※ 이런 NAT 방식이 문제되는 이유는 UDP 때문이다. UDP 패킷은 '접속'이 이뤄지지 않기 때문에 TCP와는 통신 방식이 다르다. TCP 패킷은 두 피어가 Symetric NAT를 사용해도 서로 통신할 수 있지만, UDP는 아예 기술적으로 불가능하다. (이런 경우 몇가지 '룰'을 지키면 사용 가능하다) 2000년대 초, VoIP가 대중화 될 때, 가장 큰 문제가 되었던 항목으로, 요즘엔 아예 NAT를 우회하도록 해 이 문제를 해결한다. 전체 접속 환경중 15% 정도가 우회해서 사용하고 있다고 한다.