cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
839
Views
0
Helpful
1
Replies

Fragmentation Offset

vishal_bhugra
Level 1
Level 1

Hello experts

While reading IP header, I understood bit of FRAGMENT  OFFSET field.

The thing which is confusing is the statement " The Fragments are specified in units of 8 bytes, which is why Fragment length must be multiple of 8" .

Why Fragments are specified in units of 8 bytes ?

From where do we come upto 8 bytes.

Thanks

Vishal Bhugra

1 Reply 1

Joseph W. Doherty
Hall of Fame
Hall of Fame

Disclaimer

The  Author of this posting offers the information contained within this  posting without consideration and with the reader's understanding that  there's no implied or expressed suitability or fitness for any purpose.  Information provided is for informational purposes only and should not  be construed as rendering professional advice of any kind. Usage of this  posting's information is solely at reader's own risk.

Liability Disclaimer

In  no event shall Author be liable for any damages whatsoever (including,  without limitation, damages for loss of use, data or profit) arising out  of the use or inability to use the posting's information even if Author  has been advised of the possibility of such damage.

Posting

From where do we come upto 8 bytes.

Because that's what the standard defines.

The thing which is confusing is the statement " The Fragments are specified in units of 8 bytes, which is why Fragment length must be multiple of 8" .

Why Fragments are specified in units of 8 bytes ?

If you're asking why the standard chose increments of 8 bytes, I don't know if that's actually documented, but if not, likely just for two primary reasons.  First, no one saw the need to deal with fragments in smaller allocations, i.e. less overhead.  Second, it allows you to track size with a smaller binary number.

For the latter, consider IP segments can be (about) 2 ** 16 in size.  So, to track this size, we need a 16 bit field.  But if want to reduce the size of the size field, say by 3 bits (for the DF flags), we need to scale the counter by 2 ** 3 (or 8).

Something that's often overlooked years or decades later, specifications like these were defined for what was considered practical with current and near term hardware.  How fast some technology evolves can come as a surprise.  For example, when the IBM PC came out, there was the quote, supposedly made by Bill Gates (which he says he didn't) of "640K ought to be enough for anyone."  But even if Bill didn't make such a quote, many couldn't image the need for a larger address space any time soon.