Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[QoS] Comment ça fonctionne?
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
legabier
Apprentice
Apprentice


Joined: 30 Aug 2004
Posts: 231

PostPosted: Wed Feb 22, 2006 5:05 am    Post subject: [QoS] Comment ça fonctionne? Reply with quote

Bonjour,

J'ai deux ordinateurs. L'un d'eux (un pentium2), sur lequel j'ai installé Gentoo, me sert de routeur. J'ai suivi le Guide du routeur personnel et ça fonctionne très bien.
L'autre est mon ordinateur principal, un Windows,...
Sur le Windows j'ai des logiciels P2P (BitTorrent, eDonkey, Gnutella) qui upload en permanence à la pleine vitesse possible (environ 110 Ko/s). Sur le routeur Gentoo, avec iptables j'ai ouvert une série de 15 ports (8600-8615) qui sont redirigés vers le Windows. Chacun de mes logiciels P2P utilisent un de ces ports pour recevoir les connexions. Jusque là, tout fonctionne à merveille!
Par contre, quand je veux faire autre chose, par exemple naviguer le web, c'est extrêmement lent! Comme j'ai trafiqué la limite des 10 connexions TCP à la fois du SP2 de WinXP, le problème n'est pas que les connexions n'aboutissent pas, elles aboutissent toutes, mais vraiment très lentement!

J'aimerais faire en sorte que les transferts P2P ne soient pas prioritaires, c'est-à-dire qu'ils soient automatiquement ralentis pour laisser passer le reste du trafic, mais il ne faut pas qu'ils soient ralentis s'il ne se passe rien d'autre! Bref, ce n'est pas une limite de vitesse que je veux mais un priorité moindre.

En faisant des recherches sur le forum, j'ai trouvé plusieurs messages à ce sujet. On parle de iptables --set-mark, de TC et de HTB. Ça me semble très complexe tout ça. N'étant pas parfait bilingue, je n'ai pas compris si TC et HTB vont de pair avec iptables --set-mark,.. Et si oui, est-ce que ça me prend les deux ou un seul des deux?
Est-ce que je devrai configurer des priorités sur toutes mes règles dans iptables ou il y a moyen de seulement définir une priorité moindre aux transferts sur les ports 8600-8615?

Merci! :)
_________________
Néophyte ou novice, telle est la question...
Back to top
View user's profile Send private message
guilc
Bodhisattva
Bodhisattva


Joined: 15 Nov 2003
Posts: 3326
Location: Paris - France

PostPosted: Wed Feb 22, 2006 7:47 am    Post subject: Reply with quote

Effectivement, il faut bien utiliser tc et htb sur ton routeur ;)

Je vais te prendre en exemple mon cas (puisque j'ai tous les scripts pour ça :lol: )

1) Tu définis tes regles de priorité. Chez moi, ça donne ça : http://doc.xwing.info/iptables/xwing/tc.sh
En gros, la, je crée 4 classes de traffic (lignes /sbin/tc class add tu peux adapter et en mettre plus ou moins) avec des priorité (prio) différentes. Chaque classe est aussi caractérisée par un débit garanti (rate) et un débit maximum (ceil).
Sur chacune des classes (identifiée par "parent"), je définis un qdisc (les 4 lignes d'après) qui ont pour but d'améliorer la réactivité de la qos en introduisant un brin d'aléatoire ;)
2) Tu définis ensuite des filtres qui vont rediriger les paquets dans la bonne classe (les 4 dernières lignes). Ce filtrage se fait par le tri sur un flag sur le paquet ip (argument handle X).
3) Mettre cette marque sur les paquets IP ! C'est la qu'intervient iptables. Mon script : http://doc.xwing.info/iptables/xwing/iptables.sh
Tu regarde tout en bas, section "QoS". Il y a une série de "-j MARK --set-mark X" (par l'intermédiaire d'une fonction, cherche la dans le fichier, elle est définie plus haut ;)). Donc la, sur les ports choisis, tu mets la marque X correspondant au "handle X" vu au 2).

Et voila ! ça marche ;)

