소개
우리는 모두 IP의 분류 및 비분류 원리와 네트워크 통신에서의 적용을 잘 알고 있습니다. IP 단편화 및 재조합은 패킷 전송 과정에서 핵심 메커니즘입니다. 패킷 크기가 네트워크 링크의 최대 전송 단위(MTU) 제한을 초과하면 IP 단편화는 패킷을 여러 개의 작은 조각으로 분할하여 전송합니다. 이러한 조각들은 네트워크에서 독립적으로 전송되며, 목적지에 도착하면 IP 재조합 메커니즘을 통해 완전한 패킷으로 재조합됩니다. 이러한 단편화 및 재조합 과정은 데이터의 무결성과 신뢰성을 보장하는 동시에 대용량 패킷도 네트워크에서 전송할 수 있도록 보장합니다. 이 섹션에서는 IP 단편화 및 재조합의 작동 방식을 자세히 살펴보겠습니다.
IP 조각화 및 재조립
데이터 링크마다 최대 전송 단위(MTU)가 다릅니다. 예를 들어 FDDI 데이터 링크의 MTU는 4,352바이트이고 이더넷의 MTU는 1,500바이트입니다. MTU는 Maximum Transmission Unit(최대 전송 단위)의 약자로, 네트워크를 통해 전송할 수 있는 최대 패킷 크기를 나타냅니다.
FDDI(Fiber Distributed Data Interface)는 광섬유를 전송 매체로 사용하는 고속 근거리 통신망(LAN) 표준입니다. 최대 전송 단위(MTU)는 데이터 링크 계층 프로토콜이 전송할 수 있는 최대 패킷 크기를 나타냅니다. FDDI 네트워크에서 MTU 크기는 4352바이트입니다. 즉, FDDI 네트워크에서 데이터 링크 계층 프로토콜이 전송할 수 있는 최대 패킷 크기는 4352바이트입니다. 전송할 패킷이 이 크기를 초과하는 경우, MTU 크기에 맞는 여러 조각으로 분할하여 전송하고 수신측에서 재조립해야 합니다.
이더넷의 경우 MTU는 일반적으로 1500바이트입니다. 즉, 이더넷은 최대 1500바이트 크기의 패킷을 전송할 수 있습니다. 패킷 크기가 MTU 제한을 초과하면 패킷은 전송을 위해 더 작은 조각으로 분할되어 목적지에서 재조립됩니다. 분할된 IP 데이터그램의 재조립은 목적지 호스트에서만 수행할 수 있으며, 라우터는 재조립 작업을 수행하지 않습니다.
앞서 TCP 세그먼트에 대해서도 이야기했지만, MSS는 Maximum Segment Size(최대 세그먼트 크기)의 약자로 TCP 프로토콜에서 중요한 역할을 합니다. MSS는 TCP 연결에서 전송 가능한 최대 데이터 세그먼트의 크기를 나타냅니다. MTU와 마찬가지로 MSS는 패킷 크기를 제한하는 데 사용되지만, 전송 계층, 즉 TCP 프로토콜 계층에서 이를 수행합니다. TCP 프로토콜은 애플리케이션 계층의 데이터를 여러 개의 데이터 세그먼트로 나누어 전송하며, 각 데이터 세그먼트의 크기는 MSS에 의해 제한됩니다.
각 데이터 링크의 MTU는 서로 다른데, 각 데이터 링크 유형은 서로 다른 용도로 사용되기 때문입니다. 사용 목적에 따라 서로 다른 MTU를 호스팅할 수 있습니다.
송신자가 이더넷 링크를 통해 4000바이트의 대용량 데이터그램을 전송하려고 한다고 가정해 보겠습니다. 따라서 데이터그램을 세 개의 작은 데이터그램으로 분할하여 전송해야 합니다. 각 작은 데이터그램의 크기는 MTU 제한인 1500바이트를 초과할 수 없기 때문입니다. 수신자는 세 개의 작은 데이터그램을 수신한 후, 각 데이터그램의 시퀀스 번호와 오프셋을 기반으로 이들을 원래의 4000바이트 대용량 데이터그램으로 재구성합니다.
단편화된 전송에서 단편이 손실되면 전체 IP 데이터그램이 무효화됩니다. 이를 방지하기 위해 TCP는 IP 계층 대신 TCP 계층에서 단편화를 수행하는 MSS(Multiple Segment Scheme)를 도입했습니다. 이 방식의 장점은 TCP가 각 세그먼트의 크기를 더욱 정밀하게 제어할 수 있어 IP 계층의 단편화와 관련된 문제를 방지할 수 있다는 것입니다.
UDP의 경우, MTU보다 큰 데이터 패킷을 전송하지 않도록 노력합니다. UDP는 연결 없는 전송 프로토콜이기 때문에 TCP와 같은 신뢰성 및 재전송 메커니즘을 제공하지 않기 때문입니다. MTU보다 큰 UDP 데이터 패킷을 전송하면 IP 계층에서 전송을 위해 패킷이 단편화됩니다. 단편화 중 하나가 손실되면 UDP 프로토콜은 재전송할 수 없어 데이터 손실이 발생합니다. 따라서 안정적인 데이터 전송을 위해서는 MTU 내에서 UDP 데이터 패킷의 크기를 조절하고 단편화된 전송을 방지해야 합니다.
Mylinking™ 네트워크 패킷 브로커VxLAN/NVGRE/IPoverIP/MPLS/GRE 등 다양한 터널 프로토콜을 자동으로 식별할 수 있으며, 사용자 프로필에 따라 터널 흐름 출력의 내부 또는 외부 특성에 따라 결정할 수 있습니다.
○ VLAN, QinQ, MPLS 라벨 패킷을 인식할 수 있습니다.
○ 내부 및 외부 VLAN을 식별할 수 있습니다.
○ IPv4/IPv6 패킷을 식별할 수 있습니다.
○ VxLAN, NVGRE, GRE, IPoverIP, GENEVE, MPLS 터널 패킷을 식별할 수 있습니다.
○ IP 분할 패킷 식별 가능(IP 분할 식별을 지원하고 IP 분할 재조립을 지원하여 모든 IP 분할 패킷에 L4 기능 필터링을 구현합니다. 트래픽 출력 정책을 구현합니다.)
IP와 TCP가 조각화되는 이유는 무엇입니까?
네트워크 전송 시 IP 계층은 자동으로 데이터 패킷을 분할하기 때문에, TCP 계층이 데이터를 분할하지 않더라도 데이터 패킷은 IP 계층에 의해 자동으로 분할되어 정상적으로 전송됩니다. 그렇다면 TCP는 왜 분할이 필요한 걸까요? 과한 작업 아닌가요?
TCP 계층에서 분할되지 않고 전송 중 손실된 대용량 패킷이 있다고 가정해 보겠습니다. TCP는 해당 패킷을 재전송하지만, 전체 대용량 패킷으로만 재전송합니다(IP 계층은 데이터를 MTU 길이를 가진 작은 패킷으로 분할합니다). 이는 IP 계층이 데이터의 안정적인 전송에는 관심이 없기 때문입니다.
즉, 네트워크 링크로 전송되는 머신에서 전송 계층이 데이터를 단편화하더라도 IP 계층은 이를 단편화하지 않습니다. 전송 계층에서 단편화가 수행되지 않으면 IP 계층에서 단편화가 가능합니다.
간단히 말해, TCP는 IP 계층이 더 이상 단편화되지 않도록 데이터를 분할하고, 재전송 시 단편화된 데이터의 일부만 재전송합니다. 이를 통해 전송 효율과 안정성을 향상시킬 수 있습니다.
TCP가 단편화되면 IP 계층은 단편화되지 않습니까?
위에서 언급했듯이, 송신측 TCP 단편화 후 IP 계층에서는 단편화가 발생하지 않습니다. 그러나 전송 링크 전반에 걸쳐 송신측 MTU보다 작은 최대 전송 단위(MTU)를 갖는 다른 네트워크 계층 장치가 있을 수 있습니다. 따라서 패킷이 송신측에서 단편화되었더라도, 해당 장치의 IP 계층을 통과하면서 다시 단편화됩니다. 결국 모든 샤드는 수신측에서 조립됩니다.
전체 링크에 걸쳐 최소 MTU를 결정하고 해당 길이로 데이터를 전송할 수 있다면, 데이터가 어느 노드로 전송되든 단편화는 발생하지 않습니다. 이 전체 링크에 걸쳐 최소 MTU를 경로 MTU(PMTU)라고 합니다. IP 패킷이 라우터에 도착했을 때, 라우터의 MTU가 패킷 길이보다 작고 DF(분할 금지) 플래그가 1로 설정된 경우, 라우터는 패킷을 단편화할 수 없고 패킷을 삭제할 수 있습니다. 이 경우, 라우터는 "분할이 필요하지만 DF가 설정됨"이라는 ICMP(인터넷 제어 메시지 프로토콜) 오류 메시지를 생성합니다. 이 ICMP 오류 메시지는 라우터의 MTU 값과 함께 소스 주소로 다시 전송됩니다. 송신자는 ICMP 오류 메시지를 수신하면, 금지된 단편화 상황을 다시 피하기 위해 MTU 값에 따라 패킷 크기를 조정할 수 있습니다.
IP 단편화는 필수적이며 IP 계층, 특히 링크의 중간 장치에서는 피해야 합니다. 따라서 IPv6에서는 중간 장치에 의한 IP 패킷 단편화가 금지되었으며, 단편화는 링크의 시작과 끝에서만 수행될 수 있습니다.
IPv6에 대한 기본 이해
IPv6는 IPv4의 후속 버전인 인터넷 프로토콜의 6번째 버전입니다. IPv6는 128비트 주소 길이를 사용하므로 32비트 주소 길이의 IPv4보다 더 많은 IP 주소를 제공할 수 있습니다. 이는 IPv4 주소 공간이 점차 고갈되는 반면, IPv6 주소 공간은 매우 넓어 미래 인터넷 요구를 충족할 수 있기 때문입니다.
IPv6에 대해 이야기할 때, 더 많은 주소 공간 외에도 더 나은 보안과 확장성을 제공합니다. 즉, IPv6는 IPv4에 비해 더 나은 네트워크 환경을 제공할 수 있다는 의미입니다.
IPv6는 오랫동안 사용되어 왔지만, 전 세계적으로 구축 속도가 상대적으로 느립니다. 이는 IPv6가 기존 IPv4 네트워크와 호환되어야 하므로 전환 및 마이그레이션이 필요하기 때문입니다. 그러나 IPv4 주소 고갈과 IPv6 수요 증가로 인해 점점 더 많은 인터넷 서비스 제공업체와 기관들이 IPv6를 도입하고 있으며, IPv6와 IPv4의 듀얼 스택 운영을 점차 실현하고 있습니다.
요약
이 장에서는 IP 단편화와 리어셈블링의 작동 방식을 자세히 살펴보았습니다. 다른 데이터 링크는 다른 최대 전송 단위(MTU)를 갖습니다. 패킷 크기가 MTU 제한을 초과하면 IP 단편화는 패킷을 여러 개의 작은 단편으로 나누어 전송하고, 목적지에 도착한 후 IP 리어셈블링 메커니즘을 통해 완전한 패킷으로 다시 조립합니다. TCP 단편화의 목적은 IP 계층이 더 이상 단편화되지 않도록 하고, 재전송 시 단편화된 작은 데이터만 재전송하여 전송 효율과 안정성을 향상시키는 것입니다. 그러나 전송 링크 전체에 걸쳐 송신자의 MTU보다 작은 MTU를 가진 다른 네트워크 계층 장치가 있을 수 있으므로, 패킷은 이러한 장치의 IP 계층에서 다시 단편화될 수 있습니다. 특히 링크의 중간 장치에서 IP 계층에서의 단편화는 최대한 피해야 합니다.
게시 시간: 2025년 8월 7일