QoS
QoS (engl. Quality of Service) on termi, jolla tarkoitetaan tietoliikenteen luokittelua ja priorisointia. Priorisoinnin perusteella osaa liikenteestä voidaan hidastaa tai jopa pudottaa kokonaan pois, mikäli linjojen välityskyky ei riitä. Liikennettä voidaan priorisoida sovellusten, käyttäjien tai käytettyjen tietokoneiden perusteella.
QoS-tekniikoita on kahdenlaisia. Luokittelutekniikat keskittyvät QoS-tiedon jakamiseen ja liikenteen luokitteluun, kun taas suodintekniikat ovat erilaisia algoritmeja itse reitittimissä, jotka toteuttavat itse suodatusta ja priorisointia.
QoS-termiä käytetään kaikessa tietoliikenteessä, mutta seuraava koskee TCP/IP-protokollia.
Luokittelutekniikat
muokkaaNykyisen Internet-protokollan kanssa käytetään DiffServiä eli eriytettyjä palveluita, jossa liikenteeseen kiinnitetään prioriteettilappu. Aktiivisempi vaihtoehto on IntServ, yhdistetyt palvelut, jossa erillisellä kontrolliprotokollalla varataan kaistanleveyttä.
Suotimet
muokkaa- Luokkapohjainen jono - CBQ, Class Based Queue
- Stokastinen reiluussääntö - SFQ, Stochastic Fairness Queueing
- Pääsylippukorisuodin - TBF, Token Bucket Filter
- Hitain
- Satunnainen varhaistunnistus - RED, Random Early Detect
- Älykäs (WRED, osaa pudottaa esim. TOS-kentän mukaan paketteja pois)
- Lähetys alkaa hitaana ja kiihtyy koko ajan ACK-vastauksien latenssin rajoittamana.
- Kun kaista täyttyy, RED alkaa pudottaa paketteja, mikä ilmoittaa TCP/IP:lle, että linkki ei kestä enempää kuormaa ja nopeutta tulisi hidastaa.
- Sisääntulon qdisc-sääntö - Ingress policer qdisc
- DSMARK
- PRI0
- Alempien luokkien paketteja ei lähetetä ennen kuin ylempien luokkien pakettijonot ovat täysin tyhjiä.
Esimerkki
muokkaa- Kaikki UDP-protokollaa käyttävät paketit lähetetään ja vastaanotetaan ensin.
- Kaikki C-verkosta tulevien paketit.
- Seuraavaksi kaistaa saavat TCP-porttiin 6667 tulevat paketit.
Ohjelmistoja
muokkaa- Linux
- tc (traffic control)
- tcng (tc next generation)
- trick
- trickled
- The Wonder Shaper
- Windows
- BSD
- altq
Katso myös
muokkaaLähteitä
muokkaa- Linux-verkot s. 686– lähde tarkemmin?