SlideShare a Scribd company logo
1 of 51
Download to read offline
1
Mechanizmy QoS
Absolutnie zupełne podstawy
(dla początkujących)
Łukasz Bromirski Rafał Szarecki
lbromirski@cisco.com 	
   	
  rafal@juniper.net	
  
PLNOG, Kraków, wrzesień 2011
Zawartość (z grubsza)*
§  Co to jest QoS?
§  DiffServ i IntServ
§  Markowanie
§  Policing vs Shaping
§  Profile dla PHB
§  RED/WRED/MDWRR
§  HQoS
§  Q&A
* agenda może ulec zmianie bez ostrzeżenia, nawet w trakcie prezentacji
Co to jest QoS?
Co to jest QoS?
§  Jakość Usługi – ang. Quality of Service
§  Zestaw mechanizmów starających się zapewnić
nierówne traktowanie ruchu sieciowego
§  Celem jest zapewnienie krytycznych paramentów
ruchowych dla aplikacji, przy optymalnym
wykorzystaniu zasobów.
§  Myśląc o QoSie mówimy głównie o zarządzaniu KPI:
Opóźnieniem dla ruchu – (ang. delay)
Zmiennością opóźnień dla ruchu (ang. jitter)
Pasmem (ang. bandwidth)
Stopą utraty pakietów (ang. packet loss/drop)
Po co nam mechanizmy QoS?
§  Aplikacje są wrażliwe na opóźnienia, jitter, utratę pakietów. Na
szczęście niekonieczne na wszystkie na raz
§  Aplikacje wrażliwe na jitter, kompensują go kosztem zwiększenia
opóźnienia, poprzez de-jitter buffer po stronie odbiornika
§  Przykłady:
Delay Jitter Loss-rate
VoIP sensitive sensitive moderate [<1%]
IPTV not sensitive* not sensitive sensitive [10E-7]
Gaming sensitive moderate moderate
Translational services
(e.g. SAP)
moderate not sensitive moderate
WEB, e-mail, ftp not sensitive not sensitive not sensitive
* “Not sensitive” – oznacza relatywnie niską wrażliwość - jednak w rozsądnych granicach J
Czynniki wpływające na KPI
§  Pewne składniki są niekontrolowane (opóźnienie propagacji,
przełączania, błędy CRC, itp.)
Pasmo to nie wszystko: 10Mbps SAT != 10Mbps FO != 10Mbps 4G
§  Inne składniki możemy kontrolować
Długość buforowania
Kolejność obsługi buforów
§  W większości sieci znajdują się miejsca narażone na przeciążenia
§  10Mbit/s -> 100Mbit/s -> 1GE -> 10GE -> 100GE (-> 400GE) ->?
Scenariusze stworzone dla
mechanizmów QoS
CE CE
2 Mbit/s 1 Mbit/s
Różnice w prędkości
1 Mbit/s
1 Mbit/s
1 Mbit/s
1 Mbit/s
1 Mbit/s
4 Mbit/s
Agregacja ruchu
CE CE
CE
1 Mbps 1 Mbit/s
1 Mbit/s
Agregacja ruchu
Do czego dążymy z QoS?
Klasyfikacja i
oznaczanie
Kolejkowanie i
odrzucanie
Wysyłanie ruchu
dalej
DiffServ i IntServ
Architektury QoS
§  Architektury QoS opisują sposób w jaki mechanizmy QoS działają
w sieciach zapewniając gwarancje usług end-to-end
§  Pierwsze architektury IP QoS nie wspominały wprost o SLA end-
to-end. Podejście hop-by-hop
IP Precedence (RFC 791), IP ToS (RFC 1349)
§  Dwa modele obecnie używane to:
Differentiated Services – Diffserv (RFC2475)
Integrated Services – Intserv (RFC1633)
§  TEORETYCZNIE, w sieciach L3 dostawców usług oba modele
mogą współistnieć i uzupełniać się, choć dla „prostych” polityk QoS
stosuje się tradycyjnie architekturę Diffserv (mało aplikacji
obsługuje RSVP wprost)
§  W sieciach lokalnych L2 stosuje się architekturę Diffserv
Architektura IntServ
§  Aplikacja końcowa żąda od sieci gwarancji zasobów dla
indywidualnej sesji sieciowej
Wsparcie aplikacji dla RSVP
Sesja = Internet 5-typle
§  Każdy element sieciowy musi znać stan każdej sesji
przechodzącej przez niego. RSVP soft-state.
§  Nie stosowane w sieciach SP/Telco
Skalowalność – ile sesji TCP mamy w Internecie? Jak je kontrolować?
Pełna implementacja – kolejka per sesja. Ten sam problem który zabił ATM
§  Elementy IntServ są wykorzystywane w MPLS-TE
Aggregacja
Gwarancje tylko w control-plane
Nie jest to IntServ as per RFC 1633
Architektura Diffserv – RFC2475
Domena Diffserv
Oznaczanie w polu
DSCP
Klasyfikacja i
nakładanie ograniczeń
na wejściu do domeny
(sieci)
B
R
B
R
B
R B
R
Zagregowanie PHB (EF, AF) na
wszystkich interfejsach domeny
§  Mały poziom
złożoności – brak
utrzymania stanów czy
sygnalizacji
§  Usługi tworzone są
przez kombinację:
§  Złożonej
klasyfikacji,
oznaczania,
ewentualnie
przycinania ruchu
na brzegu sieci
§  Prostej
klasyfikacji
wewnątrz sieci w
oparciu o DSCP
§  Konfiguracji
sposobu obsługi
ruchu (PHB)
Prosta klasyfikacja
oparta na codepoint
B
R
B
R
B
R
Traffic conditioner
Bloki funkcjonajne DS-węzła (1)
§  Classifier
Identyfikuje strumienie pakietów, które powinny być jednakowo traktowane –
Behavior Aggregate. Pakiety nie mogą zmienić kolejności
Rodzaje:
Behavior Aggregate (BA) – sprawdza wyłącznie DSCP
Multi-field Classifiers (MF) – sprawdza wiele pól w nagłówku. Stosowany na
wejściowym DS-węźle. Z reguły bezstanowy, ale może być stanowy/aplikacyjny
Ordered Aggregate (OA) – zbiór BA, dla których wszystkie pakiety muszą być
wysłane w tej samej kolejności w jakiej zostały otrzymane
Dany BA może należeć do tylko jednego OA
Classifier Marker
Meter
Dropper
/Shaper
PHBs
Traffic conditioner
Bloki funkcjonajne DS-węzła (2)
§  Meter – Mierzy poziom ruchu dla strumienia pakietów wybranych przez
classifier (BA). Meter przekazuje informację o stanie in- lub out-of-profile
pakietu do innych elementów Traffic Conditioner w celu wykonania
operacji
§  Marker – wpisuje wartość DSCP w odpowiednie pole nagłówka.
§  Dropper/shaper – odrzuca/buforuje pakiety w taki sposób, aby przyciąć
ruch do założonego poziomu
§  PHB
Classifier Marker
Meter
Dropper
/Shaper
PHBs
PHB i PSC
§  PHB = Jak zasoby są alokowane dla danego strumienia
BA
Rozmiar Bufora FIFO/kolejki
Pasmo na interfejsie wyjściowym
Gwarantowane
Maksymalne
Proporcja
Która kolejka kiedy - scheduler
§  PHB Scheduling Class (PSC) = Jak zasoby są
alokowane dla danego strumienia OA
Zbiór PHB, dla których pakiety nie mogą się “przeskakiwać”
Aby zagwarantować kolejność – jeden bufor FIFO (kolejka)
Markowanie
Markowanie – IP DSCP
Wersja Długość ID offset TTL protokół FCS IP SA IP DA DANE
Wybór klasy
(CS)
§  Pole składa się z 6 bitów - Jedna wartość dla jednego BA/PHB
§  Pierwsze 3 bity DSCP - Definiują OA/PSC
§  Ostatnie 3 bity DSCP – Definiują zależność między zajętością kolejki, a priorytetem
(prawdopodobieństwem) odrzucenia (drop) pakietu
§  RFC 3168 definiuje dodatkowo wykorzystanie dwóch bitów z pola ECN (Explicit
Congestion Notification)
§  Jeśli ostatnie 3 bity DSCP to 000b i ECN to 00b , to Pierwsze 3 bity są selektorem
clasy (CS) – funkcjonalnie odpowiednie i wstecznie kompatybilne z IP Precedence
pole Diffserv (DS) (RFC 2474)ECNDSCP ECNDSCP
7
lsb
6543210
msb
7
lsb
6543210
msb
bajt Type of Service (ToS) (RFC1349)TOS FieldPREC Field TOS FieldPREC Field
MPLS i Diffserv
§  Do „sygnalizacji” QoS używamy 3-bitowego pola TC w nagłówku pakietu MPLS
Kopia lub mapowanie z wartości pola DSCP oryginalnego pakietu IP
§  Decyzja o trafieniu pakietu do konkretnej klasy usługowej może odbywać się na
podstawie wartości pola TC, lub IP Precedence/DSCP oryginalnego pakietu
§  Wsparcie dla architektury DiffServ w MPLS opisano w RFC 3270 (choć bez
żadnych propozycji)
DSCP (RFC2474)
Class Selector Code
Points (RFC2474)
LSB
7654321
MSB
0
LSB
7654321
MSB
0
Pole DS
ELSR
Dane IP hdrDS
Pakiet IP
Time to liveSEXPEtykieta TC
Etykieta MPLS
Domena MPLS
IP data MPLS LabelIP hdr DS
Pakiet z etykietą MPLS
Pakiet IP
Kopiowanie wartości
Markowanie – CoS – 802.1p
§  802.1p - pole ‘priorytet użytkownika’
zwane również Class of Service (CoS)
§  Różnym typom ruchu przypisane są
różne wartości CoS.
§  Wartości CoS 6 i 7 są zarezerwowane
dla ruchu sieciowego
§  Formalnie nie związany z DiffServ
TAG
4 Bajty
Trzy bity użyte dla CoS
(802.1p)
Dane FCSPTSADASFDPream. Typ
Nagłówek
802.1Q/p
PRI VLAN IDCFI
ramka Ethernet
1
2
3
4
5
6
7
0 Dane „Best Effort”
Dane masowe
Dane krytyczne
Sygnalizacja połączeń
Video
Głos
Routing
Zarezerwowane
CoS Aplikacja
IETF DiffServ a implementacje
MF Classifier Access-list, stateless Firewall Filter, stateful firewall,
IDP, etc
Meter Policer, rate-limit profile, token bucket
Marker Operacja ustawienia wartości
Dropper Operacja w Policerze , Operacja w filtrze
PSC Jedna kolejka i jej parametry
PHB Kombinacja kolejki i profilu odrzucania pakietów
Elementy:
Policing vs Shaping
Zarządzanie przeciążeniem
§  Z obsługą zbyt dużej ilości ruchu związana jest
konieczność odrzucania ruchu nadmiarowego
§  Jeśli jednak przeciążenie jest krótkookresowe, można
obyć się bez strat. Dwa podejścia:
policing – token bucket
shaping – buforujemy ruch przez określoną ilość czasu
Policer – Token Bucket
§  Żetony do wiaderka są dostarczane w stałym tempie
§  Żetony mogą być pobrane z wiaderka w dowolnej ilości (z
nieskończoną prędkością)
§  Aby przesłać pakiet, dla każdego bajtu, trzeba pobrać
odpowiednią ilość żetonów z wiaderka
§  Jeśli żetonów brakuje, to pakiet jest odrzucany/oznaczany
§  Brak opóźnień
§  Po przejściu policera, ruch nadal ma charakter niestały
(bursty)
§  Po przejściu policera, średnia wartość ruchu odpowiada
zadanej prędkości
Shaper – Leaky Bucket
§  Żetony wyciekają z wiaderka i są dostarczane w stałym tempie
§  Aby przesłać pakiet, dla każdego bajtu, trzeba poczekać aż z
wiaderka wycieknie dostateczna ilość żetonów
§  W oczekiwaniu na żetony pakiety są składowane w buforze
pamięci typu FIFO (kolejka)
§  Pakiety są opóźniane w buforze
§  Jak zabraknie bufora, pakiet trzeba odrzucić
Head drop – najstarszy pakiet jest wyrzucany, aby zrobić miejsce nowemu
Tail drop – najnowszy pakiet jest odrzucany, bo się nie mieści
§  Po przejściu shapera, ruch nadal ma charakter stały
§  Po przejściu shapera, średnia wartość ruchu odpowiada zadanej
prędkości
Policing vs shaping
Shaping
Ruch
Czas
Pasmo docelowe
Ruch
Czas
Pasmo docelowe
Policing
Ruch
Czas
Ruch
Czas
Pasmo docelowe Pasmo docelowe
>= pasmo średnie
Dla części danych
zabrakło żetonów
PHB Scheduling Profiles
– parametry kolejki
Kolejki
§  Kolejka ma konfigurowalne atrybuty:
Rozmiar – wielkość pamięci, wyrażana w Bajtach, milisekundach,
%, pakietach
Kolejka ma priorytet
Kolejka ma przypisane pasmo
CIR (udział w paśmie interfejsu). Minimalne gwarantowane
pasmo dla strumienia OA wyrażone w % lub kbps
PIR Maksymalne pasmo dla strumienia OA wyrażone w % lub
kbps
Wagę lub udział w paśmie interfejsu – relatywny udział
wzgledem innych kolejek
§  Dynamiczny stan kolejki – pozytywne/negatywne saldo
§  Na interfejsie jest wiele kolejek – typowo 4 lub 8
§  Scheduler – process decydujący która kolejka bedzie
obsługiwana
Scheduler
§  Wiele algorytmów
WFQ
WRR
PQ
…
§  MDWRR Najbardziej popularny na urządzeniach
operatorskich i high-end
wszystkie routery Junipera
CRS, ASR, 7600
MDWRR (1)
§  2 token bucket dla każdej kolejki
Pierwszy – napełniany w tempie odpowiadającym CIR
Drugi – napełniany w tempie odpowiadającym PIR
§  Jeśli interfejs nie jest przeciążony, ruch z kolejki może
być nadawany szybciej niż CIR
Ujemne żetony w pierwszym TB (Deficyt)
Kolejka jest w stanie negatywnego salda
MDWRR (2) - przykłady
1.  Obsługa kolejek, które mają wysoki priorytet, i równocześnie
pozytywne saldo. WRR – wagą jest CIR/waga.
•  Strict-High priority – kolejka o wysokim priorytecie, która zawsze ma
pozytywne saldo
2.  Obsługa kolejek, które mają średni priorytet, i równocześnie
pozytywne saldo. WRR – wagą jest CIR/waga
3.  Obsługa kolejek, które mają niski priorytet, i równocześnie
pozytywne saldo. WRR – wagą jest CIR/waga
4.  Obsługa kolejek, które mają wysoki priorytet, i równocześnie
negatywne saldo. WRR – wagą jest CIR/waga
5.  Obsługa kolejek, które mają średni lub niski priorytet, i
równocześnie negatywne saldo. WRR – wagą jest CIR/waga
MDWRR a standardowe PSC
EF
AF1
AF2
AF3
AF4
BE
Allways
positive
MDWRR – niestandardowe PSC
RT
NC
Business
IPTV
VPN
BE
Allways
positive
Random Early Discard
Policing lub przeciążenie
– efekt synchronizacji TCP
Wiele sesji TCP startuje w różnym czasie
Rozmiary okien TCP zwiększają się
Bufory/kolejki wypełniają się
Odrzucanie ruchu powoduje zmniejszenie okna TCP w tym samym
momencie – a następnie ponowne zwiększanie go...
Opóźnienia, jitter i „umieranie” pakietów
Stałe ciągłe wykorzystanie buforów powoduje opóźnienia
Zmieniające się obciążenie buforów może powodować jitter
Bardziej agresywne aplikacje generujące ruch mogą powodować
„umieranie” bardziej spokojnych aplikacji
Mechanizm RED
Random Early Detection
Tail RED
Prec.0 Prec.0Prec.0Prec.0
Prec.
3
Prec.
3
Prec.
3
Prec.
3
§  Nie wpływa na opóźnienie
§  Preferuje dostarczenie pakietów pomarańczowych (np.
ruch kontrolny sieci + klientów sieci)
§  Pakiety niebieskie to TCP - informacja o przeciążeniu w
postaci brakujących pakietów jest dostarczana z
opóźnieniem D2
Delay D1
Delay D2
Head RED
Prec.0Prec.0Prec.0Prec.0
Prec.
3
Prec.
3
Prec.
3
Prec.
3
Delay D1
§  Zmniejsza opóźnienie pakietów pomarańczowych
§  Preferuje dostarczenie pakietów pomarańczowych
§  Pakiety niebieskie to TCP - informacja o przeciążeniu w
postaci brakujących pakietów jest dostarczana bez
opóźnienia
Ruch TCP i RED
TCP przed RED
TCP po RED
Mechanizm RED a PHB
Drop
probability
PSC Queue
utilization
PHB.1 PHB.2
30% 70% 100%
10%
KPI vs mechanizmy QoS
Wymagania aplikacji a możliwosci
konfiguracji
KPI
§  Delay
§  Jitter
§  Loss-rate
Konfiguracja
§  Priorytet kolejki
§  Rozmiar kolejki
§  CIR/PIR/Waga kolejki
§  Profil RED
§  Upgrade łącza J
Zależności – rozmiar kolejki
§  Ups... Albo małe starty, albo mały jitter…
Jitter
Loss-rate
Queue size [B]
Delay
Zależności – priorytet kolejki
Jitter
Loss-rate
priority
Delay
Zależności – CIR/Waga kolejki
§  Zwiększenie CIR/Wagi – zawsze kosztem innej kolejki
Jitter
Loss-rate
CIR/Waga
Delay
Ale tak praktycznie…
§  CIR/PIR/Waga – wynika z przewidywanego ruchu
§  RED profile – max. drop probability 10%-20%. Powyżej
i tak wszystkie okna TCP są resetowane
§  Rozmiar kolejki
Zależy od tego jaki jitter jest akceptowalny
Dla TCP – przepływność * opóźnienie propagacji. (LFN –
Elephant) dla optymalizacji wypełnienia łacza
HQoS
Hierarchiczny QoS – gdzie i w jakim celu
§  Spotykany w środowisku masowego klienta – BNG
§  Wielu abonentów, każdy z kilkoma klasami QoS
§  Trzeba zapewnić każdemu abonentowi minimalne
zasoby, niezależnie of klasy ruchu
Abonent musi mieć zapewnioną możliwość realizacji kontraktu
(20Mbps) w klasie BE, nawet jeśli inni abonenci są przeciążają
łącze ruchem EF
§  Potrzebujemy zapewnić minimalne pasmo dla każdego
z urządzeń dostepowych, nawet jeśli są połączone w
szeregu, tzw. łańcuszek (ang. daisy chain)
HQoS
§  Outer VLAN = Access Node
CIR
§  Inner VLAN = subscriber
waga
PIR
§  Per VLAN queues
Real-time – CIR=PIR, S-HP,
mały bufor
Video – CIR, MP, wielki bufor
Internet – CIR, LP, średni
bufor, RED
Guaranteed rate per S-VLAN
Shaping rate per VLAN Shaping rate per VLAN
Real-time
Video
Internet
Real-time
Video
Internet
Real-time
Video
Internet
Real-time
Video
Internet
Pytania?
PLNOG 7: Łukasz Bromirski, Rafał Szarecki - Mechanizmy QoS - absolutnie zupełne podstawy (dla początkujących)

