Post

네트워크 주소 변환(NAT)

NAT(Network Address Translation)

NAT(네트워크 주소 변환)는 트래픽이 라우팅 장치를 통해 전송되는 동안 IP 패킷 헤더의 네트워크 주소 정보를 수정할 수 있도록 네트워킹에 사용되는 방법이다. NAT의 주요 목적은 네트워크의 각 장치에 대해 고유한 IP 주소의 필요성을 줄이는 것이며, 이는 사용 가능한 IPv4 주소 수가 제한(대략 43억)되어 있다는 점을 고려할 때 매우 중요하다.

NAT 유형

  • 동적 NAT
    • 기능: 공용 IP 주소 풀이 포함되며, 내부 장치가 외부 네트워크에 대한 액세스를 요청하면 NAT 장치는 이 풀에서 사용 가능한 공용 IP 주소를 할당한다. 세션이 끝나면 IP 주소는 다른 장치에서 사용할 수 있도록 풀로 반환된다.
    • 사용 사례: 공용 IP 주소보다 내부 호스트가 많지만 모든 내부 호스트가 동시에 인터넷에 액세스할 필요는 없는 상황에 유용하다.
  • 고정 NAT
    • 기능: 내부 IP 주소와 공용 IP 주소가 일대일로 매핑된다. 이 매핑은 고정되어 있으며 시간이 지나도 변경되지 않는다.
    • 사용 사례: 고정 NAT은 웹 또는 이메일 서버와 같이 인터넷에서 액세스할 수 있는 호스팅 서비스에 자주 사용된다.
  • 포트 주소 변환(PAT)
    • 기능: 로컬 네트워크의 여러 장치가 단일 공용 IP 주소를 공유할 수 있도록 하는 동적 NAT 유형이다. 각 세션에 고유한 소스 포트 번호를 할당하여 트래픽을 차별화한다.
    • 프로세스: 내부 장치가 인터넷에 요청을 보내면 NAT 장치는 소스 포트 번호를 변경하고 이 수정 사항을 변환 테이블에 기록한다. 응답이 이 포트로 반환되면 NAT은 테이블을 참조하고 응답을 올바른 내부 장치로 보낸다.
    • 사용 사례: PAT은 여러 장치가 단일 공용 IP 주소를 공유하는 대부분 가정 및 소규모 기업 네트워크에서 널리 사용되며, IP 주소 부족을 관리하는 가장 효율적인 방법이다.

NAT 프로세스

  • 아웃바운드 트래픽(개인 네트워크에서 공용 네트워크로)
    • 소스 주소 변환: 개인 IP 주소가 있는 로컬 네트워크의 장치가 인터넷으로 데이터를 보낼 때 NAT 장치(일반적으로 라우터)는 장치의 개인 소스 IP 주소를 라우터의 공용 IP 주소로 바꾼다.
    • 포트 번호 할당(PAT): PAT(포트 주소 변환)은 나가는 패킷에도 고유한 소스 포트 번호가 할당되며, 이 포트 번호는 NAT 장치가 로컬 네트워크에서 수신 패킷을 전달해야 하는 장치를 식별하는 데 도움이 된다.
  • 인바운드 트래픽(공용 네트워크에서 개인 네트워크로)
    • 대상 주소 변환: 들어오는 트래픽의 경우 NAT 장치는 대상 IP 주소와 포트 번호를 살펴본 다음 NAT 테이블을 참조하여 해당 개인 IP 주소와 포트 정보를 결정한다.
    • 패킷 전달: NAT 장치에 올바른 개인 IP 주소(및 PAT이 사용되는 경우 포트 번호)가 있으면 패킷을 로컬 네트워크의 적절한 장치로 전달한다.

nat-workflow

NAT 테이블

NAT 테이블은 로컬 네트워크 내의 장치의 개인 IP 주소 및 포트 번호를 인터넷을 통한 통신을 위한 공용 IP 주소 및 포트 번호로 매핑하는 데 사용되며, NAT 장치가 트래픽을 올바르게 라우팅하는 데 필수적이다.

NAT 테이블 예시

  • 내부(개인) IP 주소: 로컬 네트워크에 있는 장치의 IP 주소
  • 내부 포트 번호: 세션이 시작될 때 내부 장치에서 사용된 원래 포트 번호(PAT과 관련됨)
  • 외부(공용) IP 주소: NAT 장치에서 할당한 공용 IP 주소. 외부 네트워크에서 볼 수 있는 주소
  • 외부 포트 번호: NAT 장치(PAT에서)가 세션에 할당한 포트 번호로서, 이 포트 번호는 같은 공용 IP 주소를 사용하는 여러 세션을 구별하는 데 사용된다.
  • 프로토콜: 사용 중인 프로토콜 유형(예: TCP, UDP)
내부 IP내부 포트외부 IP외부 포트프로토콜
192.168.0.212345203.0.113.510001TCP
192.168.0.323456203.0.113.510002UDP
192.168.0.213579203.0.113.510003TCP

NAT의 장점

  • IP 주소 보존: NAT의 주요 장점 중 하나는 전역적으로 고유한 IP 주소의 필요성을 줄이는 능력이다. 개인 네트워크의 여러 장치는 단일 또는 소수의 공용 IP 주소를 공유할 수 있으며, 이는 IPv4 주소의 제한된 가용성을 고려할 때 매우 중요하다.
  • 향상된 보안: NAT은 네트워크의 내부 IP 주소가 외부 네트워크로부터 숨겨지므로 보안 계층을 제공한다. 이러한 모호함은 공격자가 내부 장치를 직접 표적으로 삼는 것을 더 어렵게 만든다.
  • IP 주소 지정의 유연성: 개인 네트워크 내에서 NAT을 통해 조직은 IP 주소를 보다 유연하게 사용할 수 있다. 외부에 표시되는 방식에 영향을 주지 않고 내부 IP 주소의 구조를 변경할 수 있다.
  • 비용 효율적: 공용 IP 주소를 획득하는 데 비용이 많이 들 수 있으므로 NAT은 필요한 공용 IP 주소 수를 줄임으로써 조직에 상당한 비용 절감을 가져올 수 있다.

NAT의 단점

  • 네트워킹의 복잡성: 크고 복잡한 네트워크에서는 NAT 구성을 설정하고 관리하는 것이 복잡할 수 있다. 적절한 네트워크 기능을 보장하려면 신중한 계획과 관리가 필요하다.
  • 대기 시간 및 성능 영향: NAT에서는 모든 패킷에 대해 IP 주소 변환이 필요하므로 추가 오버헤드가 발생할 수 있다.
  • 로깅 및 추적성 문제: 여러 장치가 같은 공용 IP 주소를 공유하므로 NAT은 로깅 및 모니터링을 복잡하게 만들 수 있으며, 이 때문에 특정 내부 장치에 대한 활동을 다시 추적하는 것이 어려울 수 있다.
This post is licensed under CC BY 4.0 by the author.