|
Written by Alexei Spirin
|
|
Tuesday, 01 January 2008 23:02 |
|
Hi there! How is it going? Sometimes, when we talk about device performance we are talking in term of packets per second (pps) and bits per second (bps). But in latter case it's not quite correct to say "this device can do one hundrends megabits ber second" because router/switch/whatever performance is greatly depends on packet size and if you want to mention device performance in more accurate and professional way you would say "this device can do one hundrends megabits per second at 64 bytes packet size"
Often vendors such as our favorite Cisco specify device performance as packets per second, so we don't need to bother about packet size mentioning because pps is rather a characteristic of device's (processor, bus, ASICs) computing power. Packets per second more or less still the same with different packets size. But it is not very convinient to deal with pps in real life because we have to know "real" device performance in our network. So we have to do two things:
1) Determine the average packet size which is specific for our network. For example traffic profile for our network could be 30% ftp-data (large packet at 1500 bytes) and 70% VoIP-data (a lot of small packets at 64 bytes) so our average packet size is about 800 bytes.
2) Calculate with simple formula how much there will be Megabits per second (Mbps) if our average packet size is 800 bytes and device performance is, lets say, 100 kpps (one hundred thousands of packet per second) The second step is not very hard for a real professional, but we live in 21st century, aren't we? Unfortunately I didn't found any bps to pps converter/calculator anywhere online so I decided to make it myself (though I'm not a programmer).
Although converter is mathematically correct (I hope ;) I'm not sure it's fair to use it as a "exact throughput" reference. As I said before device performance is greatly depends on packet size, but this dependency is not quit linear one. For example let's take well known FWSM performance 5.5Gbps at 1400 bytes packet length. If we'd recalculate this quantity to pps and then back again to bits per second at 64 bytes we would get awful 257 Mbps! But as pretty old cisco document says FWSM performance at this packet size is 1.3Gbps. I need to think it over once more.
The hand-made not state of the art quick and dirty bits per second to packets per second converter can be found at CCIEvault Tools page. Feel free to advice me on any improvements we can make on this tool.
P.S. There is one more thing I need to say. There are at least three well know packet size: the least one - 64 bytes (toughest case for device, usually referred with router/switch performance), the biggest one 1500 bytes (sometimes 1400 bytes, usually referred with firewall/VPN performance) and the so-called "real" one - IMIX at 427 bytes, which represents an average packet size somewhere in the Internet (but i saw values in between 300-900 bytes) |
|
Last Updated ( Thursday, 12 November 2009 13:49 )
|
Comments
1 byte (B) = 8 bits (b)
1 Kilobit (Kb) = 1024 bits
1 Megabit (Mb) = 1024 Kb or 1,048,576 bits
1 Gigabit (Gb) = 1024 Mb or 1,048,576 Kb or 1,073,741,842 bits
ect.
So 10,000 packets per second of 64 byte packets (don't forget to calculate your CRC on top of that that adds 4 bytes, so it is really 68 bytes) is as follows;
68 bytes x 8 = 544 bits
10000 packets per second x 544 bits per packet = 5,440,000 bits per second
5440000 bits per second / 1024 bits per kilobits = 5,312.5 Kbps
5312.5 Kbps /1024 Kb/Mb = 5.18798828125 Mbps Quote
See reference
http://en.wikipedia.org/wiki/Kilobits
http://en.wikipedia.org/wiki/Megabit
http://en.wikipedia.org/wiki/Gigabit Quote
"(don't forget to calculate your CRC on top of that that adds 4 bytes, so it is really 68 bytes) "
Ethernet Header and Trailer is 18 bytes.
DMAC = 6Bytes.
SMAC = 6Bytes.
Length = 2Bytes.
CRC = 4Bytes.
For a frame to be valid, 46Bytes of payload is minimum to construct a 64Byte frame. You dont need to add 4Bytes to make it 68Bytes. Quote
dumb.. Quote