[ Mile-Lile @ 04.04.2013. 21:04 ] @
Pretražujući ES forum vidim da postoji puno interesovanja za QoS ali ne i uputstava kako podesiti kućne rutere da koriste ovu korisnu funkciju. Najčešća pitanja su "kako da ograničim protok za određenu IP (PC)", "da li mogu da ograničim protok za jedan PC ali, kad on nije na mreži da imam pun protok", "kako da dam prioritet određenoj MAC adresi u onosu na druge" i još puno sličnih pitanja koja se stalno vrte u krug i ponavljaju. Kako ima već puno odgovora na ova pitanja i tutorijala na tu temu (za MT itd.) ovaj post pišem za one koji nemaju mogućnost da kupe Cisco, Mikrotik, dd-wrt itd. koji nemaju želje da se bave internet provajdingom (pilićarskim) već da od rutera koje su dobili od ADSL provajdera pokušaju da iskoriste QoS koji je već u njih implementiran. Pre nego počnem, hajde da odgovorim na par tih najčešćih pitanja kako se ne bi ponavljala i kako bi neko ko čita ovaj post odmah video da li se tema tiče njegovog problema. Ako ne, nek produži dalje:) ============ QoS uopšteno ============ Uvod ----- 1. Q. Kako da ograničim protok za određeni kompjuter (IP adresu)? A. Sa SOHO ruterima koji se dobijaju od provajdera - NIKAKO. Proguglaj pojam "Bandwidth Limiting". Jeftiniji ruteri kao što su Mikrotik, dd-wrt to mogu. 2. Q. Da li mogu da ograničim protok za jedan PC ali da kad on nije na mreži imam pun protok? A. Sa SOHO ruterima koji se dobijaju od provajdera - NIKAKO. Proguglaj pojam "Bandwidth Limiting". Jeftiniji ruteri kao što su Mikrotik, dd-wrt to mogu. 3. Q. Kako da dam prioritet određenoj MAC adresi u onosu na druge? A. Moguće sa nekim ruterima koji se dobijaju od provajdera ali opet samo za određene servise i protokole tj. isti servis može da za jednu IP adresu ima srednji a za drugu viši prioritet. Proguglaj pojam Netmask and MAC Priority. Kod ddwrt-a ovo baš lepo radi. Npr. Dva WLANA, jedan vaš i drugi Guest koji će koristiti gosti (prvi Exemp a drugi Bulk). Huawei-jev HG530 QoS ima nešto slično ali o tome više drugi put. 4. Q. Imam "packet loss" kad pingujem www.google.com dok rade torenti. Kako da ovo rešim? A. Ograničavanjem broja konekcija P2P protokola i prioritizacijom data saobraćaja (QoS). Moguće je na samom torent klijentu izvšiti ograničenja (uTorrent, Vuze itd.) ali i na nekim ruterima. Mikrotik, DDWRT, Tomato, Gargoyle imaju takvu kontrolu broja koncija jer je to uglavnom glavni uzrok gubitka paketa. Proguglaj pojmove "TCP congestion control, hybla, vegas"(ddwrt, Tomato), ACC - Active Congestion Controller (Gargoyle) Šta je QoS i po kom principu funkcioniše? ----------------------------------------- QoS (Quality of service) je softwerski mehanizam rutera koji obezbeđuje raspodelu ograničenog linka prema unapred utvrđenim prioritetima. U teoriji je zamišljeno da isti link (koji je ograničen) mogu deliti torenti a da pritom VOIP ili online gameing ne trpe (da ne dođe do gubitka paketa ili velike latencije i "jitter "-inga). Dakle, pustite neki torent koji zauzme ceo link. Da nema QoS-a youtube bi seckao ili se uopšte nebi učitavao. Pošto je QoS uključen i ispravno podešen, torent klijent čeka u redu a youtube dobije prioritet nad njim i radi kao da nije uljučen torent klijent. Zatim drugarica koja je došla kod vas, na androidu učita facebook (http), on se učita bez odlaganja, a torent i youtube čekaju na svoj red. Tom prilkom vam zazvoni Skype telefon i vi pričate a da pritom nemate smetnje. Ovo je moguće jer ste unapred postavili prioritete i klase. Primer u stvarnom životu je putnici koji ulaze u avion. Prednost imaju putnici biznis klase a onda ekonomske. Ekonomska klasa čeka dok uđu putnici biznis klase ali ako nema putnika biznis klase mi (ekonom. klasa) ulazi bez čekanja:) Dakle, da bi QoS funcionisao mora znati koje su klase na kom mestu prioriteta i kako da prepozna koji data paket kojoj klasi pripada. DD-wrt ima 5, Mikrotik 8 (čini mi se) a Tomato 10 klasa. Klase zavise od zahteva korisnika. Nije svakom isti saobraćaj prioritetan. Nekom je to VOIP, nekom igranje igrica online a nekom P2P. Uopšteno govoreći klase se mogu podeliti na sledeći način: 1. Servisi (DNS, DHCP, NTP, RPC, ICMP) najviši prioritet - npr. Class 1 (Exempt) 2. Remote (telnet, SSH, RDP, Remote Router AccSSes, pptp, VPN) Class 2 (Premium) 3. VOIP/Game (STUN, SIP, H323, Skype, Quake) Class 2 (Premium) 4. Http do 512kb (www) Class 3 (Expess) 5. Http preko 512kb, Mail (http youtube, redtube, slutload, SMTP, NNTP, POP3) Class 4 (Standard) 6. P2P, ftp (bittorrent, eMule) Class 5 (Bulk) Nazivi klasa se različito nazivaju kod različitih sistema QoS-a. Ovako je kod mene podeljeno na ddwrt-u ali videćemo kasnije naši Havajci i Tp linkovi nemaju sve ove servise pa ćemo morati da pretpostavimo da sve što nije standard, Medium, High, Highest spada u saobraćaj sa najnižim prioritetom (Low). Kao što smo rekli ruter mora da zna da prepozna paket da bi znao u koju klasu da ga svrsta. Ovo je teži deo jer je saobraćaj nekad i enkriptovan. Postoji više načina kako ruter prepoznaje pakete. Uparivanje po broju porta: Npr. ako znamo da je dst port 53 rezervisan za DNS, ruter će ga svrstati u Class 1 tj. u najvišu klasu. Niže će biti napisano koje aplikacije koji port koriste. Uparivanje po veličini paketa: Ovo ćemo zaobići jer Huawei i Tp-link nema tu opciju. Uparivanje paketa po vrsti protokola: Protokoli u LAN-u mogu biti ICMP, TCP ili UDP. Online igre i VOIP koriste uglavnom UDP protokol tako da na P2P klijentima treba "disable-ovati" (onemogućiti) ovu vrstu protokola (ako nemate tu opciju na ruteru što je uglavnom slučaj). Preporučuje se korišćenje TCP protokola i za Incoming i za Outgoing P2P konekcije. Kasnije će biti reči kako podesiti bittorrent klijente (DHT, UDP, broj maksimalnih konekcija) L7 uparivanje: QoS prepoznaje o kojoj je aplikaciji(programu) reč (na osnovu podataka koji se šalju - NE headera) i svrstava je u određenu klasu. Koji su portovi i protokoli rezervisani za određene aplikacije: DNS tcp/udp dst port 53 NTP tcp/udp dst port 123 RPC tcp/udp dst port 135, 2101, 2103, 2105 Telnet tcp dst port 23 SSH tcp/udp dst port 22 VPN tcp/udp dst port 1723 SMTP tcp/udp dst port 25, 587 POP3 tcp/udp dst port 110, 995 NNTP tcp/udp dst port 119, 563 SIP, STUN tcp/udp dst port 3478, 3479, 5060-5063 Skype uparuje se na L7 nivou jer se portovi mogu menjati u samoj aplikaciji, najbolje koristiti UPnP HTTP, HTTPS tcp/udp dst port 80, 443, 8080 ftp tcp dst port 20, 21, 989, 990 P2P tcp dst port 60000-61000 raspon se podešava na samom klijentu uz omoguæen UPnP Huawei HG530 u svom QoS-u ima mogućnost za upis 16 pravila (Rule) a ovde imamo pobrojano 14 protokola. Što više pravila definišete bolje je jer ruter neće morati da "sklanja u stranu" pakete koje ne može da prepozna. Ovim ćete izbeći pogrešno identifikovane pakete, packet loss, povećanje latencije, jittering itd. Pošto nemamo svi iste prioritete moraćete da se sami potrudite da odredite svoje jer to ne može niko umesto vas. Portove određenih online igrica, XBOX-a itd možete potražiti na ovoj adresi http://portforward.com/cports.htm Ovo vam je jako bitno da bi dali svojoj igrici prioritet (na osnovu uparivanja porta) i izbegli povećanje latencije. ========================= Podešavanje QoS na HG530 ========================= Želimo da isprobamo da li ce sledeći zamišljeni scenario biti uspešan. Da pustimo torente i kada postignu punu brzinu pustimo youtube koji će, raditi "bez kočenja" a zatim uraditi pingtest (www.pingtest.net) gde nece biti izgubljenih paketa (packet loss). Naravno bilo bi poželjno da se sve ovo isproba i kada nije uključen QoS kako bi se videla razlika. Pre nego pristupite samom podešavanju QoS-a omogućite UPnP funkciju rutera kako bi ruter sam izabrao najbolje portove za odrđene aplikacije. Neko će reći da je UPnP sigurnosni rizik ali po toj logici i Port Forwarding je sigurnosni rizik. UPnP ima široku primenu. Lično, nisam imao nikada problema sa sigurnošću i ako mi je UPnP uključen po defaultu. ![]() Zatim dodajemo pravilo za ping u QOS. Rule index 1 u kome cemo dati najviši prioritet pingu. Ping ne koristi ni jedan poseban port već protokol ICMP. Popuniti polja Prema sledećoj slici: QoS - Activated Rule Index 1 Avtive: Activated Physical port: Enet 1 i 4 (ovo se odnosi na fizicki port na kome se radi QoS, kod mene su 2 i 3 rezervisani za IPTV) Nema opcije za wlan ali pretpostavimo da je bridžovan sa e1 i e4 i da ce se Rule Index 1 primeniti i na njega) Destination Port Range 1-65535 (dakle svi portovi) Protocol: ICMP VLAN ID 2 (pogledati Advanced/port mapping Štiklirati IPP/TOS IP Precedence Range: 7 koji je najviši ![]() Dalje podesiti Rule 2 (davanje odrdenog prioriteta http-youtube) ![]() I na kraju P2P cemo svrstati u najnižu klasu data saobracaja ![]() Pogledajmo kako izgleda summary: ![]() Na vrhu lanca hijerarhije je ping, zatim youtube i na kraju torenti. Ovo je najprostija podela a da bi sve funkcionisalo, treba uzeti sve aplikacije koje koristimo. Ja sam ovo uprostio da bi se video šablon. Ostaje još nekoliko stvari pre testiranja. Prvo ubiti teredo konekcije na PC-u, jer u LAN-u je IPv6 nepotreban. Njegove konekcije zajedno sa ostalim mogu dovesti do saturacije (zasicenosti) CPU rutera. Ako imate W7 ili Vistu uradite na sledeci nacin: Iz konzole command prompt sa admin pristupom kucajte sledece komande: netsh interface teredo set state disabled ![]() Dalje, moramo podesiti torent klijent da koristi raspon portova koje smo uneli u QoS rule index 3 (60000-61000) za kje smo naveli da kroz njih prolazi saobracaj koji je najmanje bitan. Kako ja koristim Vuze podesicu ga na sledeci nacin. Ukljucicu UPnP, raspon porta 60000-61000, necu preferirati korišcenje UDP protokola jer ga koriste online igre, VOIP itd. Smanjicu broj konekcija da rasteretim ruter itd. Slike govore više od reci: ![]() ![]() ![]() ![]() ![]() Torent klijentu ce trebati više vremena da postigne "punu brzinu" ali budite strpljivi. Za 5 min. ce vuci punom brzinom a vi nemorate brinuti, ako izadete od kuce da se prošetate, da li ce vaši ukucani poludeti zbog sporog interneta. Vaš QoS ce brinuti o tome:))) |