(참고: Fastcampus 강의, 강민철의 인공지능 시대 필수 컴퓨터 공학 지식)
3. 네트워크 계층 (part 2)
Contents
- IP 주소
- IP 주소의 분류
- 라우팅
(4) IP 주소
a) MAC 주소 vs. IP 주소
IP 주소의 구성: (1) 네트워크 주소 + (2) 호스트 주소
- 비트 수 고정 X
MAC 주소의 구성: (1) 제조사 번호 + (2) 일련 번호
- 비트 수 고정 O ( (1) = 24 비트 + (2) = 24 비트 )
b) 클래스풀 (Classful) 주소 체계
클래스풀 주소는 IP 주소를 고정된 크기의 네트워크/호스트 비트로 구분하던 방식
클래스 | 시작 IP 범위 | 서브넷 마스크 | 호스트 수 |
---|---|---|---|
A | 0.0.0.0 ~ 127.255.255.255 | 255.0.0.0 (8비트 네트워크) | 약 1,670만 개 |
B | 128.0.0.0 ~ 191.255.255.255 | 255.255.0.0 (16비트 네트워크) | 약 6만 5천 개 |
C | 192.0.0.0 ~ 223.255.255.255 | 255.255.255.0 (24비트 네트워크) | 254개 |
예시) A 클래스
c) 고정된 주소
최소 & 최대값은 각각 특별한 의미를 가짐! 부여 불가!
$\rightarrow$ 즉, 이 중 호스트 ID가 전부 0이거나 전부 1인 경우는 특별한 의미로 쓰여서 일반 호스트에게 할당할 수 없음
호스트 ID가 전부 0 → 네트워크 주소
- 해당 네트워크 자체를 식별하는 데 사용
- 예: 192.168.1.0 (클래스 C)
호스트 ID가 전부 1 → 브로드캐스트 주소
- 그 네트워크에 속한 모든 호스트에게 패킷을 전송하는 데 사용
- 예: 192.168.1.255 (클래스 C)
요약
구분 | 의미 | 사용 가능 여부 |
---|---|---|
최소값 (all 0) | 네트워크 주소 | ❌ |
최대값 (all 1) | 브로드캐스트 주소 | ❌ |
나머지 주소 | 실제 호스트에 부여 가능 (1~254 등) | ✅ |
d) 클래스리스 (Classless) 주소 체계
- 클래스풀 주소 체계보다 더 정교히 네트워크를 나누는 방법
- 오늘날 주로 사용하는 방식
- 네트워크와 호스트를 구분하기 위해 서브넷 마스크 이용
e) 서브넷 마스크 (Subnet Mask)
IP 주소에서 네트워크 부분과 호스트 부분을 구분하는 데 사용하는 32비트 숫자
- IP 주소는 32비트 (4바이트)
- 서브넷 마스크도 32비트
- 둘은 비트 단위로 AND 연산되어, IP가 속한 네트워크 주소를 구함
Example)
-
IP 주소: 192.168.1.10
-
서브넷 마스크: 255.255.255.0 → 이진: 11111111.11111111.11111111.00000000
-
해석
-
앞의 24비트는 네트워크 주소 (192.168.1)
-
뒤의 8비트는 호스트 주소 (.10)
-
자주 사용되는 서브넷 마스크
서브넷 마스크 | CIDR 표기 | 호스트 개수 (이론상) | 설명 |
---|---|---|---|
255.0.0.0 | /8 | 약 1,670만 개 | 클래스 A (대규모 네트워크) |
255.255.0.0 | /16 | 65,534개 | 클래스 B |
255.255.255.0 | /24 | 254개 | 클래스 C |
255.255.255.192 | /26 | 62개 | 서브넷 분할 예시 |
- 호스트 개수 = $2^{호스트비트} - 2$ (네트워크 주소와 브로드캐스트 주소 제외)
동작 원리 (AND 연산)
- ex) 192.168.1.10 AND 255.255.255.0
IP: 11000000.10101000.00000001.00001010 (192.168.1.10)
Mask: 11111111.11111111.11111111.00000000 (255.255.255.0)
----------------------------------------------------------
Network: 11000000.10101000.00000001.00000000 (192.168.1.0)
→ 결과: 192.168.1.0 → 이게 이 호스트가 속한 네트워크
(5) IP 주소의 분류
a) 공인 vs. 사설 IP
- 공인 IP 주소: 인터넷 사용할 때 사용하는 고유한 주소
- 사설 IP 주소: 사설 네트워크 내에서 사용하는 고유하지 않은 주소
사설 IP 주소 대역
- 10.0.0.0/8
- 172.16.0.0/12
- 192.168.0.0/16
b) NAT (Network Address Translation)
- 사설 IP 주소 ↔ 공인 IP 주소 간의 변환을 수행하는 기술
- 효과
- 하나의 공인 IP 주소를 여러 사설 IP 주소가 공유 가능
- IP 주소 부족 문제 해결
정적 IP 주소와 동적 IP 주소
- 정적 IP 주소: 정적 할당된 IP 주소 (고정)
- 동적 IP 주소: 동적 할당된 IP 주소 (유동적)
c) DHCP (Dynamic Host Configuration Protocol)
- 동적 IP 주소를 할당하기 위한 프로토콜
- DHCP 서버에 의해 동적으로 IP 주소 할당 (== IP 주소 임대)
- 정해진 임대 시간이 끝날 경우 임대 갱신 (자동 수행, 수동 수행)
d) DHCP 동작 핵심 요약
네트워크에 접속한 장치가 자동으로 IP 주소 등 네트워크 설정을 받는 절차
-
Discover
→ 클라이언트가 브로드캐스트로 “IP 주소 줄 사람 있어요?” 요청
-
Offer
→ DHCP 서버가 “이 IP 주소 써보세요”라고 제안
-
Request
→ 클라이언트가 “그 IP 쓸게요”라고 수락 요청
-
Acknowledge
→ 서버가 “사용 승인 완료”라고 응답 → 설정 완료