Architecture réseau d’une LAN Party : La latence

Ce billet sera le dernier billet évoquant la préparation de l’Utt Arena. En tant que dernier sujet, j’ai choisi de parler de la mesure de la latence sur une LAN. Avant de commencer, faisons un petit point d’avancement comme à chaque fois.

L’Utt Arena c’est demain. Ca fait toujours un choc de se rendre compte de ca je trouve. Nous avons fait une dernière séance de préparation hier soir afin de régler les derniers aspects de réseau. Nous avons vérifié le fonctionnement des accès Telnet aux équipements afin de pouvoir les administrer le jour J, nous avons validé les configurations des routeurs 2800 et des 3750. Nous avons également testé le fonctionnement de notre sonde de mesure de la latence dont je parlerais plus en détail aujourd’hui. Nous sommes prêts. Nous avons réussi à faire et à tester tout ce que nous souhaitions effectuer avant l’événement. Pour le reste, on donnera le meilleur de nous-même.

Je vais faire le maximum pour essayer de faire au moins un retour d’expérience pendant l’évènement pour ceux que ca pourrait intéresser. Je ne garantis pas que ce sera extraordinaire car la fatigue et la déconcentration devront être de la partie. De toute manière, je ferais un retour d’expérience une fois l’évènement passé et après avoir débriefé avec mon équipe.

La latence est l’intervalle de temps entre l’émission d’un requête et la réception de la réponse. La notion de latence peut s’appliquer à toutes les applications impliquant un ou plusieurs intermédiaires. Il s’agit d’une notion clé lors d’une LAN Party. Les joueurs passent un temps non négligeable les yeux rivés sur l’indicateur de latence.

Les facteurs influant sur la latence sont la congestion réseau, surtout dans le cas d’applications UDP, les temps de calcul des équipements intermédiaires et la qualité du support physique. La congestion réseau est un vrai problème en LAN car des fichiers ont tendance à circuler entre les différents ordinateurs. Nous avons solutionné largement ce problème en appliquant des ACL de filtrage lorsque les tournois ont lieu. La qualité du support phyisque est un problème réduit dans le cas des réseaux câblés mais peut néanmoins intervenir lorsque les câbles sont maltraités.

Le temps de calcul des équipements intermédiaires est une réelle problématique sur laquelle il est relativement difficile d’agir. Dans le cas de commutateur, le temps d’exécution de l’algorithme de commutation est minime mais peut augmenter avec la montée du CPU du commutateur. Dans le cas d’un routeur, les algorithmes sont plus longs. Pour éviter cela, nous avons implémenté un mécanisme de QoS (LLQ).

Habituellement, nous sommes dans le flou concernant les temps de latence. La seule indication que nous avons habituellement est l’affichage du « ping » sur Counter-Strike ce qui fournit une mesure peu représentative de l’état du réseau. Nous avons donc décidé d’implémenter l’outil SmokePing. Cet outil a été conçu afin de mesurer la latence entre un serveur et différents points du réseau. L’installation de cette application est particulièrement simpliste, de même pour la configuration.

La plus-value de Smokeping est l’étude statistique qu’il effectue sur les valeurs de la latence. Les solutions traditionnelles de supervision se contentent d’afficher une unique valeur de latence. Smokeping vous affiche la distribution statistique de vos valeurs afin d’avoir une idée plus claire de la latence mais aussi de la gigue sur votre réseau. Vous trouverez ci-dessous un exemple de graph que j’ai pu trouver sur Internet. Les barres bleues correspondent aux valeurs de perte de paquets. Les valeurs vertes correspondent à la médiane de latence et les valeurs noires la distribution statistique.

Nous allons mesurer la latence entre un serveur placé dans le LAN des Serveurs et une interface IP du 3750 dans le LAN des joueurs. Ce mode de mesure ne prend pas en compte la latence induite par la congestion des uplinks des tables. Hélas, nous n’avions pas la possibilité de faire autrement sans placer des machines sur les tables. Afin d’observer la congestion réseau sur les liens, nous aurons une weathermap Cacti. Nous mesurerons donc le temps de traversée des routeurs et des ASA, ce qui est déjà un bon début.

Au final, la latence est un aspect réellement primordial d’une LAN. Nous avons décidé de mettre en place un système de mesure efficace afin d’avoir de véritables valeurs et de pouvoir différencier les vrais problèmes de l’effet placebo ou d’une imagination débordante. Smokeping est vraiment un outil excellent d’une simplicité exceptionnelle.