More Related Content

Similar to PLNOG 7: Łukasz Bromirski, Rafał Szarecki - Mechanizmy QoS - absolutnie zupełne podstawy (dla początkujących)

PLNOG 6: Łukasz Bromirski - Protokoły warstwy 2 - Przegląd dostępnych opcji
PLNOG 6: Łukasz Bromirski - Protokoły warstwy 2 - Przegląd dostępnych opcji PLNOG 6: Łukasz Bromirski - Protokoły warstwy 2 - Przegląd dostępnych opcji
PLNOG 6: Łukasz Bromirski - Protokoły warstwy 2 - Przegląd dostępnych opcji PROIDEA
 
PLNOG 7: Marcin Aronowski - MPLS dla "tradycyjnego" operatora telekomunikacyj...
PLNOG 7: Marcin Aronowski - MPLS dla "tradycyjnego" operatora telekomunikacyj...PLNOG 7: Marcin Aronowski - MPLS dla "tradycyjnego" operatora telekomunikacyj...
PLNOG 7: Marcin Aronowski - MPLS dla "tradycyjnego" operatora telekomunikacyj...PROIDEA
 
TV i video w Internecie
TV i video w InternecieTV i video w Internecie
TV i video w InternecieDivante
 
PLNOG 6: Łukasz Bromirski, Rafał Szarecki - Przełączniki i Routery - co jest ...
PLNOG 6: Łukasz Bromirski, Rafał Szarecki - Przełączniki i Routery - co jest ...PLNOG 6: Łukasz Bromirski, Rafał Szarecki - Przełączniki i Routery - co jest ...
PLNOG 6: Łukasz Bromirski, Rafał Szarecki - Przełączniki i Routery - co jest ...PROIDEA
 
