IP 단편화
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
IP 단편화는 IP 패킷이 전송될 때, 다음 홉의 최대 전송 단위(MTU)보다 큰 경우 작은 조각으로 나누어 전송하는 과정을 의미한다. 이 과정은 IP 헤더의 식별자, 주소, 프로토콜 ID, 단편 오프셋 및 플래그 필드를 사용하여 관리된다. IPv4와 IPv6는 단편화 방식에 차이가 있으며, IPv4에서는 라우터가 단편화를 수행할 수 있지만 IPv6에서는 송신 호스트만 가능하다. IP 단편화는 패킷 손실 시 재전송을 유발하고 보안 문제를 야기할 수 있어, 경로 MTU 검색을 통해 단편화를 최소화하는 것이 권장된다.
더 읽어볼만한 페이지
- 인터넷 프로토콜 - IPTV
IPTV는 인터넷 프로토콜을 사용하여 실시간 방송, VOD 등 다양한 콘텐츠를 제공하는 텔레비전 서비스이며, 고속통신망과의 통합, 양방향 서비스 등의 장점을 가지지만 망 사업자 제한 등의 제한 사항도 존재한다. - 인터넷 프로토콜 - DNSSEC
DNSSEC는 DNS의 보안 취약점을 개선하기 위해 도메인 정보에 디지털 서명을 추가하여 응답 레코드의 무결성을 보장하고 DNS 위장 공격을 막는 기술로, RRSIG, DNSKEY 등 다양한 리소스 레코드 유형을 사용하여 인증 체인을 구성하며 공개 키 암호 방식을 활용한다.
IP 단편화 | |
---|---|
일반 정보 | |
이름 | IP 단편화 |
영어 이름 | IP fragmentation |
일본어 이름 | IPフラグメンテーション |
설명 | IP 패킷을 더 작은 조각으로 나누는 과정 |
기능 | |
목적 | 네트워크를 통해 전송하기 위해 IP 데이터그램을 더 작은 패킷으로 분할 |
필요 이유 | 네트워크의 최대 전송 단위 (MTU) 제한을 초과하는 패킷 전송 다양한 네트워크 기술 및 MTU 크기 지원 |
방식 | |
단편화 수행 위치 | 송신 호스트 중간 라우터 |
재조립 위치 | 수신 호스트 |
필드 | 식별자 (Identification): 단편화된 데이터그램을 식별 플래그 (Flags): 단편화 관련 제어 정보 (More Fragments, Don't Fragment) 단편 오프셋 (Fragment Offset): 원래 데이터그램에서 단편의 위치 |
프로토콜 | |
대상 프로토콜 | IPv4 IPv6 |
IPv4 | 송신 호스트와 라우터 모두 단편화 가능 |
IPv6 | 송신 호스트만 단편화 가능 (경로 MTU 발견 사용 권장) |
문제점 | |
성능 저하 | 단편화 및 재조립 과정에서 오버헤드 발생 패킷 손실 시 전체 데이터그램 재전송 필요 |
보안 문제 | 단편화된 패킷을 이용한 공격 가능 (Teardrop 공격) 방화벽 및 침입 탐지 시스템 우회 가능성 |
해결책 | |
경로 MTU 발견 (Path MTU Discovery) | 송신 호스트가 경로 상의 최소 MTU를 파악하여 단편화 회피 ICMP 메시지를 이용하여 MTU 정보 교환 |
TCP MSS 클램핑 (TCP MSS Clamping) | TCP 연결 시 MSS (Maximum Segment Size) 값을 조정하여 IP 단편화 방지 |
2. IP 단편화 및 재조립 과정
IP 단편화 및 재조립 절차는 791 및 815에 명시되어 있다.[1][2] IP 데이터그램의 단편화와 재구성은 IP 헤더의 식별자 필드와 플래그(단편화 금지, 추가 단편) 및 단편 오프셋 필드를 이용한다.
송신 측에서는 단편화를 최대한 방지하기 위해 다음과 같은 방법을 사용한다.
- 첫 번째 홉의 MTU를 IP 데이터그램의 크기로 사용한다.
- 경로 MTU 탐색 알고리즘을 사용한다.[12]
2. 1. 단편화 과정
IP 헤더의 ''식별자(Identification)'' 필드, ''외부'' 및 ''내부 인터넷 주소'', ''프로토콜 ID''와 ''단편(Fragment)'' 오프셋 필드, 그리고 ''단편화 금지(Don't Fragment)'' 및 ''추가 단편(More Fragments)'' 플래그는 IP 패킷의 단편화 및 재조립에 사용된다.[1] 791는 IP 단편화 절차, IP 패킷의 전송 및 재조립에 대해 설명한다.[1]IPv4에서 라우터가 다음 홉의 MTU보다 큰 PDU를 수신하면, 다음 두 가지 방법 중 하나를 선택할 수 있다.
- PDU를 폐기하고 ''Packet too Big''(패킷이 너무 큼) 조건을 설정한 ICMP 메시지를 송신 측에 반환한다.
- IP 패킷을 단편화하여 MTU가 작은 링크로 전송한다.
IPv6에서는 경로 중간의 라우터가 단편화를 수행할 수 없으며, 송신 측에서 단편화를 수행해야 한다. IPv6에서는 1280바이트 이하의 패킷은 단편화 없이 전송 가능함을 보장한다.
수신 호스트가 단편화된 IP 패킷을 수신하면, 패킷을 재조립하여 상위 프로토콜 계층으로 전달해야 한다. 재조립은 수신 호스트에서 수행되도록 설계되었지만, 실제로는 중간 라우터에서 수행될 수 있다. 예를 들어, 네트워크 주소 변환(NAT)은 데이터 스트림을 변환하기 위해 단편을 재조립해야 할 수도 있다.[3]
단편화된 패킷이 손실되고, 상위 프로토콜이 TCP와 같은 고신뢰 프로토콜인 경우, 단편의 일부가 손실되었을 뿐인데 데이터그램 전체의 재전송을 요구하므로, 재전송 오버헤드가 커진다.[11] 이를 방지하기 위해 경로 MTU 탐색 알고리즘을 사용하기도 한다.[12]
2. 2. 재조립 과정
는 IP 단편화 절차와 IP 패킷의 전송 및 재조립에 대해 설명한다.[1] IP 헤더의 ''식별자(Identification)'' 필드, ''외부'' 및 ''내부 인터넷 주소'', ''프로토콜 ID'', ''단편(Fragment)'' 오프셋 필드, ''단편화 금지(Don't Fragment)'' 및 ''추가 단편(More Fragments)'' 플래그는 IP 패킷의 단편화 및 재조립에 사용된다.[1]수신 호스트가 단편화된 IP 패킷을 수신하면, 패킷을 재조립하여 상위 프로토콜 계층으로 전달해야 한다. 재조립은 수신 호스트에서 수행되도록 설계되었지만, 실제로는 중간 라우터에서 수행될 수 있다. 예를 들어, 네트워크 주소 변환(NAT)은 데이터 스트림을 변환하기 위해 단편을 재조립해야 할 ''수도'' 있다.[3] FTP 등에서 데이터 스트림 변환을 위해 재구성이 필요할 수 있다.[10]
3. IPv4와 IPv6의 차이점
IPv4와 IPv6는 단편화 방식에서 몇 가지 중요한 차이점을 보인다. IPv4에서는 라우터가 단편화를 수행할 수 있지만, IPv6에서는 송신 호스트가 경로 MTU 검색을 통해 최적의 MTU를 결정하고, 이에 맞춰 패킷을 단편화해야 한다.
IPv4와 IPv6의 헤더 형식은 다르지만, 단편화에 사용되는 필드는 유사하여 동일한 알고리즘을 IPv4 및 IPv6 단편화 및 재조립에 재사용할 수 있다.[1]
IPv4에서 호스트는 최대 576바이트의 재조립된 IP 패킷을 처리해야 하지만, 더 큰 패킷도 처리할 수 있다. IPv6에서는 최소 MTU가 1280바이트로, 호스트는 최대 1500바이트까지의 패킷을 재조립해야 한다.[4]
3. 1. 단편화 주체
IPv4에서 라우터는 필요에 따라 패킷을 단편화할 수 있다. 라우터가 다음 홉의 MTU(최대 전송 단위)보다 큰 네트워크 패킷을 수신하면, 패킷 헤더의 ''분할 금지(Don't Fragment)'' (DF) 플래그 비트 설정 여부에 따라 다음과 같이 동작한다.[1]- DF 비트가 설정된 경우: 패킷을 폐기하고, ''단편화 필요(Fragmentation Needed)'' (유형 3, 코드 4) 조건을 나타내는 인터넷 제어 메시지 프로토콜(ICMP) 메시지를 보낸다.
- DF 비트가 설정되지 않은 경우: 패킷을 단편화하고 더 작은 MTU를 가진 링크를 통해 전송한다.
IPv6에서는 송신 호스트만이 단편화를 수행할 수 있다. IPv6 라우터는 MTU보다 큰 패킷을 수신하면 폐기하고, 송신 호스트에 "패킷이 너무 큼(Packet Too Big)" ICMP 메시지를 전송한다.[1] IPv6 네트워크 장비는 1280바이트 이하의 모든 IPv6 패킷 또는 패킷 단편을 전송해야 하며, IPv6 호스트는 패킷을 보내기 전에 경로 MTU 검색을 통해 최적의 MTU를 결정해야 한다.
IPv4와 IPv6의 헤더 형식은 다르지만, 단편화에 사용되는 필드는 유사하여 동일한 알고리즘을 IPv4 및 IPv6 단편화 및 재조립에 재사용할 수 있다.[1]
3. 2. 최소 MTU
IPv4에서 호스트는 최대 5,760억의 재조립된 총 크기로 단편화된 IP 패킷을 재조립하기 위해 최선을 다해야 한다. 또한 5,760억보다 큰 단편화된 IP 패킷을 재조립하려고 시도할 수도 있지만, 이러한 더 큰 패킷을 조용히 폐기할 수도 있다. 응용 프로그램은 원격 호스트가 이를 수락하거나 재조립할 수 있다는 사전 지식이 없는 한 5,760억보다 큰 패킷을 보내는 것을 삼가는 것이 권장된다.[1]IPv6에서 호스트는 IPv6의 최소 MTU인 12,800억보다 큰 최대 15,000억의 재조립된 총 크기로 단편화된 패킷을 재조립하기 위해 최선을 다해야 한다.[4] 15,000억보다 큰 재조립된 총 크기를 가진 단편화된 패킷은 선택적으로 조용히 폐기될 수 있다.
3. 3. 경로 MTU 탐색 (Path MTU Discovery)
IPv6에서 네트워크 장비는 1280바이트 이하의 IPv6 패킷 또는 패킷 단편을 전송해야 한다.[1] IPv6 호스트는 패킷을 보내기 전에 경로 MTU 검색을 통해 최적의 MTU를 결정해야 한다.[1] IPv4와 달리 IPv6 라우터는 더 이상 단편화를 수행하지 않는다.[1]IPv6에서 경로 MTU 제한을 극복하기 위해 IPv6 단편화에 의존하는 응용 프로그램은 시작점에서 패킷을 명시적으로 단편화해야 한다.[4] 그러나 원격 호스트가 재조립할 수 있다는 것을 미리 알지 못하는 한 1500바이트보다 큰 총 크기의 단편화된 패킷을 보내려고 시도해서는 안 된다.[4]
IPv6에서는 경로 중간의 라우터가 단편화를 수행할 수 없으며, 패킷을 전송하기 전에 패킷의 최대 크기를 MTU가 결정하고, 그 이하의 패킷을 전송해야 한다(송신 측에서 단편화하여 전송할 수 있다).[11] 또한, IPv6에서는 1280바이트 이하의 패킷은 단편화 없이 전송 가능함을 보장한다.[11]
IP 데이터그램의 크기를 결정하기 위해 일반적으로 두 가지 방법을 사용하며, 단편화를 최대한 방지하려고 한다.[11] 하나는 송신 측에서 첫 번째 홉의 MTU를 IP 데이터그램의 크기로 사용하는 방식이다.[11] 다른 하나는 경로 MTU 탐색 알고리즘을 사용하는 방법이다.[12]
4. 네트워크 전달에 미치는 영향
IP 단편화는 네트워크 성능 및 보안에 영향을 줄 수 있다. 여러 병렬 경로가 있는 네트워크에서 LAG 및 CEF와 같은 기술은 해시 알고리즘에 따라 트래픽을 분할한다. 이 알고리즘의 목표 중 하나는 동일한 흐름의 모든 패킷이 같은 경로로 전송되도록 하여 불필요한 패킷 재정렬을 최소화하는 것이다.
IPv4에서 라우터가 다음 홉의 MTU보다 큰 PDU를 수신하면, PDU를 폐기하고 ''Packet too Big''(패킷이 너무 큼) 조건을 설정한 ICMP 메시지를 보내거나, IP 패킷을 단편화하여 전송할 수 있다. IPv6에서는 라우터가 단편화를 수행할 수 없고, 송신 측에서 수행해야 한다. IPv6는 1280바이트 이하의 패킷은 단편화 없이 전송 가능하다.
단편화된 IP 패킷을 수신한 호스트는 상위 계층 프로토콜에 전달하기 전에 데이터그램 재구성을 수행해야 한다. 재구성은 일반적으로 수신 호스트에서 수행되지만, 중간 라우터가 수행하는 경우도 있다.
4. 1. 패킷 손실 및 재전송
IP 단편화는 단편이 패킷 손실을 겪을 때 과도한 재전송을 유발할 수 있다. TCP와 같은 안정적인 프로토콜은 단일 단편의 손실로부터 복구하기 위해 모든 단편을 다시 전송해야 하기 때문이다.[5] 상위 프로토콜이 TCP와 같은 고신뢰 프로토콜인 경우, 단편의 일부가 손실되었을 뿐인데 데이터그램 전체의 재전송을 요구하므로, 재전송 오버헤드가 커진다.[11]4. 2. 경로 MTU 탐색
경로 MTU 탐색(Path MTU Discovery) 알고리즘[12]은 두 IP 호스트 간의 경로 MTU를 결정하여 IP 단편화를 피할 수 있도록 돕는다. 이 알고리즘을 사용하면 단편화를 최소화하고 네트워크 효율성을 높일 수 있다. 송신자는 일반적으로 다음 두 가지 방법 중 하나를 사용하여 IP 데이터그램 크기를 결정한다.단편화된 패킷이 손실되면, 상위 프로토콜이 TCP와 같은 고신뢰 프로토콜인 경우, 단편의 일부만 손실되어도 데이터그램 전체를 재전송해야 하므로 재전송 오버헤드가 커진다.[11]
4. 3. 보안 문제
IP 단편화는 취약하며 2020년 현재 보안 문제로 인해 바람직하지 않은 것으로 간주된다.[7] IP 단편은 패킷 손실 시 과도한 재전송을 유발할 수 있으며, TCP와 같은 안정적인 프로토콜은 단일 단편 손실로부터 복구하기 위해 모든 단편을 다시 전송해야 한다.[5]5. 한국 인터넷 환경과 IP 단편화
한국은 높은 인터넷 속도와 발달된 네트워크 인프라를 갖추고 있지만, 다양한 네트워크 환경(유선, 무선, 모바일 등)과 IPv4/IPv6 전환 과정에서 IP 단편화는 여전히 중요한 고려 사항이다.
참조
[1]
간행물
Internet Protocol
Information Sciences Institute
1981-09
[2]
간행물
IP Datagram Reassembly Algorithms
1982-07
[3]
간행물
Architectural Implications of NAT
2000-11
[4]
간행물
Internet Protocol, Version 6 (IPv6) Specification
1998-12
[5]
웹사이트
Fragmentation Considered Harmful
http://www.cs.bingha[...]
[6]
간행물
Path MTU Discovery
1990-11
[7]
간행물
IP Fragmentation Considered Fragile
2020-09
[8]
간행물
Internet Protocol
Information Sciences Institute
1981-09
[9]
간행물
IP Datagram Reassembly Algorithms
1982-07
[10]
간행물
Architectural Implications of NAT
2000-11
[11]
웹사이트
Fragmentation Considered Harmful
http://computer-refu[...]
2012-08-29
[12]
간행물
Path MTU Discovery
1990-11
[13]
간행물
Internet Protocol, Version 6 (IPv6) Specification
1998-12
[14]
문서
Fragmentation Considered Harmful
http://citeseer.ist.[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com