Jakość usług w Sieciach Następnej Generacji mj @ Nov 2013 Zadania sieci telekomunikacyjnej Cel działania sieci: umożliwienie świadczenia usług telekomunikacyjnych, których istotą jest przekazywanie informacji zakodowanych pod postacią komunikatów (wiadomości) Z celu działania wynikają wymagania na właściwości sieci: Sieć musi funkcjonować w taki sposób, żeby wysyłane wiadomości mogły być dostarczane do (i tylko do) ściśle określonego odbiorcy => adresacja, poufność w całości i bez przeinaczeń (zmian) => niezawodność, integralność w odpowiednim czasie, bez błędów => Quality of Service stosownie do potrzeb (wymagań) usług, które mają być świadczone jakie usługi? a jakie usługi w przyszłości?? w sposób możliwie efektywny (ekonomiczny) wykorzystywać zasoby optymalnie? jakie zasoby? jak zorganizowane? Czy rzeczywiście tak funkcjonują sieci których dziś używamy?... mj @ Nov 2013 1
numer łącza Ruch telekomunikacyjny May 2011 Ruch telekomunikacyjny komutacja kanałów połączenie 1 2 3 4 5 6 czas Ruch [Erl] 6 5 4 3 2 1 0 zgłoszenie Ruch (chwilowy) strata ilość ruchu obsłużonego Ruch średni (w pewnym przedziale czasu) czas May 2011 2
stan bufora Ruch telekomunikacyjny komutacja pakietów 6 5 4 3 2 1 0 Obciążenie łącza (chwilowe) Obciążenie łącza (uśrednione) 1.00 0.75 = Ruch [Erl] 0.50 0.25 0 nadejście pakietu łącze wolne okno pomiarowe łącze zajęte strata ilość ruchu obsłużonego długość kolejki (chwilowa) w łączu wychodzącym Obciążenie łącza (średnia długookresowa) czas czas czas May 2011 Ruch zasoby - jakość Opis ruchu: relacje ruchowe ( macierz zainteresowań ) charakterystyki ilościowe ruchu (wielkość różne aspekty) charakterystyki czasowe ruchu (zmienność, strumienie, ) Opis jakości obsługi: parametry charakteryzujące wydajność sieci (Intrinsic QoS) stosowane mechanizmy jakości (NQoS) Opis zasobów: organizacja zasobów (hierarchia, topologia, ) zasady przydziału (tryb transferu, routing, ) ilość (różne aspekty!) Jakość Czy znamy współzależności? Ruch Zasoby May 2011 3
Ruch obsługiwany Ruch zasoby - jakość Ruch oferowany Ruch obsłużony Zasoby wolne Zasoby zajęte May 2011 Obciążanie sieci ruchem Nieograniczona pojemność Idealne zachowanie sieci Pojemność sieci straty Zachowanie osiągalne... Zachowanie zwykle obserwowane Histereza! niedociążenie przeciążenie Ruch oferowany May 2011 4
Anomalie w sieci przeciążonej May 2011 Ruch telekomunikacyjny Masowość zjawisk telekomunikacyjnych: opis zwykle możliwy tylko w kategoriach statystycznych Np. telefonia: zgłoszenia są generowane przez bardzo wiele niezależnych (nieskorelowanych) źródeł => model matematyczny (statystyczny): proces Poissona intensywność napływu l średni czas połączenia 1/m => natężenie ruchu A = l/m [Erl] (ruch to zjawisko, natężenie to jego miara) May 2011 5
Ruch telekomunikacyjny: fundamenty Napływ zgłoszeń: proces Poissona Jeżeli odrzucane zgłoszenia giną: Pierwszy wzór Erlanga dla strat na wiązce łączy (Erlang-B) m ( l / m) / m! PB pm m n ( l / m) / n! n 0 Jeżeli uwzględnić oczekiwanie odrzuconych zgłoszeń: Drugi wzór Erlanga (Erlang-C) m p0 ( m ) PQ P[ all servers are busy] pn m!( 1 ) n m => znane są związki natężenia ruchu i ilości zasobów z jakością obsługi May 2011 Jakość usług 6
Jakość usług model ITU/ETSI Assessed QoS Decyzja klienta: korzystać z usługi czy zrezygnować czynniki pozatechniczne: cena marketing obsługa Perceived QoS QoS postrzegana przez klienta QoS uzyskana przez operatora QoS wymagana przez klienta QoS oferowana przez operatora grupy parametrów opisujących jakość usługi: service support service operability service servability service security Intrinsic QoS Parametry wydajnościowe sieci (Network performance) np. dla strumienia pakietów w sieci IP: bitrate delay jitter loss Service Level Agreement (SLA) SLA: kontrakt między operatorem a klientem definiujący jakość świadczonych usług a) Specyfikacja techniczna poziomu usług (Service Level Objectives) wydajność sieciowa oferowana przez operatora (NP offered) opis ruchu generowanego przez usługę (Traffic spec.) sposób kształtowania ruchu (Traffic conditioning spec.) b) Sposób kontrolowania poziomu usług (Service Level Monitoring) c) Ustalenia finansowe i prawne Uwaga: SLA opisuje Intrinsic QoS - dotyczący parametrów lokalnych, podczas gdy Perceived QoS ma zawsze charakter end-to-end 7
Mechanizmy aplikacyjne i sieciowe QoS Mechanizmy wpływające na QoS: a) AQoS (Application-based QoS) właściwości aplikacji przykłady: sposób kodowania sygnału np. MP3: szybkość, stopień kompresji, protokół transferu danych (aplikacyjny) np. FTP: powtarzanie po błędach, wznawianie po przerwaniu, protokół sygnalizacyjny pomiędzy terminalami/aplikacjami np. H.245: monitorowanie błędów i (re-)negocjowanie parametrów kodeka, a) NQoS (Network-based QoS) właściwości sieci przykłady: tryb transferu (np. ATM, pakietowy, ) cechy protokołu transportowego (np. UDP, TCP, ) właściwości węzłów sieci (np. wielkości buforów, wyróżnianie przepływów, ) architektura sieciowa QoS (np. inżynieria ruchu, rezerwacja pasma, ochrona przed natłokiem, ) Ruch zasoby - jakość Opis ruchu: relacje ( macierz zainteresowań ) charakterystyki ilościowe (wielkość różne aspekty) charakterystyki czasowe (zmienność, strumienie, ) Opis jakości obsługi: NQoS AQoS Opis zasobów: organizacja zasobów (hierarchia, topologia, ) zasady przydziału (tryb transferu, routing, ) ilość (różne aspekty!) Jakość Czy znamy współzależności? Ruch Zasoby 8
Ruch obsługiwany Przeciążenie i natłok Straty nominalne Przeciążenie Natłok Ruch nominalny Ruch oferowany Kontrolowanie napływu Kontrolowanie napływającego ruchu jest warunkiem skuteczności każdego mechanizmu zapewniania QoS Podstawowe mechanizmy (fazy) kontroli napływu: Sterowanie dostępem (ang. Admission control) decydowanie o przyjęciu lub odrzuceniu pojawiającego się przepływu (lub sesji albo wręcz dołączającego się użytkownika) Regulowanie napływu (ang.traffic conditioning) nadzorowanie i wymuszanie zgodności napływu pakietów z kontraktem SLA Dec-2008 9
Struktura czasowa komunikacji Sesje dostępowe Sesje usługowe Sesje komunikacyjne Sesje sterujące Sesje transportowe (poziom pakietów) czas Kontrolowanie dostępu musi odbywać się na wszystkich poziomach! Intensywność napływu pakietów Trzy stosowane miary: (Długoterminowa) średnia intensywność napływu - Average Rate np. 6000 pakietów na minutę Szczytowa intensywność napływu - Peak Rate np. 6000 ppm Avg i 1500 pps Peak (Max.) Burst Size - liczba pakietów wysyłanych z szybkością szczytową ( w sposób ciągły ) np. 10000 ppb (per burst) czy 1500 pps = 90K ppm??? => kluczowe znaczenie ma wybór przedziałów czasu pomiaru! 10
Jakość usług w B-ISDN / ATM Nov 2013 Kontrakt ruchowy MOWA 64kbit/s 150ms Sieć ATM Dane 10Mbit/s Dane mogą być przesyłane tylko za pomocą zestawionych uprzednio połączeń wirtualnych Zestawianiu połączenia towarzyszy zawarcie kontraktu ruchowego Nov 2013 11
Model odniesienia B-ISDN (1) Model warstwowy, ale inne podejście niż w OSI RM Nov 2013 Model odniesienia B-ISDN (2) AAL AAL ATM ATM ATM ATM PHY PHY PHY PHY Urządzenie końcowe (użytkownika) UNI Węzeł sieci (komutator) NNI Węzeł sieci (komutator) UNI Urządzenie końcowe (użytkownika) AAL warstwa adaptacyjna ATM ATM warstwa ATM PHY warstwa fizyczna ATM UNI styk użytkownik-sieć NNI styk międzywęzłowy Nov 2013 12
Pasmo w łączach Priorytet w sieci ATM ATM: Asynchronous Transfer Mode Strumień ATM nagłówek dane komórka pusta 4 8 16 3 1 GFC VPI VCI Type CLP 8 HEC (CRC-8) 384 (48 bytes) Payload Pola nagłówka (dla styku UNI): GFC: Generic Flow Control (interakcja terminala z siecią) VCI: Virtual Circuit Identifier identyfikator łącza wirtualnego VPI: Virtual Path Identifier identyfikator ścieżki wirtualnej Type: rodzaj przenoszonej informacji CLP: Cell Loss Priority klasa jakości transferu HEC: Header Error Check kontrola poprawności nagłówka (CRC-8) Pole HEC wykorzystywane jest m.in. do delineacji komórek Kategorie usług sieciowych ATM W sieci ATM wyróżnia się 6 kategorii usług sieciowych: CBR - o stałej szybkości bitowej (Constant Bit Rate) rt-vbr - o zmiennej szybkości bitowej i reżimie czasu rzeczywistego (Real-time Variable Bit Rate) nrt-vbr - o zmiennej szybkości, bez reżimu czasu rzeczywistego (Non Real-time Variable Bit Rate) UBR - o nieokreślanej szybkości bitowej (Unspecified Bit Rate) ABR - o dostępnej szybkości bitowej (Available Bit Rate) GFR - o gwarantowanej szybkości przekazu ramek (Guaranteed Frame Rate) B UBR, ABR niski VBR, GFR CBR czas wysoki 13
Kontrakt ruchowy Kontrakt ruchowy jest negocjowany po między użytkownikiem a siecią w chwili przyjmowania nowego połączenia Kontakt ruchowy związany z połączeniem w sieci zawiera: Kategorię usługi ATM Deskryptory ruchowe Wymagania jakości obsługi Definicję zgodności Parametry kontraktów ruchowych Kategorie usług warstwy ATM CBR rt-vbr Nrt-VBR GFR UBR ABR Parametry ruchowe PCR i CDVT D D D D D D SCR, MBS, CDVT ND D D D ND ND MCR, MBS, CDVT ND ND ND D ND ND MCR ND ND ND ND 1 O D Parametry QoS Peak-to-peak CDV D D ND ND ND ND Max CTD D D ND ND ND ND CLR D D D ND ND ND Sprzężenie zwrotne brak brak określane Inne 1 - deklarowany dla ramek (MFR) D deklarowany, ND nie deklarowany, O-opcjonalnie deklarowany 14
Jakość usług w sieciach IP - przypomnienie Network Architecture IP Precedence & Type of Service Nagłówek IPv4: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Version IHL Type of Service Total Length +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Identification Flags Fragment Offset +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Time to Live Protocol Header Checksum +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Source Address +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Destination Address +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Options Padding +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 0 1 2 3 4 5 6 7 +-----+-----+-----+-----+-----+-----+-----+-----+ PRECEDENCE D T R 0 0 +-----+-----+-----+-----+-----+-----+-----+-----+ Bits 0-2: Precedence: 111 - Network Control 110 - Internetwork Control 101 - CRITIC/ECP 100 - Flash Override 011 Flash 010 Immediate 001 Priority 000 Routine Bit 3: 0 = Normal Delay, 1 = Low Delay Bits 4: 0 = Normal Throughput, 1 = High Throughput Bits 5: 0 = Normal Reliability, 1 = High Reliability Bit 6-7: Reserved for Future Use Problem: brak architektury odniesienia (jak implementować w skali sieci??) 15
Architektura Usług Zintegrowanych Integrated Services (IntServ) Architektura IntServ ma zapewniać QoS odpowiadające wymaganiom poszczególnych sesji Oparta jest na rezerwacji zasobów Rutery muszą utrzymywać informacje o stanie wszystkich obsługiwanych przez nie sesji ( połączeń wirtualnych?) i przydzielonych im zasobach IntServ: sygnalizacja Sesja musi najpierw zadeklarować swoje wymagania QoS i parametru ruchu który będzie przesyłany Rspec: definiuje wymagania QoS Tspec: definiuje charakterystykę ruchu Informacja Rspec i Tspec musi być przekazana do wszystkich ruterów na wykorzystywanej trasie =>jest to funkcja protokołu sygnalizacyjnego Jako protokół sygnalizacyjny może być wykorzystany RSVP rezerwowanie zasobów podejście soft state (wygasa i musi być odnawiane) 16
Odrzucanie zgłoszeń Call Admission: rutery kalkulują możliwość zaakceptowania zgłoszenia wykorzystując parametry Rspec i Tspec oraz aktualną ilość zasobów zaalokowanych dla innych zgłoszeń. IntServ: problemy Skalowalność: pamiętanie stanów sesji przez rutery w szybkiej sieci (w szkielecie) jest trudne z powodu wielkiej liczby jednocześnie trwających sesji Elastyczność modelu usług: IntServ przewiduje tylko dwie klasy jakości; istnieje potrzeba większego zróżnicowania klas oraz określenia względnej jakości (Platinum, Gold, Silver, ) Trudność sygnalizacji: wiele aplikacji (i użytkowników) nie jest w stanie określić ilościowo swoich wymagań Standaryzacja nie została zamknięta łamie wszelkie pryncypia Internetu! 17
Architektura Usług Zróżnicowanych Differentiated Services (DiffServ) Założenia: W rdzeniu sieci tylko proste funkcje; bardziej złożone funkcje realizowane w warstwie brzegowej sieci (lub w hostach) Nie definiuje się klas usług, a jedynie komponenty funkcjonalne do wykorzystania przy budowie klas usług UWAGA: w jednym z rozszerzeń [RFC4594] wprowadzono 12 klas usług: Network Control Broadcast Video Telephony Low-Latency Data Signaling OAM Multimedia Conferencing High-throughput Data Realtime Interactive Standard Multimedia Streaming Low-priority Data Funkcje brzegowe W hoście lub pierwszym routerze ( DS-capable ): Klasyfikacja: oznaczanie pakietów zgodnie z regułami Reguły wprowadzane ręcznie przez administratora; w przyszłości być może przekazywane poprzez jakiś protokół Kształtowanie ruchu (Traffic Conditioning): pakiet może zostać opóźniony albo skasowany 18
Funkcje rdzeniowe Forwarding: traktowanie pakietu stosownie do Per-Hop- Behavior zdefiniowanego dla poszczególnych klas. PHB stosowane jest wyłącznie na podstawie oznaczenia pakietu (nadanego podczas klasyfikacji) nie bierze się pod uwagę żadnych innych pól nagłówka (efektywność przetwarzania!) Wielka zaleta: Rutery nie muszą pamiętać żadnych stanów sesji! Kształtowanie ruchu Ograniczanie intensywności z jaką ruch (strumień pakietów) napływa do sieci Uzytkownik deklaruje profil ruchu Parametry profilu ruchu - rate, burst size Dokonywane są pomiary napływającego ruchu W razie niezgodności z deklaracją pakiety są opóźniane lub odrzucane 19
DiffServ w działaniu Przykład: obsługa trzech strumieni o różnych priorytetach DiffServ - problemy Jaki jest związek PHB z obserwowaną jakością usług? Jaka jest jakość w sieci o wielu domenach? Jaki jest wpływ routerów nie obsługujących DiffServ na jakość end-to-end? Jak translować kody klas pomiędzy sieciami stosującymi różne opcje (np. MPLS tylko 3 bity)? prace trwają 2014: ponad 30 RFCs + wiele draftów itp. 20
opóźnienie Skuteczność różnicowania QoS E [ delay] res 1 bronze wzrost szybkości łącza gold 100% obciążenie ρ => Dla szybkich łączy (w szkielecie sieci) brak miejsca na różnicowanie jakości albo jest dobra (dla wszystkich) albo nieakceptowalna! MPLS rozwiązanie problemów? MPLS stanowi tylko mechanizm transportowy - silny! (bo podobny do ATM/FR) Skuteczność zależy od zastosowanych metod/protokołów sterowania - Połączenie z architekturą DiffServ - Wyznaczanie tras LSP: Constraint Based Routing Przydział pasma dla strumieni ruchu w oparciu ich charakterystyki ruchowe?? Czy można/należy bazować na deklaracjach źródeł ruchu?? Praktyka wykorzystania: Traffic engineering wymuszanie tras niemożliwych do uzyskania poprzez routing 21
MPLS+DiffServ ewolucja OMP MPLS DiffServ (DS) IntServ MPLS-OMP wzrost złożoności! DS over MPLS (inaczej: MPLS - DS): E-LSP L-LSP TE nie CoS-aware! DS-aware MPLS TE: TE jest CoS-aware DS-aware MPLS TE + RSVP CAC dla ruchu rt (np. voice) reinvention of ATM! Usługi Real-Time w sieci IP Jakie przewymiarowanie jest odpowiednie? Zalecane przewymiarowanie 8% VoIP Link Utilization; (Overprovision x 12) 20-30% Data Link Utlization (Overprovision x 3 5) 10% Link Utilization (Overprovision x 10) 15-30% VoIP Link Utilization; (Overprovision x 3 7) 30% VCoIP (with Data) Link Utilization (Overprovision x 3) 16% OC48 Link Utilization (Overprovision x 7) Źródło informacji Sevcik, The Pitfalls of Scaling VoIP, Business Communications Review, March 2002 VoIP backbone operator, Service Provisioning Conference, February 2005 IETF: draft-baker-tsvwg-mlpp-that-works-01.txt (February 2004); Cisco Systems Siller and Moore (2003) Cisco AVVID Network Infrastructure Enterprise Quality of Service Design, Document 956467, August 2002 an Abilene link (Indianapolis-Clevelend) from NLANR (2005) 22
FAN: Flow Aware Networking Sesje przepływy - pakiety Ruch w GNR modelujemy jako pojawianie się sesji, przepływów, pakietów Pojawianie się sesji - da się opisać procesem Poissona zapotrzebowanie [bit/s] = intensywność zgłoszeń * średnia wielkość (sesji, przepływów, pakietów) natłok zjawisko na poziomie przepływów (gdy zapotrzebowanie przekracza pojemność) start przepływu przerwa ( namyślanie się ) s e s j a 23
Charakterystyki przepływów Wymiary przepływu: Szybkość [Mbps] Ilość danych [MB] Czas [min] Wielkość pakietu [B] Protokół/port Wyróżnianie przepływów stwarza możliwość zróżnicowania sposobu ich obsługi => QoS Problem: cechy przepływów widziane przez sieć mogą nie wystarczać do ich rozpoznawania => potrzeba identyfikacji explicite Przepływy i QoS w IPv6 Klasa ruchu DiffServ RFC 2474 (zastępuje TOS z IPv4) Etykieta przepływu - identyfikator globalny RFC 2460, RFC 3697 (20 bitów) Traffic Class: 0 Uncharacterized traffic 1 Filler traffic (np. netnews) 2 Unattended data transfer (np. email), 3 (Reserved) 4 Attended bulk transfer (np. FTP, HTTP, NFS) 5 (Reserved) 6 Interactive traffic (np. telnet, X) 7 Internet control traffic (np. protokoły routingu, SNMP) Opcjonalny nagłówek QoS Hop-by-hop (TIA 1036) 24
Negocjowanie przydziału pasma wg TIA-1039 Przykład użycia opcjonalnego nagłówka TIA 1069 przebieg negocjowania pasma AR Available Rate GR Guaranteed Rate źródło: Sterowanie przepływami Główny problem: skalowalność Np. w łączu STM-64 (10Gbps) 2M przepływów na sekundę 6M aktywnych przepływów wg Caspian Networks Manipulowanie priorytetami: problemy sieciowe Skutki dynamicznego manipulowania priorytetami: efekty zależne od chwilowego obciążenia niestabilność min-max/proportional fair sharing, priority sharing, Brak dobrych modeli ruchowych 25
Przepływy Klasyfikacja przepływów: Strumieniowe np. aplikacje audio/wideo czas rzeczywisty wrażliwe na straty i opóźnienia Elastyczne np. transfer plików/dokumentów tak szybko jak tylko możliwe ogranicza je wydajność serwera, łącze dostępowe itd. (w tych granicach niewrażliwe na ograniczenia sieci!) Multipleksacja bezbuforowa Multipleksacja bezbuforowa : utrzymuj napływ < przepustowość => małe (kontrolowane) opóźnienia pakietów Multipleksacja z buforowaniem => zysk na wydajności (niewielki!) => niekontrolowane opóźnienia 26
MBAC Sterowanie napływem w oparciu o pomiary (MBAC Measurement Based Admission Control ) Sterowanie napływem konieczne żeby obciążenie było pod kontrolą W oparciu o pomiary żeby nie wymagać deklaracji a priori?? co to znaczy?? pomiary dostępna przepustowość Realizacja MBAC Dobór progu dostępnej przepustowości mały w stosunku do całkowitej pojemności większy od zapotrzebowań strumieniowych!! wspólny próg dla wszystkich przepływów? Estymacja (pomiar) dostępnej przepustowości (z uwzględnieniem fluktuacji statystycznych ) Akceptowanie strumienia jeżeli dostępna przepustowość wyższa od progu Ochrona strumieni zaakceptowanych 27
Próg dostępności R s próg dla przepływów strumieniowych (R e dla przepływów elastycznych ale one nie wymagają ochrony - pomijamy) dolna granica R s > PeakRate s => np. 2Mbps (10Mbps?) górna granica niezbyt duże straty dobre wykorzystanie => np. 1% przepustowości wykorzystanie dla 1% strat 80% 60% 40% 20% ze wzoru Erlanga 0 20 40 60 80 100 120 poj.łącza / PeakRate FAN / CrossProtect Rozróżnianie przepływów implicite ( w locie ) Pierwszeństwo dla przepływów strumieniowych zapewnienie im multipleksacji bezbuforowej pozostała przepustowość dzielona sprawiedliwie pomiędzy przepływy elastyczne (PFQ) Realizacja MBAC odrzucanie nowych przepływów (gdy trzeba) implicite poprzez kasowanie pakietów obciążenie estymowane poprzez PFQ (stany kolejek!) 28
Implementacja Dzięki AC kolejkowanie PFQ staje się skalowalne AC zapewnia ochronę przepływom strumieniowym PFQ dostarcza informacji o obciążeniu łączy PFQ zapewnia sprawiedliwość w razie przeciążenia pomiary AC PFQ Algorytm akceptowania utrzymywanie list przepływów chronionych {flow ID, time of last packet} wiele list rozproszenie (=> skalowalność) gdy pojawia się pakiet: czytaj packetid (w locie) if flowid flow list =>forward packet else (tzn. nowy przepływ) if link congested =>discard packet else add to list of protected flows forward packet if no packets in time out interval =>remove flow from list warunki akceptacji przekazywane z PFQ fair rate > threshold-1 priority load < threshold-2 29
Kryterium przeciążenia Admission Control odrzuca nowe przepływy, gdy a) FairRate < R s lub b) PriorityLoad > L p FairRate PriorityLoad Algorytm PFQ i AC pobranie pakietu: if (flowid flow list) =>write (ID, finish tag) to schedule =>finish tag += 1 else =>write (ID, virtual time) to schedule at position P+1 =>finish tag = virtual time +1 update active flow list: (id, finish tag) nadanie pakietu: virtual time = time stamp of 1st packet for all flows in active flow list if (virtual time finish tag) =>remove if (schedule empty) =>empty active flow list virtual time = time stamp pierwszego pakietu w kolejce P = pozycja ostatniego pakietu priorytetowego Lista aktywnych przepływów flow id finish tag flow id Schedule time stamp P 30
Łącze wychodzące C łącze puste łącze pełne 0 pakiety stracone t 0 t 1 t 2 Fair Rate w łączu 1Gbps: cykl t 2 -t 0 1ms przepływy Wyniki symulacji długość kolejki obciążenie = 0.9 obciążenie = 1.1 31
Podsumowanie Zalety Żadnych nowych wymagań na interfejs użytkownika zachowany styk Best effort Brak sygnalizacji => niepotrzebna standaryzacja Możliwe wprowadzanie stopniowe (nie ma współpracy węzłów ani między sobą ani z serwerem ) Wątpliwości Jak ruch P2P wpływa na założenia? elastyczny czy strumieniowy? Czy zadziała na długich trasach? (1-p) n Czy da się zastosować w dostępie? Opis wg: Jim Roberts Flow level modelling and control of IP traffic (2005) QoS w sieciach 3G/4G 32
QoS w sieciach UMTS Sieć szkieletowa UMTS przed Rel.5 QoS była zapewniana przez tunelowanie strumieni IP w ATM PDCP - Packet Data Convergence Protocol RLC Radio Link Control GTP GPRS Tunneling Protocol QoS w sieciach 4G Pierwsza próba wyeliminowania ATM: Rel.5 All-IPv6 nieużyteczna z braku QoS w szkielecie fatalna sprawność VoIP - ponad 50% narzutu (krótkie pakiety!) opóźnienie w kanale radiowym 100-200ms niedopuszczalne dla telefonii LTE: opóźnienie RTT łącza radiowego <10ms Sieć szkieletowa 4G: EPC (ang. Evolved Packet Core) - począwszy od Rel.8 (2008) Mechanizmy IP QoS: - separacja sygnalizacji / poszczególnych strumieni GBR / innych - oddzielne wymiarowanie i sterowanie napływem (i to zarówno dla UE i dla APN) - użycie DiffServ, WFQ, 33
Jak można wpływać na QoS Standaryzacja 3GPP koncentruje się na Intrinsic QoS Na Intrinsic QoS oddziaływuje się poprzez mechanizmy funkcjonujące 1. na poziomie transportu 2. na poziomie sterowania 3GPP: kierunki zmian na rzecz QoS Powiększanie pojemności sieci - offloading QoS poprzez przewymiarowanie WLAN PicoCells multicast - embms wydzielenie MTC (Machine-Type-Communication) wsparcie dla ruchu peer-to-peer (nie chodzi o usługi P2P!) 34
LTE/SAE: właściwości kluczowe dla QoS Mechanizmy QoS na poziomie transportu LTE/SAE 35
Ogólna koncepcja uzyskiwania QoS Idea uzyskiwania QoS w transporcie: DiffServ + Admission Control (w R12 wprowadza się ponadto traffic shaping) Sygnalizacja aplikacyjna jest zbędna: wymagania QoS są koncypowane na podstawie cech pojawiającego się przepływu (flow) przewiduje się nawet możliwość DPI! Ustalanie wymagań QoS dla przepływu TFT - Traffic Flow Template zbiór filtrów dopasowywanych do nagłówków z nadanym evaluation packet precedence index -> decyduje o przypisaniu do odpowiedniego bearer 36
LTE QoS Framework Ruch pomiędzy konkretną aplikacją klienta a usługą składa się z oddzielnych strumieni danych (service data flow - SDF) SDF-y mapowane na ten sam bearer są traktowane identycznie (ten sam QoS treatment) LTE: bearers wpływające na QoS 37
LTE bearer Każdemu bearer przypisuje się parametr QCI (QoS class identifier) Guaranteed bit rate (GBR) Non-guaranteed bit rate (non-gbr) Non-GBR bearer ma charakter default - służy do uzyskania podstawowej usługi IP (tzn. connectivity) Atrybuty QoS związane z bearers QoS class identifier (QCI) decyduje o zastosowanych packet forwarding treatments Allocation and retention priority (ARP) wpływa na decyzje call admission control i overload control Maximum bit rate (MBR) Guaranteed bit rate (GBE) Aggregate MBR (AMBR) Całkowita pojemność dostępna dla grupy non-gbr bearers APN-AMBR UE-AMBR wszystkie atrybuty określa się oddzielnie dla DL/UL 38
Zestandaryzowane QCI Mechanizmy na styku radiowym Na poziomie interfejsu radiowego LTE wykorzystuje się warunki radiowe w UE atrybuty QoS dla bearers sytuacja interferencyjna w sąsiednich komórkach Buffer Status Reporting: informowanie UL packet schedulera o zajętości bufora nadawczego w UE 39
Mechanizmy QoS na poziomie sterowania / zarządzania Koncepcja procedur sterowania QoS 40
Architektura funkcjonalna 3GPP Architektura IMS 41
EPS - Architektura funkcjonalna 3GPP Rel.11 EPS - Architektura funkcjonalna 3GPP Rel.12 42
Usytuowanie funkcji PCRF / PCEF NGN - podsumowanie Next Generation staje się Actual Generation! Dzięki LTE i EPC/EPS staje się możliwe świadczenie usług o dowolnej jakości (także jakości wyższej niż konieczna dla telefonii) w sieci transportowej IP IMS stanowi architekturę usługową umożliwiającą konstruowanie usług o dowolnej funkcjonalności (także tej niedostępnej w Internecie) patrz inne wykłady! 43