PLNOG 9: Ryszard Czernecki - Bezpieczeństwo usług a zasoby sprzętowe platform...
PLNOG 9: Ryszard Czernecki - Bezpieczeństwo usług a zasoby sprzętowe platform...PLNOG 9: Ryszard Czernecki - Bezpieczeństwo usług a zasoby sprzętowe platform...
PLNOG 9: Ryszard Czernecki - Bezpieczeństwo usług a zasoby sprzętowe platform...PROIDEA
 
[GURU Lublin][2004][PL] Kształtowanie ruchu w systemie FreeBSD z wykorzystani...
[GURU Lublin][2004][PL] Kształtowanie ruchu w systemie FreeBSD z wykorzystani...[GURU Lublin][2004][PL] Kształtowanie ruchu w systemie FreeBSD z wykorzystani...
[GURU Lublin][2004][PL] Kształtowanie ruchu w systemie FreeBSD z wykorzystani...Paweł Małachowski
 
PLNOG15: End of theoretical talks on SDN! Time for real solutions - Cisco SP ...
PLNOG15: End of theoretical talks on SDN! Time for real solutions - Cisco SP ...PLNOG15: End of theoretical talks on SDN! Time for real solutions - Cisco SP ...
PLNOG15: End of theoretical talks on SDN! Time for real solutions - Cisco SP ...PROIDEA
 
