View Full Version : How to find out ethernet frame size?
vonaldinjo
05-19-2003, 09:24 AM
I am using Gigabit ethernet between two linux computers. How can I find out the ethernet frame size being used? Is it fixed or is it dynamic according to the message size being used? How can I change the used frame size, if at all ?
RobSeace
05-19-2003, 12:50 PM
Easiest way would be to setup a packet sniffer, and take a look
at the captured Ethernet frames... But, yes, the size should be
variable, depending on the amount of data being transfered in
each frame... However, I believe there's some minimum frame
size (I forget now what it is), and data below that will get padded
out...
If you're talking about increasing the max possible frame size
used (eg: to increase throughput), then you'd need to increase
your interface MTU (via "ifconfig", or similar)...
vonaldinjo
05-19-2003, 01:49 PM
thankyou for the reply.
My question about changing the frame size was - how to make the system use only one frame size only regardless of the message size. In a way make it fixed.
RobSeace
05-19-2003, 06:57 PM
Hmmmm... I'm not sure that's possible... I'm also not sure
why on Earth you'd possibly WANT to... ;-) Why send a larger
frame than is necessary for the job??
mlampkin
05-19-2003, 09:27 PM
TCP will only negotiate the max frame size during the initial phase of the connection... and does not allow you to specify a lower bound... so you're kinda stuck with a variable frame size no matter what...
The only solution I know of is to switch to another protocol... e.g. something like ATM since it uses a set frame (or cell in ATM terminology) size... and then do a pure ATM to ATM connection (since encapsulating something like ATM in TCP again results in variable frames)...
Michael
vonaldinjo
05-20-2003, 08:08 AM
Thankyou.
My intention was to find out throughput vs message size as a function of frame size , ie, for different frame sizes. was simply curious, have seen similar works. If it is not possible within TCP, then i can forget it.
mlampkin
05-20-2003, 08:36 PM
If you are simply doing testing...
What is the OS (both ends) you are using? Someone may be able to give you the commands to set the max frame sizes on both sides (so they are equal)... and then if you are pumping data at full speed between the machines you should be (mostly) assured of all the frames being transmitted at the maximum (and known) size...
Of course, for a real life test it doesn't work... since you app wouldn't be pushing the tcp stack at 100% (at least I would hope not) for 100% of the time...
Michael
vonaldinjo
05-21-2003, 08:00 AM
I am using Linux. I did not fully understand what you said. I will use a wide range of message sizes, so for small messages, the frame size would not be the max, if that is what u meant by pushing the TCP stack to the max. But if I can set the frame size to a known maximum, then at least I would know what it is.
vBulletin® v3.7.4, Copyright ©2000-2009, Jelsoft Enterprises Ltd.