NAT

덤프버전 :


파일:다른 뜻 아이콘.svg
은(는) 여기로 연결됩니다.
NAT Service에 대한 내용은 NAT Service 문서
NAT Service번 문단을
NAT Service# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
참고하십시오.




1. 개요
2. 상세
3. NAT 소프트웨어


1. 개요[편집]


Network Address Translation / 네트워크 주소 변환

NAT(네트워크 주소 변환)은 IP 패킷에 적힌 소켓 주소의 포트 숫자와 소스 및 목적지의 IP 주소 등을 재기록하면서 라우터를 통해 네트워크 트래픽을 주고 받는 기술이다. 패킷에 변화가 생기기 때문에 IP나 TCP/UDP의 체크섬(checksum)도 다시 계산되어 재기록해야 한다. 그렇기 때문에 네트워크의 성능(레이턴시)에 영향을 줄 수밖에 없다.

2. 상세[편집]



NAT를 쓰는 이유는 여러 대의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위한 경우가 대부분이다. 예를 들어 인터넷 회선을 하나 개통하고 인터넷 공유기를 달아서 여러 PC 를 연결하여 사용 하는데, 이것이 가능한 이유가 인터넷 공유기에 NAT 기능이 탑재되어 있기 때문이다.

NAT는 내부 네트워크에서 사용하는 IP 주소와 외부에 드러나는 주소를 다르게 유지할 수 있기 때문에 내부 네트워크에 대한 어느 정도의 보안 기능을 한다. 방화벽과 비슷한 기능이다.

NAT 를 사용하는 이유는 여러 가지가 있는데 중요한 이유 중 한 가지는, 기업체 등에서 사설 네트워크에 속한 여러 개의 호스트가 하나의 공인 IP 주소를 사용하여, 여러 명이 동시에 인터넷에 접속하기 위함이다. NAT를 사용할 때 단점은 여러 명이 동시에 인터넷을 접속하게 되므로, 실제로 접속하는 호스트 숫자에 따라서 접속 속도가 느려질 수 있다. 다만 성능이 좋을수록 대역폭만 줄어들고 체감되는 속도 저하는 꽤 적은 편.

NAT의 종류는 1:1 매핑인 Static NAT, n:m 매핑인 Dynamic NAT, 1:n 매핑인 PAT이 있다.

IPv6에서는 IP 개수가 사실상 무한에 가깝고, End-to-End 연결을 이용하기 때문에 NAT 기능이 필요없다.[1] 다만, 일반적으로 필요없다는거지[2] IPv6도 로컬 유니캐스트 IP[3]로 외부랑의 통신이 필요할때가 간혹 있기에 NAT을 지원 안하는거는 아니다. 그리고 아직까지는 IPv4가 대중적으로 사용되기에, NAT64[4]는 여전히 필수적이며, 그 외에도 특수한 환경에 대비해 NAT66[5]이라는 기술도 있긴 있다.

3. NAT 소프트웨어[편집]


일반 PC나 서버에서 NAT를 가능하게 하는 소프트웨어들이다.

  • Internet Connection Sharing (ICS): Microsoft Windows에 기본으로 포함되어 있으며, NAT와 DHCP 기능을 한다.
  • Routing and Remote Access Service (RRAS): Microsoft Windows Server 에만 포함되어있으며, NAT, DHCP, RIP, IGMP, PPP등 기본적인 라우터의 기능을 제공한다.
  • IPFilter: Open Solaris, FreeBSD, NetBSD에 기본으로 포함되어 있으며 UNIX 계열 운영 체제에서 사용할 수 있다.
  • ipfirewall: FreeBSD에 포함
  • Netfilter + iptables/nftables: 보통 리눅스에서 사용한다.
  • NPF: NetBSD에 포함
  • PF: OpenBSD에 포함
  • WinGate: Microsoft Windows용 서드파티 프로그램이다.
  • NAT Service: 이쪽은 NAT 소프트웨어랑 전혀 상관없는 그리드 컴퓨팅 소프트웨어다. 항목 참조.
파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 2023-10-31 16:22:10에 나무위키 NAT 문서에서 가져왔습니다.

[1] 무엇보다 NAT 기능을 이용하면 End-to-End 연결을 지원할 수 없다.[2] IPv6가 도입되면 일반 가정집과 Wi-Fi 등에도 공인 IP가 부여된다고 보면 된다. 그러나 서버, 클라우드 등에서는 로드 밸런싱과 보안 등의 이유로 IPv6가 대중화 되더라도 로컬 유니캐스트 IP(IPv4에서의 사설 IP랑 같은 개념)를 사용해야된다.[3] 사설 IP랑 같은 개념[4] IPv4-to-IPv6 전환 및 IPv4-IPv6 공존을 위한 메커니즘. IPv4랑 IPv6간 통신을 지원하기 위한 기술이다.[5] IPv6-to-IPv6 NAT. IPv6의 주소 독립성 제공을 위한 기술이며, NAT66은 외부 주소와 내부 주소가 1:1로 매핑이 된다. 즉, NAT66은 NAT의 포트 매핑 방법이 아닌 주소 매핑이다. 다만, 아직 표준화가 완전히 된거는 아니다.