reference: reference: "하루 3분 네트워크 교실" / 아미노 에이지
보통 IP 주소는 ICANN이 관리한다. 이는 IP를 유일하게 관리하도록 하기 위해서이다. 이러한 IP 주소를 글로벌 IP 주소라 한다. 반면 IP 주소에는 인터넷에 연결하지 않는다는 조건으로 자유롭게 사용할 수 있는 주소도 있다. 이를 사설 IP 주소라 한다.
ICANN이라는 단체가 IP를 관리함으로써 각각의 IP 주소들이 인터넷 상에서 중복되지 않는 것이다. 하지만 인터넷에 연결하지 않으면 ICANN이 정한 규칙을 따를 필요는 없는 것이다.
인터넷에 접속하지 않는 네트워크를 위해 사용할 수 있는 IP 주소(사설 IP 주소)는 아래와 같다.
source: https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=hatesunny&logNo=220790654612
위 표는 각 클래스 별 사설 IP 주소의 범위이다.
인터넷에 접속하지 않고 TCP/IP를 사용할 경우에는 이 IP 주소를 사용하면 된다. 반면 인터넷에서의 데이터 통신에는 글로벌 IP 주소를 사용해야 한다.
사설 IP를 설명하며 글로벌 IP를 언급하였다. 글로벌 IP 주소 관점에서 문제가 있다. 인터넷에 접속하는 대수가 점점 더 많아져서 이 주소가 부족하다는 점이다. 이 IP 주소의 고갈 문제를 해결하는 방법에는 이전 포스팅에서 설명한 클래스리스 어드레싱이 있고, IPv6라는 새로운 IP 구조도 있다. 하지만 가장 간단하면서 유효한 수단으로 사용되고 있는 것이 네트워크 주소 변환(Network Address Translation, NAT)이 있다.
NAT를 도입하여 글로벌 IP 주소 부족 문제를 해결하는 방법은 다음가 같다. NAT는 내부 네트워크에서 사용하는 사설 IP 주소와 인터넷에서 사용하는 글로벌 IP 주소를 변환하는 기술이다.
먼저 내부 네트워크에는 사설 IP 주소를 할당하는데, 사설 IP 주소를 할당하는 이유는 내부 네트워크 내에서 TCP/IP를 사용한 통신을 하기 위해서이다. TCP/IP 통신을 하기 위해서는 IP 주소가 필요하기에 인터넷과 주고받을 필요가 없더라도 IP 주소를 할당할 필요가 있다.
그리고 NAT에 의해 내부 네트워크에서 할당한 사설 IP 주소를 글로벌 IP 주소로 변환하는 것이다.
하지만 이 NAT에도 단점이 있다. 바로 동시 접속 수의 문제가 있다. 변환할 글로벌 IP 주소가 부족할 수 있기 때문이다.
보유하는 글로벌 IP 주소 수 이상의 호스트는 인터넷에 동시에 접속할 수 없다. NAT에서 변환되는 주소는 유일해야 하기 때문이다.
이에 NAT를 발전시킨 NAPT라는 것이 탄생하였다.
NAPT의 가장 큰 특징은 하나의 글로벌 IP 주소로 복수의 컴퓨터를 접속 가능하게 하는 것이다.
NAPT는 IP 주소뿐만 아니라 포트 번호도 변환해서 복수의 컴퓨터 접속을 가능하게 한다. 포트 번호 정보를 추가함으로써 한 개의 글로벌 IP 주소로 접속하고 있는 복수의 기기를 구별하는 것이다.
source: https://apptek.tistory.com/4