Journal Qos sur ligne ADSL

Posté par  (site Web personnel) .
Étiquettes : aucune
0
21
nov.
2003
Cher journal,

Enfin j'ai une ligne ADSL! Passé le choc de pouvoir faire du download à des vitesses raisonnables, je me suis vite rendu compte qu'uploader et downloader en même temps (genre bittorrent sur les ISOs de Mdk), ça cassait bien les perfs...

Quelles solution de Qos me recommanderais-tu? Avec quels réglages? J'ai une ligne 1024Kb/sec en download et 256Kb/sec en upload. J'ai déjà essayé Wondershaper, qui certes améliore les choses mais me laisse un peu sur ma faim (avec mes réglages je plafonne à 800/200 alors qu'avant en ne faisant qu'un download je dépassais facilement les 1000).

Merci cher journal, toujours de bon conseil...
  • # Re: Qos sur ligne ADSL

    Posté par  . Évalué à 2.

    Pour Bittorent, un --max_upload_rate 20 te permetra de ne pas saturer l'upload.
  • # Re: Qos sur ligne ADSL

    Posté par  . Évalué à 2.

    Y'a un article très détaillé là dessus sur léa-linux.
    J'ai essayé toutes les solutions proposées dans cette article, et pour moi, adsl 512/128, le plus performant reste wondershaper.
    • [^] # Re: Qos sur ligne ADSL

      Posté par  . Évalué à 2.

      Le meilleur (plus effectif) gestion de la Qos sous linux c'est le couple htb+imq. Si tu veux privilegier des applis demandant peu de latences genre quake3 etc... c'est ce que j'ai eu de mieux.

      En plus htb est dans le noyau ce qui rends son utilisation bcp plus facile

      donc va voir comme le dit sebiseb :
      http://lea-linux.org/leapro/qos.php3(...)
  • # Re: Qos sur ligne ADSL

    Posté par  . Évalué à 2.

    Attention, wondershaper n'est pas prévu pour te booster un max tes download, mais pour garder un bon équilibre entre l'upload et le download sur tous les protocoles (et donc une bonne réaction du réseau).
    Si tu veux privilégier la vitesse à tout prix, va falloir que tu te tappes tes scripts CBQ ou HTB persos, pas le choix.
    Mais ça suffira pas. Il va falloir aussi que tu fasses un petit régime de netfilter, tu verras, c'est costaud mais ça vaut le coup. D'ailleurs, heureusement que pour ce genre de tuning y'a leur excellente liste de diffusion, ils aident vraiment pas mal !
    Dans quel but netfilter ? afin d'agir sur le TOS
    aini, t'aura sans doute quelques lignes du style:
    $IPTABLES -A PREROUTING -t mangle -p tcp --sport ftp-data -j TOS --set-tos Maximize-Throughput
    $IPTABLES -A PREROUTING -t mangle -p tcp --sport ftp -j TOS --set-tos Minimize-Delay

    Après, à toi de l'adapter selon tes besoins.
    Voilà, j'espère que cela t'aidera . Sinon ben passe au 2048 :-)
  • # Re: Qos sur ligne ADSL

    Posté par  (site Web personnel) . Évalué à 1.

    Une question viens de me frapper tout d'un coup.

    Je pensais que le problème d'upload et download simultané sur l'ADSL venait d'un problème technique de cette techno.
    Mais si Gnurou peut faire du 800/200 sur sa ligne, pourquoi est-ce que chez moi (Netissimo1) il est impossible d'obtenir du 512/128 ?
  • # Re: Qos sur ligne ADSL

    Posté par  (site Web personnel) . Évalué à 2.

    ceci devrait faire ton bonheur:

    QoS Connection Tuning HOWTO
    http://www.prout.be/qos/QoS-connection-tuning-HOWTO.html(...)
    • [^] # Re: Qos sur ligne ADSL

      Posté par  (site Web personnel) . Évalué à 2.

      Voici le script que j'utilise: (j'ai déjà changé les valeurs de down et et up pour toi):


      #!/bin/sh


      IPTABLES=`which iptables`
      TC=`which tc`

      DOWNSTREAM=1024
      UPSTREAM=256

      INTERFACE=ppp0

      ICR=`expr $DOWNSTREAM / 20`
      DCR=`expr $UPSTREAM - $ICR`


      case "$1" in
      start)
      echo -e "QoS Connection Tuning: start\nInteractive class rate : ${ICR}\nData class rate : ${DCR}\n"
      $IPTABLES -t mangle -A OUTPUT -m length --length 0:500 -j MARK --set-mark 3
      $IPTABLES -t mangle -A OUTPUT -m length --length 500:1500 -j MARK --set-mark 4
      $IPTABLES -t mangle -A PREROUTING -m length --length 0:500 -j MARK --set-mark 3
      $IPTABLES -t mangle -A PREROUTING -m length --length 500:1500 -j MARK --set-mark 4
      $TC qdisc add dev ${INTERFACE} root handle 10: cbq bandwidth 10Mbit avpkt 1000 mpu 64
      $TC class add dev ${INTERFACE} parent 10:0 classid 10:1 cbq bandwidth 10Mbit rate ${ICR}Kbit allot 1514 prio 1 maxburst 10 avpkt 100 isolated
      $TC class add dev ${INTERFACE} parent 10:0 classid 10:2 cbq bandwidth 10Mbit rate ${DCR}Kbit allot 1514 prio 8 maxburst 2 avpkt 1500 bounded
      $TC filter add dev ${INTERFACE} parent 10:0 protocol ip handle 3 fw flowid 10:1
      $TC filter add dev ${INTERFACE} parent 10:0 protocol ip handle 4 fw flowid 10:2
      ;;

      stop)
      echo -e "QoS Connection Tuning: stop"
      $TC qdisc del dev ${INTERFACE} root >/dev/null 2>/dev/null
      $TC class del dev ${INTERFACE} parent >/dev/null 2>/dev/null
      $TC filter del dev ${INTERFACE} parent >/dev/null 2>/dev/null
      $IPTABLES -t mangle -D OUTPUT -m length --length 0:500 -j MARK --set-mark 3
      $IPTABLES -t mangle -D OUTPUT -m length --length 500:1500 -j MARK --set-mark 4
      $IPTABLES -t mangle -D PREROUTING -m length --length 0:500 -j MARK --set-mark 3
      $IPTABLES -t mangle -D PREROUTING -m length --length 500:1500 -j MARK --set-mark 4
      ;;

      *)
      echo "$0 (start|stop)"
      exit 1
      ;;
      esac



      exit 0
      • [^] # Re: Qos sur ligne ADSL

        Posté par  . Évalué à 1.

        et il fait quoi ce superbe script ?
        • [^] # Re: Qos sur ligne ADSL

          Posté par  (site Web personnel) . Évalué à 2.

          Il prépare le café et des gateaux au chocolat.


          A ton avis ? (La réponse est dans le lien que j'ai posté)
          • [^] # Re: Qos sur ligne ADSL

            Posté par  . Évalué à 1.

            Je change quoi pour les gateaux à la vanille ? :-)
            • [^] # Re: Qos sur ligne ADSL

              Posté par  . Évalué à 1.

              Bonjour Bonjour ( Vous m'avez reconnu de loin , je suis un noob \o/ )

              C'est un grand plaisir pour moi que de rencontrer des connaisseurs de la QoS sour Linux...

              Je me permet au passage de vous présenter mon problème (Ben forcément.... chui noob , fallait s'y attendre )

              J'ai rentré à peu près les même commandes que celles citées dans le lien (Celui qui parle du café et des gateaux) . C'est à dire :

              tc qdisc add dev eth0 root handle 10: cbq bandwidth 10Mbit avpkt 1000 mpu 64
              tc class add dev eth0 parent 10:0 classid 10:2 cbq bandwidth 10Mbit rate 41Kbit allot 1514 prio 8 maxburst 2 avpkt 1500 bounded

              Je veux limiter le transfert FTP et j'ai donc posé la marque 3 sur les données ftp et ai limité les trames marquées 3 avec la classe 10:2

              iptables -t mangle -A OUTPUT -t mangle -p tcp --sport ftp-data -j MARK --set-mark 3
              iptables -t mangle -A OUTPUT -t mangle -p tcp --dport ftp-data -j MARK --set-mark 3
              tc filter add dev eth0 parent 10:0 protocol ip handle 3 fw flowid 10:2

              Bon en fait je suis pas sur du tout du principe . Je pense que ça marche à peu près comme ça .
              Le problème est assez évident : Le transfert FTP est pas du tout limité . Pourquoi ?
              Mauvais paquets marqués ?
              Paquets non marqués ?
              Filtre mal définit ?
              Tant de questions sans réponses .....
              Alors à vos bons coeurs messieurs dames , et merci d'avance. =)


              PS : Je savais pas si je devais faire un nouveau post ou pas , ne m'en voulez pas de poster ce message au milieu du forum =o|
  • # Re: Qos sur ligne ADSL

    Posté par  (site Web personnel) . Évalué à 1.

    Merci pour tous ces conseils et ces liens - je vais les mettre en application dès que possible! ^_^
  • # Re: Qos sur ligne ADSL

    Posté par  . Évalué à 1.

    http://www.benzedrine.cx/ackpri.html(...)
    C'est simple, c'est efficace

    Après, si tu préfère toujours écrire un script netfilter bien gruik...

Suivre le flux des commentaires

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