Post date: Mar 3, 2016 4:33:11 PM
Data Link Layer:
Ethernet II frame overhead (former 802.3 DIX frame):
Header Length = 12 (Interframe Gap) + 7 (Preamble) + 1 (Start Frame Delimiter) + 6 (Dst Address) + 6 (Src Address) + 2 (Type) + 4 (Frame Check Sequence) = 38 Bytes
(Type: IP = 0x800, ARP = 0x0806, ...)
Ethernet II with Vlan Tagging (802.1q)
Header Length = 38 + 4 (Tag #1) = 42 Bytes
(Inside Tag #1: Type= 0x8100)
Ethernet II with Vlan Tagging (802.1q) and QinQ Vlan (802.1ad)
Header Length = 38 + 4 (Tag #2) + 4 (Tag #1) = 46 Bytes
(Inside Tag #1: Type= 0x8100; Inside Tag #2: Type= 0x88A8 (802.1ad) or 0x9100 (QinQ) )
Note: FCS is recalculated when "popping" and "pushing" Vlan tags
802.11 frame overhead:
7 (Short Preamble) + 2 (Start Frame Delimiter) + 2 (Frame control) + 2 (Duration ID) + 6 (addr1) + 6 (addr2) + 6 (addr3) + 2 (Sequence control) + 6 (addr4) + 4 Frame Check Sequence) = 43 Bytes
16 (Long Preamble) + 2 (Start Frame Delimiter) + 2 (Frame control) + 2 (Duration ID) + 6 (addr1) + 6 (addr2) + 6 (addr3) + 2 (Sequence control) + 6 (addr4) + 4 (Frame Check Sequence) = 52 Bytes
Note: 802.11 interframe gap = SIFS, PIFS, DIFS, EIFS and AIFS (see here)
-----------------------
Network Layer: IP protocol overhead
IPv4 Header Length= 20 Bytes
IPv6 Header Length= 40 Bytes
-----------------------
Transport Layer: UDP and TCP protocol overhead
UDP Header Length= 8 Bytes
TCP Header Length= 20 Bytes
----------------------
Sources:
https://www.gronkulator.com/overhead.html
http://groups.geni.net/geni/wiki/QinqResults
http://www.cnrood.com/public/docs/WiFi_Physical_Layer_and_Transm_Meas.pdf