IP fragmentation

From Wikipedia, the free encyclopedia

Jump to: navigation, search

The Internet Protocol allows IP fragmentation so that datagrams can be fragmented into pieces small enough to pass over a link with a smaller MTU than the original datagram size.

RFC 791 describes the procedure for IP fragmentation, transmission and reassembly of datagrams. RFC 815 describes a simplified reassembly algorithm which can easily be implemented in hosts.

The Identification field, and Fragment offset field along with Don't Fragment and More Fragment Flags are used for Fragmentation and Reassembly of IP datagrams.

In a case where a router in the network receives a PDU larger than the next hop's MTU, it has two options. Drop the PDU and send an ICMP message which says "Packet too Big", or to Fragment the IP packet and send over the link with a smaller MTU.

If a receiving host receives an IP packet which is fragmented, it has to reassemble the IP packet and hand it over to the higher layer. Reassembly is intended to happen in the receiving host but in practice it may be done by an intermediate router, for example network address translation requires re-calculating checksums across entire packets, and so routers supporting this will often recombine packets as part of the process.

The details of the fragmentation mechanism, as well as the overall architectural approach to fragmentation, are different in IPv4, the current version of the Internet Protocol, and IPv6, the newer version. In IPv4 routers do the fragmentation, whereas in IPv6, routers do not fragment, but drop the packets that are larger than the MTU size. Though the header formats are different for IPv4 and IPv6, similar fields are used for fragmentation, so the algorithm can be reused for fragmentation and reassembly.

IP fragmentation can cause excessive retransmissions when fragments encounter packet loss and reliable protocols such as TCP must retransmit all of the fragments in order to recover from the loss of a single fragment.[1] Thus senders typically use two approaches to decide the size of IP datagrams to send over the network. The first is for the sending host to send an IP datagram of size equal to the MTU of the first hop of the source destination pair. The second is to run the "Path MTU discovery" algorithm, described in RFC 1191, to determine the path MTU between two IP hosts, so that IP fragmentation can be avoided.

[edit] External links

[edit] References

  1. ^ Christopher A. Kent, Jeffrey C. Mogul, Fragmentation Considered Harmful
Personal tools