NAT(network address translation)란 무엇일까?

2021. 9. 28. 23:28IT기초/IT기본용어

NAT(network address translation)란 무엇일까?

 

일반적으로 라우터에서 많이 사용되는 서비스이다. 직독 직해를 하면 '네트워크 주소 변환'이라고 해석할 수 있다. 우리는 왜 네트워크 주소를 변환하고 사용해야할까??

 

이것을 알기 위해서는 먼저 ip에 대한 이해가 필요하다. 최초로 IP라는 개념을 만들때 개발자들은 약 40억개가 넘는 ip를 만들었다. 이렇게 많은 ip를 개발자들은 다 쓸것이라고 상상하지 않았다. (앞으로 말하는 ip는 특별한 말이 없으면 전부 공인 ip를 지칭한다. 이와 반대되는 사설 ip는 중첩되는 ip를 만들고 싶은만큼 만들 수 있다.)
 이정도면 뭐...인류가 망하기전까지 쓰지않겠냐..? 라는 생각이었지만 어림도없지 ㄹㅇㅋㅋ 

 

하지만 개발자들의 생각과는 달리 인류의 과학속도는 무지막지하게 빠르게 성장했고 40억개가 넘는 ip가 고갈되어 가는 지경에 이르렀다. 네트워크는 사용을 해야하는데 ip는 한정되 있으니 어떻게 해서든 이것을 늘릴려고 했고 그 결과 나타난것이 nat와 ipv6이다.

 

기본적으로 인터넷 세상은 공인 ip로서 접근을 할 수 있다. 이렇게 공개적으로 등록된 ip에 접근하기 위해서는 접근하는 당사자도 공인 ip를 가지고 있어야 하는데 잠깐 생각해보자. 인류가 총 70억명이고 가정마다 컴퓨터1대 핸드폰 1인당 최소1개 라고 가정했을때 ip는 이미 70억개가 넘게 사용이된다. 

 

바로 여기서 사설 ip와 벤더사가 나타났다. 여기서 벤더사 라는것은 kt, skt 등의 통신사를 의미하는데 개개인이 가지고 있는 사설 ip를 규합해서 네트워크 주소를 변환해 공인 ip로 만들어 인터넷에 있는 공인 ip에 접근하게 하는 회사들을 의미한다.

 

쉽게 말해서 개인, 내부 인프라망인 사설 ip와 외부 인터넷인 공인 ip를 연결하기 위한 방법이라고 할 수 있다.