Skip to content

Repository files navigation

Network Accelerator

An educational C++20 project for measuring and improving communication across high-latency, lossy, and asymmetric networks.

The project is developed in independently measurable phases. Phase 1 provides a reproducible Linux WAN laboratory and verified direct-TCP baselines. Phase 2 adds a plain paired TCP relay over server-authenticated TLS. Phase 2 is a correctness and comparison baseline; it is not yet a real accelerator.

Start here

Build

cmake -S . -B build
cmake --build build
ctest --test-dir build --output-on-failure

Build dependencies are a C++20 compiler, CMake, OpenSSL development headers, and POSIX threads. Runtime lab dependencies are Linux, Bash, iproute2 (ip, tc), jq, Python 3, and root access for network namespaces and queue disciplines.

Quick local smoke test

In one terminal:

./build/accelerator-bench server --listen 127.0.0.1 --runs 1

In another:

./build/accelerator-bench client \
  --host 127.0.0.1 \
  --bytes 1048576 \
  --profile loopback

A successful result contains "verified":true. See the Phase 1 guide before interpreting performance numbers.

Phase 2 local relay smoke test

Generate throwaway local certificates:

./scripts/make-dev-certs.sh

Then run the loopback relay validation:

./scripts/test-phase2.sh

This starts accelerator-bench, accelerator-egress, and accelerator-ingress, then sends a deterministic payload through the TLS relay.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages