Skip to main content

Transport Reliability & Flow Control

Real-time networks are inherently unreliable. To ensure high-quality streaming for mission-critical or interactive applications, NanoPing employs three primary mechanisms to handle hostile network conditions: Forward Erasure Correction (FEC) for data integrity, Integrated Jitter Buffering for timing control, and Bandwidth-aware Load Distribution for multi-link optimization.

This section details how to configure these features to balance latency, reliability, and throughput.

1. Data Recovery: Forward Erasure Correction (FEC)

Packet loss is unavoidable on the public internet. Waiting for retransmissions (like TCP) creates unacceptable delays for real-time video. NanoPing solves this by sending "repair packets"—redundant data that allows the receiver to mathematically reconstruct lost packets instantly.

We support several algorithms tailored to different network behaviors, from bursty wireless connections to stable satellite links.

  • Core Concept: Recover lost data without retransmission.
  • Available Algorithms: Rely (Sliding Window), RLNC, Reed-Solomon, Parity 2D.
  • Best For: Environments with high packet loss (>1%).

Read the FEC Algorithms Guide →


2. Timing & Flow: Jitter Buffer Integration

Receiving the data is only half the battle; delivering it smoothly is the other. Network "Jitter" causes packets to arrive with varying delays. NanoPing moves the traditional Jitter Buffer logic out of the video player and into the Transport Layer.

This allows the transport protocol (Raft) to make intelligent decisions—such as dropping late frames to preserve a strict latency budget—before the data ever reaches the application.

  • Core Concept: Smooth out network variance while enforcing latency limits.
  • Key Feature: Configurable delivery_policy (Timeout vs. Ordered).
  • Best For: Ultra-low latency requirements (teleoperation, gaming).

Read the Jitter Buffer Guide →


When multiple network links (carriers) are available, standard round-robin distribution isn't always efficient. NanoPing allows you to assign Carrier Priorities, ensuring that preferred links (e.g., Ethernet) are used to their full capacity before falling back to expensive or less stable links (e.g., 5G/LTE).

Raft continuously estimates available bandwidth to manage this fallback automatically, ensuring seamless throughput without manual intervention.

  • Core Concept: Prioritize specific carriers with automatic overflow handling.
  • Key Feature: carrier_priority settings (Higher value = Higher priority).
  • Best For: Multi-homed devices requiring cost or performance optimization.

Read the Load Distribution Guide →


Summary Comparison

FeatureSolves ProblemMechanismImpact on Latency
FECPacket Loss (Missing Data)Adds mathematical redundancy (Repair Packets).Slight increase (bandwidth overhead).
Jitter BufferJitter (Uneven Arrival)Holds packets briefly to reorganize or smooth flow.Increases latency to ensure smoothness.
Load DistributionInefficient Routing (Link Saturation)Prioritizes carriers with automatic fallback.Minimal; optimizes throughput.