정의
IP 단편화(IP fragmentation)란 네트워크 계층에서 전송되는 IP 패킷이 경로상의 어느 구간에서 허용되는 최대 전송 단위(Maximum Transmission Unit, MTU)보다 클 경우, 해당 패킷을 여러 개의 작은 조각(fragment)으로 나누어 전송하는 과정을 의미한다. 각 조각은 독립적인 IP 헤더를 포함하고, 수신 측에서는 이 조각들을 재조합하여 원래의 데이터그램을 복원한다.
동작 원리 (IPv4)
-
패킷 크기 초과 감지
- 송신 호스트가 목적지까지 전송하려는 IP 패킷의 전체 길이가 중간 라우터의 출력 인터페이스 MTU보다 크면, 라우터는 패킷을 단편화한다.
-
조각 생성
- 첫 번째 조각은 원본 헤더를 복사한 뒤, 총 길이(total length)와 오프셋(offset) 필드를 수정한다.
- 각 조각의 데이터 부분은 8바이트(64비트) 배수로 맞춰야 하며, 마지막 조각을 제외하고는 ‘More Fragments(MF)’ 플래그를 1로 설정한다.
- 조각마다 식별자(identifier) 필드는 원본 패킷과 동일하게 유지된다.
-
전송
- 조각들은 개별적으로 라우팅되며, 경로상의 다른 라우터에서도 추가 단편화가 발생할 수 있다(예: 더 작은 MTU를 가진 링크를 통과할 경우).
-
재조합
- 수신 호스트는 동일한 식별자를 가진 조각들을 모아 오프셋과 MF 플래그를 기준으로 원래의 패킷을 복원한다.
- 재조합은 목적지 호스트에서 수행되며, 라우터는 일반적으로 조각을 재조합하지 않는다.
IPv6와의 차이
- IPv6에서는 라우터가 패킷을 단편화하지 않는다. 송신 호스트가 경로 MTU(Path MTU)를 사전에 파악하고, 필요한 경우 패킷을 직접 단편화하거나 전송을 중단한다(패킷이 너무 클 경우 ICMPv6 Packet Too Big 메시지를 반환).
주요 이슈
- 성능 저하: 단편화와 재조합 과정은 라우터와 수신 호스트의 처리 부하를 증가시킨다.
- 패킷 손실 위험: 조각 중 하나라도 손실되면 전체 패킷을 재조합할 수 없어 전송 실패가 발생한다.
- 보안 취약점: 단편화된 패킷을 이용한 프라그머틱 프라임(s)와 같은 공격이 존재한다. 방화벽 및 IDS는 조각을 적절히 검사해야 한다.
- MTU 관리: Path MTU Discovery(PMTUD)와 같은 메커니즘을 활용해 불필요한 단편화를 방지한다.
관련 표준
- IPv4: RFC 791 (Internet Protocol)
- IPv4 단편화 상세: RFC 815, RFC 1191 (Path MTU Discovery)
- IPv6: RFC 8200 (Internet Protocol, Version 6)
요약
IP 단편화는 네트워크 전송 과정에서 MTU 제한을 초과하는 패킷을 다수의 작은 조각으로 나누어 전송하고, 수신 측에서 이를 재조합함으로써 데이터 전송을 보장하는 메커니즘이다. IPv4에서 적용되며, IPv6에서는 송신 측에서만 수행되는 설계 차이가 있다. 단편화는 성능, 신뢰성, 보안 측면에서 다양한 영향을 미치므로 네트워크 설계 시 MTU 관리와 Path MTU Discovery와 같은 보완 메커니즘을 고려하는 것이 중요하다.