Lukasz Bromirski - Inzynieria ruchowa w sieciach MPLS
Lukasz Bromirski - Inzynieria ruchowa w sieciach MPLSLukasz Bromirski - Inzynieria ruchowa w sieciach MPLS
Lukasz Bromirski - Inzynieria ruchowa w sieciach MPLSPROIDEA
 
PLNOG 8: Łukasz Bromirski - IP Anycast - Ochrona i skalowanie usług sieciowych
PLNOG 8: Łukasz Bromirski - IP Anycast - Ochrona i skalowanie usług sieciowych PLNOG 8: Łukasz Bromirski - IP Anycast - Ochrona i skalowanie usług sieciowych
PLNOG 8: Łukasz Bromirski - IP Anycast - Ochrona i skalowanie usług sieciowych PROIDEA
 
PLNOG 9: Marcin Aronowski - Unified MPLS
PLNOG 9: Marcin Aronowski - Unified MPLSPLNOG 9: Marcin Aronowski - Unified MPLS
PLNOG 9: Marcin Aronowski - Unified MPLSPROIDEA
 
PLNOG16: Transport ruchu klientów - MPLS L2 i L3, Tomasz Jedynak
PLNOG16: Transport ruchu klientów - MPLS L2 i L3, Tomasz JedynakPLNOG16: Transport ruchu klientów - MPLS L2 i L3, Tomasz Jedynak
PLNOG16: Transport ruchu klientów - MPLS L2 i L3, Tomasz JedynakPROIDEA
 
PLNOG 9: Łukasz Bromirski, Rafał Szarecki - MPLS VPN - Architektura i przeglą...
PLNOG 9: Łukasz Bromirski, Rafał Szarecki - MPLS VPN - Architektura i przeglą...PLNOG 9: Łukasz Bromirski, Rafał Szarecki - MPLS VPN - Architektura i przeglą...
PLNOG 9: Łukasz Bromirski, Rafał Szarecki - MPLS VPN - Architektura i przeglą...PROIDEA
 
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...PROIDEA
 
PLNOG 18 - Jarosław Ulczok - Podsłuchać światłowód? Przezentacja LIVE + zasto...
PLNOG 18 - Jarosław Ulczok - Podsłuchać światłowód? Przezentacja LIVE + zasto...PLNOG 18 - Jarosław Ulczok - Podsłuchać światłowód? Przezentacja LIVE + zasto...
PLNOG 18 - Jarosław Ulczok - Podsłuchać światłowód? Przezentacja LIVE + zasto...PROIDEA
 
PLNOG 21: Łukasz Trąbiński, Konrad Pilch - Jak_sterować_ogólnopolską_siecią_C...
PLNOG 21: Łukasz Trąbiński, Konrad Pilch - Jak_sterować_ogólnopolską_siecią_C...PLNOG 21: Łukasz Trąbiński, Konrad Pilch - Jak_sterować_ogólnopolską_siecią_C...
PLNOG 21: Łukasz Trąbiński, Konrad Pilch - Jak_sterować_ogólnopolską_siecią_C...PROIDEA
 
PLNOG14: Nowości w protokole BGP, optymalizacja routingu na brzegu sieci - Łu...
PLNOG14: Nowości w protokole BGP, optymalizacja routingu na brzegu sieci - Łu...PLNOG14: Nowości w protokole BGP, optymalizacja routingu na brzegu sieci - Łu...
PLNOG14: Nowości w protokole BGP, optymalizacja routingu na brzegu sieci - Łu...PROIDEA
 
PLNOG19 - Konrad Kulikowski - Segment Routing – okiem praktyka
 PLNOG19 - Konrad Kulikowski - Segment Routing – okiem praktyka PLNOG19 - Konrad Kulikowski - Segment Routing – okiem praktyka
PLNOG19 - Konrad Kulikowski - Segment Routing – okiem praktykaPROIDEA
 
PLNOG 3: Piotr Jabłoński - Realizacja styku międzyoperatorskiego dla usług L...
PLNOG 3: Piotr Jabłoński -  Realizacja styku międzyoperatorskiego dla usług L...PLNOG 3: Piotr Jabłoński -  Realizacja styku międzyoperatorskiego dla usług L...
PLNOG 3: Piotr Jabłoński - Realizacja styku międzyoperatorskiego dla usług L...PROIDEA
 
