들어가기 전에
인터넷 상에서 데이터를 주고받기 위해서는 발신지에서 목적지까지 전달되는 구조가 필요합니다.
IP(Internet Protocol) 계층은 네트워크 간 라우팅을 통해 데이터 패킷을 목적지로 전달하는 역할을 담당합니다.
IP는 "최적의 경로"를 찾아가며, 중간에 여러 라우터를 거칠 수 있습니다.
이 과정에서 패킷은 단편화(Fragmentation) 되기도 하며, TTL(Time to Live) 값에 따라 수명이 조절됩니다.
IP 패킷은 인터넷을 통해 데이터를 전달하기 위한 네트워크 계층의 기본 단위입니다.
패킷에는 발신지 IP 주소, 목적지 IP 주소, 데이터가 포함되며, 이 정보들을 바탕으로 목적지까지 전달됩니다.
| 필드 | 설명 |
|---|---|
| Version | IPv4(4) 또는 IPv6(6)을 나타냄 |
| Header Length | IP 헤더의 길이 (IPv4: 20~60 bytes) |
| Total Length | IP 헤더 + 데이터의 전체 길이 |
| Identification | 패킷 단편화 시 순서를 식별 |
| Flags | 단편화 여부 설정 |
| Fragment Offset | 단편화된 패킷의 순서 |
| Time to Live (TTL) | 패킷 생존 시간. 1씩 감소하다 0이 되면 폐기 |
| Protocol | 상위 계층 프로토콜 (TCP: 6, UDP: 17) |
| Header Checksum | 오류 검사 |
| Source IP | 발신지 IP 주소 |
| Destination IP | 목적지 IP 주소 |
IP 패킷은 출발지에서 목적지까지 다음과 같은 경로를 거쳐 전달됩니다.
IP Packet → Ethernet Frame → Switch → Gateway Router
ARP를 통해 라우터의 MAC 주소를 알아내고 프레임 전송을 시작합니다.
[Switch]
- 목적지 MAC이 라우터의 MAC인지 확인
- 맞으면 해당 포트로 전달
[Router]
- 목적지 IP를 기준으로 최적 경로 탐색
- 다음 라우터로 전달
TTL이 0이 되면 "ICMP Time Exceeded" 메시지를 송신자에게 반환합니다.
Router A → Router B → Router C → 목적지
Ethernet Frame → IP Packet → TCP Segment → Application Data
| 질문 | 핵심 설명 |
|---|---|
| IP 패킷이란? | 네트워크 상에서 전송되는 기본 단위. IP 주소를 기반으로 전달 |
| IP Header의 TTL은 왜 필요한가? | 무한 루프 방지. 매 홉마다 1씩 감소하다 0이 되면 폐기 |
| IP 패킷은 라우터를 어떻게 통과하나? | 라우터는 목적지 IP를 읽어 라우팅 테이블 기반으로 다음 홉으로 전달 |
| Ping과 Traceroute의 차이는? | Ping은 목적지 확인, Traceroute는 중간 경로 확인 |
| 라우터가 하는 일은? | IP 주소 기반 경로 탐색, 다음 홉으로 전달, TTL 감소 |