[Network] #11 IP 주소의 분류
[혼자 공부하는 네트워크↗️], 컴퓨터 네트워킹: 하향식 접근 (제8판)을 바탕으로 정리한 글입니다.
- IP 주소는 “공인 IP 주소와 사설 IP 주소”, “정적 IP 주소와 동적 IP 주소”로 분류될 수 있다.
- 각 주소에 대해 살펴보도록 하자.
1. 공인 IP 주소와 사설 IP 주소
1.1 공인 IP 주소 (public IP address)
전 세계에서 고유한 IP 주소이다.
- 네트워크 간의 통신, 이를테면 인터넷을 이용할 때 사용된다.
- 공인 IP 주소는 ISP나 공인 IP 주소 할당 기관을 통해 할당한다.
1.2 사설 IP 주소 (private IP address)
사설 네트워크에서 사용하기 위한 IP 주소이다.
- 사설 IP 주소의 할당 주체는 일반적으로 라우터(공유기)이다.
- 사설 IP 주소로 사용하기 위한 IP 주소 공간이 존재한다. 아래에 속한 IP 주소라면 사설 IP 주소이다.
10.0.0.0/8
(10.0.0.0 - 10.255.255.255)127.16.0.0/12
(172.16.0.0 - 127.31.255.255)192.168.0.0/16
(192.168.0.0 - 192.168.255.255)
사설 IP 주소는 호스트가 속한 사설 네트워크에서만 유효하다.
- 따라서 얼마든지 다른 네트워크상의 사설 IP 주소와 중복이 가능하다.
- 일반적으로 네트워크 간의 통신은 사설 IP 주소가 아닌 공인 IP 주소를 통해 이루어진다.
그렇다면 사설 IP 주소를 사용하는 호스트는 외부 네트워크와 어떻게 통신할까? 사설 IP를 할당 받은 호스트는 인터넷을 이용할 때 공인 네트워크로 변환해야 할 것이다. 이를 가능하게 하는 기술이 NAT 이다.
1.2.1 NAT, IP 주소 변환 기술
NAT(Network Address Translation)란, 주로 사설 IP 주소(네트워크 내부)와 공인 IP 주소(네트워크 외부)를 변환하는 데 사용되는 IP 주소 변환 기술을 의미한다.
- 대부분 라우터와 (가정용)공유기는 NAT 기능을 내장하고 있다.
- 사설 네트워크의 패킷 속 사설 IP 주소는 공유기를 거쳐 공인 IP 주소로 변경된다.
- 외부 네트워크의 패킷 속 공인 IP 주소는 공유기를 거쳐 사설 IP 주소로 변경된다.
- PORT를 활용하면 NAT를 통해 사설 IP 주소를 사용하는 여러 호스트는 적은 수의 공인 IP 주소를 공유할 수 있다.
1.2.2 공인 IP 주소와 사설 IP 주소 확인
ipconfig
(윈도우),ifconfig
(맥OS)를 입력하여 현재 IP(IPv4) 주소를 조회할 수 있다.
만일 10.0.0.0/8
, 127.16.0.0/12
, 192.168.0.0/16
중 하나가 보인다면, 이는 사설 IP 주소이다.
혹은 네이버 검색창에 “내 IP 주소”를 입력하거나 구글 검색창에 “what is my ip address”를 입력하여 IP 주소를 확인할 수 있다.
네이버나 구글은 사설 IP 주소가 아닌 공인 IP 주소를 인식하기 때문에 공인 IP 주소를 표시한다.
2. 정적 IP 주소와 동적 IP 주소
2.1 정적 IP 주소
정적 할당이란, 호스트에 직접 (수작업으로) IP 주소를 부여하는 방식이다.
이렇게 할당된 IP 주소를 정적 IP 주소(static IP address)라고 한다.
정적 IP 주소 부여
- 윈도우나 맥OS 등의 네트워크 설정에서 IP 주소를 수동으로 설정할 수 있다.
- 일반적으로 부여하고자 하는 IP 주소, 서브넷 마스크, 게이트웨이(라우터)주소, DNS 주소를 입력한다.
게이트웨이(라우터)에는 기본 게이트웨이를 입력하면 된다.
- 게이트웨이(gateway)의 일반적인 의미
- 서로 다른 네트워크를 연결하는 HW/SW적 수단
- 기본 게이트웨이(default gateway)
- 호스트가 속한 네트워크 외부로 나가기 위한 기본적인 첫 경로(첫 번째 홉)를 뜻한다.
- 네트워크 외부와 연결된 라우터(공유기)의 주소를 의미하는 경우가 많다.
- IP 할당의 맥락에서 사용된 “게이트웨이”라는 용어는 기본 게이트웨이(라우터(공유기)의 주소)를 의미한다.
- 일반적으로
192.168.0.1
로 첫 번째 호스트 주소가 할당되는 경우가 많다.
모든 IP 주소를 정적으로 할당할 수 있을까?
- 호스트의 수가 많아질 경우 관리가 곤란할 것이다.
- 의도치 않게 잘못된 IP 주소를 입력할 수도 있고, 중복된 IP 주소를 입력할 수도 있기 때문이다.
따라서 동적 IP 주소가 활용되는 경우가 많다.
2.2 동적 IP 주소
동적 할당이란, 호스트에 IP 주소를 프로토콜을 활용해 자동으로 할당하는 방식이다.
- IP 동적 할당에 사용되는 대표적인 프로토콜을 DHCP(Dynamic Host Configuration Protocol) 라고 부른다.
- 즉, 네트워크에 연결된 장치(컴퓨터, 스마트폰, 프린터 등)가 자동으로 IP 주소와 기타 네트워크 정보를 할당받을 수 있게 해주는 프로토콜이다.
- 이렇게 할당된 IP 주소를 동적 IP 주소(dynamic IP address)라고 한다.
- 서버의 경우 IP가 계속 바뀌면 곤란하기 때문에 고정 IP를 사용하지만, 일반 가정이나 기기들에는 주기적으로 IP들을 회수해서 인터넷을 사용중인 곳에만 나눠주는 동적 IP를 사용하는 것이다.
2.2.1 DHCP를 통한 IP 주소 할당
클라이언트와 DHCP 서버 간 메시지 송수신을 통해 할당이 이루어진다.
- 클라이언트: IP 주소를 할당받고자 하는 호스트
- DHCP 서버: 호스트에게 IP 주소를 제공하는 호스트
- DHCP 서버의 역할은 일반적으로 라우터(공유기)가 수행한다.
- 특정 호스트에 DHCP 서버 기능을 추가할 수도 있다.
- DHCP 서버는 클라이언트에게 할당 가능한 IP 주소 목록을 관리하다가, 클라이언트 요청시 IP 주소를 할당한다.
DHCP로 할당받은 동적 IP 주소는 사용할 기간(임대 기간)이 정해진다. (DHCP로 IP주소를 할당 받는 것 = IP 주소를 임대하는 것)
- 일반적으로 수 시간에서 수 일이 소요된다.
- 임대 기간이 끝난 IP 주소는 다시 DHCP 서버로 반납된다.
2.2.3 IP 주소 할당 과정에서 주고받는 메시지
IP 주소 할당받는 과정에서 주고받는 과정에서 크게 4가지의 메시지를 주고받는다. 각각의 메시지에 대해 살펴보도록 하자.
① DHCP Discover (클라이언트 -> DHCP 서버)
- DHCP 서버를 찾는 메시지이다.
- 브로드캐스트로 전송된다.
- 클라이언트는 아직 IP 주소를 할당받지 못했기 때문에 송신지 IP 주소를
0.0.0.0
으로 설정한다.
② DHCP Offer (DHCP 서버 -> 클라이언트)
- 클라이언트에게 할당 가능한 IP 주소를 제안하는 메시지이다.
- 할당 가능한 IP 주소, 서브넷 마스크, 임대 기간 등의 정보를 포함하고 있다.
③ DHCP Request
- DHCP Offer 메시지에 대한 응답 메시지이다.
- 아직까지 동적 IP 주소를 할당 받지 못한 상태이기 때문에 브로드캐스트로 전송된다.
④ DHCP ACK(DHCP Acknowledgment )
- 최종 승인과도 같은 메시지이다.
- DHCP ACK 메시지를 수신한 클라이언트는 이제 할당받은 IP 주소를 자신의 IP 주소로 설정 후 임대 기간 동안 IP 주소를 사용한다.
- 사용기간이 끝나면? IP 주소를 DHCP 서버에 반납하고 원칙적으로는 다시(① ~ ④) 를 주고받아 IP 주소를 재할당한다.
- 하지만, 임대 갱신을 통해 IP 주소 임대 기간이 끝나기 전에 임대 기간을 자동으로 연장할 수 있다.
- 임대갱신은 임대 기간이 끝나기 전에 기본적으로 두 차례 자동으로 수행하며 자동 임대 갱신이 모두 실패하면 그때 IP 주소를 반납하게 된다.
댓글남기기