PGM Protocol Efficiency
Excluding bit usage of SPM broadcasts, PGM efficiency is 95.0% for single packet APDUs.
MAC Pre-amble: 7 bytes
Start-of-Frame-Delimiter: 1 byte
802.3 MAC Frame: 18 bytes
IPv4 Header: 20 bytes
PGM Header: 11 bytes
ODATA Header: 8 bytes
Payload: 1,461 bytes
Interframe Gap: 12 bytes
* ----------------------------------------------*
* Total: 1,538 bytes*
_ Efficiency: (1,461 ÷ 1,538 × 100%) = 95.0%_
* ----------------------------------------------*
NB: 802.3 MAC frame = 6 bytes MAC destination + 6 bytes MAC source + 2 bytes ethertype + 4 bytes checksum.
For a 64KB APDU on standard Ethernet framing, no FEC, efficiency drops to 93.6%.
Number of packets = (64 × 1,024) ÷ 1,433 = 46
Payload per packet = (64 × 1,024) ÷ 46 = 1,425 bytes + 14 bytes remainder.
MAC Pre-amble: 7 bytes
Start-of-Frame-Delimiter: 1 byte
802.3 MAC Frame: 18 bytes
IPv4 Header: 20 bytes
PGM Header: 11 bytes
OPT_LENGTH Header: 4 bytes
OPT_FRAGMENT Header: 16 bytes
ODATA Header: 8 bytes
Payload: 1,425 bytes
Interframe Gap: 12 bytes
* ----------------------------------------------*
* Sub-Total: 1,522 bytes*
* × 46 packets*
* 70,012 bytes*
* Subtract remainder: -14 bytes*
* Total: 69,998 bytes*
_ Efficiency: (65,536 ÷ 69,001 × 100%) = 93.6%_
* ----------------------------------------------*
NB: Maximum fragment payload is calculated as follows.
Maximum IP payload: 1,500 bytes
Subtract IPv4 Header: -20 bytes
Subtract PGM Header: -19 bytes
Subtract OPT_LENGTH Header: -4 bytes
Subtract OPT_FRAGMENT Header: -16 bytes
Subtract ODATA Header: -8 bytes
* ----------------------------------------------*
* Total: 1,433 bytes*
* ----------------------------------------------*
For UDP encapsulation of single packet APDUs efficiency is at 94.5% for IPv4 and 93.2% for IPv6.
MAC Pre-amble: 7 bytes
Start-of-Frame-Delimiter: 1 byte
802.3 MAC Frame: 18 bytes
IPv4 Header: 20 bytes
UDP Header: 8 bytes
PGM Header: 11 bytes
ODATA Header: 8 bytes
Payload: 1,453 bytes
Interframe Gap: 12 bytes
* ----------------------------------------------*
* Total: 1,538 bytes*
_ Efficiency: (1,453 ÷ 1,538 × 100%) = 94.5%_
* ----------------------------------------------*
MAC Pre-amble: 7 bytes
Start-of-Frame-Delimiter: 1 byte
802.3 MAC Frame: 18 bytes
IPv6 Header: 40 bytes
UDP Header: 8 bytes
PGM Header: 11 bytes
ODATA Header: 8 bytes
Payload: 1,433 bytes
Interframe Gap: 12 bytes
* ----------------------------------------------*
* Total: 1,538 bytes*
_ Efficiency: (1,433 ÷ 1,538 × 100%) = 93.2%_
* ----------------------------------------------*
FEC only affects multiple packet APDUs when using variable packet length per TPDU, for a 64KB APDU as above there is no difference.
Number of packets = (64 × 1,024) ÷ 1,431 = 46
Payload per packet = (64 × 1,024) ÷ 46 = 1,425 bytes + 14 bytes remainder.
MAC Pre-amble: 7 bytes
Start-of-Frame-Delimiter: 1 byte
802.3 MAC Frame: 18 bytes
IPv4 Header: 20 bytes
PGM Header: 11 bytes
OPT_LENGTH Header: 4 bytes
OPT_FRAGMENT Header: 16 bytes
ODATA Header: 8 bytes
Payload: 1,425 bytes
Interframe Gap: 12 bytes
* ----------------------------------------------*
* Sub-Total: 1,522 bytes*
* × 46 packets*
* 70,012 bytes*
* Subtract remainder: -14 bytes*
* Total: 69,998 bytes*
_ Efficiency: (65,536 ÷ 69,998 * 100%) = 93.6%_
* ----------------------------------------------*
NB: Maximum packet payload is calculated as 1,433 - 2 = 1,431 bytes.
Ethernet Line Performance
Minimum Ethernet frame is 64 bytes, therefore calculating maximum packet rate for gigabit Ethernet with an interframe gap of 96 ns.
MAC Pre-amble: 7 bytes
Start-of-Frame-Delimiter: 1 byte
802.3 MAC Frame: 18 bytes
Payload: 46 bytes
Interframe Gap: 12 bytes
* ----------------------------------------------*
* Total: 84 bytes*
_ Maximum packets-per-second: 1,000,000,000 ÷ (84 × 8) = 1,488,100 pps_
* ----------------------------------------------*
At reduced IFG of 64 bit times (8 bytes) the rate increases to 1,562,500 pps.
Maximum Ethernet frame is 1,518 bytes, therefore maximum full frame rate is calculated as follows.
MAC Pre-amble: 7 bytes
Start-of-Frame-Delimiter: 1 byte
802.3 MAC Frame: 18 bytes
Payload: 1,500 bytes
Interframe Gap: 12 bytes
* ----------------------------------------------*
* Total: 1,538 bytes*
_ Maximum packets-per-second: 1,000,000,000 ÷ (1,538 × 8) = 81,274 pps_
* ----------------------------------------------*
At reduced IFG of 64 bit times (8 bytes) the rate increases to 81,486 pps.
Maximum Goodput
Goodput is the application level throughput, i.e. the number of useful bits per unit of time forwarded by the network from a certain source address to a certain destination, excluding protocol overhead, and excluding retransmitted data packets.
IP/PGM: 82,274 × 1,461 bytes = 962mbs⁻¹.
UDP over IPv4/PGM: 82,274 × 1,453 bytes = 956mbs⁻¹.
UDP over IPv6/PGM: 82,274 × 1,433 bytes = 943mbs⁻¹.