NAT

 


'''Network Address Translation / 네트워크 주소 변환'''
NAT Service에 대한 내용을 찾고 있다면 NAT Service참고.
1. 개요
2. NAT 소프트웨어


1. 개요


NAT(네트워크 주소 변환)은 IP 패킷의 TCP/UDP 포트 숫자와 소스 및 목적지의 IP 주소 등을 재기록하면서 라우터를 통해 네트워크 트래픽을 주고 받는 기술이다. 패킷에 변화가 생기기 때문에 IP나 TCP/UDP의 체크섬(checksum)도 다시 계산되어 재기록해야 한다. 그렇기 때문에 네트워크의 성능에 영향을 줄 수 밖에 없다.
NAT를 쓰는 이유는 여러 대의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위한 경우가 대부분이다. 예를 들어 인터넷 회선을 하나 개통하고 인터넷 공유기를 달아서 여러 PC 를 연결하여 사용 하는데, 이 것이 가능한 이유가 인터넷 공유기에 NAT 기능이 탑재되어 있기 때문이다.
중요한 자료가 들어있는 서버를 외부에 공개하지 않게 하기 위해서 중간에 방화벽을 두어서 보호한다. 하지만, 방화벽 내부의 컴퓨터는 인터넷에 접속할 수 있도록 해줘야 하기에 방화벽에 NAT를 탑재하여, 외부로 통신 가능하도록 열어 준다.
NAT 를 사용하는 이유는, 여러가지가 있는데 중요한 이유중 한가지는, 기업체등에서 사설 네트워크에 속한 여러 개의 호스트가 하나의 공인 IP 주소를 사용하여, 여러명이 동시에 인터넷에 접속하기 위함이다. NAT 를 사용할때 단점은 여러명이 동시에 인터넷을 접속하게 되므로, 실제로 접속하는 호스트 숫자에 따라서 접속 속도가 느려질 수 있다. 다만 성능이 좋을수록 대역폭만 줄어들고 체감되는 속도저하는 꽤 적은편.

2. 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에 포함
  • Routing and Remote Access Service: Windows server에 포함
  • WinGate : Microsoft Windows용 서드파티 프로그램이다.
  • : 이쪽은 NAT 소프트웨어랑 전혀 상관없는 그리드 컴퓨팅 소프트웨어다. 항목 참조.