Professional QUIC protocol testing platform for network engineers, researchers, and educators.
English | Русский
quic-test — это профессиональная платформа для тестирования и анализа производительности протокола QUIC. Разработана для образовательных и исследовательских целей, с акцентом на воспроизводимость результатов и детальную аналитику.
Основные возможности:
- Web GUI интерфейс для менее технических пользователей
- Измерение latency, jitter, throughput для QUIC и TCP
- Эмуляция различных сетевых условий (потери, задержки, bandwidth)
- Real-time TUI визуализация
- Экспорт метрик в Prometheus
- WebTransport и HTTP/3 load testing
- Forward Error Correction (FEC) с SIMD оптимизацией
- Post-Quantum Cryptography симуляция
- BBRv3 congestion control с dual-scale bandwidth estimation
# Сборка GUI
make build
# Запуск GUI сервера
make gui
# или
./quic-gui --addr=:8080 --api-addr=:8081
# Открыть браузер
open http://localhost:8080GUI возможности:
- Создание тестов через веб-форму
- Real-time мониторинг активных тестов
- История тестов с детальными метриками
- Остановка тестов одним кликом
- Готовые пресеты для различных сценариев
# Запуск с GUI
docker run -p 8080:8080 -p 8081:8081 -p 9000:9000/udp mlanies/quic-test:latest gui
# Запуск клиентского теста
docker run mlanies/quic-test:latest --mode=client --server=demo.quic.tech:4433
# Запуск сервера
docker run -p 4433:4433/udp mlanies/quic-test:latest --mode=server# Сборка из исходников
git clone https://github.com/cloudbridge-research/quic-test
cd quic-test
# Сборка FEC библиотеки (опционально, для лучшей производительности)
cd internal/fec && make && cd ../..
# Сборка всех компонентов
make build
# Базовый тест
./quic-test --mode=client --server=demo.quic.tech:4433# Простой тест latency/throughput
./quic-test --mode=client --server=localhost:4433 --duration=30s
# Сравнение QUIC vs TCP
./quic-test --mode=client --compare-tcp --duration=60s
# Эмуляция мобильной сети
./quic-test --profile=mobile --duration=30s
# TUI мониторинг
./cmd/tui/tui --server=localhost:4433
# WebTransport тестирование
make test-webtransport
# HTTP/3 load testing
make test-http3quic-test/
├── cmd/
│ ├── gui/ # Web GUI интерфейс
│ ├── tui/ # Terminal UI мониторинг
│ ├── experimental/ # Экспериментальные функции
│ ├── quic-client/ # QUIC клиент
│ ├── quic-server/ # QUIC сервер
│ ├── dashboard/ # Дашборд
│ ├── masque/ # MASQUE VPN тесты
│ ├── ice/ # ICE/STUN/TURN тесты
│ └── security-test/ # Тесты безопасности
├── client/ # QUIC клиент (legacy)
├── server/ # QUIC сервер (legacy)
├── internal/
│ ├── gui/ # GUI сервер и API
│ ├── quic/ # QUIC логика
│ ├── fec/ # Forward Error Correction (C++/AVX2)
│ ├── congestion/ # BBRv2/BBRv3 алгоритмы
│ ├── webtransport/ # WebTransport поддержка
│ ├── http3/ # HTTP/3 load testing
│ ├── pqc/ # Post-Quantum Crypto симуляция
│ ├── metrics/ # Prometheus метрики
│ └── ai/ # AI интеграция
├── web/ # Web GUI статические файлы
│ ├── static/css/ # CSS стили
│ └── static/js/ # JavaScript
└── docs/ # Документация
Подробнее: docs/architecture.md
- Web GUI интерфейс — удобный веб-интерфейс для создания и мониторинга тестов
- QUIC client/server — на базе quic-go с расширениями
- Измерение RTT, jitter, throughput — детальная аналитика производительности
- Эмуляция сетевых профилей — mobile, satellite, fiber, WiFi
- TUI визуализация — real-time мониторинг в терминале
- Prometheus экспорт — интеграция с системами мониторинга
- BBRv2 congestion control — современный алгоритм управления перегрузкой
- BBRv3 congestion control — с dual-scale bandwidth estimation и 2% loss threshold
- Forward Error Correction (FEC) — с AVX2/SIMD оптимизацией
- WebTransport support — тестирование WebTransport соединений
- HTTP/3 load testing — нагрузочное тестирование HTTP/3
- Post-Quantum Cryptography — симуляция PQC алгоритмов (ML-KEM, Dilithium)
- MASQUE VPN тестирование — тесты VPN через QUIC
- ICE/STUN/TURN тесты — тестирование NAT traversal
- Автоматическое обнаружение аномалий
- Multi-cloud deployment
- Расширенная AI интеграция
- Поддержка QUIC v2
Полный roadmap: docs/roadmap.md
- Отчет о сотрудничестве с МЭИ — показатели проекта и программа стажировок
- Путеводитель для студентов — терминология, TCP vs QUIC, RFC документы
- API Reference — полная справка по REST API
- CLI Reference — справка по командам
- Architecture — детальная архитектура
- Education — лабораторные работы для университетов
- AI Integration — интеграция с AI Routing Lab
- Case Studies — результаты тестов с методикой
- TUI User Guide — руководство по TUI интерфейсу
Web GUI предоставляет удобный интерфейс для пользователей без глубоких технических знаний:
- Dashboard — обзор активных тестов и системного статуса
- New Test — создание тестов через веб-форму с валидацией
- Test History — просмотр всех выполненных тестов
- Test Details — детальный просмотр метрик и логов теста
- Real-time Updates — автоматическое обновление статуса тестов
POST /api/tests— создание нового тестаGET /api/tests— получение списка тестовGET /api/tests/{id}— получение деталей тестаDELETE /api/tests/{id}— остановка тестаGET /api/metrics/current— текущие агрегированные метрикиGET /api/metrics/prometheus— метрики в формате Prometheus
Подробнее: docs/API_REFERENCE.md
Проект разработан с акцентом на образование и подготовку кадров. Включает готовые лабораторные работы, образовательные материалы и программу стажировок.
- Путеводитель для студентов — терминология, сравнение TCP vs QUIC, RFC документы
- Практические лабораторные работы с пошаговыми инструкциями
- Готовые сценарии тестирования для различных сетевых условий
- ЛР #1: Основы QUIC — handshake, 0-RTT, миграция соединений
- ЛР #2: Congestion Control — сравнение BBRv2 vs BBRv3
- ЛР #3: Производительность — QUIC vs TCP в различных условиях
- ЛР #4: Forward Error Correction — влияние FEC на производительность
- ЛР #5: Post-Quantum Cryptography — тестирование PQC алгоритмов
Для студентов МЭИ доступны следующие возможности:
Карьерные траектории:
- Junior Network Engineer (80,000 - 120,000 руб/мес)
- Protocol Research Developer (120,000 - 180,000 руб/мес)
- DevOps/Infrastructure Engineer (100,000 - 160,000 руб/мес)
- AI/ML Engineer (140,000 - 200,000 руб/мес)
Условия стажировки:
- Летняя стажировка: 40,000 руб/мес (3 месяца)
- Дипломная практика: 50,000 руб/мес (6 месяцев)
- Гибридный формат работы (офис + удаленка)
- Возможность трудоустройства после успешного завершения
Подробнее: docs/education.md | Отчет о сотрудничестве
quic-test экспортирует метрики в Prometheus, которые используются в AI Routing Lab для обучения моделей предсказания оптимальных маршрутов.
Пример:
# Запуск с Prometheus экспортом
./quic-test --mode=server --prometheus-port=9090
# AI Routing Lab собирает метрики
curl http://localhost:9090/metricsПодробнее: docs/ai-routing-integration.md
# Запуск тестов
make test
# Полный набор тестов
make all
# Smoke test
make smoke
# Сборка Docker образа
make docker-build
# Запуск в Docker
make docker-run
# Линтинг
golangci-lint run
# Статус сборки
make statusmake build— сборка всех бинарных файловmake gui— запуск GUI сервераmake test— базовые функциональные тестыmake bench-rtt— бенчмарки RTTmake bench-loss— бенчмарки потерь пакетовmake soak-2h— 2-часовой стресс-тестmake regression— полный набор регрессионных тестовmake performance— тесты производительности
MIT License. См. LICENSE.
- GitHub: cloudbridge-research/quic-test
- Блог: cloudbridge-research.ru
- Email: info@cloudbridge-research.ru