bmbreer Mon, 06/09/2008 - 09:30
User Badges:

The field in the IP header that indicates the total packet (header & data) length is 16 bits and the unit of measurement is bytes. So assuming a standard IP header of 20 bytes (no options included) the max amount of data would be 65515 bytes. Since the MTU for DIX ethernet is 1500 bytes any IP packet that is larger than that would need to be fragmented to fit into the ethernet frame.


HTH

Ryan Carretta Mon, 06/09/2008 - 21:10
User Badges:
  • Bronze, 100 points or more

You would have to qualify 'data' a bit here to get a precise answer. Without getting into support for jumbo frames, the short answer is that the data payload of an ethernet packet can range from 46 to 1500 bytes (the default MTU for ethernet).


If, however, you are asking how much application data (FTP or HTTP, for example) you can fit into a given packet, you have to consider the other headers that may apply.


For example, an IPv4 header is another 20 bytes, and a TCP header (without timestamps) will add another 20 bytes. This would leave 1460 bytes for application data from the original 1500. We call this protocol overhead.

bmbreer Thu, 06/12/2008 - 05:09
User Badges:

Ryan,


I don't mean to be a stickler but in the OP Carl asked how much data could fit into an IP packet not an ethernet frame. The payload of an IP packet is not limited to 1500 bytes. As you stated 1500 bytes is the MTU for ethernet. The total packet length field in the IP header is 16 bits which means the maximum number you can represent is 65535. Since the TPL field is the size of both the IP header and payload you must deduct the header length to determine how much is left for the payload. Since the standard IP header is 20 bytes that would leave 65515 bytes for the payload.


Since fragmentation is so inefficient hosts do takes steps to prevent it but nevertheless it is possible to construct an IP packet that is much larger than 1500 bytes.

Actions

This Discussion