-2

Why may packets sent over the internet be fragmented?

I don't understand why data grams are broken up into smaller pieces. When this is done what is its use?

4 Answers 4

5

Fragmentation is necessary when packets are send over a network connection which has a MTU (maximum transmission unit) smaller than the packet size. For instance when you send a 1500 Byte packet from your LAN (ethernet) to the internet over a PPPoE connection, which has a MTU of 1492 Byte, your router has to fragment the packet.

1

Different protocols have different packet size limits.

Originally, an "internet" (note lowercase "i") was the union of different networks, often with different technologies. The 'IP' packet was designed specifically to be easy to handle on most protocols, that's why it was called "Internet Protocol", that is, a protocol to create internets.

One crucial part of being able to be routed between different wire protocols is to specify how to split and rejoin packets when passing from a network that allows big packets to another that requires smaller ones.

Now, the most common lower level protocol is Ethernet; but even so there could be a GigE 9000-byte packet that has to be split into several 1500-byte packets for 100Mbit Ethernet.

1
  • Jumbo frames are not necessarily a GigE thing but there's more support arriving in GigE as there's more benefits.
    – Matt
    Feb 20, 2013 at 17:51
0

Basically because TCP allows for the maximum transmission unit (MTU) to vary between devices and the difference needs to be dealt with somehow. Slower links can benefit from sending smaller packets so they are not tied up transmitting single packets for too long. A result of having varying MTU's is either fragmentation or an ICMP message back indicating the packet was to large so the sender can try again. fragmentation, although not efficient, generally keeps things working.

A good example of why MTU's might vary is the PPPoE one from HenryS. As PPPoE is encapsulated over ethernet, which will normally have an MTU of 1500. The PPPoE client sets it's MTU to 1492 to allow room for the extra data needed in the encapsulation of each packet to avoid fragmentation at the link layer above it.

0

The reason that the packets you send are fragmented is:

  • The path from your computer and destination has different MTU and
  • The packet (actually the frame that contains your packet) you send is larger than the smallest MTU on the path and
  • Your computer is not using PMTUD or PLPMTUD. See: http://kb.pert.geant.net/PERTKB/PathMTU

Not the answer you're looking for? Browse other questions tagged .