IP Address

IP 주소, 사설 IP, 공인 IP

IP 주소

IP 주소는 인터넷상의 컴퓨터 주소이다. 인터넷에 연결되어 있는 기기에는 반드시 IP 주소가 부여된다.

인터넷에서 데이터가 어떻게 전송되나?

예를 들면, “메일을 송신한다”, “메신저로 메세지를 보낸다”, “인터넷 쇼핑에서 상품을 구입한다” 등을 하였을 때, 데이터의 송수신이 어떻게 되는 것일까?

실은 택배 우편의 보내는 것과 같다.

택배 전달

택배 우편이 무사히 상대에게 도착하려면 “송신처 주소”, “수신처 주소"의 정보가 필요하다.

택배 우편의 흐름

  1. 우선은 “송신처 주소"와 가까운 영업소에 모인다. (위 그림에서는 서울 영업소)
  2. 다음은 “수신처 주소"를 보고, 수신처 주소에 가까운 영업소에 보낸다. (위 그림에서는 부산 영업소)
  3. 마지막으로 영업소에서 “수신처 주소"에 도착하게 된다.

이제 인터넷에서 데이터를 송수신하는 방식을 살펴 보겠다.

IP 주소의 작동 방식

택배 우편을 상대방에게 전달하기 위해서는 “송신처 주소"와 “신고처의 주소"가 필요했다.

이 주소는 네트워크에서 “IP 주소"에 해당된다. 컴퓨터(네트워크 장치)가 네트워크에 연결하기 위해서는 반드시 고유(겹치지 않는 값)인 IP 주소가 할당된다.

컴퓨터(네트워크 기기)에 의한 데이터 송수신의 흐름은 다음과 같다.

  1. 우선 “송신처 IP 주소"에 가까운 라우터라고 불리는 네트워크 기기(택배 영업소와 같은 역할)에 데이터를 송신한다.
  2. 그런 다음 라우터는 “대상 IP 주소"를 보고 “대상 IP 주소"에 가까운 라우터로 보낸다.
  3. 마지막으로 라우터로부터 “송신처 IP 주소"가 부여되어 있는 컴퓨터(네트워크 기기)에 전달한다.

이와 같이 인터넷상에서 행해지고 있는 데이터 송수신의 구조는 택배와 거의 같다. 사람이 하고 있는 일을 네트워크 기기(라우터)를 사용해 자동으로 실행하고 있는 것이다.

IP 주소의 작동 방식

IP 주소는 누가 관리하고 있나?

IP 주소는 인터넷에 있는 컴퓨터(네트워크 장비)의 주소이다. 따라서 IP 주소는 중복되지 않도록 할당된다.

이 인터넷상에서의 통신에서 빠뜨릴 수 없는 “IP 주소"를 관리하고 있는 것은 ICANN(The Internet Corporation for Assigned Names and Numbers)이라고 하는 비영리 법인이다.

ICANN

다만, 전 세계의 정보를 ICANN에서 모두 관리하는 것은 아니고, ICANN 아래에는 북미, 아시아, 유럽 등의 지역 단위로 관리하는 “RIR(Regional Internet Registry, 대륙별 인터넷주소자원 관리기관 )”, 그리고 그 아래에는 국가 단위로 관리하는 “NIR(National Internet registry)”, 마지막으로 인터넷 서비스 프로바이더(ISP,Internet Service Provider) 등의 “LIR(Local Internet Registry)“가 존재한다.

사설 IP 주소와 공인 IP 주소의 차이

IP 주소에는 “사설 IP 주소(Private IP Address)“와 “공인 IP 주소(Public IP Address)“가 있다.

공인 IP 주소는 인터넷에 연결하는 데 필요한 IP 주소이고, 사설 IP 주소는 가정 및 회사와 같은 조직 내의 네트워크(개인 네트워크)에서만 사용되는 IP 주소이다.

사설 IP 주소

사설 IP 주소는 가정이나 회사와 같은 조직 내의 네트워크(개인 네트워크)에서 사용하는 IP 주소이다. 조직 내에서 중복되지 않도록 주소가 할당된다.

다음은 사설 IP 주소의 예이다.
사설 IP 주소

위 그림에서 왼쪽이 ‘사설 네트워크’, 오른쪽이 ‘인터넷’, 그리고 ‘사설 네트워크’와 ‘인터넷’ 사이에는 광대역 라우터가 있으며 인터넷 서비스 공급자(ISP)를 이용하는 경우가 많고, 일반적인 형태이다.

사설 네트워크의 컴퓨터에는 사설 IP 주소가 부여된다.

사설 IP 주소를 사용하면, 사설 네트워크 내에서 다른 컴퓨터와 통신할 수 있다.

그러나, 사설 네트워크 외부의 컴퓨터와 통신하려면 공인 IP 주소가 필요하다.

사설 IP 주소는 인터넷에서 통신할 수 없다.

공인 IP 주소

