Analyseur de Performance Reseau
Presentation
Objectif principal : Un outil pour mesurer les performances reseau. Ping, traceroute, test de bande passante, latence. Avec graphiques en temps reel et export des resultats.
Technologies utilisees : Java avec ProcessBuilder pour appeler les outils systeme (ping, traceroute). Sockets pour les tests de bande passante custom. JFreeChart pour les graphiques.
Fonctionnalites cles : Ping avec stats (min/max/avg/jitter), traceroute visuel, test de debit TCP/UDP, historique des mesures, alertes si la performance degrade.
Livrables attendus : Application avec dashboard. Comparaison de plusieurs hotes. Export en PDF des rapports.
Calendrier previsionnel : Deux semaines. Le plus dur c'est de parser les outputs des commandes systeme qui varient selon l'OS.
Parties prenantes & criteres de succes : Projet perso pour diagnostiquer mes problemes de connexion. Je voulais voir si c'etait mon FAI ou mon routeur.
Le Defi
Faire un test de bande passante precis. TCP a du flow control, ca fausse les mesures. UDP c'est mieux mais on peut saturer le reseau. Et faut un serveur de l'autre cote pour recevoir les paquets.
La Solution
J'ai fait un mode client/serveur. Le serveur recoit et renvoie (pour mesurer upload et download). Je mesure le temps et le volume transfere. Pour TCP, j'utilise des buffers de taille optimale. Pour UDP, je mesure aussi le packet loss.
Architecture Technique
Module ping avec parsing des outputs (regex differentes pour Windows/Linux/Mac). Module traceroute idem. Module bandwidth avec BandwidthServer et BandwidthClient. Module stats qui stocke l'historique en SQLite. Interface Swing avec JFreeChart pour les graphiques temps reel. Thread pool pour les tests en parallele.
Points Cles
- Cross-platform (Win/Linux/Mac)
- Graphiques temps reel
- Historique avec comparaison
Apercu
Resultats & Apprentissages
J'ai decouvert que mon routeur avait un probleme de buffer bloat (latence qui explose sous charge). L'outil m'a vraiment aide. J'ai appris les subtilites des mesures reseau et pourquoi c'est pas si simple de mesurer "la vitesse".
Evolutions Futures
Tests vers des serveurs publics (comme speedtest.net). MTR (combine ping et traceroute). Detection automatique des problemes. Notifications push si le reseau degrade.