IP는 컴퓨터 자체의 식별번호같은게 아니라 컴퓨터가 연결된 네트워크 끝단의 주소이다. 즉, 기기가 인터넷에 접속한 곳의 네트워크상 위치이다.
IP로서는 처음 대중화된 규약이다. 현재도 널리 사용되고 있다.
0 ~ 255 사이의 숫자들 4개가 .
으로 이어져 있다.
개수가 부족하진 않을까?? -> 공인 IP와 사설 IP
주소를 예로 들자.
전체 주소: oo시 oo구 oo로 oo아파트 xx동 xxx호
공인 IP: oo시 oo구 oo로 oo아파트
사설 IP: xx동 xx호
하나의 공통된 공인 IP에 묶어서 그 안에서만 안 겹치는 사설 IP를 각각 줘버리면 한정된 IP로도 부족하지 않게 나눠줄 수 있다.
내 컴퓨터의 IP가 아래 사진의 범주 안에 들어가면 사설 IP라고 볼 수 있다.
사설 IP를 쓰는 컴퓨터는 공인 IP를 쓰는 서버 등의 다른 컴퓨터로는 접근이 가능하지만, 다른 컴퓨터에서 사설 IP를 쓰는 컴퓨터로는 접근하지 못한다.
웹사이트를 위해 서버를 사용할 때 서버용 컴퓨터에는 사설 IP를 쓰면 곤란하다. 해당 서버를 찾아가기 위한 IP는 절대 고유해야 외부에서 찾아갈 수 있다. 웹서비스를 하는 서버들은 공인 IP를 갖고 있다.
그렇다면 가정에서 웹서비스를 운영하려면 사설 IP로 돼있기 때문에 안될까?
내부 IP를 포트로 연결하는 방법이 있다.
IP를 톨게이트, 포트를 그 안의 차선이라고 하자.
공유기 설정으로 공인 IP의 포트들을 개방해서 내부의 사설 IP마다 하나씩 연결할 수 있다. 이러한 방식을 포트포워딩이라고 한다.
123.4.5.234:101 (공인IP: 포트번호) 이런식으로 외부에서 내 컴퓨터에 접근을 해 올 수가 있다.
또 다른 방법으로는 DMZ가 있다. 이는 공인 IP의 모든 포트를 내부의 특정 사설 IP에 몰아주는 것이다. 가정에서 사용자가 혼자 서버 개발을 한다면 DMZ로 사용자 컴퓨터에 몰아주면 된다. 하지만 모든 포트를 다 개방하는 것이기 때문에 보안상의 위험이 있어서 권장하는 방식은 아니다.
공인과 사설 IP모두 고정 또는 유동 IP가 될 수 있다.
IPv4 형식의 46억개의 IP중에 한국에 1억개의 IP가 할당되어 있고 이걸 ISP(인터넷 제공 업체)가 인터넷 사용 주체들에게 나눠주게 된다.
서버의 경우 IP가 계속 바뀌면 곤란하기 때문에 바뀌지 않는 고정 IP를 사용하지만 이는 매우 비싸다. 일반 가정이나 기기들에는 주기적으로 IP들을 회수해서 인터넷을 사용 중인 곳에만 나눠주는 유동 IP를 방식을 사용한다.
유동 IP는 고정 IP보다 가격도 저렴하고 사용자의 IP가 바뀌기 때문에 해킹으로부터 고정 IP보다는 어느정도 안전한 면이 있다고 할 수 있다.
그렇다면 가정에서 웹서비스를 할 때 포트포워딩 하고 사설 IP에 서버를 구축해봤자 유동 IP라서 바뀌게 되면 아무 소용 없지 않을까 ?
가정집에서 웹사이트나 NAS를 운영하려면 추가적인 조치를 취하면 된다.
DNS는 IP를 도메인이랑 연결해주는 것이다. 주소만 치면 주소에 해당하는 IP를 찾아가도록 한다. (www.naver.com -> 184.51.104.190)
DDNS는 수시로 바뀌는 유동 IP를 감지해서 고정된 도메인에 연결시켜주는 것이다. DDNS는 업체마다 유료 또는 무료로 제공된다. 공유기 페이지에 들어가서 이 옵션을 세팅해두면 ~.iptime.org
, ~.ddns.net
와 같은 주소들에 내 컴퓨터의 유동 IP를 연결할 수 있다.
포트포워딩이랑 DDNS를 사용하면 개인적으로 운영할 소규모 인터넷 서비스 정도는 본인의 컴퓨터로도 구축할 수 있다.
IPv6는 IPv4 체계로는 IP가 머지 않아 바닥날 것을 예상해서 만들어졌고, 점차 많은 곳에서 사용되고 있다.
1234:5678:9ABC:DEF0:1234:5678:9ABC:DEF0
와 같은 형식으로, 16진수 4자리가 8개 이상 이어진 형태이다. IPv6는 2의 128제곱에 해당하는 IP 개수를 가질 수 있다.
아직은 IPv4에 비해 널리 쓰이지 않지만 IPv4와 공존하거나 이를 대체해가면서 점점 자리를 넓혀가고 있다.