Fragmentation offset

Status
Not open for further replies.
zillah said:
See this please

http://www.synapse.de/ban/HTML/P_TCP_IP/Eng/P_tcp_29.html


http://www.usenix.org/publications/login/1998-8/tcpdump.html

" the fragment offset is represented in the fourth bit of the seventh byte of the ip header. It is a 13-bit field (5 bits remaining after the flag field, plus the next 8 bits). To detect if any of those 13 bits is set, we can AND the binary string 0001111111111111 (0x1fff) with ip[6:2] (i.e., 2 bytes' worth of "


http://www.google.ae/search?hl=en&q=fragment+offset+13+bits&btnG=Google+Search&meta=

Ok, i think I understnad what you want to know. First of all, i want to make sure that you understand the 13 bits of the offset field. I didn't think that this mattered with the content of your question. But, yes, the offset field is 13 bits long.
So, what i feel you are getting at is how do these 8 bytes or 64 bits of measurement fit into the 13 bits in the offset field?

The receiving router needs to determine, not just HOW many fragmented packets it will be receiving, but the TOTAL length of the packet once it's put back together. So, this is why the 13 bits of the offset "number" or "value" is in measurements of 8 bytes. It uses the division of 8 from the total length of the packet before it and places this into the offset field. (this is why the first packet in order is always going to be zero) It then, not only uses the offset field to determine the position of the packets, but also uses the same field (with an 8 byte multiplier) and determines the total length of the original data packet......

once humpty dumpty is put back together again.
 
sorry for my delayed response, but i have an entire house full of off 1966 wallpaper calling out to me to steam it off the walls... lol :)

and i hate it! lol
 
The receiving router needs to determine, not just HOW many fragmented packets it will be receiving, but the TOTAL length of the packet once it's put back together. So, this is why the 13 bits of the offset "number" or "value" is in measurements of 8 bytes. It uses the division of 8 from the total length of the packet before it and places this into the offset field. (this is why the first packet in order is always going to be zero) It then, not only uses the offset field to determine the position of the packets, but also uses the same field (with an 8 byte multiplier) and determines the total length of the original data packet......

Could you please tell for example:

If a datagram contains 1650 bytes of data, but only 260 bytes can fit into a fragment,,,,how we do our calculation ?
 
Status
Not open for further replies.
Back
Top Bottom