Multiples of 8 IPV4

Started by blueberry123, May 20, 2022, 08:39:14 AM

Previous topic - Next topic

blueberry123

Full question-: What should we do if the number of bytes to be transferred are not in multiples of eight in ipv4?

Theory that I want to understand is as follows-:
https://i.stack.imgur.com/RDVcG.png

So i found a question  that is relevant to this-:
->a total of 1440 bytes that is routed through an interface with MTU of 576 bytes. Calculate flag, fragmented offset, total length and data transmitted in each packet after fragmentation. Assume IP header to be 20 bytes.

Solution-:

1440=20+1420

MTU is 576.
Number of fragments=1420/576=3

So let's call 3 packets P1,P2,P3.

P1=>20+556
P2=>20+556
P3=>20+308

So I am trying to understand what the above picture is trying to say.

There are 2 cases-:
-> Is it trying to say that total length of P1 should be divisible by 8?

-> Is it trying to say that "only data" part should be divisible by 8?

I have even further questions about it.

->Say, the total length  of P1 should be divisible by 8. What will we do if it is not?

->(I believe) Say the "only data" part should be divisible by 8, then what should we do as neither 556 nor 308 is divided by 8.

So say I reiterate and do this arrangement(I  believe this is correct way)-:
P1->20+552
P2>20+552
P3->20+316

Still 316 isn't divisible by 8, what should I do now?

i don't understand the solution that is written in the picture that i attested above. how can we use that solution to our case?

IRRESPECTIVE OF WHATEVER I WROTE,if you want,YOU CAN EXPLAIN LIKE I AM BEGINNER TO ALL THESE

Otanx

The multiples of 8 is only for fragmented packets, and is because of the fragment offset field. See this link: https://packetpushers.net/ip-fragmentation-in-detail/ They explain it better than I can.

So when and only when fragmenting packets you need to break it in multiples of 8 except for the last packet. Normal packets can be whatever length they need to be up to the MTU. Also you normally will not see any of this in a real network because most stuff sets the don't fragment bit, and uses path MTU discovery to figure out the largest packet that can be sent end to end, and use that.

-Otanx

deanwebb

That is true. And when something doesn't fit nicely into a size we want, it's typical for the frame to be stuffed out with consecutive zeroes until it does fit.
Take a baseball bat and trash all the routers, shout out "IT'S A NETWORK PROBLEM NOW, SUCKERS!" and then peel out of the parking lot in your Ferrari.
"The world could perish if people only worked on things that were easy to handle." -- Vladimir Savchenko
Вопросы есть? Вопросов нет! | BCEB: Belkin Certified Expert Baffler | "Plan B is Plan A with an element of panic." -- John Clarke
Accounting is architecture, remember that!
Air gaps are high-latency Internet connections.

blueberry123

can you guys explain how i can stuff bits in my case? and can you also explain about finding exact length of data from total length and padding?

deanwebb

From what I remember, bit stuffing happens automatically... question is, who stuffs the bits, right?

https://en.wikipedia.org/wiki/Bit_stuffing

It's the sender of the packet, whoever it is, that will stuff bits to make things fit. However, the header bits that indicate length of the data part are intact, so the stuffed area is always outside that part.

Take a baseball bat and trash all the routers, shout out "IT'S A NETWORK PROBLEM NOW, SUCKERS!" and then peel out of the parking lot in your Ferrari.
"The world could perish if people only worked on things that were easy to handle." -- Vladimir Savchenko
Вопросы есть? Вопросов нет! | BCEB: Belkin Certified Expert Baffler | "Plan B is Plan A with an element of panic." -- John Clarke
Accounting is architecture, remember that!
Air gaps are high-latency Internet connections.

Dieselboy

I believe it's the NIC job to stuff packets.