네트워크 IP주소 클래스
[Network] IP주소 클래스(A,B,C class)란?
1) IP주소의 클래스란?
지난시간 IP주소에 대해 배웠는데 잠시 복습하면, IP주소는 32 자리 이진수로 구성되어 있고 이 주소는 십진수로 표현되는데 옥테드 당 ‘ . ‘ 을 찍어 구분한다고 했습니다. 또한, 하나의 네트워크안에 IP들은 네트워크 영역은 같아야하고, 호스트 IP는 서로 달라야 통신이 가능하다고 했습니다.
예를 들어 203.240.100.1 에서 203.240.100 은 네트워크 영역이고 1 은 호스트 IP라는 사실을 알 수 있습니다. 여기서 어떻게 네트워크 주소와 호스트 주소를 구분할 수 있을까요? 바로 클래스 때문입니다. 203.240.100.1 IP가 C클래스 이기 때문에 203.240.100 은 네트워크 주소이고, 1은 호스트 주소란 사실을 알아낸 것입니다. 이렇게 IP주소에는 클래스라는 개념이 있고 이 클래스의 개념을 알아야 어디까지가 네트워크 영역이고 호스트IP 영역인지 알 수 있습니다.
즉, 다시말해 클래스는 하나의 IP주소에서 네트워크 영역과 호스트 영역을 나누는 방법이자, 약속입니다.
IP주소를 3개의 클래스로 나누는 이유는 네트워크 크기에 따른 구분이라 생각하면 쉽습니다.
하나의 네트워크에서 몇개의 호스트 IP까지 가질 수 있는가에 따라서 클래스를 나눌 수 있습니다.
이런 IP주소 클래스의 종류에는 총 5개가 있습니다. A클래스, B클래스, C클래스, D클래스 E클래스 이렇게 말이죠. 하지만 보통 A, B, C 3개 정도만 알고있으면 충분합니다.
(나머지 D, E 클래스는 멀티캐스트용, 연구용으로 사용합니다.)
2) A클래스, B클래스, C클래스
A클래스
먼저 A클래스는 하나의 네트워크가 가질 수 있는 호스트 수가 제일 많은 클래스입니다. IP주소를 32자리 2진수로 표현했을때, 맨 앞자리 수가 항상 0 인 경우가 바로 A클래스입니다.
즉 0xxx xxxx. xxxx xxxx. xxxx xxxx. xxxx xxxx 와 같이 되어있습니다. x 는 0 또는 1 입니다.
여기서 A클래스에서 가질 수 있는 IP범위는
0000 0000. 0000 0000. 0000 0000. 0000 0000 ~ 0111 1111. 1111 1111. 1111 1111. 1111 1111
까지 입니다. 이를 십진수로 표현하면 0.0.0.0 ~ 127.255.255.255 까지 입니다.
A클래스에서 첫번째 옥테드는 네트워크 부분을 나타내고 나머지 부분은 호스트 부분을 나타냅니다.
또 A클래스에서 네트워크 주소는 가장 작은 네트워크인 1.0.0.0 과 가장 큰 네트워크인 126.0.0.0 까지로 규정되어 있으며(0xxx xxxx x가 가질수 있는 경우의 수가 네트워크 범위입니다. 여기서 127은 제외됩니다. 이건 약속입니다.) 참고로 네트워크에서 0은 호스트 부분이라는 뜻입니다.
IP주소 중에서 1부터 126으로 시작하는 네트워크는 A클래스라고 생각하면 됩니다. 그리고 호스트 주소가 가질 수 있는 갯수는 (2^24) - 2 개입니다. (-2 이유는 모두가 1인경우 브로드캐스트 주소로 사용하고 모두 0인경우엔 네트워크 주소로 사용하기 때문입니다.)
예를 들어 A클래스로 13.0.0.0 네트워크 주소를 할당 받았다고 합시다. 여기서 13. 은 네트워크 부분이죠? 나머지 0.0.0 에 호스트 IP를 할당 할 수 있습니다. 십진수 0.0.0 은 2진수로 표현하면 총 24개의 2진수로 표현이 가능하고 이는 곧 2^24 개의 호스트 IP를 가질 수 있다는 뜻입니다.
십진수로 나타내면 13.0.0.0 ~ 13.255.255.255 입니다. 하지만 여기서 13.0.0.0 은 네트워크 주소를 표현하기 위해서 호스트IP로 사용하면 안됩니다. 또, 13.255.255.255 역시 브로드캐스트 주소로 사용하기 때문에 호스트 IP로 사용하면 안됩니다. 따라서 (2^24) - 2 를 해주는 것입니다. A클래스에 대해서 모두 배웠습니다. B클래스, C클래스도 같은 원리입니다.
B클래스
B클래스는 반드시 10으로 시작합니다. 2진수로 표현하면
10xx xxxx. xxxx xxxx.xxxx xxxx. xxxx xxxx입니다.
B클래스의 IP 범위는 128.0.0.0 ~ 191.255.255.255 까지이고
네트워크 범위는 10xx xxxx. xxxx xxxx 에서 x들이 가질 수 있는 경우의 수 입니다. (2^14 개)
호스트 주소 범위는 xxxx xxxx. xxxx xxxx에서 x들의 경우의 수인 (2^16) - 2 개 입니다.
(-2 는 네트워크 주소, 브로드캐스트 주소 사용으로 인해 호스트 주소에서 제외해야 합니다.)
C클래스
C클래스는 반드시 110으로 시작합니다. 2진수로 표현하면
110x xxxx. xxxx xxxx.xxxx xxxx.xxxx xxxx 입니다.
C클래스의 IP 범위는 192.0.0.0 ~ 223.255.255.255 까지이고
네트워크 범위는 110x xxxx. xxxx xxxx.xxxx xxxx 에서 x들이 가질 수 있는 경우의 수 입니다. (2^21 개)
호스트 주소 범위는 xxxx xxxx 에서 x들이 가질 수 있는 경우의 수 (2^8 )-2 개 입니다.
(-2 는 네트워크 주소, 브로드캐스트 주소 사용으로 인해 호스트 주소에서 제외해야 합니다.)
정리하면…
구분 | 2진수 시작은? (s 네트워크, h 호스트) | 네트워크 시작번호 (개수) | 호스트 범위 (개수) |
---|---|---|---|
A클래스 | 0sss ssss. hhhh hhhh. hhhh hhhh. hhhh hhhh(0 시작, 네트워크 : 7bit, 호스트 : 24bit) | 1 ~ 126 시작 (2^7 -1 개 : 127은 제외라 -1) | 2^24 -2 (-2 네트워크, 브로드캐스트 주소 제외) |
B클래스 | 10ss ssss .ssss ssss. hhhh hhhh. hhhh hhhh(10 시작, 네트워크 : 14bit, 호스트 : 16bit) | 128.0 ~ 191.255 시작(2^14 개) | 2^16 -2 (-2 네트워크, 브로드캐스트 주소 제외) |
C클래스 | 110s ssss. ssss ssss. ssss ssss. hhhh hhhh(110 시작, 네트워크 : 21bit, 호스트 : 8bit) | 192.0.0 ~ 223.255.255 시작(2^22 개) | 2^8 -2 (-2 네트워크, 브로드캐스트 주소 제외) |
(네트워크 범위가 커질수록 호스트 주소 범위는 작아짐 반비례 관계)
문제를 풀어보면서 확실히 이해해봅시다!
다음 IP를 보고 클래스, 네트워크 부분, 호스트 부분예시
- **0.3.4.3**
클래스 : A
네트워크 부분 : 10.0.0.0
호스트 부분 : 3.4.3
- **132.12.11.4**
클래스 : B
네트워크 부분 : 132.12.0.0
호스트 부분 : 11.4
- **203.10.1.1**
클래스 : C
네트워크 부분 : 203.10.1.0
호스트 부분 : 1
- **192.12.100.2**
클래스 : C
네트워크 부분 : 192.12.100.0
호스트 부분 : 2
- **130.11.4.1**
클래스 : B
네트워크 부분 : 130.11.0.0
호스트 부분 : 4.1
- **261.12.4.1**
이런 IP 주소는 없습니다.