Debian Debian-France Debian-Facile Debian-fr.org Debian-fr.xyz Debian ? Communautés

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 09-11-2021 12:52:12

Cyril01
Membre
Inscription : 09-11-2021

Priorisation du ping avec l'outil tc

Bonjour à tous,

Tout nouveau sur ce forum ceci est mon premier post.

J'ai un soucis avec tc car je veux prioriser le ping sur une ligne à faible débit régulièrement saturée. quand beaucoup de flux utilisent la ligne (par exemple par un iperf3) je me retrouve avec des temps de réponse qui grimpent en flèche, et je souhaiterai établir une priorité sur le ping afin d'avoir un temps de réponse "normal".

J'essaye de réaliser ceci avec tc pour la priorisation et iptables pour le marquage des paquets.

Actuellement je tag mes paquets avec :
iptables -t mangle -A PREROUTING -i ppp0 -p icmp -j MARK --set-mark 10
iptables -t mangle -A POSTROUTING -o ppp0 -p icmp -j MARK --set-mark 10

Puis je crée une queue tc avec :
tc qdisc add dev ppp0 root handle 1: prio
tc qdisc add dev ppp0 parent 1:1 handle 10: sfq
tc qdisc add dev ppp0 parent 1:2 handle 20: sfq
tc qdisc add dev ppp0 parent 1:3 handle 30: sfq

Puis je relie les deux avec :
tc filter add dev ppp0 parent 1:0 prio 1 handle 10 fw flowid 1:1

Par contre même si j'ai bien le marquage des paquets et la répartition dans les bandes (verifié avec tc -s qdisc dev ppp0) quand je test en lançant un ping, puis en ajoutant en parallèle un iperf3 mon temps de latence de ping augmente sensiblement.

Je ne comprends pas ce que je n'ai pas compris dans tout ça hmm

J'ai bien chargé les modules de noyaux sch_sfq, sch_prio et cls_fw.

J'ai déjà réaliser de très nombreux essais avec d'autres type de qdisc mais rien n'y fait hmm

Si une bonne âme charitable pouvais me guider dans cet arrachage de cheveux qui dure depuis 4 jours ça serait sympa ^

Merci d'avance pour votre aide et au plaisir d'échanger ensemble wink

Cyril

Dernière modification par Cyril01 (09-11-2021 13:03:48)

Hors ligne

#2 09-11-2021 13:34:58

raleur
Membre
Inscription : 03-10-2014

Re : Priorisation du ping avec l'outil tc

Je n'ai jamais réussi à comprendre la logique de tc donc je ne pourrai pas t'aider sur ce point. Par contre je voudrais faire une remarque : la priorisation n'a de sens qu'à l'émission au point de contention, là où la file d'attente d'émission se remplit, donc :
- ça ne sert à rien en réception
- ça ne sert à rien en amont du point de contention si la file d'attente ne se remplit pas.

Exemple : connexion PPPoE 1 Mbit/s via un modem ADSL et une liaison ethernet 100 Mbits. Le point de contention est le modem, pas la liaison ethernet, donc c'est la file d'attente du modem qui va se remplir et pas celle de l'interface ethernet. Pour que la priorisation soit efficace il faut limiter le débit en sortie sur l'interface ethernet au débit montant permis par la liaison ADSL.

Quel type de liaison PPP est-ce ? Via quelle chaîne d'équipements ?

Dernière modification par raleur (09-11-2021 13:39:34)


Il vaut mieux montrer que raconter.

Hors ligne

#3 09-11-2021 14:50:02

Cyril01
Membre
Inscription : 09-11-2021

Re : Priorisation du ping avec l'outil tc

Bonjour Raleur, et merci pour ta réponse.

Je comprends ce que tu veux dire p/r au point de contention, c'est effectivement une remarque judicieuse. Ce serveur linux est dédié au routage et se trouve derrière différents types de connections Internet (sur différents sites). Cela peux être de l'ADSL, de la fibre ou autres... Le ping me permet de réaliser un monitoring de la ligne, j'ai réussis à conserver un temps de réponse stable en bridant les autres flux par une queue htb, cependant cela dégradais trop le débit des autres flux, donc je suis passé sur une queue prio.

Si quelqu'un voit un autre moyen de répondre à cette problématique (stabiliser le temps de réponse du ping sur une ligne saturée par d'autres flux) je suis preneur de tout conseils (même si il ne s'agit d'utiliser tc).

Merci, Cyril

Hors ligne

#4 09-11-2021 15:11:00

raleur
Membre
Inscription : 03-10-2014

Re : Priorisation du ping avec l'outil tc

Brider le débit sortant à la valeur du débit montant de la ligne (avec une marge) devrait permettre de faire ce que tu veux. Ainsi c'est la file d'attente du serveur Linux qui va se remplir et non celle de l'équipement réseau en aval qui est directement connecté à la ligne, ainsi la priorisation devrait avoir un effet.

Deux autres observations:
Tu marques tous le paquets ICMP, mais ICMP ce n'est pas seulement le ping. Le ping, ce sont les type 8 (request) et 0 (reply).
En quoi est-il nécessaire que la latence soit stable ?

Dernière modification par raleur (09-11-2021 15:11:52)


Il vaut mieux montrer que raconter.

Hors ligne

Pied de page des forums