/ Embedded · 2023

Reliable Transport Protocol Over UDP

TCP‑like reliability on UDP: sliding‑window ARQ, cumulative/selective ACKs, per‑packet timers, CRC‑32.

Reliable Transport Protocol Over UDP

Overview

A custom reliable transport protocol built on top of UDP, implementing TCP-like reliability features including sliding window flow control, automatic repeat request (ARQ), both cumulative and selective acknowledgments, per-packet timeout timers, and CRC-32 checksums for error detection. Written in C for high performance.

Key Features

  • Sliding window flow control
  • Selective and cumulative acknowledgments
  • Per-packet timeout and retransmission
  • CRC-32 error detection
  • Out-of-order packet handling
  • Congestion avoidance mechanisms

Technical Challenges

Managing complex timer states for multiple in-flight packets, implementing efficient packet reordering, and achieving comparable performance to TCP while maintaining reliability.

Outcome

Achieved 99.99% reliability on lossy networks with 5% packet loss. Throughput within 10% of TCP on high-latency connections.

Technologies

  • C
  • UDP
  • CRC-32
  • Sliding Window
  • ARQ