서버 프로그래밍

NAT(Network Address Translation)의 역활

하늘흐늘 2009. 6. 25. 15:13
반응형
NAT(Network Address Translation)란?
우리가 일반적으로 인터넷 공유기라고 부르는 기계에서 하는 일로 사설IP를 사용하는 내부의 네트워크 기기(PC등등)들이 하나의 공유IP(Public IP)를 공유하도록 하여 N개의 Public IP로 N개 이상의 사설IP를 가진 기기들이 인터넷을 사용할 수 있도록 한다.

3 가지 모드
static
Public IP와 Private IP를 매핑시킴
pooled
사용가능한 Public IP들을 풀(pool)로 가지고 있어 이들 중 하나를 필요에 따라 Private IP와 매핑 시킴
PAT (Port Address Translation)
IP주소를 매핑하듯 Port를 매핑하여 Public IP에서의 Port활용성을 높임. PAT를 안할 경우 내부 IP 기기 중 하나의 기계가 이미 사용 중인 Port를 다른 기기에서는 사용할 수 없겠죠?

하는일
IP헤더에 있는 IP주소와 TCP 혹은 UDP 헤더에 있는 포트 번호를 변경하며 패킷 변경에 따라 체크섬을 변경한다. 이 때 데이터 속에 포함된 IP와 Port는 NAT에 따라 변경을 하는 것도 있고 안하는 것도 있다. 안할경우 FTP와 같은 경우 문제를 발생시킬 수 있다. FTP는 PORT명령으로 포트번호를 변경하기 때문에 FTP와 같은 경우에는 데이터도 검사해서 변경해주어야 한다.

반응형