728x90

NAT(Network Adderess Translate)는 주소 변환 기술입니다. 하나의 네트워크 주소를 다른 네트워크 주소로 변환하여 라우팅을 원할하게 해줍니다. 1:1로 변환하기도 하지만 1:N로 변환을 하기도 합니다. 1:N으로 변환하는 경우를 NAPT, PAT라고 합니다.

 

공인 IP를 사설 IP로 변환하거나 사설 IP를 공인 IP로 변환 또는 공인 IP를 공인 IP로 변환 등을 통틀어서 NAT라고 합니다. 밀접하게 접할 수 있는 NAT 장비는 공유기가 있습니다. 공유기로 하위 네트워크로 구성되어 있는 망에서 사설 IP를 통해 인터넷에 접속하게 되면 공유기가 공인 IP로 변환하고 다시 외부에서 오는 정보를 다시 사설 IP로 변환해주게 됩니다. 여기서 공인 IP는 인터넷에 접속하기 위해 유일하게 부여하는 IP, 사설 IP는 인터넷에 직접 접속하지 않고 NAT 장비를 통해 변환하여 사용하는 주소를 말합니다.

 

NAT와 같이 네트워크 변환 기술이 필요한 이유는 IPv4의 주소 고갈 문제가 있습니다. 간단히 서브네팅과 같이 부족 문제를 해결해왔지만 장기적으로 가기 위해서는 NAT와 같은 기술을 이용해 한정되어 있는 공인 IP들을 변환하여 사용하게 됩니다. 그리고 이렇게 변환하여 사용하기 때문에 외부로는 사설 IP들을 숨겨줌으로써 내부 IP구조를 공개하지 않게 되어 보안이 한층 더 강화되게 됩니다.

 

NAT는 주소를 변환하고 정확히는 출발지 혹은 도착지의 주소를 변환합니다. 

아래와 같이 PC에서 웹 서버로 접속하려고 하는 상황입니다.

사설 IP 192.168.100.100를 가진 PC가 웹 서버 10.10.10.10에 접속하려면 NAT를 통해 공인 IP로 변환이 되어야 합니다.

NAT를 통해 192.168.100.100은 공인 IP 11.11.11.11로 변환됩니다. 그리고 NAT가 변환한 사설, 공인 IP들은 장비에 저장됩니다.

이제 웹 서버쪽에서 다시 응답을 받기 위해서는 변환된 공인 IP를 다시 사설 IP로 바꿔줘야 PC에 가게 됩니다.

PAT의 동작의 경우에는 IP뿐 아니라 포트 정보까지 변환해주게 됩니다.

 

NAT는 출발지의 주소를 바꾸느냐 도착지의 주소를 바꾸느냐에 따라 SNAT(Source NAT), DNAT(Destination NAT)로 나뉘고 변환할 IP의 정보가 고정되어 있냐 아니냐에 따라 정적 NAT, 동적 NAT로 나뉩니다.

728x90

'Programming > Network' 카테고리의 다른 글

IP 주소, MAC 주소  (0) 2021.08.30
네트워크 연결 및 회선  (0) 2021.07.24
OSI 7 계층  (0) 2021.07.21
열혈 TCP/IP 소켓 프로그래밍 정리(完)  (0) 2021.04.27
열혈 TCP/IP 23-2. IOCP의 단계적 구현  (0) 2021.04.25

+ Recent posts