내일 IP 주소 나누는 작업을 할 예정이라면, 서브넷팅(Subnetting)과 이진수 변환을 이해하고 있어야 할 거야. 특히, IPv4 주소, 서브넷 마스크, CIDR 표기법, 이진수 변환 등이 중요해.
✅ 사전 지식 (IP 주소 나누기 전에 알아야 할 개념)
1️⃣ IP 주소와 바이트 (IPv4 기준)
- IPv4 주소는 32비트(4바이트)로 구성됨.
- 각 바이트(옥텟)는 0~255 사이의 10진수로 표현됨.
- 예) 192.168.1.10
→ 4개의 옥텟(8비트씩)으로 구성됨
→ 2진수 표현: 11000000.10101000.00000001.00001010
10진수 2진수
192 | 11000000 |
168 | 10101000 |
1 | 00000001 |
10 | 00001010 |
2️⃣ 이진수 변환 (10진수 ↔ 2진수)
서브넷을 계산할 때 IP 주소를 이진수로 변환하는 과정이 필수적이야.
➤ 10진수 → 2진수 변환 (예: 192 → 11000000)
192을 2로 계속 나누면서 나머지를 기록하면 됨.
나눗셈 몫 나머지
192 ÷ 2 | 96 | 0 |
96 ÷ 2 | 48 | 0 |
48 ÷ 2 | 24 | 0 |
24 ÷ 2 | 12 | 0 |
12 ÷ 2 | 6 | 0 |
6 ÷ 2 | 3 | 0 |
3 ÷ 2 | 1 | 1 |
1 ÷ 2 | 0 | 1 |
위에서 아래로 읽으면 11000000 (192의 2진수 표현)
➤ 2진수 → 10진수 변환 (예: 11000000 → 192)
각 자리수에 2의 거듭제곱을 곱해서 더하면 됨.
1×2^7 + 1×2^6 + 0×2^5 + 0×2^4 + 0×2^3 + 0×2^2 + 0×2^1 + 0×2^0
= 128 + 64 + 0 + 0 + 0 + 0 + 0 + 0 = 192
3️⃣ 서브넷 마스크 (Subnet Mask)
- IP 주소를 네트워크와 호스트 부분으로 나누는 역할
- 일반적인 서브넷 마스크 예제:
- 255.255.255.0 → /24 (CIDR 표기법)
- 255.255.0.0 → /16
- 255.0.0.0 → /8
➤ 서브넷 마스크를 2진수로 변환
서브넷 마스크 2진수 표현 CIDR
255.255.255.0 | 11111111.11111111.11111111.00000000 | /24 |
255.255.0.0 | 11111111.11111111.00000000.00000000 | /16 |
255.0.0.0 | 11111111.00000000.00000000.00000000 | /8 |
- 1이 있는 부분이 네트워크 영역, 0이 있는 부분이 호스트 영역
- /24이면 앞 24비트(네트워크) + 뒤 8비트(호스트)
- **서브넷을 나눌 때 "네트워크 부분을 늘리고, 호스트 부분을 줄이는 방식"**으로 계산함.
4️⃣ IP 주소를 서브넷으로 나누기
예를 들어, 192.168.1.0/24 네트워크를 두 개의 서브넷으로 나누려면?
- 기본 네트워크: 192.168.1.0/24
- 2개의 서브넷으로 나누려면 1비트 추가 사용 → /25
- 192.168.1.0/25 (255.255.255.128)
- 192.168.1.128/25 (255.255.255.128)
서브넷 네트워크 주소 첫 번째 IP 마지막 IP 브로드캐스트 주소
서브넷 1 | 192.168.1.0/25 | 192.168.1.1 | 192.168.1.126 | 192.168.1.127 |
서브넷 2 | 192.168.1.128/25 | 192.168.1.129 | 192.168.1.254 | 192.168.1.255 |
🔥 결론 (내일 준비해야 할 것)
- IP 주소의 기본 개념 (IPv4 = 32비트, 4바이트)
- 이진수 변환 (10진수 ↔ 2진수)
- 서브넷 마스크와 CIDR 표기법 이해 (/24, /16, /8 등)
- IP 주소를 서브넷으로 나누는 방법 (비트 확장 개념 이해)
'네트워크' 카테고리의 다른 글
서브넷, 서브넷 마스크 (0) | 2025.02.24 |
---|---|
IP Classes, MTU, Private/Public IP (0) | 2025.02.24 |
방화벽의 작동 방식, ISP의 역할, 이더넷, 라우터, 스위치 (0) | 2025.02.21 |
Nginx란 무엇인가? (0) | 2024.06.14 |
[Network, TroubleShooting]Websocket은 무엇일까? (0) | 2024.06.14 |