네트워크 클래스

네트워크 클래스IPv4에서 IP 주소의 첫 번째 구조 변화를 나타낸다.

1982년 프로토타입 인터넷 지도

클래스 도입 이전 편집

원래 32비트 IPv4 주소는 호스트가 연결되어있는 특정 네트워크를 가리키는 단순히 8비트의 네트워크 영역과 해당 네트워크 내에서 호스트의 주소를 가리키는 나머지 영역으로 단순하게 구분되어 있었다. 참고로 이 형태는 도입 이전에 정해졌는데, 이때는 ARPANET과 같은 적은 수의 대규모 네트워크밖에 없었다.

클래스 편집

덕분에, IP 주소의 정의가 바뀌었으며, 3개의 다른 크기의 네트워크 영역이 다음 표와 같이 정의되었다.(비트단위)

클래스   앞선 비트   네트워크 영역   나머지 영역
클래스 A     0 8     24
클래스 B     10 16     16
클래스 C     110 24     8
클래스 D (멀티캐스트)     1110
클래스 E (예약됨)     1111

이는 각 클래스당 다음과 같은 수의 네트워크 및 주소를 가능하게 한다. 단, 실제 개수가 예상보다 작다는 것을 유념하기 바란다. 이는 몇몇 값들, 예를 들어 0만으로 이루어진 값등은 허용되지 않기 때문이다.

클래스   앞선 비트   총 네트워크 수   네트워크당 주소 수
클래스 A     0     128     16,777,214
클래스 B     10     16,384     65,534
클래스 C     110     2,097,152     254

기존에 비해 더욱 커진 네트워크 표시 영역은 더 많은 수의 네트워크를 가능하게 해주었고, 이로 인해 임시적이나마 인터넷의 지속적인 성장을 유지할 수 있었다.

오늘날 IP 주소와 함께 널리 사용되는IP 주소 넷마스크는 필요없었는데, 이는 마스크의 길이가 순전히 IP 주소로부터 판별 가능했기 때문이다. 즉, 누구라도 IP의 첫 몇 비트만 보면 어떠한 클래스에 속하는지 알 수 있었기 때문이다.

어떤 주소가 다른 주소와 동일한 물리 네트워크에 속해있는지를 판단하는 이러한 간단한 방법은 효율적으로 동작했다(서브넷참조). 각각의 주소에 대해 네트워크의 번호를 추출해내고, 주소의 나머지 부분은 무시되었다. 네트워크 번호가 동일하다면, 두 주소는 동일한 네트워크로 보내어지게 되는 것이다.

클래스의 변경 편집

하지만, 이러한 첫 번째의 변화는 오래가지 못했다. IP 주소 부족은 여전히 계속되었다. 가장 큰 문제는 대부분의 사이트들은 "클래스 C"에 들어가기에는 너무 컸고, 대신 "클래스 B"를 할당받았다. 인터넷의 빠른 발전과 함께, 클래스 B의 가능한 주소는(기본적으로 214 즉 약 16,000개) 급속도로 소진되어 갔다. 이러한 문제 및 다른 여러 문제를 해결하기 위해 1993년경부터 네트워크 클래스는 사이더에 의해 대체되게 되었다.

IANA에 의한 초기 IP 주소의 할당은 효율적으로 이루어지지 못하였으며, 이는 문제를 악화시켰다. (하지만, 몇몇 기관이 불공평하게, 그리고 부적절하게 클래스 A를 가져갔다는 널리 퍼진 생각은 허위이다. 대부분의 그런 할당은 클래스의 도입 이전으로 거슬러 올라간다. 즉, 그때 할당한 주소들이 훗날 클래스 A라 불리게 되었을 뿐이었다.)


유용한 표 편집

클래스 범위 편집

각 클래스에 사용되는 주소 범위는 다음 표에 일반적인 점과 10진법의 표기로 나타나 있다.

클래스 앞선 비트 시작주소 끝주소 해당 사이더 블록
클래스 A     0     0.0.0.0 127.255.255.255     /8
클래스 B     10 128.0.0.0 191.255.255.255     /16
클래스 C     110 192.0.0.0 223.255.255.255     /24
클래스 D (멀티캐스트)     1110 224.0.0.0 239.255.255.255     NA
클래스 E (예약됨)     1111 240.0.0.0 255.255.255.255     NA

특수범위 편집

몇몇 주소들은 특별한 사용처를 위해 예약되어 있다(RFC 3330).

주소 해당 사이더 목적 RFC 클래스 전체 주소 개수
    0.0.0.0 - 0.255.255.255 0.0.0.0/8 Zero 주소 RFC 1700 A 16,777,216
   10.0.0.0 - 10.255.255.255 10.0.0.0/8 사설망 RFC 1918 A 16,777,216
  127.0.0.0 - 127.255.255.255 127.0.0.0/8 로컬호스트 Loopback 주소 RFC 1700 A 16,777,216
169.254.0.0 - 169.254.255.255 169.254.0.0/16 Zeroconf RFC 3330 B 65,536
 172.16.0.0 - 172.31.255.255 172.16.0.0/12 사설망 RFC 1918 B 1,048,576
  192.0.2.0 - 192.0.2.255 192.0.2.0/24 문서와 예제 RFC 3330 C 256
192.88.99.0 - 192.88.99.255 192.88.99.0/24 IPv6에서 IPv4로의 애니캐스트 릴레이 RFC 3068 C 256
192.168.0.0 - 192.168.255.255 192.168.0.0/16 사설망 RFC 1918 C 65,536
 198.18.0.0 - 198.19.255.255 198.18.0.0/15 네트워크 장치 벤치마크 RFC 2544 C 131,072
  224.0.0.0 - 239.255.255.255 224.0.0.0/4 멀티캐스트 RFC 3171 D 268,435,456
  240.0.0.0 - 255.255.255.255 240.0.0.0/4 예약됨 RFC 1700 E 268,435,456

비트단위 표기 편집

아래 표에서 모든 자리는 이진수이며,

  • n는 네트워크 주소를 나타낸다.
  • h는 호스트 주소를 나타낸다.
  • X는 특별한 목적이 없는 자리를 나타낸다.
클래스 A
  0.  0.  0.  0 = 00000000.00000000.00000000.00000000
127.255.255.255 = 01111111.11111111.11111111.11111111
                  0nnnnnnn.hhhhhhhh.hhhhhhhh.hhhhhhhh

클래스 B
128.  0.  0.  0 = 10000000.00000000.00000000.00000000
191.255.255.255 = 10111111.11111111.11111111.11111111
                  10nnnnnn.nnnnnnnn.hhhhhhhh.hhhhhhhh

클래스 C
192.  0.  0.  0 = 11000000.00000000.00000000.00000000
223.255.255.255 = 11011111.11111111.11111111.11111111
                  110nnnnn.nnnnnnnn.nnnnnnnn.hhhhhhhh

클래스 D
224.  0.  0.  0 = 11100000.00000000.00000000.00000000
239.255.255.255 = 11101111.11111111.11111111.11111111
                  1110XXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX

클래스 E
240.  0.  0.  0 = 11110000.00000000.00000000.00000000
255.255.255.255 = 11111111.11111111.11111111.11111111
                  1111XXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX

같이 보기 편집

외부 링크 편집

  • RFC 791 — 네트워크 클래스 정의