Bookmark this page:
Yahoo!
Windows Live
del.icio.us
digg
Netscape
|
|
||||||||||||||||
|
Posted by Skybuck Flying on February 19, 2005, 11:31 am
Please log in for more thread options Hi, I am trying to figure out how many maximum sized packets can be sent/received over 10 megabit ethernet per second in theory (or ideal circumstances :D) They say 10 megabit ethernet runs at exactly 10.000.000 bits per second. (?) The maximum payload size is 1500 bytes. The overhead is: 12 gap + 8 preamble + 14 header + 4 trailer = 38 bytes. So the maximum size of an ethernet packet is 1538 bytes. 10.000.000 bits / 8 bits = 1.250.000 bytes 1.250.000 bytes / 1538 bytes = 812,74382314694408322496749024707 I am kinda surprised that it's not a whole number. I was excepting a whole number for maximum efficiency :D Am I missing something ? maybe extra overhead bits ? Bye, Skybuck. | ||||||||||||||||
|
Posted by Patrick Schaaf on February 19, 2005, 11:33 am
Please log in for more thread options Maybe add in 4 byte for a VLAN tag header. >1.250.000 bytes / 1538 bytes = 812,74382314694408322496749024707
>I am kinda surprised that it's not a whole number. I was excepting a whole
>number for maximum efficiency :D Huh? Why would you gain efficiency by having an integral number of packets fit into one second of realtime? What does Ethernet know about real time seconds? I just don't see it. best regards Patrick | ||||||||||||||||
|
Posted by Skybuck Flying on February 19, 2005, 1:43 pm
Please log in for more thread options
>
> >The maximum payload size is 1500 bytes.
> >The overhead is: 12 gap + 8 preamble + 14 header + 4 trailer = 38 bytes. >
> Maybe add in 4 byte for a VLAN tag header. Nope that gives: 1.250.000 bytes / 1542 bytes = 810.6355382619974059662775616083 >
> >1.250.000 bytes / 1538 bytes = 812,74382314694408322496749024707
>
> >I am kinda surprised that it's not a whole number. I was excepting a
whole
> >number for maximum efficiency :D
>
> Huh? Why would you gain efficiency by having an integral number of > packets fit into one second of realtime? What does Ethernet know > about real time seconds? I just don't see it. The maximum ammount of bits that can be sent per second is 10.000.000 bits. To minimize overhead it would make sense to send maximum sized packets only. In this case 812 packets * 1538 bytes = 1248856 bytes. Or 1248856 * 8 bits = 9990848 bits. The last (813th) packet would have to be: 1.250.000 - 1.248.856 = 1144 bytes. The interval between the first 812 packets would have to be: 1538 bytes * 8 bits = 12304 bits. 1 bit takes 1 second / 10.000.000 bits = 0.0000001 seconds So 12304 bits * 0.0000001 = 0.0012304 seconds or 0.0012304 * 1000 = 1.2304 milliseconds per bit So after (812 packets * 1.2304 milliseconds =) 999.0848 milliseconds the 813th packet would have to be sent ;) 1144 * 8 bits = 9152 bits for the 813 th packet. 9152 bits * 0.0000001 = 0.0009152 seconds or (0.0009152 * 1000 =) 0.9152 milliseconds to send it. check: 999.0848 + 0.9152 = 1000 milliseconds ;) Exactly one second ;) Let's see how much real ethernet payload/data can be sent per second ;) (812 * 1500) + (1144 - 38) = 1218000 + 1106 = 1219106 bytes 1219106 bytes * 8 bits = 9.752.848 bits of payload ;) (9.752.848 / 10.000.000) * 100% = 97.52848% 97.52848% efficieny ;) 2.47152% overhead :D 1.219.106 / 1024 = 1190.533203125 KByte 1.219.106 / (1024*1024) = 1.1626300811767578125 Mbyte / sec :D The funny thing is that the figures on this website are therefore not correct ;) http://sd.wareonearth.com/~phil/net/overhead/ The website reads: " Ethernet Payload data rates are thus: (1500/(38+1500)) * 100 = 97.529258777633289986996098829649 without 802.1q tags. " Websites 97.5293 % versus my 97.52848% ;) De website is assuming 97.5293 efficiency. Bogus answer: maximum payload bits per second: 0.97529258777633289986996098829649 * 10.000.000 bits = 9752925.8777633289986996098829649 (half a bit? yeah right ;) :D ) Real answer: maximum payload bits per second: 9752848 bits Difference: 9752925.8777633289986996098829649 - 9752848 = 77.877763328998699609882964889467 bits. The amazing thing is ;) de website is off by about 77.8 bits ;D Bye, Skybuck. | ||||||||||||||||
|
Posted by anoop on February 19, 2005, 12:01 pm
Please log in for more thread options
The difference in efficiency is because the per-bit overhead is higher for the 813th frame. Your analysis accounts for the full 38-byte overhead even though only a total of 1144 bytes were sent in that frame. The analysis of the website assumes the per-bit overhead is always that encountered for a 1538-byte frame. To get the same result as the website, you would need to reduce your overhead for the last frame to 38/1538*1144 bytes. Alternatively, you could go through the analysis for a larger interval than 1 second, say 1000000 seconds, where you have a steady stream of 1538 byte packets until the very end of the measurement interval; i.e. a frame smaller than 1538 bytes is sent only at the end of the 1000000th second. Nice puzzle :-) Anoop Skybuck Flying wrote: > >
> > >The maximum payload size is 1500 bytes.
bytes.
> > >The overhead is: 12 gap + 8 preamble + 14 header + 4 trailer = 38 > >
> > Maybe add in 4 byte for a VLAN tag header. >
> Nope that gives: > > 1.250.000 bytes / 1542 bytes = 810.6355382619974059662775616083 > > >
> > >1.250.000 bytes / 1538 bytes = 812,74382314694408322496749024707
> >
> > >I am kinda surprised that it's not a whole number. I was excepting
a
> whole
> > >number for maximum efficiency :D
> >
> > Huh? Why would you gain efficiency by having an integral number of > > packets fit into one second of realtime? What does Ethernet know > > about real time seconds? I just don't see it. >
bits.
> The maximum ammount of bits that can be sent per second is 10.000.000 >
packets only.
> To minimize overhead it would make sense to send maximum sized >
the
> In this case 812 packets * 1538 bytes = 1248856 bytes. > > Or 1248856 * 8 bits = 9990848 bits. > > The last (813th) packet would have to be: > > 1.250.000 - 1.248.856 = 1144 bytes. > > The interval between the first 812 packets would have to be: > > 1538 bytes * 8 bits = 12304 bits. > > 1 bit takes 1 second / 10.000.000 bits = 0.0000001 seconds > > So 12304 bits * 0.0000001 = 0.0012304 seconds > > or 0.0012304 * 1000 = 1.2304 milliseconds per bit > > So after (812 packets * 1.2304 milliseconds =) 999.0848 milliseconds > 813th packet would have to be sent ;)
;)
> > 1144 * 8 bits = 9152 bits for the 813 th packet. > > 9152 bits * 0.0000001 = 0.0009152 seconds > > or (0.0009152 * 1000 =) 0.9152 milliseconds to send it. > > check: 999.0848 + 0.9152 = 1000 milliseconds ;) > > Exactly one second ;) > > Let's see how much real ethernet payload/data can be sent per second >
802.1q
> (812 * 1500) + (1144 - 38) = 1218000 + 1106 = 1219106 bytes > > 1219106 bytes * 8 bits = 9.752.848 bits of payload ;) > > (9.752.848 / 10.000.000) * 100% = 97.52848% > > 97.52848% efficieny ;) > 2.47152% overhead :D > > 1.219.106 / 1024 = 1190.533203125 KByte > > 1.219.106 / (1024*1024) = 1.1626300811767578125 Mbyte / sec :D > > The funny thing is that the figures on this website are therefore not > correct ;) > > http://sd.wareonearth.com/~phil/net/overhead/ > > The website reads: > " > Ethernet Payload data rates are thus: > (1500/(38+1500)) * 100 = 97.529258777633289986996098829649 without > tags.
> " > > Websites 97.5293 % versus my 97.52848% ;) > > De website is assuming 97.5293 efficiency. > > Bogus answer: maximum payload bits per second: > 0.97529258777633289986996098829649 * 10.000.000 bits = > 9752925.8777633289986996098829649 (half a bit? yeah right ;) :D ) > > Real answer: maximum payload bits per second: > 9752848 bits > > Difference: > 9752925.8777633289986996098829649 - 9752848 = > 77.877763328998699609882964889467 bits. > > The amazing thing is ;) de website is off by about 77.8 bits ;D > > Bye, > Skybuck. | ||||||||||||||||
|
Posted by Patrick Schaaf on February 19, 2005, 12:34 pm
Please log in for more thread options
>> Huh? Why would you gain efficiency by having an integral number of
>> packets fit into one second of realtime? What does Ethernet know >> about real time seconds? I just don't see it. >The maximum ammount of bits that can be sent per second is 10.000.000 bits.
>To minimize overhead it would make sense to send maximum sized packets only.
>In this case 812 packets * 1538 bytes = 1248856 bytes.
>Or 1248856 * 8 bits = 9990848 bits.
>The last (813th) packet would have to be:
>1.250.000 - 1.248.856 = 1144 bytes.
Again, what makes one second so special, that would cut the length of the 813th packet so it falls on a second-boundary in realtime? In reality, the 813th packet will also be full-size, and sending all 813 packets will take slightly more than a single second. So what? who cares? best regards Patrick | ||||||||||||||||

Maximum maximum packets per second on 10 megabit ethernet ? 1.250.000 / 1538 = 812,743823 ???
Yahoo!
Windows Live
del.icio.us
digg
Netscape 








>The overhead is: 12 gap + 8 preamble + 14 header + 4 trailer = 38 bytes.