개발/🖤 UMC 백엔드 과정 🖤

🖤 서브넷팅, 서브넷, 서브 마스크 🖤

정소은 2023. 10. 7. 18:41

 

 

IP ( Internet Protocol )

https://sosoeunii.tistory.com/99

 

🖤 IP (Internet Protocol) 🖤

IP ( Internet Protocol ) : 인터넷에 연결되어 있는 모든 장치들을 식별할 수 있도록 부여하는 고유 주소 IP는 IPv4와 IPv6가 있는데 현재 전세계적으로 사용하고 있는 것은 IPv4다. IPv4는 123.89.46.72 처럼 10

sosoeunii.tistory.com

 

 

 

IP 주소 체계 - IPv4

 

IP는 네트워크 ID호스트 ID로 나뉘어 있다.

네트워크를 효율적으로 사용하기 위해서 Class A ~ Class E로 나눈다.

Class A는 첫번째 마침표 앞까지(8비트)가 네트워크 ID이며 그 뒤로(24비트)는 호스트 ID다.

따라서 2²⁴ = 16,777,216 에서 2를 뺀 16,777,214개의 호스트(장치)에 IP주소를 할당할 수 있는 것이다.

이때 2를 빼는 것은 첫번째 주소와 마지막 주소는 각각 Network Adress, Broadcast로 쓰기 때문이다.

Class B는 두번째 마침표 앞까지(16비트)가 네트워크 ID이며 그 뒤로(16비트)는 호스트 ID다.

따라서 (2¹⁶-2)개의 호스트에 IP 주소를 할당할 수 있다.

같은 방식으로 Class C는 (2⁸ - 2)개의 호스트에 IP 주소를 할당할 수 있다.

Class D와 Class E는 잘 사용되지 않는다.

 

 

서브넷팅, 서브넷, 서브넷 마스크

 

앞서 봤듯이 Class A는 총 16,777,214개의 호스트에 IP를 할당할 수 있는데

100개의 호스트들에 IP를 할당하더라도 16,777,114개의 호스트가 낭비된다.

이런 IP 낭비 현상을 막기 위해서 나타난 개념이 서브넷이다.

 

서브넷 : 네트워크 영역을 부분적으로 나눈 부분 네트워크

예를 들어 Class C( 호스트 254개 할당 가능 )가 있고 현재 IP가 필요한 호스트가 25대가 있다면

Network Address와 Broadcast를 포함해서 최소 27개의 IP주소가 필요하다.

27개의 IP 주소를 할당하기 위해서는 최소 5개의 비트(2⁵ = 32)가 필요하다.

Class C에서 앞의 24비트가 네트워크 ID를 나타내므로 이를 제외하면 8비트가 남게 된다.

그중에서 5비트를 호스트 ID로 취급하면 남는 3비트(2³ = 8)가 서브넷 ID가 된다.

즉, 네트워크를 32개의 IP씩 할당된 8개의 서브넷으로 나누는 것이다.

 

이처럼 네트워크를 서브넷으로 나누는 과정을 서브넷팅이라고 하고

서브넷 마스크는 서브넷팅에 사용되는 것이다.

 

서브넷 마스크는 네트워크 ID와 호스트 ID를 식별해주는 값으로

네트워크 ID는 연속된 1로 표현되며 호스트 ID는 연속된 0으로 표현된다.

 

서브넷 마스크를 이용해서 서브넷팅하는 방식은

원본 IP 주소를 2진법으로 표현한 뒤 서브넷 마스크와 AND 연산을 진행하는 것이다.

 

Class C라는 가정 하에 192.168.32.0 / 24 에서 / 24 는 서브넷 마스크에서 연속된 1(네트워크 ID)의 비트수를 의미한다.

그렇다면 / 25는 1이 25비트 연속되어 있다는 것이고 네트워크 ID의 비트 수는 24비트로 일정하므로

25 - 24 = 1 비트는 서브넷 ID를 표현하는 데에 사용된다.

따라서 / 25의 경우 네트워크를 (2¹ = 2)2개의 서브넷으로 나눌 수 있는 것이다.