Générateur de trafic

Pour tester des algorithmes de surveillance de trafic à très haut débit, il peut être utile d’avoir un générateur de trafic de synthèse.

Générer du trafic à 10 Gb/s ou plus à partir d’un ordinateur est très difficile. Et il est à peu près impossible de garantir une saturation totale d’un lien à 10 Gb/s en envoyant de petits paquets. C’est pourquoi des machines de génération de trafic sont proposés à la vente. Ces générateurs coûtent très cher.

Je propose une architecture open-source de générateur de trafic sur FPGA. Le code est disponible sur GitHub.

L’architecture matérielle est décrite en VHDL. Un petit logiciel en C sert à communiquer entre l’ordinateur et la carte, et une interface graphique en Python/Qt permet de configurer simplement le trafic à générer. L’architecture est faite pour être flexible et très facile à étendre avec de nouvelles fonctions. Elle est décrite dans cet article (en Anglais).

Les FPGAs sont des puces particulières configurables à très bas niveau. Elles sont bien plus pratiques qu’un processeur pour faire de la programmation massivement parallèle, et pour garantir des délais de traitement très précisément. Le générateur de trafic fonctionne avec une carte d’INVEA-TECH, appelée COMBO-20G. Il permet d’envoyer un trafic configuré précisément (taille des paquets, temps inter-paquets, contenu des paquets) jusqu’à 20 Gb/s.

Ce générateur pourrait aussi être utilisé sur la carte ouverte NetFPGA 10G pour générer du trafic jusqu’à 40 Gb/s. Une adaptation est à faire. J’espère pouvoir travailler dessus rapidement.