Home IP 주소 체계와 Subnet, Supernet
Post
Cancel

IP 주소 체계와 Subnet, Supernet

IP 주소 체계 기초

IPv4 주소 구조

  • IPv4 주소는 32비트로 이루어져 있으며, 4개의 옥텟(Octet, 8비트씩)으로 표현됨

    1st Octet 2nd Octet 3rd Octet 4th Octet
    192 168 1 1
    0~255 0~255 0~255 0~255
  • IPv4 주소는 2개 부분으로 나뉨

    • 네트워크 부분(Network Portion)
      • 어떤 네트워크에 속하는지 식별함
    • 호스트 부분(Host Portion)
      • 그 네트워크 내에서 어떤 기기인지 식별함

Subnet Mask의 역할

  • Subnet Mask는 IPv4 주소에서 네트워크 부분과 호스트 부분을 구분하는 32비트 숫자
  • Subnet Mask는 이진법으로 다음과 같은 패턴을 가짐
    • 1로 표현된 비트
      • 네트워크 부분
    • 0으로 표현된 비트
      • 호스트 부분
    • 중요
      • 1이 먼저 나타나고 0이 그 뒤를 따르는 연속된 구조여야 함
  • ex)
    • 255.255.255.0

      | 구분 | 1st Octet | 2nd Octet | 3rd Octet | 4th Octet | | :— | :—: | :—: | :—: | :—: | | Decimal | 255 | 255 | 255 | 0 | | Binary | 11111111 | 11111111 | 11111111 | 00000000 | | Role | Net (24bit) | Net | Net | Host (8bit) |

      • 이 Subnet Mask를 사용하면
        • IP 192.168.1.1과 192.168.1.100은 같은 네트워크 (처음 24비트가 같음)
        • IP 192.168.1.1과 192.168.2.1은 다른 네트워크 (24번째 비트가 다름)

Binary AND 연산으로 네트워크 주소 계산

  • 네트워크 주소는 IP 주소와 Subnet Mask를 AND 연산으로 계산함

    구분 Binary Address Decimal Address
    IP Address 11000000.10101000.00000001.00000001 192.168.1.1
    Subnet Mask 11111111.11111111.11111111.00000000 255.255.255.0
    AND Result 11000000.10101000.00000001.00000000 192.168.1.0



IP 주소 클래스

Classful과 Classless

  • Classful
    • Network ID가 고정되어 있음
    • 따로 알려주지 않아도 어디까지가 Net ID인지 인식 가능함
    • ex)
      • 02-123-4567 (지역번호 02가 고정된 것과 유사)
  • Classless
    • Network ID가 유동적임 (관리 효율성 증대)
    • 따로 알려주지 않으면 어디까지가 Net ID인지 인식 불가능함
    • Net Mask / Wildcard Mask / Prefix로 구분 필요함

Class별 IP 주소

Class Net ID 범위 Bit 사용 규모 사용 용도 Net mask
A Class 0 ~ 127 128bit 대규모 network 국가 255.0.0.0
B Class 128 ~ 191 64bit 중소규모 network 공공기관 255.255.0.0
C Class 192 ~ 223 32bit 일반 network 통신사 255.255.255.0
D Class 224 ~ 239 16bit Multicast network 장비 -
E Class 240 ~ 255 16bit 연구/특수 목적 예약됨 -
  • 주의 사항
    • 127.0.0.0/8
      • Loopback Address (localhost)로 예약됨
    • 0.0.0.0/8
      • 자체 네트워크 식별용으로 호스트 할당 제외
    • 255.255.255.255
      • Limited Broadcast 주소
  • 네트워크(Net ID)가 일치해야 통신 가능함

  • Net ID
    • 상위 네트워크에서 지정된 값 (사용자 변경 불가)
  • Host ID
    • 하위 네트워크에서 지정된 값 (사용자 변경 가능)



공인 IP와 사설 IP

공인 IP (Public IP)

  • Internet 상에서 사용하는 IP임
  • 전 세계적으로 유일한 IP여야 함