PLNOG 8: Paweł Białasiewicz - Rozwiązywanie problemów sieciowych za pomocą sn...
PLNOG 8: Paweł Białasiewicz - Rozwiązywanie problemów sieciowych za pomocą sn...PLNOG 8: Paweł Białasiewicz - Rozwiązywanie problemów sieciowych za pomocą sn...
PLNOG 8: Paweł Białasiewicz - Rozwiązywanie problemów sieciowych za pomocą sn...PROIDEA
 
PLNOG15: BGP Route Reflector from practical point of view
PLNOG15: BGP Route Reflector from practical point of viewPLNOG15: BGP Route Reflector from practical point of view
PLNOG15: BGP Route Reflector from practical point of viewPROIDEA
 

Similar to PLNOG 7: Łukasz Bromirski, Rafał Szarecki - Mechanizmy QoS - absolutnie zupełne podstawy (dla początkujących) (20)

PLNOG 6: Łukasz Bromirski - Protokoły warstwy 2 - Przegląd dostępnych opcji
PLNOG 6: Łukasz Bromirski - Protokoły warstwy 2 - Przegląd dostępnych opcji PLNOG 6: Łukasz Bromirski - Protokoły warstwy 2 - Przegląd dostępnych opcji
PLNOG 6: Łukasz Bromirski - Protokoły warstwy 2 - Przegląd dostępnych opcji
 
PLNOG 7: Marcin Aronowski - MPLS dla "tradycyjnego" operatora telekomunikacyj...
PLNOG 7: Marcin Aronowski - MPLS dla "tradycyjnego" operatora telekomunikacyj...PLNOG 7: Marcin Aronowski - MPLS dla "tradycyjnego" operatora telekomunikacyj...
PLNOG 7: Marcin Aronowski - MPLS dla "tradycyjnego" operatora telekomunikacyj...
 
TV i video w Internecie
TV i video w InternecieTV i video w Internecie
TV i video w Internecie
 
PLNOG 6: Łukasz Bromirski, Rafał Szarecki - Przełączniki i Routery - co jest ...
PLNOG 6: Łukasz Bromirski, Rafał Szarecki - Przełączniki i Routery - co jest ...PLNOG 6: Łukasz Bromirski, Rafał Szarecki - Przełączniki i Routery - co jest ...
PLNOG 6: Łukasz Bromirski, Rafał Szarecki - Przełączniki i Routery - co jest ...
 
PLNOG 9: Ryszard Czernecki - Bezpieczeństwo usług a zasoby sprzętowe platform...
PLNOG 9: Ryszard Czernecki - Bezpieczeństwo usług a zasoby sprzętowe platform...PLNOG 9: Ryszard Czernecki - Bezpieczeństwo usług a zasoby sprzętowe platform...
PLNOG 9: Ryszard Czernecki - Bezpieczeństwo usług a zasoby sprzętowe platform...
 
[GURU Lublin][2004][PL] Kształtowanie ruchu w systemie FreeBSD z wykorzystani...
[GURU Lublin][2004][PL] Kształtowanie ruchu w systemie FreeBSD z wykorzystani...[GURU Lublin][2004][PL] Kształtowanie ruchu w systemie FreeBSD z wykorzystani...
[GURU Lublin][2004][PL] Kształtowanie ruchu w systemie FreeBSD z wykorzystani...
 
PLNOG15: End of theoretical talks on SDN! Time for real solutions - Cisco SP ...
PLNOG15: End of theoretical talks on SDN! Time for real solutions - Cisco SP ...PLNOG15: End of theoretical talks on SDN! Time for real solutions - Cisco SP ...
PLNOG15: End of theoretical talks on SDN! Time for real solutions - Cisco SP ...
 
Lukasz Bromirski - Inzynieria ruchowa w sieciach MPLS
Lukasz Bromirski - Inzynieria ruchowa w sieciach MPLSLukasz Bromirski - Inzynieria ruchowa w sieciach MPLS
Lukasz Bromirski - Inzynieria ruchowa w sieciach MPLS
 
PLNOG 8: Łukasz Bromirski - IP Anycast - Ochrona i skalowanie usług sieciowych
PLNOG 8: Łukasz Bromirski - IP Anycast - Ochrona i skalowanie usług sieciowych PLNOG 8: Łukasz Bromirski - IP Anycast - Ochrona i skalowanie usług sieciowych
PLNOG 8: Łukasz Bromirski - IP Anycast - Ochrona i skalowanie usług sieciowych
 
PLNOG 9: Marcin Aronowski - Unified MPLS
PLNOG 9: Marcin Aronowski - Unified MPLSPLNOG 9: Marcin Aronowski - Unified MPLS
PLNOG 9: Marcin Aronowski - Unified MPLS
 
PLNOG16: Transport ruchu klientów - MPLS L2 i L3, Tomasz Jedynak
PLNOG16: Transport ruchu klientów - MPLS L2 i L3, Tomasz JedynakPLNOG16: Transport ruchu klientów - MPLS L2 i L3, Tomasz Jedynak
PLNOG16: Transport ruchu klientów - MPLS L2 i L3, Tomasz Jedynak
 
PLNOG 9: Łukasz Bromirski, Rafał Szarecki - MPLS VPN - Architektura i przeglą...
PLNOG 9: Łukasz Bromirski, Rafał Szarecki - MPLS VPN - Architektura i przeglą...PLNOG 9: Łukasz Bromirski, Rafał Szarecki - MPLS VPN - Architektura i przeglą...
PLNOG 9: Łukasz Bromirski, Rafał Szarecki - MPLS VPN - Architektura i przeglą...
 
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
 
PLNOG 18 - Jarosław Ulczok - Podsłuchać światłowód? Przezentacja LIVE + zasto...
PLNOG 18 - Jarosław Ulczok - Podsłuchać światłowód? Przezentacja LIVE + zasto...PLNOG 18 - Jarosław Ulczok - Podsłuchać światłowód? Przezentacja LIVE + zasto...
PLNOG 18 - Jarosław Ulczok - Podsłuchać światłowód? Przezentacja LIVE + zasto...
 
PLNOG 21: Łukasz Trąbiński, Konrad Pilch - Jak_sterować_ogólnopolską_siecią_C...
PLNOG 21: Łukasz Trąbiński, Konrad Pilch - Jak_sterować_ogólnopolską_siecią_C...PLNOG 21: Łukasz Trąbiński, Konrad Pilch - Jak_sterować_ogólnopolską_siecią_C...
PLNOG 21: Łukasz Trąbiński, Konrad Pilch - Jak_sterować_ogólnopolską_siecią_C...
 
PLNOG14: Nowości w protokole BGP, optymalizacja routingu na brzegu sieci - Łu...
PLNOG14: Nowości w protokole BGP, optymalizacja routingu na brzegu sieci - Łu...PLNOG14: Nowości w protokole BGP, optymalizacja routingu na brzegu sieci - Łu...
PLNOG14: Nowości w protokole BGP, optymalizacja routingu na brzegu sieci - Łu...
 
