[네트워크] IPv4 주소 관리

1. IP 주소 클래스

네트워크와 호스트 부분을 나누어 한정적인 IP주소를 효율적으로 사용하기 위해 A~E 5가지의 클래스로 구분한다.

1) Class A

0xxxxxxx. xxxxxxxx. xxxxxxxx. xxxxxxxx
Network Address Host Address Host Address Host Address

국가와 같은 대규모 네트워크 환경에 쓰인다. 네트워크 영역으로 8bits, 호스트 영역으로 32bits를 사용한다. 주소의 시작은 항상 0이고, 따라서 Class A의 주소범위는 0.0.0.0 ~ 127.255.255.255 가 된다.

하지만 이 중 이미 특정 용도로 사용되도록 약속된 주소가 있다.

0.0.0.0 은 모든 IP를 의미하며, 127.0.0.0 ~ 127.255.255.255 는 루프백IP로 사용된다.

2) Class B

10xxxxxx. xxxxxxxx. xxxxxxxx. xxxxxxxx
Network Address Network Address Host Address Host Address

대학교와 같은 중규모 네트워크 환경에 쓰인다. 네트워크 영역으로 16bits, 호스트 영역으로 16bits를 사용한다. 주소의 시작은 항상 10 이고, 따라서 Class B의 주소범위는 128.0.0.0 ~ 191.255.255.255 가 된다.

3) Class C

110xxxxx. xxxxxxxx. xxxxxxxx. xxxxxxxx
Network Address Network Address Network Address Host Address

소규모 네트워크 환경에 쓰인다. 네트워크 영역으로 24bits, 호스트 영역으로 8bits를 사용한다. 주소의 시작은 항상 110 이고, 따라서 Class C의 주소범위는 192.0.0.0 ~ 223.255.255.255 가 된다.

하나의 네트워크 영역에 존재하는 호스트들을 묶어 서브넷 (Subnet)이라고 한다.

2. 서브넷 마스크 (Subnet Mask)

서브넷 마스크는 IP주소에서 어디까지가 네트워크 영역인지를 나타내며, IP와 같이 32bits 이다.

네트워크 영역의 bit는 1, 호스트 영역의 bit는 0이다. IP주소와 서브넷 마스크를 AND 연산한 결과가 해당 IP의 네트워크 주소이다.

Class C IP “192.168.0.10”을 예로 들어보자.

C 클래스이므로 상위 24bits가 네트워크 영역이므로 서브넷 마스크는 255.255.255.0 이 된다.

192.168.0.10   => 1100 0000 . 1010 1000 . 0000 0000 . 0000 1010
255.255.255.0  => 1111 1111 . 1111 1111 . 1111 1111 . 0000 0000
    --------------------------------------------------------------------
                  1100 000 . 1010 1000 . 0000 0000 . 0000 0000

위와 같이 IP주소와 서브넷 마스크를 AND 연산하면 네트워크 주소가 192.168.0.0 이라는 것을 알 수 있다.

즉, 192.168.0.10 은 192.168.0.0 네트워크 안의 호스트이다.

3. CIDR (Classless Inter-Domain Routing)

위처럼 네트워크와 호스트를 클래스 기준으로만 나누는 것은 매우 비효율적이다.

예를 들어, 어떤 회사는 80개의 IP주소만 필요한데 이를 위해 C클래스 네트워크를 받으면 174개의 IP가 남는다.

CIDR은 서브넷 마스크를 8의 배수가 아닌 수로 설정하여 클래스에 국한되지 않고 네트워크와 호스트 부분을 나눌 수 있게 해준다.

예를 들어 설명하자면 다음과 같다.

“200.23.16.10/23” 이라는 IP가 있을 때, 이를 2진수로 바꾸면 다음과 같다.

1100 1000 . 0001 0111 . 0001 0000 . 0000 1010

서브넷 마스크가 23bit이므로 굵게 표시한 부분이 네트워크 영역이고, 나머지가 호스트이다.

200.23.16.0 ~ 200.23.17.255 가 네트워크 내 호스트의 범위가 된다.

4. 사설 IP 클래스

사설IP는 하나의 네트워크 내에서만 사용되는 IP를 의미하여, 이는 유일하지 않다. 네트워크 A와 B에 “192.168.0.10/24”라는 사설 IP를 가진 호스트가 존재할 수 있다. 사설IP는 네트워크 내부에서 외부로 NAT를 활용해 통신 가능하지만, 외부에서 해당 IP에 접근할 수는 없다.

클래스별 사설 IP 범위는 다음과 같다.

Class A 10.0.0.0 / 8 ~ 10.255.255.255/ 8
Class B 172.16.0.0 / 12 ~ 172.31.255.255 / 12
Class C 192.168.0.0 / 16 ~ 192.168.255.255 / 16

카테고리:

업데이트:

댓글남기기