본문 바로가기
스터디/CS

[IP주소] 클래스풀 / 클래스리스, 서브넷마스크, 서브네팅

by naahy 2024. 7. 8.

클래스풀 배경

IPv4는 32비트로 이루어진 인터넷 주소

  • 네트워크 주소와 호스트 주소로 나뉨
    • 네트워크 주소
      • 호스트들을 모아놓은 네트워크
      • 네트워크 주소가 동일하다면 로컬 네트워크에 속하는 것
    • 호스트 주소
      • 호스트를 구분하기 위한 주소 
      • 네트워크 호스트는 컴퓨터 네트워크에 연결된 컴퓨터나 기타 장치를 의미 
      • 네트워크에 속하는 컴퓨터나 장치를 구분하기 위한 주소

 

Classful IP addressing

네트워크 주소를 매기고 그에 따라 네트워크 크기를 다르게 구분하여 클래스를 할당하는 주소체계

구분하는 첫기준자(1옥텟, 2옥텟, 3옥텟 등)을 서브넷마스크라고한다.

 


클래스 D와 E의 경우, 각각 멀티캐스트 및 예비 사용을 위해 따로 구분된 것

우리가 일반적으로 네트워크를 구성하는데 고려해야할 것은 Class A-C

 

각각의 클래스는 첫번째 옥텟의 값에 따라서 달라지게 되는데, 아래와 같이 나누어짐

  • 0으로 시작하면 ClassA
  • 10으로 시작하면 ClassB
  • 110으로 시작하면 ClassC


ClassA

첫번째 옥텟을 제외하고 한 네트워크당 2^24-2 = 16,777,214개(약 16만개)의 호스트 ID 를 가질 수 있다

네트워크 주소의 범위는 1 - 126으로 시작

0.0.0.0 은 알수없는 주소에 달아놓는 특수주소이기 때문에 포함하지 않는다.

원래는 127.255.255.255 도 포함해야하지만, 127.x.x.x 는 루프백 주소이기 때문에 포함하지 않는다

 

ClassB

앞의 두 옥텟을 제외하고 한 네트워크 당 2^16-2 = 65,534 개(약 6만개)의 호스트 ID 를 가질 수 있다

네트워크 주소의 범위는 128-191 로 시작

 

ClassC

앞의 세개의 옥텟을 제외하고 총 2^8-2 = 254개의 호스트 ID 를 가질 수 있다

네트워크 주소는 192-223 으로 시작

 

정리

 

기타

  1. 각 클래스별로 -2 개를 하는 이유
    1. 맨 앞자리는 네트워크 주소로 남겨두고 맨 뒷자리는 브로드캐스팅 주소로 남겨놓는다
  2. 클래스풀 ip addressing 의 문제점
    1. 네트워크의 크기가 작은 경우, 큰 네트워크를 필요로 하는 조직은 여러개를 확보해야하는 어려움이 있다
    2. 작은 네트워크가 필요한 조직은 너무 많은 ip 주소를 가져가게 되어 낭비될 수 있다
    3. 위의 방식대로하면 결국 최소 ip 주소 풀이 256개이므로, 그보다 적게 필요한 조직에게는 낭비이다
    4. 결국은 클래스 3개로 나뉘어지는데 그 사이에 세부 구분이 없어서 범위가 너무 넓다는 단점이 있는 셈

 

한계

클래스 3개의 범위가 너무 넓어서 대규모 조직이나 소규모 조직의 경우, 필요한 ip 개수를 확보하지 못하거나 낭비하는 일이 발생

한정된 ip 개수를 생각한다면 심각한 문제

이를 해결하기위해 등장한 것이 바로 Classless 방식

 

Classless IP addressing

클래스가 아닌 서브넷마스크 중심

어디까지가 네트워크 주소고 어디까지가 호스트주소인지를 나눈다

현재 우리가 사용하는 주소체계 역시 이 클래스리스 방식

  • 서브네팅 : 네트워크를 쪼갬
  • 서브넷 : 쪼개진 네트워크
  • 서브넷마스크 : 서브 네트워크를 위한 비트마스크

 

서브넷마스크

네트워크 주소 부분은 1, 호스트 주소 부분은 0으로 설정

 

 

 

 

참고

https://wiki.mhson.world/cs/network/ip-classful-ip-addressing

https://wiki.mhson.world/cs/network/ip-classless-subnet-mask-subnetting

댓글