# Bandwidth calculation for protocol over different Data/Physical links

I am trying to calculate what the bandwidth utilisation for a specific protocol would be over different links. As a start, I have the utilisation for this protocol over Ethernet. E.g 70kbytes/sec, and this would be at the TCP layer, i.e it would include L1 to L4. I got this answer by doing a Wireshark trace, and then Statistics -> Summary, which gives the Ave Bytes per sec for my filter.

Now I want to calculate/estimate what it would be for the following link types: 802.1Q, ATM, HDLC, PPP, Frame Relay and Fiber.

What would be a good technique to do this?

Would it be sufficient if I took the average packet size, then removed the Ethernet overhead, and added the different overheads for each link type

E.g 70 KBytes per sec, which was 158223 Bytes over 315 packets. The average packet size would then be 502.2952 Bytes per packet.

Can I then just remove 18 bytes for Ethernet, and then add the following to get the bandwidth for each different transport:

``````ATM               ?
Ethernet          18
Ethernet 802.1Q   22
HDLC          ?
PPP               7
FrameRelay        7
Fiber         ?
``````

Can you also help me complete the above missing overhead values?

Assuming you're untagged, your current stack on the wire is:

• 7B preamble
• 1B SFD
• 6B DMAC
• 6B SMAC
• 2B type
• 20B IPv4
• 20B TCP
• nB application data
• 4B CRC
• 12B IFG

First thing is very important, you are looking at L2 overhead, you must consider L1 overhead also.
For ethernet preamble, sfd and ifg are L1, they are not really bytes but ethernet defines them strictly at byte sized amount of time.

For ATM you can't get very accurate reading with your methodology, because it assumes static overhead. If you try send payload of 49B you'll fit it in single ethernet frame, but you'll need two ATM cell, second cell has 52B of overhead and 1B of data.
This problem does not exist in HDLC, PPP or FrameRelay, and your methodology will give decent approximation on those.

If you want really accurate data, you need to have size of each packet send, then calculate what they are when serialized to given L1 technology with given L2 technology.
The larger the packets are that you send, the less sensitive your calculations are to the approximation method as overhead will be smaller contributor.