[Network] 서브네팅

목차

  1. IP address
  2. subnet mask
  3. subnetting
  4. 예시



IP address

각 IP 주소는 32비트 길이를 가집니다. 이 주소는 각 바이트를 십진수로 표현하고 주소의 다른 바이트와 점으로 구분하는 dotted-decimal notation을 사용합니다. 예를 들어, IP 주소가 193.32.216.9일 때를 이진수로 나타내봅시다.

193 32 216 8
11000001 00100000 11011000 00001001

subnet mask

IP 주소체계는 193.32.216.8/24라는 주소를 할당할 수 있는데, 여기서 /24는 서브넷 마스크(subnet mask)라 부르고 주소의 왼쪽 24비트가 서브넷 주소임을 가리킵니다. 서브넷 마스크는 IP를 Network prefix와 Host id로 분리(subnetting)하거나 합체(supernetting)합니다.
예를 들어 a.b.c.d/21의 경우, 첫 21비트는 한 기관의 모든 장비의 공통 IP 주소라 가정하면 외부 기관의 라우터는 network prefix만을 고려하여 패킷을 전송하고, 나머지 11비트는 기관 내부의 라우터에서 호스트를 특정하여 패킷을 전송합니다.

subnetting

이미 결정된 network prefix 부분을 제외한 host id를 필요에 따라 나눌 수 있습니다. 만약 학교에서 8개 반의 학생들에게 IP를 할당한다고 생각해봅시다. 위의 193.32.216.8/24 에서 3개의 비트를 빌려올 수 있습니다. 그렇다면 network prefix는 193.32.216.0/27, 193.32.216.32/27, … 193.32.216.224/27가 되고 각 네트워크마다 host id를 할당할 수 있습니다.

예시

  193 32 216 8
IP 11000001 00100000 11011000 00001001
subnet mask 11111111 11111111 11111111 00000000
network prefix 11000001 00100000 11011000 00000000
Host 00000000 00000000 00000000 00001001
  • subnet mask는 왼쪽부터 1이 연속으로 존재합니다.
  • network prefix는 subnet mask와 & 연산합니다.
  • subnetting하면 아래 network로 나눌 수 있습니다.


network  
193.32.216.0/27 11000001 00100000 11011000 00000000
193.32.216.32/27 11000001 00100000 11011000 00100000
193.32.216.64/27 11000001 00100000 11011000 01000000
193.32.216.96/27 11000001 00100000 11011000 01100000
193.32.216.128/27 11000001 00100000 11011000 10000000
193.32.216.160/27 11000001 00100000 11011000 10100000
193.32.216.192/27 11000001 00100000 11011000 11000000
193.32.216.224/27 11000001 00100000 11011000 11100000
  • 예를 들어 193.32.216.0/27 네트워크 prefix를 가지는 ip는 host를 00001 ~ 11110을 가질 수 있습니다.
  • host 00000은 자기 자신, 11111은 broadcast를 의미하므로 할당할 수 없습니다.



출처

  1. 부분망 위키 백과
  2. 서브네팅 관련 블로그 포스팅
  3. 컴퓨터 네트워킹 하향식 접근