1. 개요
가상 IP라고도 불린다. NAT 방식의 라우터에 연결된 기기가 부여받는 IP이다.[1]와이파이, 학교 공용 컴퓨터 등을 보면 192.168.XXX.XXX처럼 아이피가 거의 사설 아이피인 것을 확인할 수 있다. 그 외에도 공유기를 사용하는 가정용 컴퓨터에서도 심심치 않게 볼 수 있다. 이 사설 IP는 국제 표준에 의해 특수목적으로 예약된 IP이므로 내부 충돌을 빼고는 충돌할 염려는 안 해도 된다.
2. 설명
비유하면 이렇다. 예를 들어 서울시 서울구 서울동 서울아파트 101동 202호에 홍길동이라는 사람이 산다고 가정을 한다면, 이 주소에서 '서울시 서울구 서울동 서울아파트'에 해당하는 부분이 공인 IP, '101동 202호'에 해당하는 부분이 사설 IP가 된다. 이 홍길동이라는 사람이 같은 서울아파트에 사는 친구에게 101동 202호로 오라고 말하면서 초대한다면 그 친구는 당연히 서울아파트 101동 202호라고 생각하고 홍길동의 집을 찾을 수 있다. 그러나 이 홍길동이라는 사람이 부산시 부산구 부산동 부산아파트에 사는 사람한테 101동 202호라고 말해주면 그 사람은 홍길동의 의도와는 다르게 부산아파트 101동 202호로 가려고 할 것이고 당연히 그 곳에 홍길동이 있을 리 없으니 찾을 수 없다. 마찬가지로 어떤 사설망에서 A라는 컴퓨터에 할당된 사설 IP 주소가 192.168.1.2라고 가정한다면, 같은 사설망 내의 다른 컴퓨터를 이용하여 192.168.1.2로 접속을 시도하면 A라는 컴퓨터로 접속할 수 있지만, 다른 사설망 내의 컴퓨터를 이용하여 192.168.1.2로 접속을 시도하면 A라는 컴퓨터로 접속할 수 없다.또한, 사설 IP는 같은 사설망 안에서 IP가 중복되면 안 되지만 다른 사설망끼리는 IP가 중복돼도 무방하다. 여기서 또다시 아파트에 비유해서 설명하자면, 홍길동이라는 사람과 임꺽정이라는 사람이 둘 다 101동 202호로 입주하기로 했다면, 만약 이 두 사람이 모두 서울아파트에 입주한다면 한 명만 입주해야 하는데 두 명이 같은 곳에 입주하게 되어 계약이 제대로 될 수 없다. 하지만 홍길동은 서울아파트에 입주하고 임꺽정은 부산아파트에 입주한다면, 똑같이 101동 202호지만 홍길동은 서울아파트 101동 202호, 임꺽정은 부산아파트 101동 202호로 서로 다른 곳에 입주하므로 계약이 이루어질 수 있다. 마찬가지로 두 개의 컴퓨터가 192.168.1.2라는 IP를 받는다면, 이 두 컴퓨터가 같은 사설망 안에 있다면 IP 중복으로 충돌이 일어나지만 다른 사설망 안에 있다면 IP가 중복돼도 충돌이 일어날 일은 없다.
3. 예시
$ ifconfig eth0 Link encap:Ethernet HWaddr 06:ad:af:59:a8:1b inet addr:10.0.106.2 Bcast:10.0.255.255 Mask:255.255.0.0 inet6 addr: fe80::4ad:afff:fe59:a81b/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:9001 Metric:1 RX packets:3009 errors:0 dropped:0 overruns:0 frame:0 TX packets:1316 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2737803 (2.7 MB) TX bytes:189663 (189.6 KB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) $
C:\Users\Administrator>ipconfig Windows IP 구성 무선 LAN 어댑터 Wi-Fi: 연결별 DNS 접미사. . . . : 링크-로컬 IPv6 주소 . . . . : fe80::d21:54c8:1412:f5c%3 IPv4 주소 . . . . . . . . . : 192.168.10.3 서브넷 마스크 . . . . . . . : 255.255.255.0 기본 게이트웨이 . . . . . . : 192.168.10.1
리눅스와 윈도우의 IP 조회 화면이다.
둘 다 사설 IP를 이용한다.
4. 사설 IP 대역
- IPv4
- 10.0.0.0 ~ 10.255.255.255(10.0.0.0/8)
- 172.16.0.0 ~ 172.31.255.255(172.16.0.0/12)
- 192.168.0.0 ~ 192.168.255.255(192.168.0.0/16)
- IPv6
- fc00::/7[2]
무선공유기와 같은 기기의 관리자 페이지 192.168.*.1 (192.168.0.1, 192.168.1.1, 192.168.10.1 등) 아이피가 익숙하다.
자세한 사항은 여기에 Scope가 Private Network인 것을 참고.
5. 장점
- IPv4 주소의 완전한 고갈을 최대한 지연시킬 수 있다. 물론 어디까지나 IPv6 주소 체계로 온전하게 전환하는 데 필요한 시간을 최대한 벌어보기 위한 것에 불과하다. 지금까지 써왔던 IPv4 주소의 고갈은 이미 현실이 됐기 때문이다.
- 또 다른 이유라면 인트라넷 참조.
- 공인 IP와 달리 대중에 전부 공개되어도 큰 위험이 없다. 사설 IP로는 공인 IP 추적이 불가능하고 무엇보다 똑같은 사설 IP가 전세계에 수도없이 널렸기 때문이다. 즉, 사설 IP만 가지고 해킹을 시도할래야 할 수 없는 것.
- SLB 작업을 할 때 사설 IP를 이용하면 일반인들이 실제 서버의 IP로 Direct 접속이 불가능하고, 실제 서버의 IP 주소를 알아내기가 상당히 힘들어진다.[3]
6. 단점
- 외부 접근이 어렵다. 하마치, VPN, 포트포워딩이나 DMZ 등의 방법이 있지만 각각 단점이 있다.
- 하마치는 별도의 프로그램을 설치해야 하고, 인원 제한이 있다. VPN은 일반 VPN으로는 공인 IP를 얻을 수 없기 때문에 공인 IP를 제공하는 특수 VPN을 사용해야 한다.
- 포트포워딩이나 DMZ은 가장 현실적인 방법이지만 공유기 밑에 또 다시 공유기가 연결되어 있는 매우 짜증나는 경우가 간혹 발생한다.[4]
- 만약 저 사설 IP 역시 사용자가 접근 가능한 경우라면 저쪽에서도 해당 공유기에 포트포워딩 혹은 DMZ를 설정해 줘야 한다. 아예 최상위 공유기를 브리지 모드로 전환하는 방법도 있지만, 이 경우 IP 할당 개수를 초과해서 인터넷이 차단될 가능성이 있다.[5]
- 접근 자체가 불가능한 경우 NAT Traversal이라고 불리는 기법을 사용해야 하지만, 이 경우에도 연결을 수립하고자 하는 두 단말 중 하나는 공인 IP를 가지고 있어야 하는 경우가 대부분이다. 이 지경까지 갔으면 그냥 상술한 별도 프로그램을 설치하는 쪽이 차라리 나을 판.
[1] 모든 라우터가 NAT 방식으로 동작하는 것은 아니다. 그러나 가정에서 사용하는 대부분의 라우터는 NAT 방식으로 동작한다.[2] 정확히는 IPv6 로컬 유니캐스트를 위한 주소공간인데, IPv4의 사설 IP랑 같은 개념이다.[3] SLB가 될 때 사람들이 흔히 접속하는 IP 주소는 VIP(Virtual IP)인 거지, 실제 서버 IP로는 접속되지 않는다. 또한 부하분산되었다는 뜻은 실제 서버가 여러 대 있다는 뜻이고, 사설 IP를 이용하면 실제 서버의 IP 주소를 알아내는 게 의미가 없다.[4] 주로 SK브로드밴드 사용자가 이 문제를 겪는다. SK브로드밴드에서 제공하는 모뎀이 사설 IP를 부여하기 때문.[5] 이 역시 SK브로드밴드 사용자에게서 주로 발생하는 문제로, 아주 재수 없으면 이용약관 위반으로 위약금 폭탄을 맞을 수도 있다. KT는 모뎀에서 공인 IP를 부여하기 때문에 이런 문제가 거의 발생하지 않는다.