PLNOG19 - Konrad Kulikowski - Segment Routing – okiem praktyka
 PLNOG19 - Konrad Kulikowski - Segment Routing – okiem praktyka PLNOG19 - Konrad Kulikowski - Segment Routing – okiem praktyka
PLNOG19 - Konrad Kulikowski - Segment Routing – okiem praktyka
 
PLNOG 3: Piotr Jabłoński - Realizacja styku międzyoperatorskiego dla usług L...
PLNOG 3: Piotr Jabłoński -  Realizacja styku międzyoperatorskiego dla usług L...PLNOG 3: Piotr Jabłoński -  Realizacja styku międzyoperatorskiego dla usług L...
PLNOG 3: Piotr Jabłoński - Realizacja styku międzyoperatorskiego dla usług L...
 
PLNOG 8: Paweł Białasiewicz - Rozwiązywanie problemów sieciowych za pomocą sn...
PLNOG 8: Paweł Białasiewicz - Rozwiązywanie problemów sieciowych za pomocą sn...PLNOG 8: Paweł Białasiewicz - Rozwiązywanie problemów sieciowych za pomocą sn...
PLNOG 8: Paweł Białasiewicz - Rozwiązywanie problemów sieciowych za pomocą sn...
 
PLNOG15: BGP Route Reflector from practical point of view
PLNOG15: BGP Route Reflector from practical point of viewPLNOG15: BGP Route Reflector from practical point of view
PLNOG15: BGP Route Reflector from practical point of view
 

