IPv4 헤더·TTL·단편화
쉽게 말하면
IP 패킷 앞에는 송장 같은 정보(헤더)가 붙어요. 보내는 주소, 받는 주소, 그리고 '라우터를 몇 번까지 거쳐도 되는지'(TTL) 같은 값이 적혀 있어요. TTL은 라우터를 지날 때마다 1씩 줄고 0이 되면 버려져서, 길을 잃은 패킷이 영원히 돌지 않게 해요. 길이 좁은 구간(MTU)을 만나면 패킷을 쪼개 보내는데 이게 단편화예요.
시험용 정의
IPv4 헤더는 기본 20바이트(옵션 포함 최대 60바이트)로 버전, 헤더 길이, 서비스 유형, 전체 길이, 식별자·플래그·조각 오프셋(단편화), TTL, 프로토콜(상위 계층 번호), 헤더 체크섬, 출발지·목적지 IP 주소로 이루어진다. 패킷이 다음 링크의 MTU보다 크면 여러 조각으로 나누는 단편화가 일어난다.
비유로 이해하기
택배 송장이다. 보내는 곳·받는 곳 주소, 상자 무게, 내용물 종류(프로토콜), 그리고 '물류 센터를 10곳 넘게 거치면 폐기'(TTL)라는 도장이 찍혀 있다.
자세히
그림으로 보기: IPv4 헤더(옵션 없이 20바이트)
먼저 알아 둘 말
| 말 | 뜻 |
|---|---|
| 홉(hop) | 라우터 하나를 지나는 것 |
| MTU | 한 링크가 한 번에 실을 수 있는 최대 크기. 이더넷 1500바이트 |
| 단편화 / 재조립 | 큰 패킷을 조각내기 / 목적지에서 다시 합치기 |
| 프로토콜 번호 | IP 위에 실린 것이 무엇인지: 1 ICMP, 6 TCP, 17 UDP |
주요 필드
| 필드 | 뜻 |
|---|---|
| Version | 4 (IPv4) |
| IHL | 헤더 길이 (4바이트 단위, 5 = 20바이트) |
| TOS / DSCP | 서비스 품질(우선순위) 표시 |
| Total Length | 헤더 + 데이터 전체 길이 (최대 65,535) |
| Identification | 같은 원본에서 나온 조각들을 묶는 번호 |
| Flags | DF(조각내지 마시오), MF(뒤에 조각이 더 있음) |
| Fragment Offset | 조각의 원래 위치 (8바이트 단위) |
| TTL | 남은 홉 수, 라우터마다 -1 |
| Protocol | 상위 프로토콜 번호 (1 ICMP, 6 TCP, 17 UDP) |
| Header Checksum | 헤더 오류 검사 (TTL이 바뀌니 라우터마다 다시 계산) |
| Source / Destination | 출발지·목적지 IP 주소 |
단편화 규칙
- MTU보다 큰 패킷은 라우터(IPv4)에서 조각낸다. 마지막 조각을 빼고 MF = 1
- DF = 1인데 MTU를 넘으면 버리고 ICMP로 '조각내야 하는데 DF가 켜짐'을 알린다(경로 MTU 탐색에 쓴다)
- 재조립은 최종 목적지에서만 한다
- IPv6는 중간 라우터가 단편화하지 않고 출발지가 미리 맞춘다
시험에 이렇게 나와요
- 패킷을 쪼개는 기준 → MTU, MTU보다 크면 단편화
- TTL → 라우터를 지날 때마다 1씩 줄고 0이면 버림 (영원히 떠돌지 않게)
- IP 역할 → 네트워크 계층에서 패킷 전달, 비연결·비신뢰 (재전송·흐름 제어는 TCP)
- IPv4 헤더에 없는 필드 → ACK 번호 (TCP 헤더에 있음)
확인 문제
Q1. IPv4 헤더의 TTL 값은 언제 줄어들까?
- 수신자가 읽을 때
- 라우터를 하나 지날 때마다 1씩
- 스위치를 지날 때마다
- 1초마다
정답 보기
2번 라우터를 하나 지날 때마다 1씩
TTL(Time To Live)은 라우터(홉)를 지날 때마다 1씩 줄고 0이 되면 패킷을 버리며 ICMP Time Exceeded를 보낸다. 라우팅 루프에서 패킷이 무한히 도는 것을 막는다.
Q2. IPv4 헤더의 Protocol 필드 값이 6이면 실린 데이터는?
- ICMP
- UDP
- IGMP
- TCP
정답 보기
4번 TCP
1 ICMP, 2 IGMP, 6 TCP, 17 UDP.
Q3. 단편화와 관련 없는 필드는?
- Fragment Offset
- Identification
- TTL
- Flags
정답 보기
3번 TTL
TTL은 패킷 수명(남은 홉 수)이다. Identification, Flags, Fragment Offset은 조각난 패킷을 다시 맞추는 데 쓴다.
Q4. 옵션이 없는 IPv4 헤더의 크기는?
- 40바이트
- 20바이트
- 8바이트
- 60바이트
정답 보기
2번 20바이트
기본 20바이트, 최대 60바이트.
Q5. IPv4 헤더의 TTL 값은 언제 줄어드나?
- 패킷이 단편화될 때만
- 라우터를 지날 때마다 1씩
- 1초마다 1씩
- 목적지에 도착하면
정답 보기
2번 라우터를 지날 때마다 1씩
0이 되면 버려 패킷이 망을 영원히 떠돌지 않게 한다.
Q6. IPv4 헤더에 없는 필드는?
- TTL
- Protocol
- 출발지 주소
- ACK 번호
정답 보기
4번 ACK 번호
ACK 번호는 TCP 헤더에 있다.
헷갈리기 쉬운 O·X
단편화된 IPv4 패킷은 중간 라우터에서 다시 합쳐진다.
정답 보기
X 최종 목적지에서 재조립한다.
DF 플래그가 1이면 그 패킷은 조각낼 수 없다.
정답 보기
O Don't Fragment.
TTL이 0이 되면 라우터는 패킷을 버리고 ICMP 메시지를 보낸다.
정답 보기
O Time Exceeded. tracert가 이 원리를 쓴다.