RED(8)

NUME
red - detectare precoce aleatorie (Random Early Detection)

SINOPSIS
tc qdisc ... red limit octeți [ min octeți ] [ max octeți ] avpkt octeți [ burst pachete ] [ ecn ] [ harddrop ] [ nodrop ] [ bandwidth rate ] [ probability chance ] [ adaptive ] [ qevent early_drop block index ] [ qevent mark block index ]

DESCRIERE
Random Early Detection este un qdisc fără clase care gestionează inteligent dimensiunea cozii. Cozile obișnuite pur și simplu elimină pachetele din coadă atunci când sunt pline, ceea ce poate să nu fie comportamentul optim. RED efectuează, de asemenea, eliminarea din coadă, dar o face într-un mod mai gradual.

Odată ce coada atinge o anumită lungime medie, pachetele aflate în coadă au o șansă configurabilă de a fi marcate (ceea ce poate însemna că vor fi eliminate). Această șansă crește liniar până la un punct numit lungimea medie a cozii max, deși coada poate deveni mai mare.

Acest lucru prezintă o serie de avantaje față de simpla eliminare a cozii, fără a solicita excesiv procesorul. Previne retransmisiile sincrone după o creștere bruscă a traficului, care provoacă retransmisii suplimentare etc.

Obiectivul este de a avea o coadă de așteptare mică, ceea ce este benefic pentru interactivitate, fără a perturba traficul TCP/IP cu prea multe scăderi bruște după o creștere bruscă a traficului.

În funcție de configurarea ECN, marcarea înseamnă fie eliminarea, fie doar marcarea unui pachet ca depășind limita.

ALGORITM
Dimensiunea medie a cozii este utilizată pentru determinarea probabilității de marcare. Aceasta este calculată utilizând o medie mobilă ponderată exponențial, care poate fi mai mult sau mai puțin sensibilă la creșteri bruște (bursts).

Când dimensiunea medie a cozii este sub min octeți, niciun pachet nu va fi marcat. Când depășește min, probabilitatea de a face acest lucru crește liniar până la probability, până când dimensiunea medie a cozii ajunge la max octeți. Deoarece probability nu este stabilită în mod normal la 100%, dimensiunea cozii ar putea crește peste max octeți, astfel încât parametrul limit este furnizat pentru a stabili o limită maximă strictă pentru dimensiunea cozii.

PARAMETRI

min Dimensiunea medie a cozii la care marcarea devine posibilă. Valoarea implicită este max /3

max La această dimensiune medie a cozii, probabilitatea de marcare este maximă. Ar trebui să fie cel puțin de două ori mai mare decât min pentru a preveni retransmisiile sincrone, mai mare pentru min mic. Implicit la limit /4

probability
    Probabilitatea maximă pentru marcare, specificată ca număr cu virgulă mobilă între 0,0 și 1,0. Valorile sugerate sunt 0,01 sau 0,02 (1 sau 2%, respectiv). Implicit: 0,02

limit
    Limită strictă pentru dimensiunea reală (nu medie) a cozii în octeți. Pachetele suplimentare sunt eliminate. Ar trebui să fie stabilită la o valoare mai mare decât max+burst. Se recomandă stabilirea acestei valori la o valoare de câteva ori mai mare decât max.

burst
    Utilizată pentru a determina cât de repede este influențată dimensiunea medie a cozii de dimensiunea reală a cozii. Valorile mai mari încetinesc calculul, permițând creșteri bruște mai lungi de trafic înainte de începerea marcării. Experimentele din viața reală susțin următoarea orientare: (min+min+max)/(3*medie-pachete).

avpkt
    Specificată în octeți. Utilizată împreună cu burst pentru a determina constanta de timp pentru calcularea dimensiunii medii a cozii. 1000 este o valoare bună.

bandwidth
    Această rată este utilizată pentru calcularea dimensiunii medii a cozii după o anumită perioadă de inactivitate. Trebuie să fie stabilită la lățimea de bandă a interfeței dvs. Nu înseamnă că RED va modela pentru dvs.! Opțional. Implicit: 10 Mbiți

ecn După cum s-a menționat anterior, RED poate fie „marca”, fie „renunța”. Notificarea explicită de congestionare permite RED să notifice gazdele la distanță că rata lor depășește lățimea de bandă disponibilă. Gazdele care nu sunt compatibile cu ECN pot fi notificate numai prin renunțarea la un pachet. Dacă acest parametru este specificat, pachetele care indică faptul că gazdele lor respectă ECN vor fi doar marcate și nu eliminate, cu excepția cazului în care dimensiunea cozii atinge limită octeți. Recomandat.

harddrop
    Dacă dimensiunea medie a cozii de flux este mai mare de max octeți, acest parametru forțează o renunțare în loc de marcarea ecn.

nodrop
    Cu acest parametru, traficul care ar trebui marcat, dar care nu este compatibil cu ECN, este pus în coadă. Fără acest parametru, traficul este eliminat mai devreme.

adaptive
    (Adăugată în linux-3.3) Stabilește RED în modul adaptiv, așa cum este descris în http://icir.org/floyd/papers/adaptiveRed.pdf
    Obiectivul Adaptive RED este de a face ca „probabilitatea” să fie o valoare dinamică între 1% și 50% pentru a atinge coada medie țintă.
    (max - min) / 2

QEVENTS
Consultați tc (8) pentru câteva note generale despre qevents. RED qdisc acceptă următoarele qevents:

early_drop
    Blocul asociat este executat atunci când pachetele sunt abandonate prematur. Aceasta include pachetele non-ECT în modul ECN.

marcaj
    Blocul asociat este executat atunci când pachetele sunt marcate în modul ECN.

EXEMPLU

# tc qdisc add dev eth0 parent 1:1 handle 10: red
 limit 400000 min 30000 max 90000 avpkt 1000
 burst 55 ecn adaptive bandwidth 10Mbit

CONSULTAȚI ȘI
tc(8), tc-choke(8)

SURSE

o   Floyd, S. și Jacobson, V., Random Early Detection gateways for Congestion Avoidance (Porți de detectare aleatorie timpurie pentru evitarea congestionării) http://www.aciri.org/floyd/papers/red/red.html

o   Unele modificări ale algoritmului realizate de Alexey N. Kuznetsov.

o   Adaptive RED : http://icir.org/floyd/papers/adaptiveRed.pdf

AUTORI
Alexey N. Kuznetsov, <kuznet@ms2.inr.ac.ru>, Alexey Makarenko <makar@phoenix.kharkov.ua>, J Hadi Salim <hadi@nortelnetworks.com>, Eric Dumazet <eric.dumazet@gmail.com>. Această pagină de manual este întreținută de bert hubert <ahu@ds9a.nl>

TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.