IP 주소의 기본 구조
IP 주소는 크게 두 부분으로 나뉜다. 네트워크를 구분하는 ‘네트워크 부분’과 해당 네트워크 안의 개별 장치를 구분하는 ‘호스트 부분’이다.
예를 들어 회사 건물의 주소 체계와 비슷하다. ‘서울시 강남구 테헤란로’가 네트워크 부분이라면, ‘123번길 3층 301호’는 호스트 부분이다. 네트워크 부분이 같으면 같은 네트워크에 속한 것이다.
192.168.1.100 이라는 IP 주소가 있을 때:
- 앞부분(192.168.1)은 네트워크를 식별한다
- 뒷부분(100)은 그 네트워크 안의 특정 장치를 가리킨다
네트워크 클래스의 구분
네트워크의 규모에 따라 IP 주소의 네트워크 부분과 호스트 부분의 길이가 다르다. 이것을 클래스로 구분한다:
클래스 A
- 첫 번째 옥텟: 1 ~ 126 (0xxx xxxx)
- 주소 범위: 1.0.0.0 ~ 126.255.255.255
- 네트워크 부분: 첫 번째 8비트
- 호스트 부분: 나머지 24비트
- 네트워크 수: 126개
- 호스트 수: 16,777,214개 (2^24 - 2)
클래스 B
- 첫 번째 옥텟: 128 ~ 191 (10xx xxxx)
- 주소 범위: 128.0.0.0 ~ 191.255.255.255
- 네트워크 부분: 첫 번째 16비트
- 호스트 부분: 나머지 16비트
- 네트워크 수: 16,384개
- 호스트 수: 65,534개 (2^16 - 2)
클래스 C
- 첫 번째 옥텟: 192 ~ 223 (110x xxxx)
- 주소 범위: 192.0.0.0 ~ 223.255.255.255
- 네트워크 부분: 첫 번째 24비트
- 호스트 부분: 마지막 8비트
- 네트워크 수: 2,097,152개
- 호스트 수: 254개 (2^8 - 2)
각 클래스에서 2를 빼는 이유는 네트워크 주소와 브로드캐스트 주소를 제외하기 때문이다. 네트워크 주소는 호스트 부분이 모두 0, 브로드캐스트 주소는 호스트 부분이 모두 1인 주소다.
클래스 D와 E
- 클래스 D: 224 ~ 239 (멀티캐스트용)
- 클래스 E: 240 ~ 255 (실험용/예약)
- 일반적인 네트워크에서는 사용하지 않는다
사설 네트워크 주소
인터넷에 직접 연결되지 않는 내부 네트워크용 주소:
- 클래스 A: 10.0.0.0 ~ 10.255.255.255
- 클래스 B: 172.16.0.0 ~ 172.31.255.255
- 클래스 C: 192.168.0.0 ~ 192.168.255.255
이 주소들은 인터넷에서 라우팅되지 않으며, 내부 네트워크에서 자유롭게 사용할 수 있다.
왜 이렇게 나누나?
네트워크 클래스 구분의 주된 이유:
- 효율적인 주소 할당
- 네트워크 관리의 용이성
- 라우팅 테이블 크기 최적화
예를 들어 50대의 컴퓨터를 가진 회사에 클래스 A를 할당하면 수백만 개의 주소가 낭비된다. 반대로 대기업에 클래스 C를 할당하면 주소가 부족하다.
현재는 CIDR이라는 더 유연한 방식을 주로 사용하지만, 네트워크 클래스의 개념은 IP 주소 체계를 이해하는 기본이 된다.