Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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?

share|improve this question

closed as not a real question by Greg Askew, TheCleaner, Stefan Lasiewski, Dave M, mdpc Feb 21 '13 at 6:06

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

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.

share|improve this answer

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.

share|improve this answer
Jumbo frames are not necessarily a GigE thing but there's more support arriving in GigE as there's more benefits. – Matt Feb 20 '13 at 17:51

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.

share|improve this answer

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:
share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.