사설 IP (Private IP)

  • ISP(Internet Service Provider) 업체를 통해서 제공 받음
  • 내부 네트워크에서만 식별되는 IP임
  • 같은 사설 IP가 여러 네트워크에 존재할 수 있음
  • NAT(Network Address Translation)를 통해 사설 IP를 공인 IP 주소로 변환해 인터넷에 접속함

  • 공유기나 내부 네트워크를 사용해 인터넷에 접속할 경우 사설 IP라고 하는 특정 주소 범위가 내부적으로 사용되고 외부는 공인 IP로 보여짐
  • 주요 사설 IP 대역
    • 10.0.0.0 ~ 10.255.255.255
    • 172.16.0.0 ~ 172.31.255.255
    • 192.168.0.0 ~ 192.168.255.255



통신 발송 방식

BroadCast

  • NetWork 상 불특정 다수에게 통신 발송함
  • IPv4에서만 사용됨
  • ex)
    • 라디오, TV

Multicast

  • NetWork 상 특정 다수(그룹)에게 통신 발송함
  • ex)
    • 사내 방송, 특정 그룹 채팅

UniCast

  • 1 : 1 통신 발송 방식임
  • ex)
    • 전화 통화

AnyCast

  • 가장 가까운 곳에 있는 불특정 다수에게 랜덤(혹은 최적 경로)으로 통신 발송함
  • IPv6에서 주로 사용됨 (IPv4도 제한적 사용)
  • ex)
    • CDN 접속



CIDR 표기법

CIDR란

  • CIDR(Classless Inter-Domain Routing)은 IP 주소 뒤에 슬래시(/)와 함께 네트워크 비트 수를 표기하는 방식임

    • 192.168.1.0/24
    • /24
      • 처음 24비트가 네트워크 부분
    • 남은 8비트가 호스트 부분

CIDR 계산 방법

  • CIDR 숫자는 Subnet Mask의 이진 표현에서 1의 개수

    Subnet Mask 1의 개수 CIDR
    255.255.255.0 1111... (24개) /24
    255.255.255.192 1111... (26개) /26

주요 CIDR 표기와 사용 가능 주소

  • 사용 가능 주소 계산 공식
    • 공식
      • 2^n - 2 (n = 호스트 비트 수)
    • -2를 하는 이유
      • Network ID (첫 번째 주소)
        • 네트워크 자체를 식별하는 주소
      • Broadcast Address (마지막 주소)
        • 해당 네트워크의 모든 호스트에게 전송하는 주소
CIDR Subnet Mask 총 주소 사용 가능 주소 용도
/32 255.255.255.255 1 1 특정 호스트
/30 255.255.255.252 4 2 라우터 간 링크
/26 255.255.255.192 64 62 소규모 네트워크
/24 255.255.255.0 256 254 일반적인 회사망
/22 255.255.252.0 1024 1022 대규모 네트워크
/16 255.255.0.0 65,536 65,534 대규모 조직
/8 255.0.0.0 16,777,216 16,777,214 클래스 A



Subnet (서브넷)

Subnetting이란

  • Subnetting은 하나의 큰 네트워크를 여러 개의 작은 네트워크(서브넷)로 나누는 과정임

Subnetting의 목적

  • 주소 공간 효율화
    • 필요한 만큼만 주소 할당함
  • 네트워크 보안
    • 네트워크를 논리적으로 분리하여 보안을 강화함
  • 라우팅 최적화
    • 더 작은 라우팅 테이블로 효율성을 향상시킴
  • 대역폭 관리
    • 각 서브넷을 독립적으로 관리함

Subnetting 및 VLSM 예시

  • 네트워크 192.168.1.0/24를 4개의 서브넷으로 나누기
  • VLSM (Variable Length Subnet Mask)
    • 하나의 네트워크 영역을 서로 다른 크기로 Subnetting하는 기법임
  • 원래 상황
    • 네트워크
      • 192.168.1.0/24
    • 호스트 비트
      • 8비트 (256개 주소)
  • 4개의 서브넷을 만들려면 호스트 부분에서 2비트를 빌려야 함 (2²=4)

    • 새로운 Subnet Mask: /26 (255.255.255.192)
    • 각 서브넷: 64개 주소 (사용 가능 62개)
    구분 Network Address Range
    Subnet 1 192.168.1.0/26 192.168.1.0 ~ 1.63
    Subnet 2 192.168.1.64/26 192.168.1.64 ~ 1.127
    Subnet 3 192.168.1.128/26 192.168.1.128 ~ 1.191
    Subnet 4 192.168.1.192/26 192.168.1.192 ~ 1.255

    image

  • ex)
    • 회사 네트워크 설계
    • 회사에 50명의 직원이 있고 192.168.0.0/24를 할당받은 경우
      • 요구사항
        • 최소 50개의 사용 가능 주소 필요
      • 선택
        • /26 (62개 사용 가능)으로 4개 부서 분리
        • IT 부서
          • 192.168.0.0/26
        • 영업 부서
          • 192.168.0.64/26
        • 개발 부서
          • 192.168.0.128/26
        • 관리 부서
          • 192.168.0.192/26



