Professional Documents
Culture Documents
W sieciach komputerowych bardzo wanym elementem zapewniajcym komfort pracy jest bandwidth-manager. Urzdzenie to ogranicza ruch jednego typu, najczsciej by zrobi miejsce dla ruchu innego typu. Jeeli nie zastosujemy kontroli pasma w najlepszym przypadku dojdzie do sytuacji, kiedy to jeden rodzaj ruchu bdzie musia na sie wymusi swj przydzia pasma z gwnego cza. W systemie MikroTik jest moliwo atwego ograniczania przepustowoci z uyciem kolejek prostych (simple queues). Niekiedy jednak istnieje konieczno zrobienia bardziej zaawansowanego podziau przepustowoci - ksztaotwania ruchu z wykoystaniem drzewa kolejek (queue tree). Potrzeba ta, wystepuje przedewszystkim wtedy, kiedy chcemy mie wiksz kontrole nad ruchem, chcemy rnie podchodzi do rnego rodzaju ruchu lub te dawa priorytety i gwarantowac pasmo w/g naszych wasnych zaoe.
Pierwsz czynnoci jak musimy wykona jest markowanie ruchu. Markowanie jest to proces polegajcy na wirtualnym "oznaczeniu" (z ang. mark) danych ktre maj jakie cechy charakterystyczny (np. adres ip rda lub port docelowy) Chcc ksztaotwa ruch dynamicznie dla grupy userw moemy to zrobi: Po adresie IP - skuteczne w wypadku routingu i NAT'a Po adresie MAC - skuteczne w wypadku przezroczystego bridge'a Dzisiaj zajmiemy si tym pierwszym - a mianowicie markowaniem po adresie IP uytkownika. Dla wygody w generowaniu duej iloci wpisw polecam stosowanie do tego skryptw. Aby korzysta ze skryptw naley (winbox) wybra z lewego menu: System -> Scrtipts W dalszej czci raportu skrypty wykonwane przez wew. interpretator skryptw w systemie bdziemy oznacza "(skrypt)"
:for x from 2 to 254 do={ /ip firewall mangle add chain=prerouting src-address=(192.168.0. . $x ) action=mark-packet new-packet-mark=( $x . upload ) passthrough=no }
to jest ruch, ktry wychodzi od usera (jego upload). Jak nie trudno si domyle eby zmieni klase adresow ze 192.168.0 naley edytowa wpis "src-address=(192.168.0. " wane jest zachowanie umiejscowienia kropek jak w przykadzie powyej. Podobnie rzecz si ma z zakresem od 2 do 254 - moemy to atwo edytowa wpisujc satysfakcjonujce nas wartoci (skrypt)
:for x from 2 to 254 do={ /ip firewall mangle add chain=postrouting dst-address=(192.168.0. . $x ) action=mark-packet new-packet-mark=( $x . download ) passthrough=no }
a to z kolei mark w kierunku internet -> user czyli jego download Przygotowania do ograniczania pasma 2. Utworzenie nowego typu kolejki (do stochastycznego podziau): wpisy poprzedzone (terminal) z kolei wykonujemy wprowadzajc je z terminala:
(terminal)
3. Utworzenie kolejki gownej W kolejce gwnej dziej si procesy czystego ksztatowania ruchu zgodne z htb na zasadzie algorytmu okrelonego poprzez typ kolejki. Naszym celem jest ograniczanie pasma w systemie Wejscie <-> Wyjcie zatem musimy utworzy Kolejke gwn (parent), ktra zajmie si oprcz kontroli swoich dzieci (children) odpowiednio na: Interfejsie Zewntrznym (Internet) Kolejka ksztatujca UPLOAD Interfejsie Lokalnym (Lan) Kolejka ksztatujca DOWNLOAD Przy okazji skorzystamy z moliwoci kontroli maksymalnego pasma dostpnego dla danego kierunku transmisji w celu kontroli ew. naduy globalnych.
(terminal)
(skrypt)
:for z from 2 to 254 do={ /queue tree add parent=Download packet-mark=( $z . download ) limit-at=32000 queue=sfq priority=7 max-limit=256000 }
Skrypt wygeneruje 254 kolejki, kada z nich ograniczy download dla pojedynczego marka (czyli de-fakto adresu IP) gwarantujc mu pasmo 32Kbps i ograniczajc do 256Kbps, gwarancja bdzie w tym ukadzie polegaa na zliczeniu dwch wirtualnych kolejek jedna liczca limit-at (prdko gwarantowana), druga liczca max-limit (prdko maksymalna), z zaoeniem e kolejka limit-at bdzie sza osobnym wyej priorytetyzowanym torem do momentu przekroczenia wartoci limit-at. Po przekroczeniu limit-at warto priorytetu jest ignorowana (rwna najniszej, czyli 8) zatem uytkownicy zapychajcy cze w momencie bd niemale ignorowani jeeli nowy uytkownik bdzie mia ochot wykorzysta do 32Kbps pasma zapewniajc w miar rwne rozoenie cza i przede wszystkim odpowiedni poziom dostpu do usug. Warto limit-at powinna odpowiada wartoci rzeczywistej cza podzielonej przez liczb uytkownikw razy wspczynnik jednoczesnoci (ok. 3) (skrypt)
:for b from 2 to 254 do={ /queue tree add parent=Upload packet-mark=( $b . upload ) limit-at=32000 queue=sfq priority=7 max-limit=220000 }
Jeszcze tylko Upload, zalecam oszczdzanie uploadu, nawet dla czy symetrycznych nowe programy p2p potrafi korzystajc z wad algorytmw htb i innych, impulsowo wymusza wiksz ilo ruchu anieli pozwala na to kolejka takie zjawisko atwo opanowac zmniejszajc maksymaln warto uploadu. Po zakoczeniu nasze kolejki powinny wyglda mniejwicej tak: (jest to przykad z dziaajcego routera, skonfigurowanego analogicznie z niewielkimi rnica mi)
Moemy wyrzuci z marku ruch ICMP przydatne jeeli chcemy zapewni dobre pingi niezalenie od wysycenia cza i indywidualnych kolejek userw. W tym celu musimy doda na samym pocztku (przed innymi regukami w /ip firewall mangle) (terminal)