미니시리 2024. 9. 15. 23:00

NAT는 네트워크 주소 변환(Network Address Translation)의 줄임말 입니다.
NAT를 사용하는 이유는 주로 사설 네트워크에 속한 여러 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위해서 입니다. IP에는 퍼블릭 IP와 프라이빗 IP가 있는데 이것들은 IPv4 주소의 낭비를 막고 공인 인터넷을 사용하지 않아도 되는 엔드포인트들에게 어떤 망이든 중복 사용이 가능한 IP를 주기 위해서 입니다.

10.0.0.0 ~ 10.255.255.255
172.16.0.0 ~ 172.31.255.255
192.168.0.0 ~ 192.168.255.255

위의 IP 주소들은 프라이빗 네트워크에서 사용 가능한 IP 대역이다. 
같은 공간에 있는 공유기에 연결된 단말들이 사설 IP를 보유하게 됩니다. 그리고 사설 IP를 출발지 주소로 유지한 상태로 외부 인터넷으로 나갈 수 없기 때문에 인터넷은 공인 IP로만 통신이 가능합니다.
프라이빗 IP가 외부로 나가기 위해선 공유기가 프라이빗 IP를 가지고 있는 내 컴퓨터의 IP를 공유기 자신의 공인 IP 변환하게 됩니다.
공유기를 지나서 외부 인터넷으로 나아갈 때 공유기의 공인 IP를 가지고 원하는 목적지 주소로 향하는 것이고 이것이 우리가 주로 사용하는 NAT이다.

 

더 이해하기 쉽게 NAT 통신 과정을 아주 간단하게 시각적으로 설명해보면

1. 내부 네트워크에서 요청 시작

  • 내부 장치 > 컴퓨터 A가 있다고 가정
  • 게이트웨이 > A 컴퓨터는 내부 IP 주소를 가진 공유기로 요청을 보낸다.

 
A 컴퓨터 (내부 IP: 192.168.1.2)
    |
    | 요청
    |
 게이트웨이 (공유기)
 
 
 
 
2. NAT 변환

  • NAT  장비: 공유기는 A 컴퓨터의 내부 IP 주소를 기록하고 이를 공인 IP 주소로 변환한다.
  • 변환 테이블: NAT 장비는 내부 IP를 공인 IP와 매핑한다.

 
A 컴퓨터 (내부 IP: 192.168.1.2)
    |
    | 변환
    |
 게이트웨이 (공인 IP: 203.0.113.5)
 
 
 
 
3. 외부 네트워크로 요청 전송

  • 요청 전송: NAT 장비는 변환된 공인 IP 주소로 외부 인터넷에 요청을 보낸다.

 
외부 서버 (예: 위키피디아)
    |
    | 요청 수신
    |
 공인 IP: 203.0.113.5
 
 
 
 
4. 서버 응답

  • 서버 응답: 외부 서버가 요청을 처리하고 응답을 NAT 장비의 공인 IP 주소로 보낸다.

 
외부 서버 (응답)
    |
    | 응답
    |
 공인 IP: 203.0.113.5
 
 
 
 
5. NAT 장비에서 응답 변환

  • 응답 수신: A 컴퓨터가 응답을 받아서 요청한 웹 페이지를 표시한다.

 
 게이트웨이 (공인 IP: 203.0.113.5)
    |
    | 변환
    |
 A 컴퓨터 (내부 IP: 192.168.1.2)
 
 
 
 
6. 내부 네트워크에서 응답 수신

  • 응답 수신: A 컴퓨터가 응답을 받아서 요청한 웹 페이지를 표시한다.

 
A 컴퓨터 (내부 IP: 192.168.1.2)
    |
    | 응답
    |
 게이트웨이 (공유기)
 
 
 
 
 
 

종합적 그림

 
 
내부 네트워크                   NAT 장비 (공유기)                    외부 네트워크



A 컴퓨터                   →     [192.168.1.2]      →       외부 서버
(192.168.1.2)                변환        [203.0.113.5]    응답
  요청                                        ↓
                      →     [203.0.113.5]    →        응답
                                    변환



                           ↓
                        A 컴퓨터 (192.168.1.2:12345)
 
 

NAT의 주요 형태

 
1. Static NAT:

  • Static NAT는 내부 네트워크의 특정 장치에 대해 고정된 공인 IP 주소를 매핑한다.
  • 서버와 같이 외부에서 특정 IP 주소로 접근해야 하는 장치에 사용된다. 
  • 예를 들면 회사의 웹 서버를 외부에서 접근 가능하게 하려는 경우에 유용하다.

 
2. Dynamic NAT:

  • Dynamic NAT는 내부 네트워크의 사설 IP 주소를 공인 IP 주소 풀에서 동적으로 할당한다.
  • 내부 장치들이 외부 네트워크와 연결할 때 공인 IP 주소를 동적으로 할당받아 사용한다,
  • 공인 IP 주소가 제한적일 때 사용한다.

 
3. PAT:

  • 여러 내부 장치가 하나의 공인 IP 주소를 공유할 수 있도록 하며 포트 번호를 통해 트래픽을 구분한다.
  • 가정이나 소규모 사무실 네트워크에서 흔히 사용된다.
  • 내부 네트워크의 장치들이 동일한 공인 IP 주소를 사용하되 포트 번호를 통해 각 장치의 트래픽을 구분한다.

 
 
 
 
 

NAT의 장단점

 

장점:

  • IP 주소 절약: 여러 장치가 하나의 공인 IP 주소를 공유함으로써 공인 IP 주소를 절약할 수 있다.
  • 보안: 외부 네트워크에서 내부 네트워크의 사설 IP 주소를 직접 접근할 수 없게 하여 보안성을 높인다.
  • 유연성: 내부 네트워크의 IP 주소를 변경해도 외부에서 접근하는 공인 IP 주소는 변경할 필요가 없어 관리가 용이하다.

단점:

  • 트래픽 감시와 모니터링의 어려움: NAT는 패킷을 변환하므로, 네트워크 트래픽을 모니터링하고 분석하는 데 어려움이 있을 수 있다.
  • P2P와 일부 애플리케이션의 문제: NAT가 적용된 네트워크에서는 피어 투 피어 연결이나 일부 애플리케이션에서 문제가 발생할 수 있다.(P2P 연결에서는 두 장치가 직접적으로 서로의 IP 주소와 포트 번호를 알고 있어야 한다. NAT에선 그럴 수 없으므로 직접적인 P2P 연결이 어렵다)