Derniers journaux de Gill_Bates :

Journal : Traffic shaping

Posté par Frédéric Desmoulins (page perso, ) le 22 septembre 2003
0
Cher journal,

J'essai depuis deja 2 jours de modifier l'ordonnancement de certains packets et je galere, ca ne marche pas. Alors je me demandais, si toi mon vieil ami, tu pouvais peut être me filer un coup de main.
Mon pb est simple, je cherche à simuler differentes bandes passantes en localhost, et ce ds le but de verifier si mon appli fonctionne comme prevu avec differentes connections. Je ne dispose que d'une carte réseau (eth0).

On a:
+1 socket UDP qui lit sur eth0:1234 et ecrit sur eth0:2345
+1 socket UDP qui lit sur eth0:2345 et ecrit sur eth0:1234

On souhaite:
+ definir la bande passante de eth0:1234 vers eth0:2345
+ definir la bande passante de eth0:2345 vers eth0:1234

J'ai lu de nombreux tutorials, essayé differentes methodes... le resultat reste le meme: march po.

Voici ce que j'ai pondu et qui cherche a limiter la bande à 1kbit:

tc qdisc del dev eth0 root 2> /dev/null > /dev/null

tc qdisc add dev eth0 root handle 1: cbq bandwidth 100Mbit avpkt 1000
tc class add dev eth0 parent 1:0 classid 1:1 cbq bandwidth 1kbit rate 1kbit allot 1514 prio 8 avpkt 1000

tc filter add dev eth0 parent 1:0 prio 8 protocol ip u32 \
match ip protocol 17 0xff \
match udp dst 1234 0xffff \
flowid 1:1
tc filter add dev eth0 parent 1:0 prio 8 protocol ip u32 \
match ip protocol 17 0xff \
match udp src 1234 0xffff \
flowid 1:1
tc filter add dev eth0 parent 1:0 prio 8 protocol ip u32 \
match ip protocol 17 0xff \
match udp dst 2345 0xffff \
flowid 1:1
tc filter add dev eth0 parent 1:0 prio 8 protocol ip u32 \
match ip protocol 17 0xff \
match udp src 2345 0xffff \
flowid 1:1


Merci d'avance pour ton aide.

> Lire le journal (4 commentaires, moyenne: 2,8).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Re: Traffic shaping

Posté par Frédéric Desmoulins (page perso, ) le 22/09/2003 à 19:43. (lien). Évalué à 4.

J'ai un debut de réponse en filtrant les packets via iptables:

tc qdisc del dev eth0 root 2> /dev/null > /dev/null
iptables -F -t mangle

tc qdisc add dev eth0 root handle 1: cbq bandwidth 100Mbit avpkt 1000
tc class add dev eth0 parent 1:0 classid 1:1 cbq bandwidth 1kbit rate 1kbit allot 1514 prio 8 avpkt 1000 bounded isolated

iptables -t mangle -A OUTPUT -o eth0 -p udp --dport 1234 -j MARK --set-mark 5
iptables -t mangle -A OUTPUT -o eth0 -p udp --dport 2345 -j MARK --set-mark 5
iptables -t mangle -A OUTPUT -o eth0 -p udp --sport 1234 -j MARK --set-mark 5
iptables -t mangle -A OUTPUT -o eth0 -p udp --sport 2345 -j MARK --set-mark 5

tc filter add dev eth0 parent 1:0 prio 8 protocol ip handle 5 fw classid 1:1


Par contre ca marche uniquement entre 2 machines. J'arrive pas à le faire sur la meme interface (j'ai essayé aussi avec une virtuelle).

Donc, journal, à defaut de me donner la réponse sur un plateau d'argent, peut tu m'indiquer, dans ton immense générosité, une piste à suivre (changer de route ? :) ?

  • [^]Re: Traffic shaping

    Posté par -=[ Benoit Plessis ]=- (page perso, ) le 22/09/2003 à 21:21. (lien). Évalué à 3.

    Si j'osais je dirai humblement que tu prend le probleme du mauvais coté:
    tu mets des filtres qui semblent corrects et ca ne marche pas ...
    la premiere chose que j'aurais teste (si je ne connaissait pas la reponse) est:
    par ou vont passer les paquets destinés a l'adresse IP de la machine ?
    La reponse est variable en fonction du kernel utilisé mais pour la série 2.4 au moins la reponse est: par l'interface lo (loopback) (surement pour eviter d'avoir a faire le meme boulot dans la gestion des interfaces ethernet alors que c deja pret et tres optimisé pour lo.

    Donc (je ne parie pas mais l'esprit y est) test tes modif sur lo, tout en faisant attention parce que si tu limite trop a tord et a travers y a pas mal d'applis qui vont plus etre contentes.

    --
    Il [e2fsck] a bien démarré, mais il m'a rendu la main aussitot en me disant "houlala, c'est pas beau à voir votre truc, je préfèrerai que vous teniez vous même la tronçonneuse" (traduction libre)
    • [^]Re: Traffic shaping

      Posté par Frédéric Desmoulins (page perso, ) le 22/09/2003 à 22:43. (lien). Évalué à 3.

      Ho mon journal,
      tu es le plus grand des journaux.

      Effectivement, c'etait pas bien malin de ma part.
      Merci :)

Re: Traffic shaping

Posté par Nico_206 (page perso, ) le 13/10/2003 à 06:54. (lien). Évalué à 1.

connaissez vous un bon tutorial (si possible en fr ..) sur l'utilisation de tc et de la gestion de bande passante en général ?
J'ai vu pleins de site et d'exemples, rarement très clair

Merci

Revenir en haut de page