Computer Science/[ Network ]

[ Network ] 12. NAT(Network Address Translation)란?

kim.svadoz 2020. 11. 4. 17:36
728x90
반응형

NAT


Network Address Translation

NAT(네트워크 주소 변환)IP 패킷의 TCP/UDP 포트 숫자와 소스 및 목적지의 IP 주소 등을 재기록하면서 라우터를 통해 네트워크 트래픽을 주고 받는 기술이다.

패킷에 변화가 생기기 때문에 IPTCP/UDP체크섬(checksum)도 다시 계산되어 재기록해야 한다.

그렇기 때문에 네트워크의 성능에 영향을 줄 수밖에 없다!

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

중요한 자료가 들어있는 서버를 외부에 공개하지 않게 하기 위해서 중간에 방화벽을 두어 보호한다. 하지만, 방화벽 내부의 컴퓨터는 인터넷에 접속할 수 있도록 해줘야 하기에 방하벽에 NAT를 탑재하여, 외부로 통신 가능하도록 열어준다.

NAT를 사용하는 여러가지 이유중 중요한 한가지는, 기업체 등에서 사설 네트워크에속한 여러 개의 호스트가 하나의 공인 IP주소를 사용하여 여러명이 동시에 인터넷에 접속하기 위함이다.

또한, 인터넷의 공인 IP주소를 절약할 수 있고, 인터넷이란 공공망과 연결되는 사용자들의 고유한 사설망을 침입자들로부터 보호할 수 있다는 장점이 있다.

NAT를 사용할 때 단점은 여러명이 동시에 인터넷을 접속하게 되므로, 실제로 접속하는 호스트 숫자에 따라서 접속 속도가 느려질 수 있다.

(다만 성능이 좋을수록 대역폭만 줄어들고 체감되는 속도저하는 꽤 적은편!)

NATIPv4의 주소 부족 문제를 해결하기 위한 방법으로 고려되었으며, 주로 비공인 네트워크 주소를 사용하는 망에서 외부 공인망(ex. Internet)과의 통신을 위해서 네트워크 주소를 변환하는것이다.

  • NAT 소프트웨어 : 일반 PC나 서버에서 NAT를 가능하게 하는 소프트웨어들이다.
    • Internet Connection Sharing(ICS) : 마소에 기본 포함되어 있으며, NAT + DHCP
    • Routing and Remote Access Service
    • IPFilter
    • ipfirewall
    • Netfilter + iptables/nftables
    • NPF
    • PF
    • WinGate
728x90
반응형