Internet Protocol - IPv4
들어가며
인터넷 세상에서 IP는 각 기기들을 식별하기 위해 없어서는 안되는 존재다.
IP 프로토콜의 주소체계 중 IPv4에 대해 알아보자.
IP Protocol
OSI 7계층 중에서 네트워크 계층인 3계층에는 여러 프로토콜이 있다.
그중에서 IP(Internet Protocol)
은 데이터를 패킷 단위로 분리하고 목적지까지 전달한다.
즉, 인터넷 통신에서 주로 사용되는 프로토콜이다.
데이터를 전달하기 위해서 IPv4와 IPv6의 주소체계가 사용된다.
주소체계는 왜 필요할까?
수많은 기기들을 판별하려면 명확한 주소체계가 필요하다.
IP 프로토콜은 IP 주소를 사용하여 호스트나 네트워크 장비를 식별한다. 고유한 번호로 목적지를 구분하는 것이다.
IANA가 최상위 관리 기관으로서 전세계 IP 주소를 관리한다.
또, 책임을 분리하여 지역적으로 관리하는 RIR, 국가 단위로 관리하는 NIR, 일반 사용자/기업에게 IP 주소를 제공하는 ISP까지 책임이 분리된다.
IPv4(Internet Protocol version 4)
현재 주로 사용되는 32비트 주소 체계이다.
32비트 주소 체계는 사람이 이해하기에 어렵다.
따라서 아래 그림과 같이 10진수로 변환한 IP 주소를 사용하여 사람이 좀 더 쉽게 이해할 수 있도록 변환해서 사용한다.
8비트씩 묶어서 .
으로 구분하며, IP 주소의 범위는 다음과 같다
32비트의 숫자 개수는 $2^{32}$이고, 약 43억이다.
IP 주소의 구성
IP주소는 네트워크 부와 호스트 부로 구성된다.
[네트워크 부 (Network Part/Network ID)]
역할
- 호스트가 속한 네트워크 주소로, IP 주소에서 네트워크를 식별한다
특징
- 인터넷에 접속되어 있는 모든 네트워크 중에서 유일하다
- 같은 네트워크에 속한 모든 장치(호스트)는 동일한 네트워크 부를 공유한다
- 데이터 패킷이 어느 네트워크로 가야 하는지 결정하는데 사용된다
위치
- IP 주소 앞쪽에 위치한다
[호스트 부 (Host Part/Host ID)]
역할
- 호스트의 주소로, 개별 장치를 식별한다
특징
- 같은 네트워크 내에서 각 장치가 유일한 호스트 부를 가진다
- 네트워크 내에서 어느 호스트로 가야 하는지 결정하는데 사용된다
위치
- IP 주소 뒤쪽에 위치한다
클래스1
IPv4주소를 네트워크 크기에 따라 나누는 초기 방식이다.
쉽게 말하자면 클래스에 따라 어디까지가 네트워크 부이고, 어디까지가 호스트 부인지를 결정한다.
맨 앞쪽의 비트를 일부 사용하여 클래스를 구분한다.
클래스 | 구성 (32비트) | 첫 비트 | IP 주소 범위 | 네트워크 수 | 호스트 수 (네트워크당) | 전체 IP 수 | 용도 |
---|---|---|---|---|---|---|---|
A | 8비트(네트워크 부) + 24비트(호스트 부) | 0으로 시작 | 0.0.0.0 ~ 127.255.255.255 | 128개 (2⁷ - 2) | 약 1,677만 개 (2²⁴ - 2) | 약 21억 개 (2³¹) | 대기업, ISP 등 대규모 네트워크 |
B | 16비트(네트워크 부) + 16비트(호스트 부) | 10으로 시작 | 128.0.0.0 ~ 191.255.255.255 | 16,384개 (2¹⁴) | 약 6만 5천 개 (2¹⁶ - 2) | 약 10억 개 (2³⁰) | 대학, 중견 기업 등 중간 규모 |
C | 24비트(네트워크 부) + 8비트(호스트 부) | 110으로 시작 | 192.0.0.0 ~ 223.255.255.255 | 약 209만 개 (2²¹) | 254개 (2⁸ - 2) | 약 5억 3천만 개 (2²⁹) | 소기업, 가정 등 소규모 네트워크 |
[기타 클래스]
위 3개의 클래스 외에도 멀티캐스트에 사용되는 클래스 D, 연구 및 개발용으로 사용되는 클래스 E 등이 있다.
IPv6의 등장
위에서 IPv4 주소의 전체 개수는 약 43억이라 하였다.
그런데 80억 인구인 지금, 각 개인이 소유하는 기기는 1개가 아닐 것이다.
그래서 폭발적으로 증가하는 기기에 따라 IPv4 주소의 고갈이 문제가 되고 있다.
위 사진은 IPv4 주소 고갈 타임라인이다.
사설 IP, NAT, CIDR, VLSM, DHCP, CGNAT 등 고갈 문제를 해결하려는 여러 시도들이 존재했으나, 근본적 해결책은 아니었다.
1998년 도입된 IPv6는 128비트 주소 체계를 사용하여 근본적인 해결책으로 제시되었다.
128비트가 얼마나 크냐 하면… 들어본 적도 없는 간(澗)이라는 단위가 나온다.
1
2
340,282,366,920,938,463,463,374,607,431,768,211,456
-> 약 1000조 x 1000조 x 300조
그러나 기존 IPv4 기반 네트워크와의 호환성 문제로 점진적으로 도입 중이고, 아직까지도 IPv4가 주로 사용되고 있다.
[클라우드 서비스의 IPv4 요금 부과]
점진적 도입의 일환으로, 클라우드 서비스들이 IANA의 권고에 따라 IPv4 사용 시 비용을 부과하도록 정책을 바꿨다.2
그래서 일례로, AWS의 경우 시간당 0.005 USD의 요금을 부과하기 시작했다.
EC2 프리티어 인스턴스에는 무료 사용량이 제공되지만 이외의 서비스에 대한 IPv4는 요금이 발생할 수 있으므로 주의하자.
참고자료
쉽게 이해하는 네트워크 13. IP 주소 의미와 체계 및 서브넷 마스크