Tu peux aussi remplacer le 2 et 3 par l'utilisation de tc directement sur les paquets ip (port/taille, etc...) avec des classifiers de type u32. Mais perso, je trouve ça moins clair et moins facile a gérer que l'ensemble filter sur marquage de paquet + iptables.

J'espère que cette introduction sur exemple est claire ;)
_________________
Merci de respecter les règles du forum.

Mon site perso : https://www.xwing.info
Mon PORTDIR_OVERLAY : https://gentoo.xwing.info ou layman -a xwing
Back to top
View user's profile Send private message
El_Goretto
Moderator
Moderator


Joined: 29 May 2004
Posts: 3174
Location: Paris

PostPosted: Wed Feb 22, 2006 8:15 am    Post subject: Reply with quote

J'ai commencé à lire les docs hier soir même... Et la seule chose que je n'ai pas trouvé, c'est une description de chaque algo scheduler disponible dans le noyau. Tout le monde par le HTB, mais pour ce que j'en ai lu, HSFC basé sur le temps de traitement me paraissait assez sexy aussi.

A part une page sur le taffic shaping sur le Wiki Gentoo (assez sommaire ma foi, mais dont la version anglaise a le mérite d'expliquer comment configurer son noyau), j'ai trouvé ceci (anglais très compréhensible, et c'est très didactique):
http://www.lartc.org/howto/
http://www.tldp.org/HOWTO/ADSL-Bandwidth-Management-HOWTO/index.html
http://www.tldp.org/HOWTO/Traffic-Control-HOWTO/index.html
_________________
-TrueNAS & jails: µ-serv Gen8 E3-1260L, 16Go ECC + µ-serv N40L, 10Go ECC
-Réseau: APU2C4 (OpenWRT) + GS726Tv3 + 2x GS108Tv2 + Archer C5v1 (OpenWRT)
Back to top
View user's profile Send private message
legabier
Apprentice
Apprentice


Joined: 30 Aug 2004
Posts: 231

PostPosted: Thu Feb 23, 2006 3:05 am    Post subject: Reply with quote

Merci pour votre aide mais je suis encore plus perdu :(

Je ne comprends pas la différence entre CBQ et HTB. En recherchant sur le forum, ce que je lis le plus souvent c'est que c'est très compliqué,.. Il faut que vous sachiez que je suis newbie sous Linux et que j'arrive à peine à comprendre la base d’iptables,..
Certains parlent de wondershaper, c'est bon?
Édit : Bon, il semblerait que wondersharper n'est qu'un script,.. Si sa configuration nécessite la compréhension de CBQ, HTB et tout le reste, je ne suis pas plus avancé. Je crois que je vais laisser passer ma grippe parce que je ne me sens pas la force d'essayer de comprendre tout ça maintenant.
_________________
Néophyte ou novice, telle est la question...
Back to top
View user's profile Send private message
guilc
Bodhisattva
Bodhisattva


Joined: 15 Nov 2003
Posts: 3326
Location: Paris - France

PostPosted: Thu Feb 23, 2006 7:32 am    Post subject: Reply with quote

Pour moi, cette page explique TOUT ce qu'il faut savoir :
http://lartc.org/howto/lartc.qdisc.classful.html

CBQ et HTB sont 2 politiques de shaping différentes. HTB est réputée plus efficace, et en pratique, pour avoir expérimenté les deux, c'est vrai : plus réactif, plus efficace et adapté aux liaisons ADSL (CBQ marche mieux sur les gros débits que sur les débits type ADSL).
Et en plus, HTB est plus "simple" a mettre en place.

Maintenant, si tu luttes encore avec iptables, je dirais : prends le temps, documente toi d'abord sur iptables, renforce tes bases en réseau, ça t'aidera a mieux comprendre tout ça ;) Je te conseillerais d'ailleurs de regarder avant des cours sur les QoS comme on en fait en école d'ingé. Ca permet a mon avis de mieux comprendre les concepts de base de la QoS, et du coup de mieux exploiter tc/iptables. De toute façon, a mon avis, c'est nécessaire, car si tu ne comprends pas bien les principes de fonctionnement de totu ça, tu seras plus ou moins obligé de recopier un script existant, au risque d'avoir un truc qui empirerait les choses.

En tous cas, bon courage !
_________________
Merci de respecter les règles du forum.

Mon site perso : https://www.xwing.info
Mon PORTDIR_OVERLAY : https://gentoo.xwing.info ou layman -a xwing
Back to top
View user's profile Send private message
El_Goretto
Moderator
Moderator


Joined: 29 May 2004
Posts: 3174
Location: Paris

PostPosted: Thu Feb 23, 2006 9:13 am    Post subject: Reply with quote

Dans le même document, ya surtout http://lartc.org/howto/lartc.qdisc.terminology.html, avec chaque terme expliqué, et un pitit schéma pour résumer le fonctionnement du tout.
_________________
-TrueNAS & jails: µ-serv Gen8 E3-1260L, 16Go ECC + µ-serv N40L, 10Go ECC
-Réseau: APU2C4 (OpenWRT) + GS726Tv3 + 2x GS108Tv2 + Archer C5v1 (OpenWRT)
Back to top
View user's profile Send private message
legabier
Apprentice
Apprentice


Joined: 30 Aug 2004
Posts: 231

PostPosted: Fri Feb 24, 2006 3:42 am    Post subject: Reply with quote

En français, j'ai trouvé ceci: http://www.linux-france.org/prj/inetdoc/guides/Advanced-routing-Howto/lartc.qdisc.html
Ça fait 7 pages, c'est plutôt complet j'ai l'impression.

J'ai essayé quelque chose mais ça n'a pas l'air de fonctionner tellement,..

Tout dabord, j'ai fait ça:
Code:
iptables -t mangle -A FORWARD -p tcp --dport 53 -j MARK --set-mark 1
iptables -t mangle -A OUTPUT -p tcp --dport 53 -j MARK --set-mark 1
iptables -t mangle -A FORWARD -p icmp -j MARK --set-mark 1
iptables -t mangle -A OUTPUT -p icmp -j MARK --set-mark 1
iptables -t mangle -A FORWARD -p tcp --dport 123 -j MARK --set-mark 1
iptables -t mangle -A FORWARD -p udp --dport 123 -j MARK --set-mark 1
iptables -t mangle -A OUTPUT -p tcp --dport 123 -j MARK --set-mark 1
iptables -t mangle -A OUTPUT -p udp --dport 123 -j MARK --set-mark 1
iptables -t mangle -A FORWARD -p tcp --dport 22 -j MARK --set-mark 1
iptables -t mangle -A OUTPUT -p tcp --dport 22 -j MARK --set-mark 1
iptables -t mangle -A INPUT -i eth1 -p tcp --dport 7249 -j MARK --set-mark 1
iptables -t mangle -A OUTPUT -o eth1 -p tcp --sport 7249 -j MARK --set-mark 1
iptables -t mangle -A FORWARD -p tcp --dport 80 -j MARK --set-mark 3
iptables -t mangle -A OUTPUT -p tcp --dport 80 -j MARK --set-mark 3
iptables -t mangle -A FORWARD -p tcp --dport 443 -j MARK --set-mark 3
iptables -t mangle -A OUTPUT -p tcp --dport 443 -j MARK --set-mark 3
iptables -t mangle -A FORWARD -p tcp --dport 25 -j MARK --set-mark 3
iptables -t mangle -A OUTPUT -p tcp --dport 25 -j MARK --set-mark 3
iptables -t mangle -A FORWARD -p tcp -m length --length 1024: -j MARK --set-mark 4
iptables -t mangle -A FORWARD -p udp -m length --length 1024: -j MARK --set-mark 4
iptables -t mangle -A FORWARD -o eth1 -p tcp --sport 8600:8615 -j MARK --set-mark 4
iptables -t mangle -A FORWARD -o eth1 -p udp --sport 8600:8615 -j MARK --set-mark 4
iptables -t mangle -A FORWARD -o eth1 -p tcp --dport 6881:6889 -j MARK --set-mark 4
iptables -t mangle -A FORWARD -o eth1 -p udp --dport 6881:6889 -j MARK --set-mark 4
iptables -t mangle -A FORWARD -p tcp -m tos --tos Minimize-Delay -m mark --mark 0 -j MARK --set-mark 1
iptables -t mangle -A FORWARD -p tcp -m tos --tos Maximize-Throughput -m mark --mark 0 -j MARK --set-mark 2
iptables -t mangle -A FORWARD -p tcp -m tos --tos Minimize-Cost -m mark --mark 0 -j MARK --set-mark 4
Aucun message d'erreur de la part de iptables, tout semble correct.

Ensuite j'ai fait ça:
Code:
tc qdisc add dev eth1 root handle 1:0 htb default 103 r2q 1
tc class add dev eth1 parent 1:0 classid 1:1 htb rate 900kbit burst 6k cburst 3k
tc class add dev eth1 parent 1:1 classid 1:101 htb rate 900kbit ceil 900kbit quantum 12187 burst 6k cburst 3k prio 0
tc class add dev eth1 parent 1:1 classid 1:102 htb rate 900kbit ceil 900kbit quantum 8625 burst 4k cburst 4k prio 1
tc class add dev eth1 parent 1:1 classid 1:103 htb rate 900kbit ceil 900kbit quantum 5062 burst 2k cburst 1k prio 2
tc class add dev eth1 parent 1:1 classid 1:104 htb rate 900kbit ceil 900kbit quantum 1500 burst 0k cburst 0k prio 3
tc filter add dev eth1 parent 1:0 protocol ip prio 0 handle 1 fw classid 1:101
tc filter add dev eth1 parent 1:0 protocol ip prio 1 handle 2 fw classid 1:102
tc filter add dev eth1 parent 1:0 protocol ip prio 2 handle 3 fw classid 1:103
tc filter add dev eth1 parent 1:0 protocol ip prio 3 handle 4 fw classid 1:104
tc qdisc add dev eth1 parent 1:101 sfq perturb 16 quantum 12187
tc qdisc add dev eth1 parent 1:102 sfq perturb 16 quantum 8625
tc qdisc add dev eth1 parent 1:103 sfq perturb 16 quantum 5062
tc qdisc add dev eth1 parent 1:104 sfq perturb 16 quantum 1500
Mais les 4 lignes filter donne ce message d'erreur:
Code:
RTNETLINK answers: Invalid argument
We have an error talking to the kernel
J'espère que je n'ai pas encore oublié quelque chose en compilant mon noyau? Je déteste le recompiler, sur un Pentium II ça prend environ 2 heures et au reboot ça ne fonctionne plus une fois sur deux :(
Je me suis fié à ce qui est expliqué à http://www.gentoo-wiki.com/HOWTO_Packet_Shaping pour le menuconfig mais même l'explication pour le 2.6.14 n'était pas identique à ce que j'avais (2.6.15-r1). Par exemple, les trois derniers je ne les ai pas trouvé dans mon menuconfig.

Maintenant quand je regarde ce que ça donne:
Code:
 # tc -s qdisc ls dev eth1
qdisc htb 1: r2q 1 default 103 direct_packets_stat 5245
 Sent 25877659 bytes 24757 pkt (dropped 2399, overlimits 33601 requeues 0)
 rate 0bit 0pps backlog 0b 86p requeues 0
qdisc sfq 8005: parent 1:101
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 rate 0bit 0pps backlog 0b 0p requeues 0
qdisc sfq 8006: parent 1:102
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 rate 0bit 0pps backlog 0b 0p requeues 0
qdisc sfq 8007: parent 1:103
 Sent 3506131 bytes 3072 pkt (dropped 12, overlimits 0 requeues 0)
 rate 0bit 0pps backlog 0b 86p requeues 0
qdisc sfq 8008: parent 1:104
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 rate 0bit 0pps backlog 0b 0p requeues 0
Il y a beaucoup de dropped, je suppose que ce n'est pas normal,..... Mon ping est quand même un peu moins pire, de ~2000ms à ~1000ms,...

Note: Ma vitesse en amont est bien de 900kbits, comme c'est les prioritées que je veux changer et non les vitesses, j'ai tout mis à 900kbits,..

À part ça, ma grippe est forte,.. ;)
_________________
Néophyte ou novice, telle est la question...
Back to top
View user's profile Send private message
legabier
Apprentice
Apprentice


Joined: 30 Aug 2004
Posts: 231

PostPosted: Wed Mar 01, 2006 1:34 am    Post subject: Reply with quote

Bon, ma grippe ayant perdu un peu de sa force, je me suis réattaqué à ce problème de QoS,..

Il semblait clair que mon noyau n'était pas encore tout à fait correct (les "tc filter ..." qui ne fonctionnaient pas).
J'ai refait le tour du forum, j'ai aussi cherché sur google, je n'ai trouvé nul part une description du menuconfig identique à celui que j'ai.
À http://gentoo-wiki.com/HOWTO_Packet_Shaping il y a un exemple pour 2.6.14 mais ce n'est pas pareil comme le mien. (Mon noyau est 2.6.15-gentoo-rc1) Quelqu'un d'autre (en anglais) a mentionné aussi qu'il ne savait pas comment sélectionner les options manquantes mais il n'y a eu aucune réponse pertinente à son message,..

Voici la configuration que j'ai essayé (en me basant sur des articles un peu partout):
Je me suis dit que j'avais plus de chances si j'en mettais trop plutôt que pas assez mais comme ça ne boot plus parfois quand j'en met trop "en dur", j'ai mis ce que je n'étais pas certain en module.

Code:
Networking  ---> Networking options  ---> [*] Network packet filtering (replaces ipchains)  ---> IP: Netfilter Configuration  --->
 <*> Connection tracking (required for masq/NAT)
 [ ]   Connection tracking flow accounting
 [ ]   Connection mark tracking support
 [ ]   Connection tracking events (EXPERIMENTAL)
 < >   SCTP protocol connection tracking support (EXPERIMENTAL)
 <*>   FTP protocol support
 <*>   IRC protocol support
 < >   NetBIOS name service protocol support (EXPERIMENTAL)
 < >   TFTP protocol support
 < >   Amanda backup protocol support
 < >   PPTP protocol support
 <*> IP Userspace queueing via NETLINK (OBSOLETE)
 <*> IP tables support (required for filtering/masq/NAT)
 <*>   limit match support
 <*>   IP range match support
 <*>   MAC address match support
 <*>   Packet type match support
 <*>   netfilter MARK match support
 <*>   Multiple port match support
 <*>   TOS match support
 <*>   recent match support
 <*>   ECN match support
 <*>   DSCP match support
 <*>   AH/ESP match support
 <*>   LENGTH match support
 <*>   TTL match support
 <*>   tcpmss match support
 <*>   Helper match support
 <*>   Connection state match support
 <*>   Connection tracking match support
 <*>   Owner match support
 <*>   address type match support
 <*>   realm match support
 <*>   SCTP protocol match support
 <*>   DCCP protocol match support
 <*>   comment match support
 <*>   hashlimit match support
 <*>   string match support
 <*>   Packet filtering
 <*>     REJECT target support
 <*>   LOG target support
 <*>   ULOG target support (OBSOLETE)
 <*>   TCPMSS target support
 <*>   NFQUEUE Target Support
 <*>   Full NAT
 <*>     MASQUERADE target support
 <*>     REDIRECT target support
 <*>     NETMAP target support
 <*>     SAME target support
 < >     Basic SNMP-ALG support (EXPERIMENTAL)
 <*>   Packet mangling
 <*>     TOS target support
 <*>     ECN target support
 <*>     DSCP target support
 <*>     MARK target support
 <*>     CLASSIFY target support
 < >     TTL target support
 <M>   raw table support (required for NOTRACK/TRACE)
 <M>     NOTRACK target support
 <*> ARP tables support
 <*>   ARP packet filtering
 <*>   ARP payload mangling
Networking  ---> Networking options  ---> QoS and/or fair queueing  --->
 [*] QoS and/or fair queueing
       Packet scheduler clock source (Timer interrupt)  --->
 ---   Queueing/Scheduling
 <M>   Class Based Queueing (CBQ)
 <*>   Hierarchical Token Bucket (HTB)
 <M>   Hierarchical Fair Service Curve (HFSC)
 <M>   ATM Virtual Circuits (ATM)
 <M>   Multi Band Priority Queueing (PRIO)
 <M>   Random Early Detection (RED)
 <M>   Stochastic Fairness Queueing (SFQ)
 <M>   True Link Equalizer (TEQL)
 <M>   Token Bucket Filter (TBF)
 <M>   Generic Random Early Detection (GRED)
 <M>   Differentiated Services marker (DSMARK)
 <M>   Network emulator (NETEM)
 <M>   Ingress Qdisc
 ---   Classification
 <M>   Elementary classification (BASIC)
 <M>   Traffic-Control Index (TCINDEX)
 <M>   Routing decision (ROUTE)
 <*>   Netfilter mark (FW)
 <M>   Universal 32bit comparisons w/ hashing (U32)
 [*]     Performance counters support
 [*]     Netfilter marks support
 <M>   IPv4 Resource Reservation Protocol (RSVP)
 <M>   IPv6 Resource Reservation Protocol (RSVP6)
 [ ]   Extended Matches
 [ ]   Actions
 [*]   Traffic Policing (obsolete)
 [ ]   Incoming device classification
 ---   Rate estimator


Pour le noyau, il semblerait que ce soit maintenant correct! Toutes les commandes TC fonctionnent!

Maintenant que mon noyau a tout ce qui lui faut, il me reste à trouver les bon settings pour TC.
Ce que j'ai essayé (voir dans mon message plus haut) ne semble pas donner de résultat, c'est peut-être même un peu pire que c'était,.. Même la résolution DNS est affreusement lente, j'ai pourtant donné la priorité au trafic sur le port 53,..
Si ça se trouve, ma configuration actuelle ne veut strictement rien dire,.. J'ai beau lire et relire, c'est très abstrait. Trop de méthodes, de théories, d'acronymes, pas assez d'exemples, je m'y perd complètement,..
D'habitude je fini par comprendre avec un peu de lecture et beaucoup d'essais,.. Cette fois j'ai passé plus de temps à lire qu'essayer car je ne sais même plus quoi essayer,.. :?

Quelqu'un pourrait m'aider avec des exemples très simples? Ce n'est pas évident de décortiquer d'énormes scripts bourrés de variables,..

Édit: Je retire une partie de ce que j'ai dit. Plus le temps passe, plus je me rend compte que ce n'est pas pire que c'était, c'est même mieux! Malgré que je continue d'utlise 100% de ma bande passante en amont, ma navigation sur le web semble beaucoup plus rapide qu'elle était!
_________________
Néophyte ou novice, telle est la question...
Back to top
View user's profile Send private message
PabOu
Veteran
Veteran


Joined: 11 Feb 2004
Posts: 1088
Location: Namur - Belgium

PostPosted: Mon May 15, 2006 10:38 am    Post subject: Reply with quote

guilc wrote:
3) Mettre cette marque sur les paquets IP ! C'est la qu'intervient iptables. Mon script : http://doc.xwing.info/iptables/xwing/iptables.sh



J'aimerais bien une explication de ces lignes :
Code:
# packets marked by azureus
iptables -A POSTROUTING -t mangle -m tos --tos 0x02 -j MARK --set-mark 4
iptables -A POSTROUTING -t mangle -m tos --tos 0x02 -j RETURN
# high prio for ack packets with no data (speedup downloads when high upload)
iptables -A POSTROUTING -t mangle -p tcp --tcp-flags ALL ACK -m length --length :64 -j MARK --set-mark 2
iptables -A POSTROUTING -t mangle -p tcp --tcp-flags ALL ACK -m length --length :64 -j RETURN
# Reste -> 1:3
iptables -A POSTROUTING -t mangle -m tos --tos 0x02 -j MARK --set-mark 3

Et plus particulièrement la dernière... D'après mes recherches sur google, les lignes RETURN empêchent l'execution des lignes suivantes, alors à quoi sert cette dernière ligne qui ne pourrait pas être matchée ?
_________________
Mangez du poulet !
Back to top
View user's profile Send private message
guilc
Bodhisattva
Bodhisattva


Joined: 15 Nov 2003
Posts: 3326
Location: Paris - France

PostPosted: Mon May 15, 2006 11:20 am    Post subject: Reply with quote

Alors :
Code:
# packets marked by azureus
iptables -A POSTROUTING -t mangle -m tos --tos 0x02 -j MARK --set-mark 4
iptables -A POSTROUTING -t mangle -m tos --tos 0x02 -j RETURN

Ca, azureus marque les paquets (ça se regle en options) avec le ToS de ton choix, j'ai choisi 0x02 (Minimize-Cost)
Donc les paquets avec un ToS de 0x02, je les marque "4", qui correspond a ma file p2p. A priori, j'ai que ceux de azureus...
Code:
# high prio for ack packets with no data (speedup downloads when high upload)
iptables -A POSTROUTING -t mangle -p tcp --tcp-flags ALL ACK -m length --length :64 -j MARK --set-mark 2
iptables -A POSTROUTING -t mangle -p tcp --tcp-flags ALL ACK -m length --length :64 -j RETURN

Les paquets de petite taille (taille <= 64 dans ce cas) sont en général les paquets ack. Quand on fait un gros download, il y en a pas mal, donc ça peut être interessant de les prioriser un peu plus pour ne pas pénaliser le download quand y a un upload en même temps.

[EDIT]
Oh pitain, j'avais pas fait gaffe, mais y a bel et bien une erreur dans la ligne ;)
il ne faut pas le -m tos --tos 0x02 dans la dernière ligne !
Je devais encore dormir quand j'ai écrit ça :)

Voila, corrigé sur la page... Merci de m'avoir pointé le bug ;)
_________________
Merci de respecter les règles du forum.

Mon site perso : https://www.xwing.info
Mon PORTDIR_OVERLAY : https://gentoo.xwing.info ou layman -a xwing
Back to top
View user's profile Send private message
PabOu
Veteran
Veteran


Joined: 11 Feb 2004
Posts: 1088
Location: Namur - Belgium

PostPosted: Mon May 15, 2006 11:58 am    Post subject: Reply with quote

Merci, c'est bien comme je l'avais compris ;)