공인 IP 주소는 컴퓨터와 통신 장비가 인터넷을 통해 통신하는데 필요한 인터넷 주소이다.

따라서, 라우터(광대역 라우터)는 사설 IP 주소를 공인 IP 주소로 변환하여 인터넷에 연결한다. 이 사설 IP 주소와 공인 IP 주소를 변환하는 방법을 NAT(Network Address Translation)라고 한다.

왜 사설 IP 주소가 필요한가?

사설 IP 주소가 등장한 배경에는 IPv4의 “IP 주소 고갈 문제“가 있다. IP 주소 고갈 문제는 IP 주소 수가 부족한 문제이다.

IP 주소는 인터넷에서 통신하기 위한 주소이다. 따라서 IP 주소는 반드시 고유(중복되서는 안됨)이어야 한다.

따라서 모든 컴퓨터가 인터넷에 액세스할 필요가 없다는 개념 하에서 조직 내 컴퓨터에는 특정 범위의 IP 주소를 사설 IP 주소로 할당하는 메커니즘이 탄생하였다.

사설 IP 주소

전 세계에서 중복되지 않도록 할당해야 하는 글로벌 IP 주소와 달리 사설 IP 주소는 조직 내(개인 네트워크)에서 중복되어야 합니다.

위의 그림에서 “개인 네트워크 A"와 “개인 네트워크 B"의 컴퓨터에 동일한 사설 IP 주소가 부여되었지만 조직(개인 네트워크)이 다르기 때문에 문제가 없습니다.

따라서 IP 주소를 절약하는 메커니즘은 사설 IP 주소이다.

또한, 사설 IP 주소는 보안 측면에서도 장점이 있다. 인터넷 상에서 통신하기 위해서는 반드시 라우터(브로드밴드 라우터, 디폴트 게이트웨이)를 경유한다. 이 라우터에는 보안 기능이 있으므로 라우터를 통해 보안 측면을 강화할 수 있다.

IP 주소 정의

클래스 풀(classful) 방식

IP 주소는 네트워크 영역호스트 영역 의 두 가지로 구성된다.

네트워크 부분은 어느 네트워크에 속하는지를 나타내는 주소이고, 호스트 부분은 네트워크의 호스트에 할당된 주소이다.

IP 주소의 네트워크 영역와 호스트 영역

기존 IP 주소는 “클래스 풀(classful) 방식"을 이었기 때문에, 네트워크 영역와 호스트 영역가 고정되어 있었다.

클래스 주소 범위 네트워크 영역의 범위 호스트 영역 범위 할당 가능한 호스트 수
클래스 A 0.0.0.0 ~ 127.255.255.255 앞부분 8비트 24Bit 16,777,214개
클래스 B 128.0.0.0 ~ 191.255.255.255 앞부분 16비트 16Bit 65,534개
클래스 C 192.0.0.0 ~ 223.255.255.255 앞부분 24비트 8Bit 254개

이런 구조로 되어 있기 때문에, 예를 들면, 100대의 IP 주소가 필요한 기업이 “클래스 C"를 사용했을 경우, 클래스 C에서 할당 가능한 호스트 수가 254개에서 필요한 IP 주소 100대를 제외하면 154개의 IP 주소가 낭비(254 - 100 = 154)가 발생하게 된다.

그래서 등장한 것이 “클래스리스 방식"이다. 클래스리스 방식에서는 서브넷 마스크를 사용해 “네트워크 영역"와 “호스트 영역"의 경계를 자유롭게 변경하는 것을 가능하게 한 방식이다.

클래스리스(Classless) 방식

클래스리스 방식이란, 서브넷 마스크 를 사용해 네트워크 영역"와 “호스트 영역"의 경계를 자유롭게 변경하는 것을 가능 하게 한 방식이다.

서브넷 마스크

서브넷 마스크는 위 그림의 예와 같이 10진수에서는 “255.255.255.0"과 같이 표기하고, 2진수에서는 “1"과 “0"으로 표기한다.
서브넷 마스크가 ‘1’ 부분이 ‘네트워크 부분’이고 ‘0’ 부분이 호스트 부분이다.

예를 들어, 이전처럼 100대의 IP 주소가 필요한 기업이 ‘클래스 C’의 ‘192.168.1.0’ 네트워크를 할당받았다고 가정한다. (서브넷 마스크는 255.255.255.0)
이 경우 컴퓨터에 사용할 수 있는 IP 주소는 254개(192.168.1.1 ~ 192.168.1.254)이다.
그 결과 154개의 IP 주소가 낭비(254 - 100=154)가 된다.

서브넷 마스크

그럼 “네트워크 영역"와 “호스트 영역"의 경계를 오른쪽으로 1개 옮겨 본다.

그러면 서브넷 마스크가 “255.255.255.0"에서 “255.255.255.128"로 바뀐다. 이 경우 컴퓨터에 사용할 수 있는 IP 주소는 126개(192.168.1.1 ~ 192.168.1.126)이다.
그 결과 26개(126 - 100 = 26)의 IP 주소만 낭비된다. (예비용이라고 생각하면 낭비는 아니다)

