Ethernet Switch Buffer Depth Estimator Guide

Engineering Guide

← Back to Ethernet Switch Buffer Depth Estimator

Guide content coming soon.

Standards & References

IEEE802.3

Standard for Ethernet

IEEE

Sections: Clause 34: Frame Preemption

IEC61158

Digital data communications for measurement and control - Fieldbus for use in industrial control systems

IEC

Sections: Part 4: Data-link layer service definition

Frequently Asked Questions

What is the minimum buffer depth required for EtherCAT in a 100 Mbps real-time network with 1 ms RTT?

For EtherCAT (IEC 61158 Type 12), deterministic performance requires buffering at least one full cycle’s worth of frames in flight. Using the estimator: with 100 Mbps bandwidth, 1 ms RTT, 10 packets in flight, and 128-byte packets, the calculation yields ~12.5 kB. However, EtherCAT’s distributed clock synchronization and master-slave timing constraints mean buffers must accommodate worst-case jitter and link-layer retransmission gaps. Per ETG.1000 v2.3, recommended minimum is 16–32 kB per port to absorb micro-bursts without violating the 100 µs jitter budget. Always validate against actual cycle time stability under load—not just theoretical throughput.

How does PROFINET IRT differ from standard TCP/IP buffering requirements?

PROFINET IRT (IEC 61158/61784-2) mandates strict deterministic latency (<1 ms) and jitter <1 µs, unlike best-effort Ethernet. Standard TCP/IP buffering assumes statistical multiplexing and retransmission tolerance; IRT requires zero packet loss and predictable queuing delay. Buffers must be sized not for average traffic, but for worst-case burst duration during topology changes or diagnostics—per PROFINET Conformance Class A/B/C specs. The estimator’s ‘packets in flight’ input reflects IRT’s fixed cyclic frame count (e.g., 16–64 frames/cycle), not TCP windows. Under-sizing causes frame drops that break IRT synchronization, triggering safety shutdowns per IEC 61784-2 Annex D.

Is packet size (64 vs. 1500 bytes) critical when estimating switch buffers for industrial protocols?

Yes—critically. Industrial protocols like EtherCAT and POWERLINK use small, fixed-size frames (typically 64–256 bytes) for low-latency determinism. Buffer depth scales linearly with packet size, but more importantly, smaller packets increase header overhead and per-packet processing load. A 64-byte packet consumes the same buffer memory as a 1500-byte one—but triggers ~23× more interrupt/service events. Switch ASICs may have per-packet metadata overhead (e.g., 32–64 bytes), making 64-byte traffic far less memory-efficient. The estimator defaults to 128 bytes to reflect typical real-time frame sizes; using 1500 bytes overestimates usable buffer capacity by up to 90% for control traffic.

Can I rely solely on this buffer estimator for SIL2-certified PROFINET deployments?

No. While the estimator provides a physics-based lower bound, SIL2 compliance (per IEC 62443-3-3 and IEC 61508) requires fault-tolerant design validation—not just static sizing. You must verify buffer behavior under failure modes: e.g., port congestion, STP topology changes, or CPU saturation. EN 62061 mandates quantifiable MTTFd for communication subsystems; buffer overflow must be modeled as a detectable fault with <10⁻⁶/h failure rate. Use vendor-specific buffer monitoring (e.g., Cisco IOS-XE ‘show platform hardware fed switch active qos stats’) and integrate with FMEA. The estimator is a starting point—not a certification artifact.

Why does the estimator use RTT instead of one-way delay for buffer calculation?

RTT (Round-Trip Time) captures the end-to-end feedback loop critical for closed-loop industrial control. Protocols like EtherCAT and SERCOS III rely on master-driven scheduling where the controller must receive acknowledgments before issuing the next command cycle. Buffer depth must hold all unacknowledged frames in transit and queued for transmission—hence RTT reflects total in-flight time including processing delay at slaves. One-way delay ignores slave response latency and master scheduling jitter. Per IEC 61784-2 Table 11, RTT-based sizing ensures worst-case queue occupancy aligns with cycle time budgets, whereas one-way delay alone risks underestimating by up to 2× in multi-hop topologies.

Do modern TSN switches eliminate the need for manual buffer depth estimation?

No—TSN (IEEE 802.1Qbv, Qbu, Qci) enhances determinism but doesn’t remove buffering requirements. Time-aware shapers (802.1Qbv) reduce queuing variability, while frame preemption (802.1Qbu) lowers latency for critical frames—but buffers still must absorb micro-bursts during guard band transitions or credit starvation. IEEE 802.1Qcc mandates explicit buffer allocation per traffic class. Manual estimation remains essential to size per-class queues and avoid credit exhaustion. For example, a 100 Mbps TSN port running 10 µs cycle time needs ≥20 kB/class buffer to handle 200+ frames/cycle—even with shaping. Vendor TSN implementations vary widely in buffer architecture (shared vs. dedicated), so empirical validation is mandatory.

How do I reconcile this estimator’s output with switch datasheet ‘buffer per port’ specs?

Switch datasheets often quote total shared buffer (e.g., 1.5 MB) or per-port buffer (e.g., 2 MB)—but rarely specify allocation granularity. Real-world buffers are partitioned across queues, priority levels, and egress ports. For industrial protocols, you need guaranteed per-queue buffer, not aggregate. A 2 MB ‘per port’ spec may allocate only 64 kB to the highest-priority queue used for IRT/EtherCAT. Cross-reference with vendor QoS documentation: Cisco’s ‘mls qos queue-set’ or Hirschmann’s ‘buffer allocation profile’. The estimator’s output should match the guaranteed reserved buffer for your protocol’s CoS/DSCP class—not the headline number. Always test with iperf3 + ping flood to confirm actual loss-free capacity.