Cette dernière ligne qui avait un bug, elle n'affectait aucun paquet et le travail qu'elle devait fournir était déjà fait dans le tc.sh avec le "default 30" lors de la création du qdisc root.
Donc tu n'as pas du avoir d'impact à cause de cette erreur.

Dans Azureus, pour le TOS, tu mets "0x02" tout en lettres/chiffres ou alors tu mets un caractère qui correspond à cette valeur hexadecimale ?
_________________
Mangez du poulet !
Back to top
View user's profile Send private message
guilc
Bodhisattva
Bodhisattva


Joined: 15 Nov 2003
Posts: 3326
Location: Paris - France

PostPosted: Mon May 15, 2006 12:19 pm    Post subject: Reply with quote

PabOu wrote:
Merci, c'est bien comme je l'avais compris ;)

Cette dernière ligne qui avait un bug, elle n'affectait aucun paquet et le travail qu'elle devait fournir était déjà fait dans le tc.sh avec le "default 30" lors de la création du qdisc root.
Donc tu n'as pas du avoir d'impact à cause de cette erreur.

C'est exactement ça ;)

Quote:
Dans Azureus, pour le TOS, tu mets "0x02" tout en lettres/chiffres ou alors tu mets un caractère qui correspond à cette valeur hexadecimale ?

je mets 0x02, il le comprend. tu dois pouvoir mettre en décimal aussi.
_________________
Merci de respecter les règles du forum.

Mon site perso : https://www.xwing.info
Mon PORTDIR_OVERLAY : https://gentoo.xwing.info ou layman -a xwing
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum