아이피(IP) 종류
IP(Internet Protocol) 란 인터넷에 연결되어 있는 모든 장치들(컴퓨터, 서버 장비, 스마트폰 등)을 식별할 수 있도록 각각의 장비에게 부여되는 고유 주소이다.
우리가 다른사람에게 우편물을 보낼때, 국가, 지역, 아파트, 동호수 를 정확히 기재하여 발송하듯이, 네트워크 데이터가 우리에게 도달해 나무위키 같은 홈페이지를 띄우기 위해서는 정확한 주소 정보가 필요하다. 이것이 흔히 말하는 인터넷 주소 IP 이다.
IP주소는 IPv4, IPv6 2가지 종류가 있다. 단 일반적으로 IP 주소라 하면 IPv4 주소를 말한다고 보면된다.
아이피 IPv4 (구)
IPv4는 IP version 4의 약자로 전 세계적으로 사용된 첫 번째 인터넷 프로토콜이다.
아이피(ip)는 일반적으로 172.16.254.1와 같이 마침표로 구분된 4개의 숫자가 있는, 점으로 분리된 10진수 형식으로 표시된다. 이를 2진법으로 표현한다면, 32비트 숫자 10101100.00010000.1111110.0000001가 된다.
즉, 아이피는 32bit로 이루어진 주소이며 이를 합산해보면 약 43억개의 주소를 가지게 된다.
이처럼 IPv4는 0 ~ 2^32 (약 42억 9천)개의 주소를 가질수 있지만, 전 세계적으로 인터넷 사용자 수가 급증하면서 IPv4 주소가 고갈될 위기에 처해있다. 이러한 고갈 문제를 해결하기 위해 등장한 주소가 바로 IPv6이다.
아이피 IPv6 (최신)
IPv6는 IP version 6의 약자로, IPv4의 주소체계를 128비트 크기로 확장한 차세대 인터넷 프로토콜 주소이다. 16비트씩 8자리로 각 자리는 콜론으로 구분한다.
IPv6의 128비트 주소공간은 128 비트로 표현할 수 있는 2^128개인 약 3.4x1038개(340,282,366,920,938,463,463,374,607,431,768,211,456개) 의 주소를 갖고 있어 거의 무한대로 쓸 수 있다.
이처럼 IPv6는 네트워크 속도, 보안적인 부분뿐만 아니라 여러 면에서 뛰어나지만, 기존의 주소체계를 변경하는데 비용이 많이 들어서 아직 완전히 상용화가 되지 않았다.
IP 주소의 고갈 위험
앞서 말했듯이, IPv4에서의 43억개면 충분히 많을 것 같아 보이지만 전혀 충분하지 않다.
예전에는 43억정도면 충분하다고 생각했겠지만, 요즘에는 집에 기본적으로 컴퓨터에 와이파이 공유기, 스마트티비, 스위치 등 IP주소를 할당받은 전자 기기들이 개인 집집마다 여러개를 가지고 있다. 그리고 전세계가 발전함에 따라 점점 인터넷 수요가 계속 늘어나고 있는 실정이다.
결론적으로 말하면 이미 43억개의 숫자는 고갈 난지 오래이다. 따라서 새로운 주소체계인 IPv6가 나왔지만, 기존의 주소체계를 변경하는데 천문학적인 비용이 들어서 아직까지도 IPv4를 사용하고 있는 실정이다.
하지만 고갈 되었다면서 주변을 돌아보면 부족한 아이피 할당 때문에 문제가 발생한 곳은 없다. 지금까지 문제없이 사용하고 있는 이유는 기존의 주소체계에서 일종의 수학적인 트릭을 고안해서 사용하기 때문이다. 그 트릭 중 하나가 바로 사설 IP 개념이다.
공인 IP / 사설 IP / 고정 IP / 유동 IP
먼저 사설 IP를 알기전에 IP는 4가지 종류로 분류되어 사용된다. IP는 나누는 방식에 따라 고정 IP, 유동 IP와 공인 IP, 사설 IP로 나눌 수 있다.
고정 IP
고정 IP는 말 그대로 변하지 않고 컴퓨터에 고정적으로 부여된 IP이다.
한번 부여되면 IP 반납을 하기 전까지는 다른 장비에 부여할 수 없는 고유의 IP로 보안성이 우수하기 때문에 보안이 필요한 업체나 기관에서 사용한다.
유동 IP
유동 IP 역시 말그대로 변하는 IP이다.
인터넷 사용자 모두에게 고정 IP를 부여해 주기는 힘들기 때문에, 일정한 주기 또는 사용자들이 인터넷에 접속하는 매 순간마다 사용하고 있지 않은 IP 주소를 임시로 발급해 주는 IP이다.
대부분의 사용자는 유동 IP를 사용한다.
공인 IP
IP 주소는 임의로 우리가 부여하는 것이 아니라 전 세계적으로 ICANN이라는 기관이 국가별로 사용할 IP 대역을 관리하고, 우리나라는 한국인터넷진흥원(KISA)에서 국내 IP 주소들을 관리하고 있다.
이것을 ISP(Internet Service Provider의 약자로 KT, LG, SKT와 같이 인터넷을 제공하는 통신업체)가 부여받고, 우리는 위 회사에 가입을 통해 IP를 제공받아 인터넷을 사용하게 되는 것이다. 이렇게 발급받은 IP를 공인 IP라고 한다.
즉, 집에서 인터넷을 신청하면 집집마다 단 하나의 공인 IP가 할당되는 것이다. 그런데 위에서 말했다시피 이젠 집집마다 기본적으로 컴퓨터에 와이파이 공유기, 스마트티비, 스위치 등 IP주소를 할당받은 전자 기기들이 개인 집집마다 여러개를 가지고 있다.
그렇다면 각각의 기기들은 개별적으로 IP가 필요한데 정작 집엔 단 하다의 공인 IP만 갖고 있다면 어떻게 사용할 수 있는 것일까?
사설 IP
공유기를 사용한 인터넷 접속 환경일 경우 공유기까지는 공인 IP 할당을 하지만, 공유기에 연결되어 있는 가정이나 회사의 각 네트워크 기기에는 사설 IP를 할당한다.
즉, 사설 IP는 어떤 네트워크 안에서만 내부적으로 사용되는 고유한 주소이다. 사설 IP는 보통 내 컴퓨터에서 사용하는 로컬 IP라고도 불리운다.
공인 IP는 전 세계에서 유일하지만, 사설 IP는 하나의 네트워크 안에서 유일하다. 공인 IP는 외부, 내부 상관없이 해당 IP에 접속할 수 있으나, 사설 IP는 내부에서만 접근이 가능하다.
loopback (127.0.0.1) | loopback은 호스트에 할당된 아이피를 의미 즉, 내가 갖고 있는 노트북에서 localhost 또는 127.0.0.1로 서버를 띄울 경우 서버를 띄운 노트북에서만 접속이 가능 |
공인 IP | 공인IP의 경우에는 어디서나 접속이 가능 |
10.x.x.x 192.168.0.x (사설ip) |
사설IP의 경우에는 같은 대역의 사설 IP를 할당받은 모든 기기에서 접속이 가능. 단, 같은 대역의 사설 IP에 붙어있지 않은경우 (쉽게 말해서, 같은 와이파이에 붙어있지 않은 경우)에는 접속이 불가능. |
사설 IP & 사설망 원리
다시 돌아와서, 사설망이란 공유기를 사용한 인터넷 접속 환경일 경우 공유기까지는 공인 IP 할당을 하지만, 공유기에 연결되어 있는 가정이나 회사의 각 네트워크 기기에는 사설 IP를 할당하여 그룹으로 묶는 방법이다.
쉽게 비유하자면, 일종의 반장을 뽑는 것과 같다. 학교의 회의에 참여하는데 모든 사람이 참여할 수 없으니 대표 주자인 반장이란걸 뽑는다. 그리고 그 반장은 대표로 나가서 학생들의 의견을 대신 전달하며, 학교 회의 내용을 다시 학생들에게 전달한다. 여기서 반장이 게이트웨이(Gateway)로 비유할수 있으며, 반을 사설망, 학생들은 각 전자기기들, 학교를 인터넷으로 비유하면 딱 들어 맞게 된다.
※ 참고
게이트웨이는 ‘관문’이나 ‘출입구’라는 의미로 다양한 분야에서 일반적으로 사용되는 용어 이다.컴퓨터 네트워크에서의 게이트웨이는 현재 사용자가 위치한 네트워크에서 다른 네트워크로 이동하기 위해 반드시 거쳐야 하는 거점을 의미한다.
사설망 (Private Network)는 지정된 대역의 아이피만 사용이 가능하다. 리눅스하면서 한번쯤은 봤던 10.0.0.0 번대의 아이피와, 톰캣이나 아파치 서버를 설치하면서 한번쯤은 봤던 192.168.0.0 번대의 아이피가 바로 사설IP를 일컫는다.
앞으로 아래의 표에 나타난 숫자의 아이피가 있으면 그 아이피는 어느 특정 국가의 지역을 나타내는 인터넷 주소가 아닌 사설 인터넷 주소라고 생각하면 된다.
사설망을 그림으로 표현해 보면 위와 같이 표현 된다. 그리고 방금 비유했던 반장 개념을 접목해보면 다음과 같이 된다.
- 반 : 사설망
- 반장 : Gateway (192.168.0.1 ↔ 181.227.3.33)
- 반 학생들 : 각 컴퓨터들 (192.168.0.2, 192.168.0.3, 192.168.0.4 ...)
- 학교 : 외부 인터넷 (61.123.44.1)
사설망(반) 안에서 학생(컴퓨터)들은 유니크 하다. 학창시절을 떠올려보면, 반마다 학생번호를 부여하는데 2학년 1반의 10번 학생과 2학년 2반의 10번 학생은 서로 전혀 다른 사람이다. 보기에는 부여받은 10번은 같지만 2학년 1반, 2반을 통해 10번을 구분할 수 있다. 이 개념이 바로 사설망 개념이다.
사설 IP(로컬 IP)는 어떤 네트워크 안에서 내부적으로 사용되는 고유한 주소이다. 따라서 건국대학교 안에서 사용하는 192.168.10.2 아이피와 숭실대학교 안에서 사용하는 192.168.10.2 아이피는 번호는 같을지 언정 전혀 다른 목적지 주소를 나타내게 된다. 그리고 같은 번호 아이피를 구분하는 수단은 2학년 1반 처럼 외부에서 할당받은 전 세계에서 유일한 공인IP(181.277.3.33)로 구분한다.
이처럼 사설망이라는 개념을 쓰면 같은 아이피 번호를 중복해서 마구 사용할수 있고, 이는 곧 IP의 절약과 연관된다.
NAT (사설망 ↔ 외부 통신 방법)
IP를 절약하는 트릭에 대해 이제 이해가 되었다. 그러면 사설망 안에 있는 컴퓨터는 어떻게 외부와 통신 할까?
외부 인터넷 입장에서 주소 번호가 똑같은 사설 IP들을 어떻게 각각을 특정해 정확히 찾아들어가 우리에게 웹페이지를 띄울 수 있는 것일까?
여기서 바로 NAT(Network Adress Translation)이란 개념이 등장한다. 단어가 생소하지만 이름에서 알수있듯이 인터넷 주소 번역 기능이다.
인터넷 주소 번역 원리는 간단하다. 우선 공유기(라우터)에 연결되어 있는 각 사내 컴퓨터들의 사설 IP (192.168.0.xxx)를 받아와 유일한 공인 IP로 변환한다. 그리고 외부 인터넷으로 공인 IP 주소 정보를 보내는 것이다.
외부 입장에서는 어느 회사의 영업부 사원이 보냈는지 알지 못한다. 그냥 회사 공유기 주소만 알고있는 것이다. 하지만 문제는 없다. 답변을 하게되면, 인터넷 정보가 다시 회사 공유기로 올것이고 공유기에서는 이전에 요청한 정보들을 다 기억하고 있어서, 확인하고 그대로 김인턴 PC에게 넘겨주는 것이다.
즉, private ip 를 사용하고 있는 컴퓨터가 사설 바깥쪽에 있는 public ip에 해당되는 외부세계에 간접적이라도 접속할 수 있게 된다. 이때 사용되는 기술이 바로 NAT 인 것이다.
참고