PA159 - Protokoly kvality služeb 23. 11. 2007 Protokol RSVP * Resource reservation Protocol Protokol, definující, jak jsou rezervovány zdroje na aktivních prvcích mezi odesílatelem a příjemcem * Popsán primárně v RFC 2205 * Řada návazných RFC (2206-2210, 2379, 2382, 2490, 2745, 2746, 2747, 2961) * Přijat IETF jako Internetový standard * Další informace např. na http://www.isi.edu/div7/rsvp/rsvp.html PA159 2 Podzim 2007 RSVP - základní vlastnosti * Podpora unicastu i multicastu * Navržen primárně pro multicast * Jednosmernost: rezervace pro každý směr zvlášt * Rezervaci iniciuje přijímající strana * Obě vlastnosti vyplývají z charakteru multicastu * Soft stav * Brání nekonečnému blokování rezervovaných prostředků * Různé styly rezervací (agregace) PA159 3 Podzim 2007 RSVP - Inicializace * Zahájena příjemcem dat * ,,Proti" toku dat * Postupně až k vysílajícímu * Možnost agregace požadavků od různých příjemců * Kombinace s konkrétními protokoly přenosu (viz. ,,mixers" v RTP, prezentováno později) * Nezbytný princip pro multicastové skupiny * Vysílající nezná přijímající PA159 4 Podzim 2007 RSVP - základní funkcionalita * Toky * Relace * Filtrace PA159 5 Podzim 2007 RSVP - Toky * Základní rezervační jednotka * Specifikace toku * Třída služby (včetně informace, zda směrovač smí spojovat požadavky) * Rspec: požadovaná kvalita služby * Tspec: charakteristika toku * Oba poslední identifikátory jsou pro RSVP protokol transparentní * RSVP požadavek přenese * Ale sám rezervaci zdrojů neprovede (to udělá aktivní prvek) PA159 6 Podzim 2007 RSVP - Relace * Zevšeobecnění toku (flow) pro multicastovou skupinu * Základní atributy: * Cílová IP adresa * Identifikátor použitého IP protokolu * Cílový port PA159 7 Podzim 2007 RSVP - Filtrace * Konkretizace práce s tokem/relací * Specifikace * Zdrojová adresa * Zdrojový port (UDP/TCP) * Tři typy filtrů * Fixní: explicitní specifikace vysílajícího a současně požadavek na oddělenou rezervaci (příjem videa z konkrétního zdroje) * Explicitně sdílená: specifikace vysílajícího, avšak rezervace možno sdílet (audio, pokud předpokládáme vždy jediný zdroj v konkrétním okamžiku) * Wildcard: není specifikován vysílající a rezervace může být sdílena (audio) PA159 8 Podzim 2007 RSVP - Problém nedostatečných zdrojů * RSVP sdružuje požadavky * Linky u vysílajícího mohou být přetíženy * killer-reservation problem: * Jedna velká rezervace blokuje ostatní * I když je rozeznán neúspěch ,,výše", ostatní rezervace efektivně blokovány * Blockade state - nedovolí sdružení ,,škodného" požadavku na rezervaci PA159 9 Podzim 2007 RSVP - shrnutí * RSVP ustavuje spojení/rezervaci přes každý tok * Problematicky škálovatelné * Aktivní prvky blízko vysílajícího si musí pamatovat příliš mnoho toků * Sdílení může částečně pomoci * Problém oboustranné (všestranné) komunikace * Příliš mnoho rezervací * Další vývoj: odstranění rezervačních požadavků per tok PA159 10 Podzim 2007 Soft State * Základní princip sítových (webových, gridových, ...) služeb * Každá služba je aktivní pouze omezenou dobu * Pokud má služba trvat déle, musí být ,,udržena při životě" - keepalive zprávy * Umožňuje korektní reakci na výpadky v distribuovaných systémech * Nepřijde-li keepalive zpráva, zdroj je uvolněn * Typicky dynamické rezervace musí být takto realizovány PA159 11 Podzim 2007 Diferencované služby - DiffServ * Problémy RSVP: * Stavová informace v aktivních prvcích * Neumožňuje uspořádání služeb (tok A má být vždy preferován * Na druhé straně bez agregace garantuje každému toku jeho požadavky před tokem B) * Řešení: diferencovaná služba * Flexibilní * Škálovatelné PA159 12 Podzim 2007 DiffServ - principy * RFC 2475 * Nedefinuje třídy (classes) služeb * Místo toho pouze (predefinované) prioritní třídy s různou (opět predefinovanou) rezervací zdrojů * Uspořádání (preference), nikoliv absolutní garance * Poskytuje rámec, tj. funkční komponenty, z nichž je možno flexibilní službu sestavit * Hraniční (edge) funkce * Funkce jádra (core) PA159 13 Podzim 2007 DiffServ - principy (2) * Vnitřní (v jádře sítě) smerovace znají několik (málo) tříd a jejich prioritu * Hraniční smerovace každý příchozí paket zařadí do jedné konkrétní třídy * Podle dohody mezi poskytovatelem služby a uživatelem * Jádro prioritizuje pakety podle návěstí toku * Uvnitř toků opět pouze best effort PA159 14 Podzim 2007 DiffServ - hraniční funkce * Klasifikace paketů * Nastaví DS (Differentiated Service) pole IP paketu * Rozdělí pakety do tříd * Úprava toku (traffic conditioning) * Pakety zahodí, zdrží, pošle dál * Podle nastavené dohody (SLA, Service Level Agreement) a skutečného chování uživatele PA159 15 Podzim 2007 DiffServ - funkce jádra * Přeposílání (forwarding) * per-hop behavior (PBH) spojen s každou třídou * Závisí pouze na označení paketu (poli DS) * Nepotřebuje stavovou informaci o tocích ve směrovacích * Pojem behavior aggregate PA159 16 Podzim 2007 DiffServ - Klasifikace * DS pole nahrazuje původní TOS pole (Type of Service) * 8 bitů, dvě části * DSCP (Differentiated Service Code Point): 6 bitů, definuje PHB * CU (Currently Unused): 2 bity, jméno říká vše * Dva kroky * Klasifikace: např. výchozí/cílová IP adresa, číslo portu, ... * Do které třídy patří * Označení (marking): v závislosti na klasifikaci * Nastavení příznaku DSCP * Pravidla klasifikace nedefinována v rámci DiffServ skupiny PA159 17 Podzim 2007 DiffServ - úprava toku * Profil toku (traffic profile): dohodnut s uživatelem * Měřicí funkce: kontroluje shodu * Shaper/Dropper: podle výsledku měření buď zdrží nebo zahodí pakety, které neodpovídají dohodnutému profilu PA159 18 Podzim 2007 DiffServ - jádro * Per-hop behavior * Každý směrovač odpovídá za přenos na další směrovač v cestě * Rozhodování striktně podle označení paketů * Definice: A description of the externally observable forwarding behavior of a DiffServ node applied to a particular DiffServ behavior aggregate. PA159 19 Podzim 2007 DiffServ-PHB * Expedited forwarding (EF), RFC 2598 * Rychlost přeposílání paketů pro danou třídu musí být alespoň dohodnuté úrovně * Implikuje izolaci tříd * Jednoduchá abstrakce spojení s minimální garantovanou kapacitou * Assured forwarding (AF), RFC 2597 * Složitější - viz dále PA159 20 Podzim 2007 DiffServ - Assured Forwarding * 4 třídy, každá s konkrétní minimální garantovanou kapacitou a velikostí bufferů * Každá třída rozdělena do tří kategorií podle ,,drop preference" * Použity při přetížení: prioritně zahazovány pakety s nejvyšší drop preferencí * AF (i EF) musí být vždy doplněno ,,policy", tedy konkrétní dohodou s uživatelem a současně zajištěním, že celková kapacita sítě umožňuje garance dodržet. PA159 21 Podzim 2007 DiffServ- shrnutí * Výrazné zjednodušení * Shora omezený počet různých tříd * Nezávislý na počtu uživatelů * Pouze statistické garance * Rozdělení sítě na ,,hranici" a ,,jádro" * Odlišná role * ,,Inteligence" soustředěna na hranici * Jádro pouze ,,přesouvá" pakety co největší rychlostí PA159 22 Podzim 2007 ATM a kvalita služeb * Asynchronous Transfer Mode * Snaha o spojení datově orientovaných a přepojovaných sítí * Příliš dlouhý standardizační proces * V současné době považováno za mrtvou větev * Používá se * ale dále vývoj nepokračuje (není definováno pro skutečně vysoké rychlosti přenosu) * Zajímavé koncepty v oblasti QoS * Zejména s ohledem na dobu vzniku PA159 23 Podzim 2007 ATM - kategorie služeb * Služby reálného času * CBR (Constant Bit Rate) * rt-VBR (real-time Variable Bit Rate) * Ostatní služby * nrt-VBR (non-real-time Variable Bit Rate) * ABR (Available Bit Rate) * UBR (Unspecified Bit Rate) PA159 24 Podzim 2007 Služby reálného času * CBR * Abstrakce vlastní (soukromé) linky * Trvalý datový tok * rt-VBR * Proměnlivý datový tok * Umožňuje flexibilnější alokaci kapacity sítě PA159 25 Podzim 2007 Ostatní služby * nrt-VBR * Proměnlivý datový tok se slabšími požadavky na zpoždění a rozptyl * Definována * Špičkovou kapacitou (počet buněk za sekundu) * Průměrnou přenosovou kapacitou * ,,Burstiness", tj. parametrem definujícím variabilitu toku v čase * UBR * Emulace klasických (best effort) datových sítí * Využívá kapacitu, která ,,zbude" (není využita) VBR a CBR toky PA159 26 Podzim 2007 ˇ Řízený tok * Reaguje na aktuální zatížení sítě * Parametry * Špičková kapacita * Minimální kapacita 59 R Podzim 2007 Atributy/charakteristiky toku dat * Popis toku * Použity při sestavování obvodu * Parametry kvality služby * Charakterizují výkon (kvalitu) konkrétního spojení * Další charakteristiky specifické pro ABR PA159 28 Podzim 2007 Popis toku * Charakteristika zdroje * Špičková kapacita (PCR) * Průměrná (udržitelná) kapacita (SBR) * Minimální kapacita (MBR) Maximální velikost špičky (MBS, počet buněk) * Tolerance variace zpoždění (CDVT); vnesena sítí * Definice shody * Dnes analogie se značkováním v DiffServu PA159 29 Podzim 2007 QoS parametry * Variace zpoždění mezi špičkami (Peak-to-peak cell delay variation, CDV) * dohodnuto, na rozdíl od CDVT, které je nastaveno * musí vyhovovat požadavkům uživatele * CDVT představuje horní mez CDV * Maximální zpoždění (Maximum cell transfer delay, maxCTD) * Podíl ztracených buněk (Cell loss ratio, CLR) * Konkrétní buňky používají navíc CLP pole (Cell Loss Priority, 1 bit) PA159 30 Podzim 2007 Sítový kontrakt * Při ustavení spojení * Kategorie služby * Parametry toku * Požadované a akceptovatelné hodnoty QoS parametrů * Požadavek akceptován pouze je-li dostatek prostředků * Uzavřen sítový kontrakt (traffic contract) * Vytvořen virtuální okruh (VC, statický (PVS) nebo dynamicky (SCV)) PA159 31 Podzim 2007 Řízení užití sítě * Usage Parameter Control, UPC * Monitoruje sít * Kontroluje shodu kontraktu s realitou * Zakročuje proti porušení kontraktu * Použití již prezentovaných principů * Token/leaky buket algoritmy - Využití CLP pole PA159 32 Podzim 2007 ABR * Používá uzavřený okruh (určitá analogie TCP) * Základní parametry * Povolená rychlost (Allowed Cell Rate, ACR) * Minimální rychlost (Minimum Cell Rate, MCR) * Špičková rychlost (Peak Cell Rate, PCR) * Počáteční rychlost (Initial Cell Rate, ICR) * Zpětná vazba PA159 33 Podzim 2007 ABR - zpětná vazba * Začátek přenosu: ACR = ICR * Hodnota ACR se dynamicky upravuje podle stavu sítě * Resource Management (RM) buňky Tři pole * Indikace zahlcení(Cl) * Indikace nezvýšení (NI) * Explicitnípřenosová rychlost (Explicit Cell Rate, ECR) PA159 34 Podzim 2007 ABR - algoritmus if CI = 1 sniž ACR proporčně k jeho aktuální hodnotě, avšak nejvýše na MCR else if NI = 0 zvyš ACR proporčně k hodnotě PCR, avšak nejvýše na PCR if ACR > ER ACR = max(ER, MCR) PA159 35 Podzim 2007 ABR - řídící buňky * Forward RM (FRM) * Generovány zdrojem dat (obvykle každá 32. buňka) * Pole nastavena zdrojem (Cl=0, Nl=0 nebo 1, ER nějak) * Pole modifikována ATM přepínači * Backward RM (BRM) * Reakce příjemce na obdrženou FRM * Pole opět modifikována přepínači PA159 36 Podzim 2007 Provoz s real-time vlastnostmi * Typicky multimediální data * nízké zpoždění * nízký rozptyl * nemusí mít vysoké požadavky na propustnost * Hard a soft real-time aplikace: * Soft: toleruje určitý (malý) počet/frekvenci výpadků * Hard: žádná tolerance k výpadkům PA159 37 Podzim 2007 RTP * Real-time protocol, RTP (RFC 1889) * Vhodný pro soft real-time provoz * Základní principy: * Rámce na aplikační úrovni * Integrace přenosových vrstev * Určitá náhrada TCP tam, kde striktní požadavky TCP nejsou třeba * aplikace toleruje jisté výpadky * aplikace nemůže tolerovat přílišné zpoždění (vnesené retransmisí) PA159 38 Podzim 2007 Rámce na aplikační úrovni * Aplikace může akceptovat určitou míru výpadků * O retransmisi musí rozhodnout aplikace * Místo úplné retransmise může zvolit méně náročný formát dat * V případě retransmise může poslat jinak formátovaná data * Nemusí ukládat všechna data pro případ retransmise (data se přepočítají nebo se nepošlou) PA159 39 Podzim 2007 Integrace přenosových vrstev * Propojení několika v ISO OSI modelu oddělených vrstev * Hlavním cílem efektivita * RTP běží nad UDP, přidává např. číslování, ale neposkytuje plný zabezpečený transportní protokol * Musí být kombinováno s aplikační vrstvou * Ta dodává další vlastnosti, patřící aplikační vrstvě (např. zabezpečení, retransmisi, ...) PA159 40 Podzim 2007 RTP - základy * RTP garantuje přenos v rámci relací (session) * Každá relace je definována: * RTP číslem portu * RTCP číslem portu (RTCP je Real-time Control Protocol) * IP adresami účastníků; může jít buď o skupinu unicastových IP adres nebo o adresu multicastové skupiny * Sestavení relace není součástí RTP/RTCP * Primárně určen pro multicastové prostředí PA159 41 Podzim 2007 RTP - hlavička * Verze (2bity) * Zarovnání (1bit), signalizuje, zda je RTP paket zarovnaný * Rozšíření (1bit), experimentální * Počet CSRC (4bity), počet CSRC identifikátorů v datagramu * Značka (1bit), interpretace závisí na typu dat (např. konec videorámce) * Typ dat (7bitů), např. GSM audio (3) nebo nv video (28) * Pořadové číslo (16bitů) * Časová známka (32bitů), generována hodinami zdroje, jednotka je funkcí typu dat * Identifikátor zdroje (32bitů), jednoznačný identifikátor vysílacího zdroje v rámci relace; následován jedním nebo více identifikátorů zdrojů dat PA159 42 Podzim 2007 RTP - relays * RTP používá relays (přenašeče) * pokud není možno data doručit přímo, je využit prostředník * vůči zdroji vystupuje jako příjemce * vůči skutečnému příjemci vystupuje jako zdroj * Dva typy prostředníků * přenašeče (translators) * spojovače (mixers) PA159 43 RTP - translators * Jednoduché prostředníky, pouze jeden zdroj dat * Mohou měnit formát dat * Mohou použít jiné přenosové protokoly nižších úrovní (jiný pro příjem a jiný pro vysílání) * Příklady Převod vysokokvalitního videa do méně zatěžujícího formátu * Převod multicastu do jednoho nebo více unicastových proudů (do míst, kam nevede multicast) PA159 44 Podzim 2007 RTP - mixers * Přijímá více vstupních proudů * Kombinuje (mixuje) vstupní proudy a vytváří jeden nebo více výstupních * Přidává vlastni časové známky do spojeného proudu (skládané proudy nemusí být synchronní) * Příklad * Spojování audio proudů (obvykle pouze jeden zdroj vysílá) PA159 45 Podzim 2007 RTCP - principy * RTP přenáší pouze uživatelská data * Řídící informaci obstarává RT Control Protocol * Funguje na principu multicastu * Čtyři základní funkce: * Řízení kvality služby * Identifikace * Odhad počtu účastníků relace * Řízení relací PA159 46 Podzim 2007 RTCP - řízení kvality služby * Sender reports * Obsahují informaci o vysílaných datech (rychlost, kvalita,...) * Receiver reports * Informace o problémech (ztráty, zpoždění, rozptyl, ...) PA159 47 Podzim 2007 RTP - shrnutí * Protokol určený pro specifikaci real-time dat * Musí být doplněn konkrétní aplikační vrstvou (přenos zvuku či audia v konkrétním kódování, ...) * Určen pro multicastové vysílání, použitelný i v rámci unicastu * Neřeší vlastní problém ustavení cesty, která by garantovala potřebné parametry přenosu * Dobře kombinovatelný s RSVP PA159 48 Podzim 2007