본문 바로가기
5장 컴퓨터 과학/Computer Network

[컴퓨터 네트워크] IP 단편화

2021. 6. 14.

IP 단편화의 원리

프레임

IP 패킷은 전송 과정에서 속성이 다양한 네트워크를 거치면서 전달된다. 이 네트워크들은 라우터를 통해 연결되며, 각 라우터는 IP 패킷을 수신한 프레임에서 캡슐화(Encapsulation)하여 처리한 후 다른 프레임에 캡슐화한다. 이때 각 데이터링크 계층은 네트워크 프로토콜에 따라 고유한 프레임 형식을 갖게 되며, 데이터 영역의 최대 크기를 결정한다. 즉 각각의 네트워크는 자신이 사용하는 최대 전송단위(Maximum Transfer Unit, MTU)를 사용해 패킷 전송이 이루어지는 것이다.

IP 단편화는 IP 패킷의 크기를 MTU 이하로 작게 분할해 전송할 수 있도록 처리하는 기법이다. IP 패킷의 식별자(Identification) 영역과 단편 오프셋(Fragment Offset) 영역은 DF(Don't Fragment) 플래그, MF(More Fragment) 플래그와 함께 IP 패킷의 분할과 재조립을 위해 사용된다.

라우터가 다음 홉의 MTU보다 큰 PDU를 수신하면 둘 중 하나의 동작을 선택한다. 해당 PDU를 폐기하고 ICMP(Internet Control Message Protocol) 메시지를 보내거나, IP 패킷을 분할해 MTU보다 작은 링크를 통해 전송하는 것이다. 단편화된 IP 패킷을 받은 호스트는 해당 IP 패킷을 재조립해 상위 계층(TCP 계층)으로 전달해야 한다. 재조립은 오직 수신 호스트에서만 이루어진다.

IP 단편화의 구체적인 동작과 구조적인 접근 방법은 IPv4와 IPv6에서 차이가 있다. IPv4에서는 기본 헤더 중 단편화를 다루는 영역에서만 이루어지지만, IPv6에서는 라우팅 처리 효율을 높이기 위해 확장 헤더 중 하나인 단편화 헤더에서 수행한다. IPv4와 IPv6의 단편화 동작은 상당히 유사하므로 쉽게 단편화 및 재조립 알고리즘을 재사용할 수 있다.

단편화된 패킷에 손실이 발생하고 TCP와 같은 프로토콜에서 재전송을 요구할 경우, IP 단편화는 상당한 재전송을 일으키게 된다. 이 문제를 해결하기 위해 IP 패킷의 크기를 결정하기 전에 전송지에서는 IP 패킷의 크기를 첫 번째 홉의 MTU와 같게 하는 방법을 사용한다. 또 다른 방법은 경로 MTU 발견(Path MTU Discovery) 알고리즘을 사용해 호스트 상호간 경로 MTU(Path MTU)을 구해 IP 단편화를 회피하는 것이다.

반응형

댓글