🌍 네트워크 계층(Network Layer) - IP(Internet Protocol)
네트워크 계층(Network Layer, 3계층)은 데이터를 목적지까지 올바른 경로(Routing)를 통해 전달하는 역할을 한다.
이 계층에서 가장 중요한 프로토콜이 바로 IP(Internet Protocol)이다.
1️⃣ 네트워크 계층의 역할
네트워크 계층의 핵심 역할은 크게 두 가지다.
✅ 1. 논리적 주소 지정 (Logical Addressing)
• 각 장치에 고유한 주소(IP 주소)를 할당하여 통신할 수 있도록 함.
• 물리적인 위치(예: MAC 주소)와 달리, IP 주소는 네트워크 상황에 따라 변경 가능.
• 패킷을 목적지까지 정확하게 전달하는 역할.
✅ 2. 라우팅(Routing)
• 패킷이 출발지에서 목적지까지 가는 최적의 경로를 찾음.
• 라우터(Router)가 경로를 결정하고 패킷을 전달함.
2️⃣ IP (Internet Protocol)
IP는 인터넷에서 장치 간 데이터를 전달하는 핵심 프로토콜이다.
✅ IP의 주요 기능
• 데이터를 패킷(Packet) 단위로 나누어 전송.
• 목적지의 IP 주소를 보고 최적의 경로를 찾아 이동.
• 장치 간 논리적 주소 할당(IP 주소)을 담당.
✅ IP의 특징
• 비연결형(Connectionless) → 데이터가 목적지에 도착할지 보장하지 않음.
• 신뢰성 없음(Unreliable) → 패킷이 중간에 유실될 수도 있음.
• 최선형 전달(Best-effort Delivery) → 오류 검출이나 재전송 기능이 없음.
(💡 신뢰성 있는 데이터 전송을 위해 TCP(전송 계층)과 함께 사용됨!)
3️⃣ IP 주소 (IP Address)
IP 주소는 네트워크에서 장치를 식별하는 고유한 주소다.
현재 사용되는 IP 주소 체계는 IPv4와 IPv6 두 가지가 있음.
✅ IPv4 (Internet Protocol version 4)
• 32비트 주소 체계 (예: 192.168.1.1)
• 약 43억 개의 주소 제공 (부족 문제 발생)
• 10진수 점(.)으로 구분된 4개 옥텟(Octet)
• 예: 192.168.0.1
IPv4 주소 체계 (A~E 클래스)
클래스 | 시작 주소 범위 | 사용 예 |
---|---|---|
A | 1.0.0.0 ~ 126.255.255.255 | 대형 네트워크 (기업, 기관) |
B | 128.0.0.0 ~ 191.255.255.255 | 중간 규모 네트워크 |
C | 192.0.0.0 ~ 223.255.255.255 | 소규모 네트워크 (일반 가정, 회사) |
D | 224.0.0.0 ~ 239.255.255.255 | 멀티캐스트 (특정 그룹 전송) |
E | 240.0.0.0 ~ 255.255.255.255 | 실험용 (미사용) |
✅ IPv6 (Internet Protocol version 6)
• 128비트 주소 체계 (예: 2001:db8::ff00:42:8329)
• 주소 공간이 무한에 가깝게 많음
• 16진수(:)로 구분된 8개 그룹
• 예: 2001:0db8:85a3:0000:0000:8a2e:0370:7334
💡 IPv4 주소 부족 문제를 해결하기 위해 등장했으며, 현재 점점 IPv6로 전환 중.
4️⃣ 공인 IP vs 사설 IP
IP 주소는 크게 공인 IP와 사설 IP로 나뉜다.
✅ 공인 IP (Public IP)
• 인터넷에 직접 연결되는 IP 주소.
• 전 세계에서 유일하게 배정됨.
• ISP(인터넷 서비스 제공 업체)에서 제공.
✅ 사설 IP (Private IP)
• 내부 네트워크에서만 사용되는 IP 주소.
• 인터넷과 직접 연결되지 않으며 NAT(Network Address Translation)를 통해 공인 IP로 변환.
• IPv4에서 주소 부족 문제를 해결하기 위해 사용됨.
사설 IP 주소 범위:
클래스 | 주소 범위 |
---|---|
A | 10.0.0.0 ~ 10.255.255.255 |
B | 172.16.0.0 ~ 172.31.255.255 |
C | 192.168.0.0 ~ 192.168.255.255 |
(💡 우리가 Wi-Fi에 연결된 기기들은 일반적으로 사설 IP를 사용함.)
5️⃣ IP 패킷 구조
IP는 데이터를 패킷(Packet) 단위로 나누어 전송한다.
IP 패킷은 크게 헤더(Header)와 페이로드(Payload)로 구성된다.
✅ IP 패킷의 구조
필드 | 설명 |
---|---|
버전(Version) | IPv4(4) 또는 IPv6(6) |
헤더 길이(Header Length) | 헤더 크기 |
서비스 유형(Type of Service) | 패킷 우선순위 |
전체 길이(Total Length) | 전체 패킷 크기 |
식별자(Identification) | 패킷을 구별하는 ID |
플래그(Flags) | 패킷 분할 여부 |
TTL(Time To Live) | 패킷이 이동할 수 있는 최대 홉(Hop) 수 |
프로토콜(Protocol) | 상위 계층 프로토콜 (TCP, UDP 등) |
헤더 체크섬(Header Checksum) | 오류 검출 |
출발지 IP(Source IP Address) | 송신자의 IP 주소 |
목적지 IP(Destination IP Address) | 수신자의 IP 주소 |
데이터(Payload) | 실제 데이터 |
(💡 TTL(Time To Live): 패킷이 네트워크를 몇 번 통과할 수 있는지 제한하는 값. 0이 되면 폐기됨.)
6️⃣ IP와 함께 사용하는 프로토콜
IP는 혼자서는 신뢰성 있는 통신을 보장하지 않기 때문에, 다음 프로토콜들과 함께 사용된다.
프로토콜 | 역할 |
---|---|
ICMP (Internet Control Message Protocol) | 네트워크 오류 메시지 전달 (예: ping 명령어) |
ARP (Address Resolution Protocol) | IP 주소 ↔ MAC 주소 변환 |
RARP (Reverse ARP) | MAC 주소 → IP 주소 변환 |
NAT (Network Address Translation) | 사설 IP ↔ 공인 IP 변환 |
DHCP (Dynamic Host Configuration Protocol) | 동적으로 IP 주소 할당 |
💡 정리
✅ 네트워크 계층은 데이터가 최적의 경로로 목적지까지 도달하도록 관리
✅ IP(Internet Protocol)은 네트워크에서 데이터를 패킷으로 분할해 전달하는 핵심 프로토콜
✅ IPv4(32비트) vs IPv6(128비트) → IPv6는 주소 부족 문제 해결
✅ 공인 IP vs 사설 IP → 사설 IP는 NAT를 통해 인터넷 연결
✅ IP 패킷 구조 → TTL, 출발지 IP, 목적지 IP 등의 정보 포함
✅ ICMP, ARP, NAT, DHCP 같은 보조 프로토콜과 함께 사용됨