서브넷 마스크의 위치 이동

이와 같이 서브넷 마스크를 이용하여 「네트워크부」와 「호스트부」의 경계를 자유롭게 변경해, 호스트에 할당하는 IP 주소의 수를 조정하는 것이 “클래스리스 방식"이다.

IPv4와 IPv6의 차이

IP 주소의 주요 버전에는 IPv4 및 IPv6 이 있다. IPv6는 IP 주소의 주요 버전인 IPv4가 부족하다는 " IP 주소 고갈 문제 “가 있어 등장한 버전이다.

IPv4에서는 사용 가능한 IP 주소가 약 2의 32승(약 43억 = 4.3 × 109)개였지만, IPv6에서는 약 2의 128승(약 340간(澗) = 3.4 × 1038)개가 사용 가능하다.

IPv6의 IP 주소는 128비트로 표현되며 16비트 단위로 콜론(:)으로 구분되며 16진법으로 표시된다.

IPv6의 표기 예는 다음과 같다.

201a:30b8:cd01:0132:2f8a:1f30:1c02:10aa

IP 주소를 확인하는 방법

Windows에서 IP 주소 확인

Windows에서 자신의 IP 주소를 확인하려면 명령 프롬프트를 시작하고 ‘ipconfig’ 명령으로 확인할 수 있다.

C:\>ipconfig

Windows IP 구성


이더넷 어댑터 vEthernet (Default Switch):

   연결별 DNS 접미사. . . . :
   링크-로컬 IPv6 주소 . . . . : fe80::1a8:2f:14f:e65b%42
   IPv4 주소 . . . . . . . . . : 172.25.32.1
   서브넷 마스크 . . . . . . . : 255.255.240.0
   기본 게이트웨이 . . . . . . :

무선 LAN 어댑터 로컬 영역 연결* 9:

   미디어 상태 . . . . . . . . : 미디어 연결 끊김
   연결별 DNS 접미사. . . . :

무선 LAN 어댑터 로컬 영역 연결* 10:

   미디어 상태 . . . . . . . . : 미디어 연결 끊김
   연결별 DNS 접미사. . . . :

무선 LAN 어댑터 Wi-Fi:

   연결별 DNS 접미사. . . . :
   링크-로컬 IPv6 주소 . . . . : fe80::6107:be9e:21cc:5dd8%14
   IPv4 주소 . . . . . . . . . : 192.168.0.11 ----------> "192.168.0.11"이  IP 주소가 된다.
   서브넷 마스크 . . . . . . . : 255.255.255.0
   기본 게이트웨이 . . . . . . : 192.168.0.1

이더넷 어댑터 Bluetooth 네트워크 연결:

   미디어 상태 . . . . . . . . : 미디어 연결 끊김
   연결별 DNS 접미사. . . . :

광대역 라우터 등을 통해 인터넷에 연결하는 경우에는 ipconfig 명령으로 표시되는 대부분의 IP 주소는 ‘사설 IP 주소’이다.
광대역 라우터 등을 통하지 않는 경우에는 “공인 IP 주소"가 표시된다.

macOS에서 IP 주소 확인

macOS 에서는 ifconfig | grep inet 터미널 명령어로 알 수 있다.

% ifconfig | grep inet
	inet 127.0.0.1 netmask 0xff000000
	inet6 ::1 prefixlen 128
	inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
	inet6 fe80::a08e:1eff:fe6e:5cd7%anpi1 prefixlen 64 scopeid 0x4
	inet6 fe80::a08e:1eff:fe6e:5cd9%anpi3 prefixlen 64 scopeid 0x5
	inet6 fe80::a08e:1eff:fe6e:5cd8%anpi2 prefixlen 64 scopeid 0x6
	inet6 fe80::a08e:1eff:fe6e:5cd6%anpi0 prefixlen 64 scopeid 0x7
	inet6 fe80::bc76:eff:fe35:99b8%ap1 prefixlen 64 scopeid 0x10
	inet 192.168.0.3 netmask 0xffffff00 broadcast 192.168.0.255 ----------> "192.168.0.3"이 IP 주소가 된다.
	inet6 fe80::c4a:ec1f:c825:f3ff%en1 prefixlen 64 secured scopeid 0x11
	inet6 fe80::349c:a6ff:fe51:afdd%awdl0 prefixlen 64 scopeid 0x14
	inet6 fe80::349c:a6ff:fe51:afdd%llw0 prefixlen 64 scopeid 0x15
	inet6 fe80::9e50:c1a4:1b3c:b91%utun0 prefixlen 64 scopeid 0x16
	inet6 fe80::1d5b:41a9:12e2:c38e%utun1 prefixlen 64 scopeid 0x17
	inet6 fe80::ce81:b1c:bd2c:69e%utun2 prefixlen 64 scopeid 0x18


최종 수정 : 2022-12-30