U području informacijskih tehnologija, u dijelu koji se bavi telekomunikacijskim mrežama, pojam
Quality of Service (
QoS - kvaliteta usluge) se odnosi na mehanizam za kontrolu rezervacije mrežnih resursa (npr., propusnosti mreže).
Quality of Service predstavlja mogućnost dodjeljivanja različitih prioriteta različitim aplikacijama, korisnicima i tokovima podataka ili osiguranja određenog nivoa usluge za neki tok podataka.
Pod kvalitetom usluge (QoS) još podrazumijevamo sposobnost mreže u pružanju kvalitetnijih servisa u mrežnom prometu koristeći razne tehnologije kao što su:
- Frame Relay
- Asynchronous Transfer Mode ( ATM )
- Ethernet i 802.1 mrežu
- SONET (eng. Synchronous Optical NETwork )
Glavni cilj QoS-a je:
- pružanje prioriteta propusnosti mreže (eng. bandwidth - norma pod kojom se promet prenosi po mreži )
- kontroli varijacije u latenciji (eng. jitter) i latencije (važno za osjetljiviji promet u stvarnom vremenu i interaktivni promet - video i voice promet)
Pored navedenog, zadaća
QoS-a je i pružanje prioriteta prilikom izbora jednoga ili više protoka podataka (eng.
flow), tako da ostali protoci podataka trpe propuste, to jest pruža im se smanjena propusnost.
Protok se odnosi na kombinaciju:
- source i destination adrese
- source i destination port-a
- identifikatora razdoblja razmjene podataka ( session identifier )
QoS mehanizmiReguliranje prometa (eng.
Traffic policing) je mehanizam kojim se sav prekoračeni promet u protocima podataka, definirane najveće norme, odbacuje (eng.
drop) ili re-markira. Reguliranje prometa ne uključuje kašnjenje koje je u granicama politike prometa. Sljedeći primjer ilustrira uobičajenu aplikaciju reguliranja prometa na točki zagušenja, gdje se značajke
QoS-a općenito primjenjuju.
Oblikovanje prometa (eng.
Traffic shaping) se odnosi na postavljenje prekoračenog prometa/paketa u redove čekanja (eng.
queue). Sav prekoračeni promet/paketi postavljaju se u memorijski buffer mrežnog uređaja. Metoda oblikovanja prometa uvijek se konfigurira samo u izlaznom smjeru sučelja, gdje se sav prekoračeni promet/paketi smješta u redove čekanja i oblikuje prema postavljenoj politici.
Metoda oblikovanja prometa radi planiranje (
scheduling) zakašnjelog paketa za njihov daljnji prijenos. Funkcija
scheduling-a omogućava organiziranje oblikovanja prometa u različite redove čekanja (
queue), npr.
Class Based Weighted Fair Queuing (
CBWFQ) i
Low Latency Queuing (
LLQ).
Sljedeći primjer ilustrira kako politika QoS sortira promet u klase i postavlja pakete u redove čekanja koji prekoračuju konfiguriranu normu oblikovanja. Glavna razlika oblikovanja i reguliranja je da se u oblikovanju prekoračeni paketi ne dropaju, već se postavljaju u redove čekanja.
Token BucketToken bucket algoritam pruža korisnicima tri mogućnosti za svaki dolazni paket. Dolazni paketi se postavljaju u jednu od ovih kategorija, te korisnik odlučuje o tretmanu paketa:
- dolazni paketi koji su u definiranim granicama (Bc - committed burst): nad njima se izvršava conform action
- za pakete koji prekoračuju granicu (Bc) izvršava se prekoračena akcija (exceed action) sa smanjenim prioritetom ili drop paketa kod policing-a
- nad paketima koji prelaze obje granice (Bc i Be - burst exceeded ) se radi violate-action (najčešće se dropaju)
Primjer algoritma single token bucketa
Glavna razlika između oblikovanja i reguliranja je mjera po kojoj se „žetoni u kanti" ponovno pune. I oblikovanje i reguliranje prometa koriste metaforu kante žetona.
Metoda kante žetona radi na slijedeći način:
- žetoni se postavljaju u kantu po određenoj mjeri, odnosno izračunu
- svaki žeton je dozvola izvoru za slanje određenog broja bitova u mrežu
- za slanje paketa prometni regulator mora biti u mogućnosti maknuti broj žetona (Byte-a) iz kante koji je jednak veličini paketa
- ukoliko nema dovoljno žetona u kanti za slanje paketa, paket čeka dok kanta ne zaprimi dovoljan broj žetona (u primjeru traffic shaping-a ) ili se paketi dropaju/remarkiraju (u primjeru traffic policing-a)
- kanta ima postavljene kapacitete (Bc i Be); ukoliko kanta pređe kapacitete novi žetoni/bajti se odbacuju (eng. discard) tako da nisu dostupni za buduće pakete. U svako vrijeme najveći nalet bitova (burst) koji izvor može poslati u mrežu proporcionalan je veličini kante. Kanta žetona dopušta nalete bitova, ali ih i ograničava.
Traffic shaping povećava kantu žetona u vremenskim intervalima koristeći vrijednosti bita po sekundama (
bps) po formuli:
Tc = Bc / CIR [u sekundama]
Tc (
committed time interval)- vremenski interval u kojem se šalju
Bc žetoni [
s]
Bc (
burst committed) - normalna veličina naleta bitova (
burst ) [
b]
CIR (
committed information rate) - prosječna norma prijenosa [
bps]
U ovoj jednadžbi
Bc (
committed burst) predstavlja normalnu veličini naleta bitova, a
CIR (
committed information rate) prosječnu normu definiranu u bitovima po sekundi (
bps). Vrijednost
Tc definira vremenski interval kojim se šalju
Bc bitovi kako bi se održavala prosječna norma
CIR-a u sekundama.
Raspon vremenskog intervala
Tc je između 10 - 125 ms. Na
Cisco 7500 serijama najmanja vrijednost vremenskog intervala je 4 ms sa
distribuiranim prometnim oblikovanjem (
DTS -
Distributed Traffic Shaping). Router interno izračunava ovu vrijednost baziranu na vrijednostima
CIR-a i
Bc-a. Ukoliko je
Bc/CIR manji od 125 ms, koristi se
Tc izračunat po gornjoj jednadžbi, a ukoliko je
Bc/CIR veći ili jednak 125 ms koristi se interna vrijednost
Tc, ukoliko Cisco IOS odluči kako će prometni protok biti stabilniji u manjim vremenskim intervalima.
Kada je prekoračeni
burst (
Be) definiran vrijednošću većoj od 0, shaper dopušta spremanje žetona u kantu skroz do maksimalne definirane vrijednosti (
Bc) svi žetoni koji prekoračuju tu vrijednost se dropaju.