PLNOG 7: Łukasz Bromirski, Rafał Szarecki - Mechanizmy QoS - absolutnie zupełne podstawy (dla początkujących)

  • 1. 1 Mechanizmy QoS Absolutnie zupełne podstawy (dla początkujących) Łukasz Bromirski Rafał Szarecki lbromirski@cisco.com    rafal@juniper.net   PLNOG, Kraków, wrzesień 2011
  • 2. Zawartość (z grubsza)* §  Co to jest QoS? §  DiffServ i IntServ §  Markowanie §  Policing vs Shaping §  Profile dla PHB §  RED/WRED/MDWRR §  HQoS §  Q&A * agenda może ulec zmianie bez ostrzeżenia, nawet w trakcie prezentacji
  • 3. Co to jest QoS?
  • 4. Co to jest QoS? §  Jakość Usługi – ang. Quality of Service §  Zestaw mechanizmów starających się zapewnić nierówne traktowanie ruchu sieciowego §  Celem jest zapewnienie krytycznych paramentów ruchowych dla aplikacji, przy optymalnym wykorzystaniu zasobów. §  Myśląc o QoSie mówimy głównie o zarządzaniu KPI: Opóźnieniem dla ruchu – (ang. delay) Zmiennością opóźnień dla ruchu (ang. jitter) Pasmem (ang. bandwidth) Stopą utraty pakietów (ang. packet loss/drop)
  • 5. Po co nam mechanizmy QoS? §  Aplikacje są wrażliwe na opóźnienia, jitter, utratę pakietów. Na szczęście niekonieczne na wszystkie na raz §  Aplikacje wrażliwe na jitter, kompensują go kosztem zwiększenia opóźnienia, poprzez de-jitter buffer po stronie odbiornika §  Przykłady: Delay Jitter Loss-rate VoIP sensitive sensitive moderate [<1%] IPTV not sensitive* not sensitive sensitive [10E-7] Gaming sensitive moderate moderate Translational services (e.g. SAP) moderate not sensitive moderate WEB, e-mail, ftp not sensitive not sensitive not sensitive * “Not sensitive” – oznacza relatywnie niską wrażliwość - jednak w rozsądnych granicach J
  • 6. Czynniki wpływające na KPI §  Pewne składniki są niekontrolowane (opóźnienie propagacji, przełączania, błędy CRC, itp.) Pasmo to nie wszystko: 10Mbps SAT != 10Mbps FO != 10Mbps 4G §  Inne składniki możemy kontrolować Długość buforowania Kolejność obsługi buforów §  W większości sieci znajdują się miejsca narażone na przeciążenia §  10Mbit/s -> 100Mbit/s -> 1GE -> 10GE -> 100GE (-> 400GE) ->?
  • 7. Scenariusze stworzone dla mechanizmów QoS CE CE 2 Mbit/s 1 Mbit/s Różnice w prędkości 1 Mbit/s 1 Mbit/s 1 Mbit/s 1 Mbit/s 1 Mbit/s 4 Mbit/s Agregacja ruchu CE CE CE 1 Mbps 1 Mbit/s 1 Mbit/s Agregacja ruchu
  • 8. Do czego dążymy z QoS? Klasyfikacja i oznaczanie Kolejkowanie i odrzucanie Wysyłanie ruchu dalej
  • 10. Architektury QoS §  Architektury QoS opisują sposób w jaki mechanizmy QoS działają w sieciach zapewniając gwarancje usług end-to-end §  Pierwsze architektury IP QoS nie wspominały wprost o SLA end- to-end. Podejście hop-by-hop IP Precedence (RFC 791), IP ToS (RFC 1349) §  Dwa modele obecnie używane to: Differentiated Services – Diffserv (RFC2475) Integrated Services – Intserv (RFC1633) §  TEORETYCZNIE, w sieciach L3 dostawców usług oba modele mogą współistnieć i uzupełniać się, choć dla „prostych” polityk QoS stosuje się tradycyjnie architekturę Diffserv (mało aplikacji obsługuje RSVP wprost) §  W sieciach lokalnych L2 stosuje się architekturę Diffserv
  • 11. Architektura IntServ §  Aplikacja końcowa żąda od sieci gwarancji zasobów dla indywidualnej sesji sieciowej Wsparcie aplikacji dla RSVP Sesja = Internet 5-typle §  Każdy element sieciowy musi znać stan każdej sesji przechodzącej przez niego. RSVP soft-state. §  Nie stosowane w sieciach SP/Telco Skalowalność – ile sesji TCP mamy w Internecie? Jak je kontrolować? Pełna implementacja – kolejka per sesja. Ten sam problem który zabił ATM §  Elementy IntServ są wykorzystywane w MPLS-TE Aggregacja Gwarancje tylko w control-plane Nie jest to IntServ as per RFC 1633
  • 12. Architektura Diffserv – RFC2475 Domena Diffserv Oznaczanie w polu DSCP Klasyfikacja i nakładanie ograniczeń na wejściu do domeny (sieci) B R B R B R B R Zagregowanie PHB (EF, AF) na wszystkich interfejsach domeny §  Mały poziom złożoności – brak utrzymania stanów czy sygnalizacji §  Usługi tworzone są przez kombinację: §  Złożonej klasyfikacji, oznaczania, ewentualnie przycinania ruchu na brzegu sieci §  Prostej klasyfikacji wewnątrz sieci w oparciu o DSCP §  Konfiguracji sposobu obsługi ruchu (PHB) Prosta klasyfikacja oparta na codepoint B R B R B R
  • 13. Traffic conditioner Bloki funkcjonajne DS-węzła (1) §  Classifier Identyfikuje strumienie pakietów, które powinny być jednakowo traktowane – Behavior Aggregate. Pakiety nie mogą zmienić kolejności Rodzaje: Behavior Aggregate (BA) – sprawdza wyłącznie DSCP Multi-field Classifiers (MF) – sprawdza wiele pól w nagłówku. Stosowany na wejściowym DS-węźle. Z reguły bezstanowy, ale może być stanowy/aplikacyjny Ordered Aggregate (OA) – zbiór BA, dla których wszystkie pakiety muszą być wysłane w tej samej kolejności w jakiej zostały otrzymane Dany BA może należeć do tylko jednego OA Classifier Marker Meter Dropper /Shaper PHBs
  • 14. Traffic conditioner Bloki funkcjonajne DS-węzła (2) §  Meter – Mierzy poziom ruchu dla strumienia pakietów wybranych przez classifier (BA). Meter przekazuje informację o stanie in- lub out-of-profile pakietu do innych elementów Traffic Conditioner w celu wykonania operacji §  Marker – wpisuje wartość DSCP w odpowiednie pole nagłówka. §  Dropper/shaper – odrzuca/buforuje pakiety w taki sposób, aby przyciąć ruch do założonego poziomu §  PHB Classifier Marker Meter Dropper /Shaper PHBs
  • 15. PHB i PSC §  PHB = Jak zasoby są alokowane dla danego strumienia BA Rozmiar Bufora FIFO/kolejki Pasmo na interfejsie wyjściowym Gwarantowane Maksymalne Proporcja Która kolejka kiedy - scheduler §  PHB Scheduling Class (PSC) = Jak zasoby są alokowane dla danego strumienia OA Zbiór PHB, dla których pakiety nie mogą się “przeskakiwać” Aby zagwarantować kolejność – jeden bufor FIFO (kolejka)
  • 17. Markowanie – IP DSCP Wersja Długość ID offset TTL protokół FCS IP SA IP DA DANE Wybór klasy (CS) §  Pole składa się z 6 bitów - Jedna wartość dla jednego BA/PHB §  Pierwsze 3 bity DSCP - Definiują OA/PSC §  Ostatnie 3 bity DSCP – Definiują zależność między zajętością kolejki, a priorytetem (prawdopodobieństwem) odrzucenia (drop) pakietu §  RFC 3168 definiuje dodatkowo wykorzystanie dwóch bitów z pola ECN (Explicit Congestion Notification) §  Jeśli ostatnie 3 bity DSCP to 000b i ECN to 00b , to Pierwsze 3 bity są selektorem clasy (CS) – funkcjonalnie odpowiednie i wstecznie kompatybilne z IP Precedence pole Diffserv (DS) (RFC 2474)ECNDSCP ECNDSCP 7 lsb 6543210 msb 7 lsb 6543210 msb bajt Type of Service (ToS) (RFC1349)TOS FieldPREC Field TOS FieldPREC Field
  • 18. MPLS i Diffserv §  Do „sygnalizacji” QoS używamy 3-bitowego pola TC w nagłówku pakietu MPLS Kopia lub mapowanie z wartości pola DSCP oryginalnego pakietu IP §  Decyzja o trafieniu pakietu do konkretnej klasy usługowej może odbywać się na podstawie wartości pola TC, lub IP Precedence/DSCP oryginalnego pakietu §  Wsparcie dla architektury DiffServ w MPLS opisano w RFC 3270 (choć bez żadnych propozycji) DSCP (RFC2474) Class Selector Code Points (RFC2474) LSB 7654321 MSB 0 LSB 7654321 MSB 0 Pole DS ELSR Dane IP hdrDS Pakiet IP Time to liveSEXPEtykieta TC Etykieta MPLS Domena MPLS IP data MPLS LabelIP hdr DS Pakiet z etykietą MPLS Pakiet IP Kopiowanie wartości
  • 19. Markowanie – CoS – 802.1p §  802.1p - pole ‘priorytet użytkownika’ zwane również Class of Service (CoS) §  Różnym typom ruchu przypisane są różne wartości CoS. §  Wartości CoS 6 i 7 są zarezerwowane dla ruchu sieciowego §  Formalnie nie związany z DiffServ TAG 4 Bajty Trzy bity użyte dla CoS (802.1p) Dane FCSPTSADASFDPream. Typ Nagłówek 802.1Q/p PRI VLAN IDCFI ramka Ethernet 1 2 3 4 5 6 7 0 Dane „Best Effort” Dane masowe Dane krytyczne Sygnalizacja połączeń Video Głos Routing Zarezerwowane CoS Aplikacja
  • 20. IETF DiffServ a implementacje MF Classifier Access-list, stateless Firewall Filter, stateful firewall, IDP, etc Meter Policer, rate-limit profile, token bucket Marker Operacja ustawienia wartości Dropper Operacja w Policerze , Operacja w filtrze PSC Jedna kolejka i jej parametry PHB Kombinacja kolejki i profilu odrzucania pakietów
  • 22. Zarządzanie przeciążeniem §  Z obsługą zbyt dużej ilości ruchu związana jest konieczność odrzucania ruchu nadmiarowego §  Jeśli jednak przeciążenie jest krótkookresowe, można obyć się bez strat. Dwa podejścia: policing – token bucket shaping – buforujemy ruch przez określoną ilość czasu
  • 23. Policer – Token Bucket §  Żetony do wiaderka są dostarczane w stałym tempie §  Żetony mogą być pobrane z wiaderka w dowolnej ilości (z nieskończoną prędkością) §  Aby przesłać pakiet, dla każdego bajtu, trzeba pobrać odpowiednią ilość żetonów z wiaderka §  Jeśli żetonów brakuje, to pakiet jest odrzucany/oznaczany §  Brak opóźnień §  Po przejściu policera, ruch nadal ma charakter niestały (bursty) §  Po przejściu policera, średnia wartość ruchu odpowiada zadanej prędkości
  • 24. Shaper – Leaky Bucket §  Żetony wyciekają z wiaderka i są dostarczane w stałym tempie §  Aby przesłać pakiet, dla każdego bajtu, trzeba poczekać aż z wiaderka wycieknie dostateczna ilość żetonów §  W oczekiwaniu na żetony pakiety są składowane w buforze pamięci typu FIFO (kolejka) §  Pakiety są opóźniane w buforze §  Jak zabraknie bufora, pakiet trzeba odrzucić Head drop – najstarszy pakiet jest wyrzucany, aby zrobić miejsce nowemu Tail drop – najnowszy pakiet jest odrzucany, bo się nie mieści §  Po przejściu shapera, ruch nadal ma charakter stały §  Po przejściu shapera, średnia wartość ruchu odpowiada zadanej prędkości
  • 25. Policing vs shaping Shaping Ruch Czas Pasmo docelowe Ruch Czas Pasmo docelowe Policing Ruch Czas Ruch Czas Pasmo docelowe Pasmo docelowe >= pasmo średnie Dla części danych zabrakło żetonów
  • 26. PHB Scheduling Profiles – parametry kolejki
  • 27. Kolejki §  Kolejka ma konfigurowalne atrybuty: Rozmiar – wielkość pamięci, wyrażana w Bajtach, milisekundach, %, pakietach Kolejka ma priorytet Kolejka ma przypisane pasmo CIR (udział w paśmie interfejsu). Minimalne gwarantowane pasmo dla strumienia OA wyrażone w % lub kbps PIR Maksymalne pasmo dla strumienia OA wyrażone w % lub kbps Wagę lub udział w paśmie interfejsu – relatywny udział wzgledem innych kolejek §  Dynamiczny stan kolejki – pozytywne/negatywne saldo §  Na interfejsie jest wiele kolejek – typowo 4 lub 8 §  Scheduler – process decydujący która kolejka bedzie obsługiwana
  • 28. Scheduler §  Wiele algorytmów WFQ WRR PQ … §  MDWRR Najbardziej popularny na urządzeniach operatorskich i high-end wszystkie routery Junipera CRS, ASR, 7600
  • 29. MDWRR (1) §  2 token bucket dla każdej kolejki Pierwszy – napełniany w tempie odpowiadającym CIR Drugi – napełniany w tempie odpowiadającym PIR §  Jeśli interfejs nie jest przeciążony, ruch z kolejki może być nadawany szybciej niż CIR Ujemne żetony w pierwszym TB (Deficyt) Kolejka jest w stanie negatywnego salda
  • 30. MDWRR (2) - przykłady 1.  Obsługa kolejek, które mają wysoki priorytet, i równocześnie pozytywne saldo. WRR – wagą jest CIR/waga. •  Strict-High priority – kolejka o wysokim priorytecie, która zawsze ma pozytywne saldo 2.  Obsługa kolejek, które mają średni priorytet, i równocześnie pozytywne saldo. WRR – wagą jest CIR/waga 3.  Obsługa kolejek, które mają niski priorytet, i równocześnie pozytywne saldo. WRR – wagą jest CIR/waga 4.  Obsługa kolejek, które mają wysoki priorytet, i równocześnie negatywne saldo. WRR – wagą jest CIR/waga 5.  Obsługa kolejek, które mają średni lub niski priorytet, i równocześnie negatywne saldo. WRR – wagą jest CIR/waga
  • 31. MDWRR a standardowe PSC EF AF1 AF2 AF3 AF4 BE Allways positive
  • 32. MDWRR – niestandardowe PSC RT NC Business IPTV VPN BE Allways positive
  • 34. Policing lub przeciążenie – efekt synchronizacji TCP Wiele sesji TCP startuje w różnym czasie Rozmiary okien TCP zwiększają się Bufory/kolejki wypełniają się Odrzucanie ruchu powoduje zmniejszenie okna TCP w tym samym momencie – a następnie ponowne zwiększanie go...
  • 35. Opóźnienia, jitter i „umieranie” pakietów Stałe ciągłe wykorzystanie buforów powoduje opóźnienia Zmieniające się obciążenie buforów może powodować jitter Bardziej agresywne aplikacje generujące ruch mogą powodować „umieranie” bardziej spokojnych aplikacji
  • 37. Tail RED Prec.0 Prec.0Prec.0Prec.0 Prec. 3 Prec. 3 Prec. 3 Prec. 3 §  Nie wpływa na opóźnienie §  Preferuje dostarczenie pakietów pomarańczowych (np. ruch kontrolny sieci + klientów sieci) §  Pakiety niebieskie to TCP - informacja o przeciążeniu w postaci brakujących pakietów jest dostarczana z opóźnieniem D2 Delay D1 Delay D2
  • 38. Head RED Prec.0Prec.0Prec.0Prec.0 Prec. 3 Prec. 3 Prec. 3 Prec. 3 Delay D1 §  Zmniejsza opóźnienie pakietów pomarańczowych §  Preferuje dostarczenie pakietów pomarańczowych §  Pakiety niebieskie to TCP - informacja o przeciążeniu w postaci brakujących pakietów jest dostarczana bez opóźnienia
  • 39. Ruch TCP i RED TCP przed RED TCP po RED
  • 40. Mechanizm RED a PHB Drop probability PSC Queue utilization PHB.1 PHB.2 30% 70% 100% 10%
  • 42. Wymagania aplikacji a możliwosci konfiguracji KPI §  Delay §  Jitter §  Loss-rate Konfiguracja §  Priorytet kolejki §  Rozmiar kolejki §  CIR/PIR/Waga kolejki §  Profil RED §  Upgrade łącza J
  • 43. Zależności – rozmiar kolejki §  Ups... Albo małe starty, albo mały jitter… Jitter Loss-rate Queue size [B] Delay
  • 44. Zależności – priorytet kolejki Jitter Loss-rate priority Delay
  • 45. Zależności – CIR/Waga kolejki §  Zwiększenie CIR/Wagi – zawsze kosztem innej kolejki Jitter Loss-rate CIR/Waga Delay
  • 46. Ale tak praktycznie… §  CIR/PIR/Waga – wynika z przewidywanego ruchu §  RED profile – max. drop probability 10%-20%. Powyżej i tak wszystkie okna TCP są resetowane §  Rozmiar kolejki Zależy od tego jaki jitter jest akceptowalny Dla TCP – przepływność * opóźnienie propagacji. (LFN – Elephant) dla optymalizacji wypełnienia łacza
  • 47. HQoS
  • 48. Hierarchiczny QoS – gdzie i w jakim celu §  Spotykany w środowisku masowego klienta – BNG §  Wielu abonentów, każdy z kilkoma klasami QoS §  Trzeba zapewnić każdemu abonentowi minimalne zasoby, niezależnie of klasy ruchu Abonent musi mieć zapewnioną możliwość realizacji kontraktu (20Mbps) w klasie BE, nawet jeśli inni abonenci są przeciążają łącze ruchem EF §  Potrzebujemy zapewnić minimalne pasmo dla każdego z urządzeń dostepowych, nawet jeśli są połączone w szeregu, tzw. łańcuszek (ang. daisy chain)
  • 49. HQoS §  Outer VLAN = Access Node CIR §  Inner VLAN = subscriber waga PIR §  Per VLAN queues Real-time – CIR=PIR, S-HP, mały bufor Video – CIR, MP, wielki bufor Internet – CIR, LP, średni bufor, RED Guaranteed rate per S-VLAN Shaping rate per VLAN Shaping rate per VLAN Real-time Video Internet Real-time Video Internet Real-time Video Internet Real-time Video Internet