티스토리 뷰

서브넷팅이 뭘까!


서브넷팅(Subnetting) 이란 ?

한 개의 네트워크를 서브넷 마스크를 이용해 여러 개의 서브넷 네트워크로 분할

 

왜 한개의 네트워크를 여러개로 나눌까?

극단적으로 A클래스를 일반 가정집에 부여 한다면 16,777,214개 되는 호스트를 낭비 할 것이다.이러한 문제로 인하여 효율적으로 사용할 수 있도록 한 방법이 서브넷팅이다~!!!

  • 서브넷 마스크를 사용하여 Host를 Network로 변환한다.
  • 네트워크 주소부분의 비트를 연장하고 그 나머지 부분이 호스트의 식별자가 된다.
  • 각 네트워크에 속해 있는 Host 들은 같은 영역에 존재하기에 라우터까지 거치지 않고도 통신할 수 있습니다.
  • 서브넷 마스크는 255와 0으로 이루어져있다.
    • 255는 네트워크 부분이며 0은 호스트 부분이 된다
  • 호스트 부분에서 IP를 쪼개는 개념이다

서브넷팅 계산법

📌 참고사항

💡 Host ID를 Network ID로 변화하기 위해 한 Bit씩 가져올 때마다 네트워크 크기는 2배로 증가하고 호스트 수는 2로 나누어지게 됩니다.

💡 2진수로 표현하였을 때 Network ID 부분은 1이 연속적으로 있어야 하며, Host ID 부분은 0이 연속적으로 있어야 한다.

    즉, 중간에 1이나 0이 섞이면서 나열될 수 없다. 

💡 호스트 네트워크로 사용할 수 없는 두가지!!!!

  • Network Address : 가장 첫번째 IP주소이며, 각 네트워크를 구분할 때 사용하고 있음.
  • Broadcast Address : 가장 마지막 IP주소이며, 네트워크에 있는 클라이언트 모두에게 데이터를 보내기 위함.
  • 예를 들면, IP 네트워크 주소가 192.168.1.0 이면 브로드캐스트 주소는 192.168.1.255 임.

하지만 네트워크가 분리되므로 인하여 서로가 통신하기 위해서는 라우터를 통해서만 가능하게 된다. 

물론 각 네트워크에 속해 있는 호스트들은 같은 영역에 존재하기에 라우터까지 거치지 않고도 통신할 수 있다. 

 

계산 예제

192.168.100.12/25 를 풀어보자

/25는 서브넷 마스크가 25bit라는 의미로 255.255.255.128이 된다.

 

더 쉽게 말해서 서브넷마스크를 2진수로 표현했을 때 /25는 1의 개수가 25개 -> 11111111.11111111.11111111.10000000

 

정석(?)

네트워크 개수 = 2^(Prefix - default Prefix)

실 호스트 개수 구하는 방법 {(256/ 네트워크 구간의 개수) * 클래스에 따른 {A클래스 - (256^2), B클래스 - (256), C클래스- (1) 곱해준다} -2 } ,

 

더 쉬운 방법으로는 야매?인데

만약 /25일때 서브넷마스크를 2진수로 바꿔 8비트로 표현했을 때  32비트 중 25비트를 채우고 7비트가 남는다. 0은 Host 이기 때문에 2^7=128 - 2 = 126

만약 /19일때 32비트 중 16비트를 채우고 3비트가 남는다 32-19 = 2^13 -2 

 

위의 예제는 정석(?)대로 구해보겠다.

네트워크 구간의 개수는 2^(25-24) = 2 개 

네트워크 구분 되는 호스트 수= 128개 

실 호스트 개수 = (256/2)*1 - 2 = 126 개  

 

여기서 2를 빼주는 이유는 Network Address와 Broadcast Address 을 빼준 것

 

이때 호스트에 IP를 할당할 수 있는 범위가 [0~127], [128~255]가 되고, 

네트워크는 [192.168.100.0], [192.168.100.128]이기에 2개로 나누어지게 된다.

 

결국 192.168.100.12/25가 속한 네트워크는 [192.168.100.0] 대역에 속하게 되며, 다른 서브넷팅 된 네트워크와는 라우터를 통하여서만 통신할 수 있다.

 

참고

 

/25 일때 네트워크 수는 a클래스인 경우 2^(25-8) =131,072

 

서브넷팅은 하나의 네트워크를 분할해서 쓴다면,  그 개념과는 반대로 슈퍼넷팅이라는 것이 있다.


슈퍼넷팅(Supernetting)이란?

여러개의 작은 Network를 하나의 커다란 Network로 바꾸는 작업  (여러 Route를 하나의 Route로 요약)

(메모리,CPU 자원 낭비를 막을 수 있는 효과~)

 

서브넷 마스크를 사용하여 Network를 Host로 변환한다.

 

바로 문제로 알아보자

다음 문제는 그림을 참조해서 포함하고 있는 Network 대역대를 위한 가장 적당한 축약방법을 고르라고 한다

 

10.0.0.0 / 10.0.1.0 /  10.0.2.0 /  10.0.3.0 는 현재 서로 다른 네트워크 대역대이다.

모두 포함하려면 보기에서

10.0.0.0 ~ 10.0.3.255 네트워크 대역대를 고르면 되겠다.

 

맞는 진 모르겠지만  필자 풀이

 

네트워크 개수 = 4 

호스트 개수 =256/4 = 64 =2^6

Prefix - default Prefix = 6

22 -16 = 6

B 정답유추

 

검토해보자

A. 10.0.0.0 /21 ->  10.0.0.0 ~ 10.0.7.255

B. 10.0.0.0 /22 -> 10.0.0.0 ~ 10.0.3.255

C. 10.0.0.0 /23 -> 10.0.0.0 ~ 10.0.1.255

D. 10.0.0.0 /24 -> 10.0.0.0 ~ 10.0.0.255

 

10.0.0.0 ~ 10.0.3.255  를 고르면 문제의 해당 대역대를 포함하는 슈퍼넷팅을 한 것이다

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함