2010. 5. 18. 16:15

IPv4 주소체계 알아보기

IPv4 주소는 xxx.xxx.xxx.xxx 형태로 나타난 주소인데, 이건 10진수로 표현한 것이고, 원래는 `8자리.8자리.8자리.8자리`의 `이진수`로  이루어진다.

따라서, 전부 32자리의 이진수로 구성되어 2의 32승 하면 총 약 42억 9천개 정도의 주소조합이 나온다. 하지만, 최근들어 이 주소가 부족하게 되었는데, 이는 인터넷의 폭발적인 증가 때문이기도 하지만, 옛날에 만들어진 IP주소 체계에 그 원인이 있기도 하다.

IP주소는 A, B, C, D, E 클래스로 나누어진다. D와 E는 쓰지 않아서 A, B, C 세 개의 클래스만 쓰고 있다. 구성은 네트워크 부분과 호스트 부분으로 이루어져 있다. 호스트는 네트워크에 연결되는 PC의 갯수를 말한다.

예전에 이 주소체계를 만든 이가 우리나라에 왔는데 이렇게 만든 이유를 물었더니, `그냥...`이라고 했다한다. 머리가 뛰어난 사람도 이렇게 인터넷이 확산될줄 몰랐겠지롱.

A클래스
 
`xxx.`부분에 해당하는 첫 `8자리`가 네트워크 부분으로 되어 있다. 1~127의 범위를 가지므로 항상 이진수의 첫째자리가 0으로 시작한다. 즉, 00000000~01111111까지 2진수로 변환되어진다.

그리되면, 0.0.0.0~127.0.0.0의 범위가 나오게 되고, 여기에서 0.0.0.0과 127.0.0.0은 제외하는데 이건 약속이다. 예외적으로 127.0.0.0은 localhost loopback이라고 약속되어 있다.

       

따라서, IP 할당이 가능한 주소는 결과적으로 1.0.0.0~126.0.0.0까지이다. `0`으로 되어있는 나머지 24자리는 호스트 주소이므로 2의 24승 - 2(네트워크 자체를 나타내는 맨 처음과 맨 마지막 브로드 캐스트) 하면 `16,777,214`개라는 엄청난 수의 PC를 하나의 조직내에 네트워크로 연결할 수 있다.

이런 주소를 가지고 있는 곳은 초창기 주소를 선점한 미국이나 다국적 기업으로 대표적인 곳은 IBM 등이 있다. 이런 회사도 `천육백만`개가 넘는 IP를 모두 쓰지는 않을테지만 남는 주소를 계속 가지고 있기 때문에 결과적으로 주소의 낭비와 고갈이 나타나고 있는 것이다.

B클래스

`xxx.xxx`부분에 해당하는 두 개의 `옥탯(2진수 8자리)`이 네트워크 부분이다. 128~191의 범위이므로 앞자리가 항상 `10`으로 시작한다. 따라서, 10000000~10111111까지 변환된다.

가장 작은 수 128.0.0.0~191.255.0.0의 큰 수 두 개를 제외하면 128.1.0.0~191.254.0.0까지 IP 주소를 할당해줄 수 있는 범위가 된다.

      

그러면, 0으로 표기된 남는 16자리는 또 호스트 주소이니까 2의 16승 - 2(네트워크 자체와 브로드 캐스트) 하면 `65,534`개라는 아주 많은 PC를 같은 네트워크에 몽땅 묶을 수 있다. 웬만한 대기업체도 이렇게 많이 쓰는 곳이 있을까 싶다.

C클래스

`xxx.xxx.xxx`부분에 해당하는 세 개의 옥탯이 네트워크 부분이다. 192~223까지 해당되므로 앞자리가 항상 `110`으로 정해져 있다. 그러니까, 1100000~11011111의 범위가 된다. 사용할 수 있는 주소 범위는 192.0.0.0~223.255.255.0에서 이 두 최소, 최대 값을 제외하고 192.0.1.0 ~ 223.255.254.0까지 IP주소로 사용할 수 있다.


남는 8자리를 가지고 연결할 수 있는 최대 호스트. 즉, PC의 갯수는 2의 8승 - 2(네트워크 자체와 브로드 캐스트) 하면 254개가 된다. 일반적으로 규모가 좀 있는 PC방이나 학교, 일반 회사 등에서 사용할 수 있는 IP 주소 클래스가 되겠다.