Supernet (슈퍼넷)

Supernetting이란

  • Supernetting(라우트 집계, Route Aggregation)은 여러 개의 인접한 작은 네트워크들을 하나의 큰 네트워크로 합치는 과정임
  • 즉, Subnetting의 반대 개념

Supernetting의 목적

  • 라우팅 테이블 최적화
    • 개별 라우트를 하나로 합쳐 라우팅 테이블 크기를 줄임
  • 예를 들어 라우터가 4개의 네트워크로의 경로를 알고 있다면 image
    • 개별 라우트
      • Route 1
        • 192.168.0.0/26 → Interface A
      • Route 2
        • 192.168.0.64/26 → Interface A
      • Route 3
        • 192.168.0.128/26 → Interface A
      • Route 4
        • 192.168.0.192/26 → Interface A
    • Supernet 집계
      • 192.168.0.0/24 → Interface A (하나로 집계)

라우팅 테이블 감소 효과

  • 메모리 절약
    • 라우팅 테이블 크기 감소
  • CPU 활용
    • 라우트 검색 및 처리 속도 향상
  • 네트워크 대역폭
    • 라우팅 업데이트 트래픽 감소

Supernetting 예시

  • ISP가 다음 4개 네트워크를 관리하는 경우
    1
    2
    3
    4
    
    192.168.0.0/26
    192.168.0.64/26
    192.168.0.128/26
    192.168.0.192/26
    
    • 모두 같은 인터페이스 향할 때
      • 최상위 Route
        • 192.168.0.0/24 로 집계
  • 이렇게 하면 다른 라우터는 4개의 라우트 대신 1개의 슈퍼넷 라우트만 학습하면 됨



Subnet과 Supernet 비교

구분 Subnet Supernet
작업 큰 네트워크 → 작은 네트워크 작은 네트워크 → 큰 네트워크
목적 주소 공간 효율화, 보안 라우팅 테이블 최적화
CIDR 숫자 증가 (ex) /24→/26) 숫자 감소 (ex) /26→/24)
사용 시기 내부 네트워크 설계 ISP, 백본 라우팅
범위 하나의 조직 내부 전체 인터넷 라우팅



실제 적용 사례

데이터센터 네트워크 설계

  • 10.0.0.0/16 범위를 할당받은 경우 내부는 각 서브넷으로 표현
    1
    2
    3
    4
    
    웹 서버: 10.0.1.0/24
    데이터베이스: 10.0.2.0/24
    캐시 서버: 10.0.3.0/24
    관리 네트워크: 10.0.4.0/24
    
    • 외부에는 하나의 슈퍼넷으로 표현
      1
      
      데이터 센터: 10.0.0.0/16
      

      AWS/GCP에서의 적용

  • 클라우드 제공자들이 Subnetting을 사용함 | Zone | Subnet | CIDR | | :— | :— | :— | | VPC | Main Config | 10.0.0.0/16 | | Public | Subnet 1 | 10.0.1.0/24 | | Public | Subnet 2 | 10.0.2.0/24 | | Private | Subnet 1 | 10.0.10.0/24 | | Private | Subnet 2 | 10.0.11.0/24 |

image

  • 각 서브넷에 다른 보안 정책(Security Group, NACL)과 라우팅 규칙을 적용함



정리

  • IP 주소
    • 32비트로 네트워크와 호스트 부분으로 구성됨
  • Subnet Mask/CIDR
    • 어디까지가 네트워크이고 어디부터가 호스트인지 정의함
  • Subnetting
    • 효율적인 주소 할당과 보안을 위해 큰 네트워크를 작게 분할함
  • Supernetting
    • 라우팅 효율성을 위해 작은 네트워크들을 크게 집계함



Reference

Contents

Network 기초 및 OSI 7 Layer

Google Cloud SDK 설치 및 gcloud, gsutil 사용법