quic-test
Описание
A simple tool for testing QUIC protocol performance and stability. Includes both client and server, collects metrics, and generates reports.
Языки
- D73%
- Go17,8%
- Rust4,3%
- Shell2,7%
- Makefile0,8%
- C++0,8%
- Остальные0,6%
2GC Network Protocol Suite
A comprehensive platform for testing and analyzing network protocols: QUIC, MASQUE, ICE/STUN/TURN and others with real-time professional visualizations.
Language: English, Русский Level: Bachelor (3-4 year), Master's, PhD Research Domain: Network Technologies, Transport Protocols Organization: CloudBridge Research Center
Documentation
Available in multiple languages:
- English: This document (readme.md)
- Russian: readme_ru.md - Русская документация и методические материалы для лабораторных работ
This project is developed as part of the CloudBridge Research educational initiative for laboratory work in network protocols and distributed systems.
ML Integration: This test suite is tightly integrated with the AI Routing Lab project, which uses QUIC performance metrics to train machine learning models for predictive route selection in CloudBridge network infrastructure. See the Integration with AI/ML section for details.
New: Real-time QUIC Bottom Integration
Professional TUI visualizations based on the popular system monitor, providing real-time QUIC metrics with advanced analytics, network simulation, security testing, and cloud deployment monitoring.
Documentation: See TUI User Guide for complete usage instructions.
TCP-over-QUIC Research Framework
This test suite includes a comprehensive framework for researching TCP application tunneling over QUIC — modeling real-world overlay networks and Zero Trust architectures. Compare native TCP, native QUIC, and TCP-over-QUIC (CloudBridge architecture) in mobile, satellite, and adversarial network conditions.
Key Features
- Real-time Metrics Visualization - Professional TUI with live QUIC performance data
- Advanced Analytics - Heatmaps, correlation analysis, anomaly detection
- Network Simulation - Real Linux tc integration with preset profiles
- Security Testing - Comprehensive QUIC security analysis and attack simulation
- Cloud Integration - Multi-cloud deployment with auto-scaling
- Interactive Controls - Real-time parameter adjustment and view switching
Features
- QUIC Protocol Testing - Advanced QUIC implementation with experimental features
- MASQUE Protocol Support - Tunneling and proxying capabilities
- ICE/STUN/TURN Testing - NAT traversal and P2P connection testing
- TLS 1.3 Security - Modern cryptography for secure connections
- HTTP/3 Support - HTTP over QUIC implementation
- Experimental Features - BBRv2, ACK-Frequency, FEC, Bit Greasing
- Real-time Monitoring - Prometheus metrics and Grafana dashboards
- Comprehensive Testing - Automated test matrix and regression testing
- Professional Visualizations - Real-time TUI with QUIC Bottom integration
Integration with AI/ML
AI Routing Lab - Predictive Route Selection
quic-test provides real-time metrics that power machine learning models for intelligent route optimization:
- Real-time Metrics Export - Prometheus metrics on port 9090 with comprehensive QUIC performance data
- Metric Collection - Automatic data collector for latency, jitter, throughput, and loss patterns
- Model Training - Historical metric data enables ML models to predict latency and jitter across network paths
- ML Validation - Trained predictive models validated against live QUIC traffic patterns
- Production Deployment - Optimized models integrated into CloudBridge Relay for intelligent routing decisions
Key Integration Points:
- Metrics Export - Go application exports real-time Prometheus metrics
- Data Collection - AI Routing Lab collector ingests metrics from quic-test instances
- Predictive Models - ML models analyze patterns and predict optimal routing
- Feedback Loop - Predictions validated against actual network performance
Quick Integration Example:
Learn More: See AI Routing Lab Integration Guide for detailed setup and API documentation.
Related Projects: AI Routing Lab, CloudBridge Relay
Supported Protocols
- QUIC - Fast and reliable transport protocol
- MASQUE - Protocol for tunneling and proxying
- ICE/STUN/TURN - Protocols for NAT traversal and P2P connections
- TLS 1.3 - Modern cryptography for secure connections
- HTTP/3 - HTTP over QUIC
Quick Start with QUIC Bottom
Prerequisites
- Go 1.25+
- Rust 1.70+
- Linux (for network simulation features)
Installation
Running with Real-time Visualizations
QUIC Bottom Features
Real-time Visualizations
- Time-series Graphs - Latency, throughput, connections, errors
- Performance Heatmaps - Visual performance data representation
- Correlation Analysis - Statistical correlation between metrics
- Anomaly Detection - Real-time anomaly detection and alerts
Interactive Controls
- Quitq/ESC- Reset all datar- Show helph- Switch views (Dashboard, Analytics, Network, Security, Cloud, BBRv3)1-6- All viewsa- Toggle network simulationn- Change network preset+/-- Toggle security testings- Toggle cloud deploymentd- Scale cloud instancesi
View Modes
- Dashboard - Basic graphs + heatmap + anomaly detection
- Analytics - Correlation analysis + anomaly detection
- Network - Network simulation status and controls
- Security - Security testing status and results
- Cloud - Cloud deployment status and controls
- BBRv3 - BBRv3 congestion control metrics and analysis
- All - Complete overview of all features
Network Simulation
Preset Profiles
- excellent - 5ms latency, 0.1% loss, 1 Gbps
- good - 20ms latency, 1% loss, 100 Mbps
- poor - 100ms latency, 5% loss, 10 Mbps
- mobile - 200ms latency, 10% loss, 5 Mbps (with reordering)
- satellite - 500ms latency, 2% loss, 2 Mbps (with duplication)
- adversarial - 1000ms latency, 20% loss, 1 Mbps (with corruption)
Real Linux tc Integration
Security Testing
TLS/QUIC Security Analysis
- TLS Version Validation - TLS 1.2, TLS 1.3 support
- Cipher Suite Analysis - Strong cipher validation
- Certificate Validation - Certificate chain verification
- 0-RTT Security Testing - Early data security analysis
- Key Rotation Testing - Cryptographic key management
- Anti-replay Protection - Replay attack prevention
Attack Simulation
- MITM Attack Simulation - Man-in-the-middle attack testing
- Replay Attack Testing - Packet replay analysis
- DoS Attack Simulation - Denial of service testing
- Timing Attack Analysis - Side-channel attack detection
Cloud Integration (Russian Providers)
Multi-cloud Support
- Yandex Cloud - Compute Instances, ALB, Monitoring integration
- VK Cloud - Virtual Machines, Load Balancer, Monitoring
- Rostelecom Cloud - Compute Resources, Load Balancer, Analytics
- On-premises Kubernetes - Support for local infrastructure deployment
- Hybrid Cloud - Integration with existing infrastructure
Auto-scaling Features
- Dynamic Scaling - 1-5 instances based on metrics
- Load Balancer Integration - Yandex ALB, VK LB, Rostelecom LB
- SSL/TLS Termination - Secure connection handling
- Health Checks - Automated monitoring and alerts
HTTP API
Endpoints
- Receive metrics from Go applicationPOST /api/metrics- Health checkGET /health- Get current metricsGET /api/current
Metrics Structure
Usage
Basic QUIC Testing
With QUIC Bottom Visualization
Experimental QUIC Features
Network Simulation
Security Testing
Cloud Deployment (Russian Providers)
Architecture
Go Application (QUIC Tester)
main.go
├── Metrics Collection
├── HTTP API Bridge (port 8080)
├── Network Simulation
├── Security Testing
└── Cloud Deployment
Rust Application (QUIC Bottom)
quic-bottom/
├── HTTP API Client
├── Real-time TUI
├── Professional Visualizations
├── Interactive Controls
└── Metrics Processing
Communication Flow
Go QUIC Tester → HTTP API → Rust QUIC Bottom → TUI Display
↓ ↓ ↓
Real Metrics → JSON Format → Professional Graphs
Performance Features
Real-time Updates
- 100ms update interval for smooth real-time visualization
- HTTP API for low-latency metrics transmission
- Efficient data structures for high-performance rendering
Professional Visualizations
- Time-series graphs with proper scaling and labels
- Heatmaps for performance data visualization
- Correlation matrices for statistical analysis
- Anomaly detection with real-time alerts
Development
Building from Source
Running Tests
Development Mode
Documentation
User Guides
- TUI User Guide - Complete guide to using the QUIC Bottom Real Terminal User Interface
- Installation and setup
- All view modes explained
- Keyboard shortcuts reference
- Metrics interpretation
- Troubleshooting guide
Technical Documentation
- Architecture Guide
- API Documentation
- Deployment Guide
- Docker Guide
- Usage Guide
- Real Integration Report
For complete documentation index, see docs/README.md.
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
About CloudBridge Research
This project is developed and maintained by CloudBridge Research, an independent research center specializing in network technologies, distributed systems, and cybersecurity.
Why Support CloudBridge Research?
Community sponsorship keeps the research roadmap moving forward, trains new experts, and ensures our open technologies stay available to everyone:
- Innovation — fuel cutting-edge research in network technologies shaping the future of the Internet
- Talent — access top students and researchers through academic programs and summer schools
- Impact — help define open standards and technologies adopted worldwide
Mission
- Conduct fundamental and applied research in network protocols (QUIC, MASQUE, BGP, etc.)
- Develop and distribute open-source software for network optimization
- Educate the next generation of network specialists
- Collaborate with leading universities and research institutions
Key Research Areas
- QUIC Protocol Optimization (BBRv3, Forward Error Correction, ACK Frequency)
- BGP Anycast and advanced routing
- Zero-Trust Network Architecture
- Machine Learning for network optimization
- Post-Quantum Cryptography and network security
Contact & Resources
- Official Website: https://cloudbridge-research.ru/
- Director: Maksim Lanies
- Email: info@cloudbridge-research.ru
- Sponsors & Partners: https://cloudbridge-research.ru/sponsors/ — Invest in the future of network technologies and support CloudBridge Research initiatives.
Funding Sources
CloudBridge Research combines public and private programs to keep research sustainable:
- Government Grants — RSF, RFBR, Ministry of Education and Science, Presidential grants
- Corporate Funding — technology vendors, cloud providers, telecom operators, data centers
- Education Grants — curriculum development, student scholarships, summer school support
Educational Programs
This test suite is used in CloudBridge Research laboratory programs for:
- Bachelor degree students (3rd-4th year, computer science)
- Master's degree students (network technologies, distributed systems)
- PhD researchers in network protocols
Learning Objectives
Through this laboratory work, students will:
- Understand QUIC protocol design and implementation
- Gain hands-on experience with network performance testing
- Learn about congestion control algorithms (BBR, CUBIC, BBRv3)
- Explore modern cryptography (TLS 1.3) in network context
- Conduct scientific experiments with real-time data visualization
- Develop skills in cloud deployment and infrastructure optimization
- Research TCP-over-QUIC architectures — compare TCP, QUIC, and TCP-over-QUIC in unstable networks
- Investigate overlay networks and Zero Trust security models
- Analyze dual congestion control effects (TCP + QUIC algorithms)
- Explore Forward Error Correction impact on tunneled TCP applications
For detailed Russian language documentation with lab materials and teaching guidelines, see readme_ru.md.
Acknowledgments
- QUIC-Go - Go QUIC implementation
- Bottom - System monitor inspiration
- Ratatui - Rust TUI framework
- Warp - Rust HTTP framework
What's New
v2.0.0 - Real-time QUIC Bottom Integration
- Real-time metrics visualization with professional TUI
- HTTP API integration between Go and Rust applications
- Network simulation with real Linux tc integration
- Security testing with comprehensive QUIC analysis
- Cloud deployment with multi-cloud support
- Interactive controls for real-time parameter adjustment
- Advanced analytics with heatmaps, correlation, and anomaly detection
This is a complete, production-ready QUIC testing and monitoring platform with professional real-time visualizations!