Ipfw internet de distribuție a vitezei (partea 1)

Au dispărut momentele în care Internetul era foarte scump și strict limitat. Acum sarcinile au devenit diferite și pentru a înlocui restricțiile privind cantitatea de trafic este timpul să limităm viteza canalului.







Cu siguranță, toată lumea este familiarizată cu situația în care orice utilizator viclean din localhost "a bătut" întregul canal prin descărcarea torrentelor sau a fișierelor mai grele în mai multe fluxuri. Așa că am decis să moderhez apetitul unor tovarăși incompetenți, răspândindu-i lățimea canalului de internet "în corectitudine", astfel încât nimeni să nu interfereze cu nimeni. În acest lucru putem ajuta la conducta (țeavă) rețea fictivă DUMMYNET. Sistemul, ca și înainte, FreeBSD - obișnuiți-vă cu binele.

Cu toate acestea, "justiția" poate fi diferită, ca în viață (toți sunt egali, dar unii sunt mai egali). Profeții suficiente, pentru a începe să definim ce este DUMMYNET.

DUMMYNET - un agent sistemic care face posibilă pentru a controla traficul de rețea care trece prin diferite interfețe de rețea, simulare prin aplicarea de diferite dimensiuni limitări de lățime de bandă de coadă, care simulează întârzierile și pierderile de pachete.

A devenit mai ușor? Cred că nu, așa că vom începe de la bun început.

Un pic de teorie. Ce sunt conductele și cozile.

Pentru a vă imagina conductele (conductele) în DUMMYNET este cel mai ușor de schematic:

Aici am descris cele două canale (pipe) - primul trafic de intrare la o rată 3Mbit / s, iar a doua ieșire - 512Kbit / s, din care fiecare cuprinde două cozi (coadă) cu anumiți parametri: Coeficient de greutate (greutate - la 1 la 100 ), prioritatea coadajului corespondent și lungimea coadă în pachetele Q.







În reguli, această construcție poate fi descrisă după cum urmează:

Conducta ipfw 1 config bw 3Mbit / s
Conducta ipfw 2 config bw 512Kbit / s
ipfw coadă 1 config pipe 1 greutate 70 coadă 20
ipfw coadă 2 config coadă țeavă 1 greutate 30 20
coadă ipfw 3 config țeavă 2-70 coadă greutate 20
ipfw coadă config țeavă 2 4 greutate 30 20 coadă

Lungimea coadajului din exemple este de 20 de pachete - coada 20. arătați unde este folosit și cum arată. Sincer vorbind, nu am înțeles profund acest parametru, prin urmare nu pot spune nimic despre calculul mărimilor coada, vă puteți aduna și puteți scrie un addendum la articol. În probleme reale, nu am folosit acest parametru; atât de mult de tuning pentru mine, fără a fi nevoie.

Pentru mine, a concluzionat că, dacă doriți să obțineți o conexiune de încredere, ai pus coada un pic mai mult, dar devine mai multe întârzieri, doriți o mică întârziere (la ochiul utilizatorului, dar nu garantează livrarea, devenind mai mici) În mod implicit, dimensiunea coada este luată în 50 de pachete, dacă schimbă memoria.

Ce avem de așteptat în greutate? Puteți organiza prioritizarea traficului prin emiterea unei lărgimi de bandă a canalului la protocoalele sau utilizatorii individuali sau prin "sufocare" IP definită proporțional. Aici cuvântul cheie este PROPORȚIONAL, deoarece nimeni nu poate capta întregul canal (atunci când toți utilizatorii au aceeași greutate - un exemplu al unei astfel de setări pe care o voi arăta în următorul articol).

Dacă doriți să selectați un anumit canal, cu parametrii specificați, atunci trebuie să creați o conductă separată pentru sarcina dorită cu parametrii specificați. Cred că, cu teoria construirii canalelor pentru distribuția vitezei de internet puțin înțelese. Puteți începe să rezolvați problema stabilită la începutul articolului - o divizare corectă a canalului de internet între toți utilizatorii rețelei.

Dacă considerați că articolul este util,
nu fi leneș să-i placă și să-i împărtășești prietenilor.







Trimiteți-le prietenilor: