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)
- 그 네트워크 내에서 어떤 기기인지 식별함
- 네트워크 부분(Network Portion)
Subnet Mask의 역할
- Subnet Mask는 IPv4 주소에서 네트워크 부분과 호스트 부분을 구분하는 32비트 숫자임
- Subnet Mask는 이진법으로 다음과 같은 패턴을 가짐
- 1로 표현된 비트
- 네트워크 부분
- 0으로 표현된 비트
- 호스트 부분
- 중요
- 1이 먼저 나타나고 0이 그 뒤를 따르는 연속된 구조여야 함
- 1로 표현된 비트
- 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번째 비트가 다름)
- 이 Subnet Mask를 사용하면
-
Binary AND 연산으로 네트워크 주소 계산
-
네트워크 주소는 IP 주소와 Subnet Mask를 AND 연산으로 계산함
구분 Binary Address Decimal Address IP Address 11000000.10101000.00000001.00000001192.168.1.1 Subnet Mask 11111111.11111111.11111111.00000000255.255.255.0 AND Result 11000000.10101000.00000001.00000000192.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 주소
- 127.0.0.0/8
-
네트워크(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.255172.16.0.0 ~ 172.31.255.255192.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 (마지막 주소)
- 해당 네트워크의 모든 호스트에게 전송하는 주소
- Network ID (첫 번째 주소)
- 공식
| 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/26192.168.1.0 ~ 1.63 Subnet 2 192.168.1.64/26192.168.1.64 ~ 1.127 Subnet 3 192.168.1.128/26192.168.1.128 ~ 1.191 Subnet 4 192.168.1.192/26192.168.1.192 ~ 1.255 
- 새로운 Subnet Mask:
- 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개의 네트워크로의 경로를 알고 있다면
- 개별 라우트
- 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
- Route 1
- 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로 집계
- 최상위 Route
- 모두 같은 인터페이스 향할 때
- 이렇게 하면 다른 라우터는 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
- 클라우드 제공자들이 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|

- 각 서브넷에 다른 보안 정책(Security Group, NACL)과 라우팅 규칙을 적용함
정리
- IP 주소
- 32비트로 네트워크와 호스트 부분으로 구성됨
- Subnet Mask/CIDR
- 어디까지가 네트워크이고 어디부터가 호스트인지 정의함
- Subnetting
- 효율적인 주소 할당과 보안을 위해 큰 네트워크를 작게 분할함
- Supernetting
- 라우팅 효율성을 위해 작은 네트워크들을 크게 집계함