Sem vložte zadání Vaší práce.
České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových systémů
Bakalářská práce
Vliv použitého kodeku a různých metod QoS na kvalitu přenosu hlasu v IP síti Tomáš Král
Vedoucí práce: Ing. Oldřich Slavata
5. května 2013
Poděkování Tímto bych chtěl poděkovat Ing. Oldřichu Slavatovi za odborné vedení při tvorbě této bakalářské práce a své rodině za morální podporu během mého studia na ČVUT.
Prohlášení Prohlašuji, že jsem předloženou práci vypracoval samostatně a že jsem uvedl veškeré použité informační zdroje v souladu s Metodickým pokynem o etické přípravě vysokoškolských závěrečných prací. Beru na vědomí, že se na moji práci vztahují práva a povinnosti vyplývající ze zákona č. 121/2000 Sb., autorského zákona, ve znění pozdějších předpisů, zejména skutečnost, že České vysoké učení technické v Praze má právo na uzavření licenční smlouvy o užití této práce jako školního díla podle § 60 odst. 1 autorského zákona.
V Praze dne 5. května 2013
.....................
České vysoké učení technické v Praze Fakulta informačních technologií c 2013 Tomáš Král. Všechna práva vyhrazena.
Tato práce vznikla jako školní dílo na Českém vysokém učení technickém v Praze, Fakultě informačních technologií. Práce je chráněna právními předpisy a mezinárodními úmluvami o právu autorském a právech souvisejících s právem autorským. K jejímu užití, s výjimkou bezúplatných zákonných licencí, je nezbytný souhlas autora.
Odkaz na tuto práci Král, Tomáš. Vliv použitého kodeku a různých metod QoS na kvalitu přenosu hlasu v IP síti. Bakalářská práce. Praha: České vysoké učení technické v Praze, Fakulta informačních technologií, 2013.
Abstract This thesis deals with the measurement of voice quality in IP telephony using different codecs and QoS settings. For automated assessment of the voice quality ITU-T P.862 and P.863 algorithms were used. Keywords VoIP, QoS, codec, MOS, PESQ, POLQA
Abstrakt Tato práce ze zabývá měřením kvality hlasu v IP telefonii při použití různých kodeků a nastavení QoS. K vyhodnocování kvality hlasu byly použity algoritmy ITU-T P.862 a P.863. Klíčová slova VoIP, QoS, kodek, MOS, PESQ, POLQA
ix
Obsah Úvod
1
1 Analýza a návrh 1.1 Protokoly pro řízení hlasové komunikace v datových 1.2 Hlasové kodeky . . . . . . . . . . . . . . . . . . . . 1.3 QoS . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 Cisco QoS mechanismy . . . . . . . . . . . . . . . . 1.5 Kvalita VoIP hovoru . . . . . . . . . . . . . . . . . 2 Realizace 2.1 Testovací prostředí . . . 2.2 Zahlcení linky . . . . . . 2.3 Přenos hlasových vzorků 2.4 Použité kodeky . . . . . 2.5 Plánovaný postup testů . 2.6 QoS metody . . . . . . . 2.7 Grafy výsledků měření .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
sítích . . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . .
3 3 4 5 7 12
. . . . . . .
15 15 17 17 18 18 20 26
Závěr
31
Literatura
33
A Seznam použitých zkratek
35
B Obsah přiloženého CD
37
xi
Seznam obrázků 1.1
Policing a shaping . . . . . . . . . . . . . . . . . . . . . . . . .
11
2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10
Schéma zapojení testovacího prostředí . . . . Testovací hlasový záznam . . . . . . . . . . . Závislost PESQ MOS na metodě QoS . . . . . Závislost POLQA MOS na metodě QoS . . . Závislost Cisco MOS na metodě QoS . . . . . Závislost doby odezvy na metodě QoS . . . . Závislost MOS na metodě QoS – kodek G.711 Závislost MOS na metodě QoS – kodek G.729 Závislost MOS na metodě QoS – kodek iLBC Závislost MOS na metodě QoS – kodek G.722
16 18 26 27 27 28 29 29 30 30
xiii
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
Seznam tabulek 1.1 1.2 1.3
Hlavička IP paketu . . . . . . . . . . . . . . . . . . . . . . . . . Hodnoty DSCP . . . . . . . . . . . . . . . . . . . . . . . . . . . Mean opinion score . . . . . . . . . . . . . . . . . . . . . . . . .
8 9 13
2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8
Hodnoty Hodnoty Hodnoty Hodnoty Hodnoty Hodnoty Hodnoty Hodnoty
20 21 21 22 23 24 24 25
MOS, MOS, MOS, MOS, MOS, MOS, MOS, MOS,
nezatížená linka . . metoda FIFO . . . metoda WFQ . . . metoda CBWFQ . metoda LLQ . . . . metoda CBWRED metoda ECN . . . metoda LFI . . . .
xv
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
Úvod Voice over Internet Protocol (VoIP) je sada technologií umožnujících přenos digitalizovaného hlasu přes datové sítě – nejčastěji v paketech protokolu UDP. Způsob jakým se hlas převádí na data určuje použitý kodek. Kodeky používají různé algoritmy komprese a mohou určitým způsobem korigovat chyby vzniklé při přenosu na zatížených nebo nespolehlivých linkách (například ztrátu paketů). Použití VoIP ve firemních sítích a v domácnostech výrazně snižuje telekomunikační náklady tím, že místo vytáčeného hlasového spojení využívá k přenosu hlasu datové linky. Tyto linky bývají většinou placeny paušálním poplatkem, takže využitím volné kapacity linky nevzniká žádný další výdaj. Sítě, které jsou využívány ke společnému přenosu dat, hlasu a třeba i videa, nazýváme konvergované sítě (Converged Networks). Před nástupem konvergovaných sítí byly protokoly pro přenos dat vyvíjeny tak, aby se pokoušely zabrat co nejvíce volné kapacity sítě a co nejrychleji doručit data k cíli. Přitom může dojít ke ztrátě některých paketů či záměně jejich pořadí při doručování. Ztráta paketů je detekována a ztracené pakety jsou odeslány znovu. V koncovém bodě jsou pak všechny pakety znovu seřazeny do správného pořadí. Pro přenos hlasu je však důležité, aby hlasové pakety byly doručovány s malým zpožděním, s malou variabilitou zpoždění a ve správném pořadí. Pokud určitý paket dorazí později než paket, který měl být doručen až po něm, je lepší jej zahodit než doručit v nesprávném pořadí. Rovněž nemá smysl pokoušet se znovu doručovat ztracené pakety. Obojí by vedlo ke zhoršené srozumitelnosti přenášeného hlasu. V konvergovaných sítí tak vznikla potřeba nějakým způsobem řešit současný přenos hlasu a dat (případně i videa) po jedné síti. Zdánlivě nejjednodušším způsobem řešení možných problémů přenosu 1
Úvod hlasu a dat po společné síti je navýšení šířky pásma sítě (bandwidth) tak, aby všechny protokoly měly k dispozici dostatečnou kapacitu pro uspokojení svých nároků na síťový provoz. Tento způsob je ale tím nejdražším a ne vždy realizovatelným (například z důvodu technologických limitů). Další možností je použití Quality of Service (QoS) – rozdělení provozu na síti do tříd a jejich prioritizace podle stanovené důležitosti. Hlasová a business-critical data by měla mít přidělenu dostatečnou šířku pásma, hlasové pakety by navíc měly být posílány přednostně. K zajištění těchto požadavků byly vyvinuty různé metody. V Cisco sítích jsou to například frontové algoritmy: • Priority queuing • Modified deficit round robin • Weighted fair queuing • Low-latency queuing Je možno také využít komprese, která redukuje velikost přenášených paketů. Komprese paketů však do přenosu může vnášet další zpoždění a je výkonově náročná. Méně náročnou na výkon routerů je metoda komprese hlaviček (RTP header compression). Tato metoda je vhodná zejména pro hlasové pakety, které jsou obecně krátké a mají špatný poměr množství přenášených dat vůči velikosti hlaviček svých paketů. U TCP protokolu lze také použít prevence zahlcení, kdy router začne zahazovat některé pakety ještě dříve, než k zahlcení dojde. TCP spojení to zaznamená a zmenší velikost okna (TCP Window) – tím se celé TCP spojení zpomalí. Existují ještě další metody jako Policing a Shaping, které omezují množství přenášených dat v čase a tím uvolňují šířku pásma linky pro pakety jiné třídy.
2
Kapitola
Analýza a návrh 1.1
Protokoly pro řízení hlasové komunikace v datových sítích
Řídící (signalizační) protokoly aplikační vrstvy slouží pro vytváření, změnu a ukončování spojení mezi dvěma i více účastníky. Nejběžnějším protokolem, se kterým se můžeme setkat v IP telefonii je SIP. Kromě něj se ve firemních sítích používají protokoly H323, MGCP a SCCP. V této práci byly používány protokoly SIP a SCCP. • SIP – Session Initiation Protocol – textově orientovaný signalizační protokol – vyvinut jako nástupce staršího a složitějšího protokolu H.323 – kromě hlasové komunikace podporuje i videokonference, streamovaná multimédia a další – komunikace typu klient–server nebo klient–klient – vytvořený v IETF, specifikován v RFC 3261 [11] • SCCP – Skinny Call Control Protocol – proprietární Cisco protokol – řídí komunikaci mezi IP telefony a Cisco Unified Communications Managerem (CallManager) – telefony během registrace dostávají od CallManageru kompletní konfiguraci včetně čísla linky 3
1
1. Analýza a návrh
1.2
Hlasové kodeky
Výraz kodek je akronym pro kodér-dekodér. Jedná se o zařízení nebo algoritmus pro zakódování datového toku nebo signálu do určité podoby vhodné k danému účelu (přenos po síti, uložení, . . . ) a jeho zpětnému dekódování. Během kódování mohou být data i komprimována nebo šifrována. Hlasové (audio) kodeky slouží k převodu hlasu na data vhodná pro přenos po síti.
1.2.1
G.711
G.711 je nejrozšířenější audio kodek používaný v telekomunikacích, standardizovaný organizací ITU-T. Je také znám pod zkratkou PCM (Pulse code modulation). G.711 je úzkopásmový kodek s pevným datovým tokem (bit rate) 64 kbit/s. Mimo jiné se standardně používá na ISDN linkách. Frekvenční rozsah zvukového signálu je 300–3400 Hz. G.711 existuje ve variantách A-law a µ-law, lišících se způsobem kódování (více viz [5]). A-law verze je používána hlavně v Severní Americe, µ-law je rozšířenější v Evropě.
1.2.2
G.729
G.729 je také ITU-T standardizovaný kodek. Na rozdíl od G.711 má datový tok jen 8 kbit/s. Je tedy podstatně úspornější než G.711, ale bohužel na úkor kvality přenášeného hlasu. Kodek G.729 byl postupně vyvíjen, jeho nejrozšířenější varianty jsou Annex A a Annex B [7].
1.2.3
ILBC
Dalším úzkopásmovým kodekem je iLBC. Tento open-source kodek byl vyvinut tak, aby se zvládl vyrovnat s výpadky hlasových paketů za cenu mírné degradace hlasové kvality, ale již bez další propagace chyb vzniklých ztrátou paketů. Jeho datový tok je 15,2 kbit/s (20 ms rámec) nebo 13.33 kbit/s (30 ms rámec) [1].
1.2.4
G.722
G.722 je širokopásmový (wideband) ITU-T standardizovaný kodek s datovým tokem 48, 56 nebo 64 kbit/s. Oproti G.711 nabízí lepší kvalitu hlasu díky většímu frekvenčnímu rozsahu: 50–7000 Hz [6]. 4
1.3. QoS
1.2.5
Další hlasové kodeky
Existuje mnoho dalších hlasových kodeků (například G.723, G.729, SILK a Speex), v této práci však nebyly použity.
1.3
QoS
QoS je schopnost sítě poskytovat lepší služby vybraným uživatelům a aplikacím na úkor ostatních služeb nebo uživatelů. QoS můžeme také chápat jako soubor mechanismů pro konfiguraci těchto služeb. Základními kroky při implementaci QoS jsou: • identifikace síťového provozu a jeho požadavků • rozdělení provozu do tříd • definice politik pro každou třídu
1.3.1
Identifikace síťového provozu
Prvním krokem implementace QoS je identifikace provozu na síti. Důkladná analýza provozu určí, jaký provoz se na síti vyskytuje a kde jsou největší problémy. Poté je možno stanovit QoS požadavky pro různé typy provozu.
1.3.2
Rozdělení provozu do tříd (klasifikace)
Při procesu klasifikace se identifikují druhy provozu a rozřazují se do různých tříd s podobnými QoS požadavky. Roztřídění umožňuje rozdělit provoz do několika úrovní priority. Klasifikace by měla probíhat na okraji sítě, co nejblíže ke zdroji provozu. Kritéria pro klasifikaci provozu mohou být například: • typ protokolu • informace v hlavičce paketu • zdrojová a cílová adresa • velikost paketu Na klasifikaci navazuje značkování. Jakmile je určena třída pro určitý druh provozu, je potřeba všechny jeho pakety nebo rámce označkovat, aby byla zřejmá jejich příslušnost k dané třídě. Značkování může probíhat jak na třetí tak i na druhé vrstvě ISO/OSI modelu. 5
1. Analýza a návrh 1.3.2.1
QoS třídy provozu
Třídy provozu se definují podle firemních nebo osobních potřeb. Ve firemním prostředí se používají například tyto třídy: • Voice – třída pro hlas která má mít co nejmenší zpoždění • Business-Critical – třída pro firemně důležitý provoz (například firemní aplikace a přístup uživatelům k databázi) • Best-Effort – třída pro normální provoz (elektronická pošta, přístup na webové stránky) • Scavenger – třída pro nechtěný provoz, který se můžeme snažit potlačovat (například point-to-point aplikace a on-line hry)
1.3.3
Definice QoS politik
QoS politiky se definují pro každou třídu provozu. Daná politika potom ovlivňuje způsob, jak síťové prvky zacházejí s pakety třídy, které je politika přidělena. Pakety mohou být při doručování upřednostňovány před ostatními, nebo naopak zdržovány či rovnou zahazovány. Pomocí politik se třídám může přidělit: • minimální garantovaná šířka pásma • maximální možná šířka pásma • priorita třídy • prevence zahlcení 6
1.4. Cisco QoS mechanismy
1.3.4
QoS požadavky pro hlasový přenos
Aby byl hlas přenášený po datové síti srozumitelný a poslouchatelný, je potřeba zajistit následující parametry: • dostatečná šířka pásma (bandwidth) – pro jeden hlasový kanál je potřeba 28–80 kbit/s podle použitého kodeku • bod-bod zpoždění (latency) – tolerance max. 150 ms jednosměrného zpoždění • variabilita zpoždění (jitter) – menší než 30 ms • ztrátovost paketů (packet loss) – do jednoho procenta
1.4
Cisco QoS mechanismy
Cisco směrovače (routery) a přepínače (switche) mají QoS implementován ve svém operačním systému (IOS). Informace pro vypracování této podkapitoly byly čerpány z [2]. Cisco implementace QoS používá tyto mechanismy: • klasifikace • značkování • řízení zahlcení • prevence zahlcení • policing a shaping • mechanismy efektivity linky 7
1. Analýza a návrh
1.4.1
Klasifikace
Možnosti klasifikace provozu na Cisco zařízeních: • MCQ klasifikace – Manuálně konfigurovaná klasifikace na základě Access listů, IP precedence, DSCP, protokolu, vstupního rozhraní, zdrojové MAC adresy, cílové MAC adresy a dalších parametrů. • NBAR klasifikace – Network-Based Application Recognition (NBAR) automaticky rozeznává velké množství aplikací komunikujících po síti. Je implementována v Cisco IOSu. • Trust Boundary – Umožňuje důvěřovat již klasifikovaným rámcům, označkovaných v LAN síti. Značky z rámců se přeznačkovávají do paketů, přičemž je možné překlasifikování do jiných tříd podle konfigurovatelné převodní tabulky (Cos-to-DSCP map).
1.4.2
Značkování
Značkování je prováděno zápisem specifické hodnoty do hlavičky rámce nebo paketu. Do hlavičky ethernetového rámce rozšířeného o 802.1Q pole se zapisuje hodnota CoS. Využívá 3 bity 802.1Q hlavičky. V hlavičce IP paketu (tabulka 1.1) je druhý byte určen pro informace o typu služby (Type of Service, ToS). Specifikace RFC 2474 [4] vyhrazuje prvních 6 bitů z ToS pole pro DSCP (DS field) a poslední dva bity pro Explicit Congestion Notification (ECN). Použitelné DSCP hodnoty jsou uvedeny v tabulce 1.2. Tabulka 1.1: Hlavička IP paketu 0 Version
1 2 3 IHL Type of Service Total Length Identification Flags Fragment Offset Time to Live Protocol Header Checksum Source Address Destination Address Options Padding
8
1.4. Cisco QoS mechanismy Tabulka 1.2: Hodnoty DSCP Název CS0 CS1 AF11 AF12 AF13 CS2 AF21 AF22 AF23 CS3 AF31
1.4.3
Hodnota 0 8 10 12 14 16 18 20 22 24 26
Název AF32 AF33 CS4 AF41 AF42 AF43 CS5 EF CS6 CS7
Hodnota 28 30 32 34 26 38 40 46 48 56
Řízení zahlcení
Mechanismus řízení zahlcení (congestion management) využívá značek v hlavičkách paketů k rozhodnutí, do které fronty daný paket zařadí při předávání paketu na výstupní rozhraní (interface) routeru. Různé fronty jsou pak obsluhovány různým způsobem – podle použitého frontového algoritmu: • FIFO – First In First Out – nejjednodušší typ fronty – paket který jde dovnitř jako první, jde také jako první ven – jedna fronta – jakmile je fronta plná, další příchozí paket se zahazuje – agresivní toky ji snadno obsadí, dochází k vyhladovění a zvyšování jitteru • WFQ – Weighted Fair Queuing – vytváří 16–256 front podle šířky pásma linky – využívá automatickou klasifikaci paketů a jejich zařazování do front – zahazuje pakety nejagresivnějších toků • CBWFQ – Class-based weighted fair queuing – rozšíření WFQ o podporu manuálně definovaných tříd provozu 9
1. Analýza a návrh – pro každou třídu je vytvořena fronta, do které je směrován veškerý provoz dané třídy – třídám garantuje šířku pásma podle vah přidělených jednotlivým třídám • LLQ – Low-latency queuing – CBWFQ s přidanou prioritní frontou pro real-time provoz (hlas, video) – třídy s vysokou prioritou jsou přednostně odbavovány a mají garantovánu šířku pásma – ostatní třídy používají CBWFQ
1.4.4
Prevence zahlcení
Prevence zahlcení (congestion avoidance) používá mechanismus RED (Random Early Detection), který náhodně zahazuje pakety ještě dříve, než je fronta plná. Díky tomu TCP spojení zpomalují, nedochází k jejich synchronizaci a tím ani k nárazovému zahlcování linky. Používá se v místech, kde provoz přechází z rychlejšího na pomalejší rozhraní routeru (například z LAN do WAN). Parametry chování RED mechanismu (prahové hodnoty a pravděpodobnost zahození paketu) se nastavují v RED profilu. • CB-WRED – Class-based weighted random early detection – Cisco implementace RED – třídám provozu může být nastaven různý RED profil – pracuje v kombinaci s CBWFQ • ECN – Explicit Congestion Notification – ECN je rozšířením CB-WRED – přidává do ToS bytu hlavičky paketu informaci o zahlcení sítě – příjemce paketu označeného ECN informuje odesílatele o stavu zahlcení sítě (pokud tuto funkcionalitu oba koncové body podporují) 10
1.4. Cisco QoS mechanismy
1.4.5
Policing a shaping
Policing zahazuje nebo značkuje pakety provozu, který dosáhl svého definovaného limitu. U TCP provozu pak dochází ke znovu odeslání zahozených paketů. Shaping také omezuje provoz na určité definované maximum tím, že pakety nad limit nezahazuje, ale jen je pozdržuje. Pakety provozu, který přesáhne definovaný limit, ukládá do vyrovnávací paměti (buffer) a odesílá je, až když provoz poklesne pod stanovený limit. Tím vyhlazuje nárazový provoz na lince (obrázek 1.1).
Obrázek 1.1: Policing a shaping, převzato z [3]
• Class-based Policing – omezuje šířku pásma pro jednotlivé třídy provozu – provoz nad limit může zahodit nebo přeznačkovat • Class-based Shaping – omezuje šířku pásma pro jednotlivé třídy provozu – pakety nad limit pozdržuje – neumožňuje přeznačkování 11
1. Analýza a návrh
1.4.6
Mechanismy efektivity linky
Mechanismy efektivity linky (link-efficiency) se snaží zvýšit efektivitu přenosu dat na lince využitím komprese paketů nebo jen jejich hlaviček. Komprese zvyšuje propustnost linky a snižuje zpoždění. Je efektivní na pomalých linkách. Dalším mechanismem je fragmentace datových paketů a jejich prokládání menšími hlasovými pakety. Funguje až za softwarovými frontami, kde jsou všechny pakety předávány do hardwarové fronty, která je FIFO. V tomto místě mohou být krátké hlasové pakety zdržovány dlouhými datovými pakety. Proto se zde využívá fragmentace a prokládání. • Class-based Header Compression – komprese TCP hlaviček – vhodné pro pomalé linky s velkým množstvím malých TCP paketů (např. telnet) – komprese RTP hlaviček – na pomalých linkách zvyšuje kvalitu hlasu (díky snížení zpoždění a zvýšení propustnosti) • LFI – Link Fragmentation and Interleaving – fragmentuje dlouhé datové pakety na menší a ty pak prokládá hlasovými pakety – redukuje zpoždění a jitter malých paketů
1.5
Kvalita VoIP hovoru
Kvalitou hovoru rozumíme čistotu a zřetelnost hlasu přenášeného od mluvčího k posluchači. Tuto kvalitu ve VoIP ovlivňuje mnoho faktorů jako použitý kodek, zpoždění na lince, ztrátovost paketů, variabilita zpoždění a další. Pro specifikaci kvality hovoru se nejčastěji používá hodnota MOS.
1.5.1
MOS
Mean Opinion Score (MOS) je parametr používaný v telekomunikacích pro odhad kvality hovoru. Udává se na stupnici 1–5, viz tab. 1.3. Stupnice byla stanovena statisticky podle subjektivního hodnocení testovaného vzorku osob (posluchačů). Podrobnosti lze najít v ITU-T doporučení P.800 [8]. 12
1.5. Kvalita VoIP hovoru Tabulka 1.3: Mean opinion score (MOS) MOS 5 4 3 2 1
1.5.2
Kvalita vynikající dobrá průměrná nízká špatná
Rušení neznatelné znatelné ale neobtěžující lehce obtěžující obtěžující velmi obtěžující
Metody hodnocení kvality hovoru
Metody hodnocení kvality přeneseného hlasu ve VoIP parametrem MOS jsou subjektivní a objektivní. Subjektivní metoda používá přímé hodnocení posluchači. Každý člověk však kvalitu hlasů vnímá jinak, proto je pro získání statisticky významných výsledků potřeba velkého množství osob. To dělá tuto metodu časově i finančně náročnou. Objektivní metody využívají k odhadu kvality určitý algoritmus. Ten buď porovnává původní vzorek s přeneseným (tato metoda se nazývá intruzivní), nebo se snaží kvalitu odhadnout jen z přeneseného vzorku, případně měřením parametrů sítě (neintruzivní metoda). Algoritmy objektivní metody: • PESQ – Perceptual Evaluation of Speech Quality – intruzivní metoda – poskytuje hodnoty 1–4,5 – ITU-T doporučení P.862 [9] • POLQA – Perceptual Objective Listening Quality Analysis – intruzivní metoda – nástupce PESQ s vylepšenou analýzou širokopásmových kodeků – ITU-T doporučení P.863 [10] • Cisco MOS – – – –
neintruzivní metoda Cisco proprietární algoritmus výpočtu MOS poskytuje hodnoty 2–4,5 implementováno přímo v Cisco telefonech (v detailních informacích o hovoru)
13
Kapitola
Realizace Tato práce byla realizována na síťových prvcích Cisco a osobních počítačích Dell s operačním systémem Ubuntu. Bylo vytvořeno testovací prostředí – model dvou malých LAN sítí propojených jednou sériovou linkou. V každé LAN síti byl instalován jeden Cisco IP telefon a jeden softphone. Mezi softphony byl přenášen testovací hlasový vzorek a přenesené vzorky ukládány k pozdější analýze. Velké množství vzorků si vyžádalo jistou automatizaci procesu přenosu vzorků a jejich vyhodnocování. K tomuto účelu byly napsány bash scripty pro obsluhu softphonů a vyhodnocovacích algoritmů. Změny parametrů QoS bylo však nutno provádět ručně pro každý typ testu.
2.1
Testovací prostředí
Schéma zapojení testovacího prostředí je znázorněno na obrázku 2.1. Pro účely testování byly použity následující typy zařízení: • Telefony: Cisco IP Phone 7942G • Switche: Cisco Catalyst 3560PS • Routery: Cisco 2811 ISR, Cisco 1841 15
2
2. Realizace
Obrázek 2.1: Schéma zapojení testovacího prostředí
• PC a servery: Dell PC, operační systém Ubuntu 12.10 Routery byly propojeny kříženým sériovým kabelem. Šířka pásma této linky byla nastavena na 384 kbit/s, L2 protokol byl ponechán výchozí HDLC. Jako směrovací protokol byl použit OSPF. Sériová rozhraní routerů byla konfigurována takto: Router1# interface Serial0/1/0 bandwidth 384 ip address 10.10.0.1 255.255.255.252 encapsulation hdlc fair-queue clock rate 384000 Router2# interface Serial0/1/0 bandwidth 384 ip address 10.10.0.2 255.255.255.252 encapsulation hdlc fair-queue 16
2.2. Zahlcení linky
2.2
Zahlcení linky
Pro zahlcení linky bylo třeba využít nějakého Traffic Generatoru (TG). Požadavky na TG byly: jednosměrné zatížení linky pakety TCP a UDP různé délky, dostupnost software pro Linux a možnost automatického spouštění scriptem. Těmto požadavkům vyhovoval nejvíce program iperf. Ten byl také použit na Traffic Generatoru jako klient a na Traffic Receiveru jako server. Za účelem simulace velkého provozu na lince bylo testováno několik kombinací nastavení (počtu současně iniciovaných TCP a UDP spojení) a sledován jejich vliv na zahlcení linky. Traffic Generator byl nakonec nastaven na odesílání 10-ti současných TCP spojení a jednoho UDP proudu malých paketů. Větší množství TCP ani UDP spojení už nemělo vliv na měřené parametry (doba odezvy, ztrátovost, jitter). Script na straně klienta: #!/bin/bash iperf -c 192.168.231.3 -t 20000 -P 10 & \ iperf -c 192.168.231.3 -u -b 200k -l 28 -t 20000 -p 5002 Script na straně serveru: #!/bin/bash iperf -s -u -p 5002 & \ iperf -s
2.3
Přenos hlasových vzorků
K přenosu vzorku se nejlépe hodil software Linphone, který může být ovládán scriptem a umožňuje přehrát zvukový WAV soubor. Tento softphone byl také vyhodnocen jako jeden z nejlepších co se týče kvality přenosu hlasu – viz [12]. Funkce ukládání přeneseného hlasu do WAV souboru přímo v programu Linphone nebyla nakonec využita z důvodu softwarové chyby v ukládání přeneseného hlasu. Pro nahrávání byl použit program Audacity. Ve zvukovém editoru Audacity byla také upravena délka všech přenesených vzorků na stejnou velikost. K přenosu a následnému porovnávání s nahranými vzorky byl použit hlasový záznam čtyř krátkých vět od různých osob (dva muži a dvě ženy) – obrázek 2.2. Tento vzorek adekvátně pokrývá celé frekvenční spektrum lidského hlasu. Délka záznamu je 17 sekund, vzorkovací frekvence 8kHz. 17
2. Realizace
Obrázek 2.2: Testovací hlasový záznam
2.4
Použité kodeky
Výběr kodeků byl omezen použitým vybavením. Pro možné porovnání výsledků z Cisco telefonů a ze softphonů byly vybrány kodeky, které lze provozovat na Cisco IP telefonech 7942G i v programu Linphone. Jsou to: • G.711 µ-law • G.729 ANNEX A • iLBC 20 ms • G.722 64 kbit/s
2.5
Plánovaný postup testů
Pro každou kombinaci kodeku a QoS bylo potřeba provést dostatečný počet testů. Postup testování byl následující: • přenesení hlasových vzorků přes softphone a jejich záznam • změření hodnot na Cisco IP telefonech • změření doby odezvy na lince (doba návratu odeslaného hlasového paketu) • analýza přenesených vzorků
18
2.5. Plánovaný postup testů
2.5.1
Klasifikace datového provozu
Pro potřeby této práce postačovala klasifikace provozu do dvou tříd: 1. Expedided Forwarding (EF) – real-time provoz a jeho kontrolní pakety 2. Default – vše ostatní Klasifikace byla provedena pomocí NBAR přímo na Ethernet rozhraní směrovače Router2. Do třídy EF byly zařazeny pakety skinny (SCCP), sip, rtp, rtcp a icmp. ICMP normálně do této prioritní třídy nepatří, ale jeho zařazení do třídy EF umožňuje ověření funkčnosti QoS příkazem ping a sledováním doby odezvy (návratu icmp paketu, který je zpracováván jako hlasový paket). Lze ho také využít k měření účinnosti použité QoS metody na pakety třídy EF – měřením ztrátovosti a doby odezvy. Všechen ostatní provoz byl zařazen do třídy default.
2.5.2
Značkování
Značkování se zapisuje do IP hlaviček paketů (DS field). Třída EF má DSCP hodnotu 46, třída default má DSCP 0.
2.5.3
Postup měření na Cisco telefonech
1. nastavení QoS 2. spuštění Traffic Generatoru 3. nastavení kodeku 4. navázání hovoru mezi telefony 5. po 5-ti minutách ukončení hovoru a odečtení parametru Avg MOS LQK 6. postup zopakovat pro všechny kodeky 7. celé vše ještě jednou zopakovat 8. výpočet aritmetického průměru ze dvou takto získaných hodnot (dvou pětiminutových průměrů) 9. celý postup opakovat pro další metodu QoS 19
2. Realizace
2.5.4
Postup měření na softphonech
1. nastavení QoS 2. spuštění Traffic Generatoru 3. spuštění scriptů pro Linphone 1 a 2 4. záznam deseti vzorků pro každý kodek pomocí Audacity 5. postup opakovat pro další metodu QoS 6. analýza vzorků algoritmy PESQ a POLQA 7. výpočet aritmetického průměru a nejistoty typu A podle vzorce 2.1
uAx =
2.6
v u u t
n X 1 (xi − x¯)2 n(n − 1) i=1
(2.1)
QoS metody
Nastavení QoS bylo prováděno na směrovači Router2. Úvodní konfigurace sériového rozhraní tohoto routeru byla nastavena takto: interface Serial0/1/0 description Link to Router1 bandwidth 384 ip address 10.10.0.2 255.255.255.252 Jako první byla provedena všechna měření na nezatížené lince pro získání maximálních hodnot dosažitelných v tomto testovacím prostředí, ke kterým by se měly hodnoty naměřené na zatížené lince přibližovat při optimalizaci QoS nastavení. Naměřené hodnoty na nezatížené lince jsou zaznamenány v tabulce 2.1. Tabulka 2.1: Hodnoty MOS – nezatížená linka G.711 G.729 iLBC G.722
Cisco 4,5 3,7 3,9 4,5
PESQ 4.3646 3.5165 3.3728 4.4105
POLQA 4.3162 3.6579 3.3408 4.3254
Všechny další metody byly již měřeny při plném zatížení linky (spuštěním scriptů na Traffic Receiveru a Traffic Generatoru). 20
2.6. QoS metody
2.6.1
FIFO
Cisco routery mají na svých rozhraních jako výchozí frontový mechanismus nastaven WFQ, proto je potřeba přepnout na FIFO: interface Serial0/1/0 no fair-queue U této metody se daly očekávat nejhorší výsledky, což se také potvrdilo – viz tab. 2.2. Tabulka 2.2: Hodnoty MOS – metoda FIFO G.711 G.729 iLBC G.722
2.6.2
Cisco 2 2 2 2
PESQ 1.0932 1.2511 1.0759 1.0825
POLQA 1.1221 1.1802 1.1215 1.1216
WFQ
V této fázi testování byl frontový mechanismus sériového rozhraní směrovače Router2 nastaven na WFQ: interface Serial0/1/0 fair-queue Tato metoda využívá automatické klasifikace paketů. Dochází k zahazování paketů agresivních toků, což zde vedlo ke zlepšení naměřených hodnot u kodeků G.729 a iLBC, které mají nízký datový tok (tabulka 2.3). Tabulka 2.3: Hodnoty MOS – metoda WFQ G.711 G.729 iLBC G.722
Cisco 2 3.6584 3.8804 2
PESQ 1.0933 2.2683 1.9171 1.0728
POLQA 1.1016 2.3563 2.1445 1.1264
21
2. Realizace
2.6.3
CBWFQ
Pro tuto metodu bylo nutno nastavit identifikaci provozu pomocí NBAR, rozdělení provozu do tříd a následné značkování paketů. Všechny tyto operace se provádějí na vstupním rozhraní z LAN sítě (FastEthernet0/0). class-map match-any real-time match protocol rtp match protocol sip match protocol skinny match protocol rtcp match protocol icmp class-map match-any ef-traffic match dscp ef policy-map mark-nbar class real-time set dscp ef interface FastEthernet0/0 ip nbar protocol-discovery service-policy input mark-nbar Tato metoda nejvíce pomohla kodekům s vyšším datovým tokem: G.711 a G.722. V tabulce 2.4 je vidět výrazné zlepšení hodnot MOS právě u těchto dvou kodeků (v porovnání s předchozí metodou). Může za to hlavně správná (manuálně definovaná) klasifikace hlasových paketů. Tabulka 2.4: Hodnoty MOS – metoda CBWFQ G.711 G.729 iLBC G.722
2.6.4
Cisco 4.2869 3.5836 3.8668 4.3818
PESQ 2.8977 2.4083 1.8172 2.7183
POLQA 2.911 2.3629 2.0811 2.6745
LLQ
Prioritní frontě byla potřeba nastavit dostatečná šířka pásma pro jeden hlasový kanál. Pro všechny kodeky by mělo postačovat 80 kbit/s. Bylo 22
2.6. QoS metody nastaveno 168 kbit/s (pro případnou rezervu). Ostatnímu (default) provozu bylo garantováno 50 % ze zbývající šířky pásma na lince. Metoda se implementuje nastavením LLQ politiky a přiřazením na odchozí směr sériového rozhraní routeru: policy-map llq-policy class ef-traffic priority 168 class class-default bandwidth remaining percent 50 interface Serial0/1/0 service-policy output llq-policy Prioritní fronta fungovala správně a měla pozitivní vliv na kvalitu přenosu hlasových paketů všech kodeků. Výsledky měření této metody (tabulka 2.5) se už hodně přibližovaly hodnotám naměřených na nezatížené lince. Tabulka 2.5: Hodnoty MOS – metoda LLQ G.711 G.729 iLBC G.722
2.6.5
Cisco 4.4717 3.6913 3.8943 4.4566
PESQ 4.2965 3.4771 3.3319 4.3225
POLQA 4.2752 3.6396 3.3019 4.2194
CBWRED
Pro tuto metodu byl do LLQ politiky přidán výchozí RED profil pro default (best-effort) provoz. policy-map llq-policy class class-default random-detect dscp-based random-detect dscp 0 20
40
10
Výsledky měření metody CBWRED (tabulka 2.6) ukazují, že došlo jen k mírnému zlepšení oproti předchozí metodě. 23
2. Realizace Tabulka 2.6: Hodnoty MOS – metoda CBWRED G.711 G.729 iLBC G.722
2.6.6
Cisco 4.4488 3.6998 3.8999 4.4747
PESQ 4.3188 3.4865 3.3496 4.3226
POLQA 4.2622 3.6337 3.3267 4.3059
ECN
V této je v LLQ politice nastaven příkaz k přidávání informace o zahlcení linky (ECN) do hlaviček paketů. policy-map llq-policy class class-default random-detect ecn Z výsledků měření (tabulka 2.7) je patrné, že tato metoda nepřinesla žádné zlepšení. U této metody je potřeba, aby obě strany (komunikující aplikace) podporovaly ECN. V tomto případě tomu tak nebylo. Tabulka 2.7: Hodnoty MOS – metoda ECN G.711 G.729 iLBC G.722
2.6.7
Cisco 4.4663 3.6959 3.8988 4.4574
PESQ 4.2783 3.4787 3.3491 4.3269
POLQA 4.2541 3.6401 3.3301 4.3247
Policing, shaping a komprese
Policing a shaping jsou metody, které omezují dostupnou šířku pásma pro určité třídy provozu. Toho se dá využít pro nastavení poměru přidělovaného pásma třídám mimo prioritní frontu. V této práci však byly použity jen dvě třídy – EF (která je v prioritní frontě) a třída default. Takže nasazení policingu a shapingu nemělo význam. Stejně tak nebyla testována komprese, kterou by mělo smysl použít na pomalé lince, kde by bylo více současných hlasových přenosů. 24
2.6. QoS metody
2.6.8
LFI
Pro zapnutí fragmentace a prokládání bylo potřeba na obou routerech vytvořit nové rozhraní Multilink1, které tento mechanismus podporuje. Konfigurace na Routeru2: interface Serial0/1/0 no ip address encapsulation ppp ppp multilink ppp multilink group 1 interface Multilink1 bandwidth 384 ip address 10.10.0.2 255.255.255.252 ppp multilink ppp multilink fragment delay 10 ppp multilink interleave ppp multilink group 1 service-policy output llq-policy Metoda LFI měla opět pozitivní vliv na doručování hlasových paketů, ale její výsledky už se na hodnotách MOS téměř neprojevily (tabulka 2.8). Je to z toho důvodu, že zpracování hlasových paketů již bylo dostatečně optimalizováno předchozími metodami. Mnohem lépe je zlepšení vidět na grafu doby odezvy – obrázek 2.6. Tabulka 2.8: Hodnoty MOS – metoda LFI G.711 G.729 iLBC G.722
Cisco 4.4995 3.6999 3.8999 4.4995
PESQ 4.3154 3.4611 3.355 4.3094
POLQA 4.3144 3.6338 3.3571 4.2957
25
2. Realizace
Závislost MOS na metodě QoS - PESQ algoritmus 4.5 4 3.5
G.711 G.729 iLBC G.722
MOS
3 2.5 2 1.5 1
FIFO
WFQ
CBWFQ
LLQ
CBWRED
ECN
LFI
QoS metoda
Obrázek 2.3: Závislost PESQ MOS na metodě QoS
2.7
Grafy výsledků měření
Grafické znázornění výsledků měření poskytuje lepší představu o účinnosti použitých QoS metod.
2.7.1
Grafy pro jednotlivé algoritmy měření MOS
Na těchto grafech je vidět jak se postupně zvyšuje hodnota MOS (kvalita hlasu) při postupném přidávání QoS mechanismů optimalizace provozu. V málo optimalizovaném prostředí poskytují lepší hodnoty kodeky s malým datovým tokem (G.729 a iLBC). Od metody CBWFQ však kvalitnější hlasový přenos poskytují kodeky G.711 a G.722. • PESQ MOS graf – obrázek 2.3 • POLQA MOS graf – obrázek 2.4 • Cisco MOS graf – obrázek 2.5
26
2.7. Grafy výsledků měření
Závislost MOS na metodě QoS - POLQA algoritmus 4.5
G.711 G.729 iLBC G.722
4
MOS
3.5 3 2.5 2 1.5 1
-1
0
1
2
3
4
5
6
7
QoS metoda
Obrázek 2.4: Závislost POLQA MOS na metodě QoS
Závislost MOS na metodě QoS - Cisco algoritmus 4.5 4
MOS
3.5
G.711 G.729 iLBC G.722
3 2.5 2 1.5 1
FIFO
WFQ
CBWFQ
LLQ
CBWRED
ECN
LFI
QoS metoda
Obrázek 2.5: Závislost Cisco MOS na metodě QoS
27
2. Realizace
2.7.2
Graf doby odezvy hlasového paketu
Graf na obrázku 2.6 zobrazuje, jak se měnila doba minimální, průměrné a maximální doby odezvy (návratu) hlasového paketu. U poslední metody (LFI) je vidět výrazné zkrácení průměrné a maximální hodnoty. U měření MOS toto zlepšení nebylo tak patrné, neboť hodnoty MOS se již blížily maximálním hodnotám dosažitelným v tomto testovacím prostředí. Závislost odezvy ping na metodě QoS
doba odezvy [ms]
1000
min avg max
100
10
FIFO
WFQ
CBWFQ
LLQ
CBWRED
ECN
QoS metoda
Obrázek 2.6: Závislost doby odezvy na metodě QoS
2.7.3
Porovnání algoritmů hodnocení
• Kodek G.711 – obrázek 2.7 • Kodek G.729 – obrázek 2.8 • Kodek iLBC – obrázek 2.9 • Kodek G.722 – obrázek 2.10
28
LFI
2.7. Grafy výsledků měření
Závislost MOS na metodě QoS - kodek G.711 4.5 4
PESQ POLQA Cisco
MOS
3.5 3 2.5 2 1.5 1
FIFO
WFQ
CBWFQ
LLQ
CBWRED
ECN
LFI
QoS metoda
Obrázek 2.7: Závislost MOS na metodě QoS – kodek G.711
Závislost MOS na metodě QoS - kodek G.729 4.5 4
PESQ POLQA Cisco
MOS
3.5 3 2.5 2 1.5 1
FIFO
WFQ
CBWFQ
LLQ
CBWRED
ECN
LFI
QoS metoda
Obrázek 2.8: Závislost MOS na metodě QoS – kodek G.729
29
2. Realizace
Závislost MOS na metodě QoS - kodek iLBC 4.5 4
PESQ POLQA Cisco
MOS
3.5 3 2.5 2 1.5 1
FIFO
WFQ
CBWFQ
LLQ
CBWRED
ECN
LFI
QoS metoda
Obrázek 2.9: Závislost MOS na metodě QoS – kodek iLBC
Závislost MOS na metodě QoS - kodek G.722 4.5 4
PESQ POLQA Cisco
MOS
3.5 3 2.5 2 1.5 1
FIFO
WFQ
CBWFQ
LLQ
CBWRED
ECN
LFI
QoS metoda
Obrázek 2.10: Závislost MOS na metodě QoS – kodek G.722
30
Závěr Nastavení QoS je poměrně komplexní záležitost. Nezbytným předpokladem je důkladná analýza provozu na síti a stanovení priorit pro jednotlivé typy provozu. V této práci to bylo zjednodušeno tím, že zajímavým provozem byl jen jeden hlasový kanál. Všechen ostatní provoz byl považován za nezajímavý a zpracováván jako best-effort. Ve firemním prostředí by bylo nutno analyzovat nebo odhadnout počet hlasových kanálů přenášených současně po síti, aby mohla být vyhrazena správná šířka pásma pro prioritní frontu. Dále rozhodnout o důležitosti dalších datových toků, roztřídit a přiřadit třídám prioritu a šířku pásma. Optimalizována by kromě hlasu měla být data aplikací přistupujících do firemních databází, či data jiných firemně důležitých aplikací. Nízká priorita se pak obvykle nastavuje elektronické poště a prohlížení webových stránek na Internetu. QoS metody jsou na Cisco routerech implementovány inkrementálně – postupně přidávají jednotlivé mechanismy a algoritmy, takže kvalita přenášeného hlasu s jejich nasazováním roste, až se začne blížit svým maximálně dosažitelným hodnotám (naměřeným na nezatížené síti). Ne všechny mechanismy jsou univerzálně vhodné pro všechny sítě. Opět je třeba předem zvážit, zda je vhodné konkrétní mechanismus povolit, či nikoliv. Každý QoS mechanismus má nějaké nároky na systémové zdroje zařízení, na kterém je spuštěn. Při nasazování QoS je tedy potřeba sledovat i zatížení procesoru routerů, na kterých je QoS aplikován. Volba použitého kodeku závisí nejvíce na dostupné šířce pásma a požadovaném množství současně probíhajících hlasových hovorů. Pokud nemáme dostatečnou šířku pásma, pak volíme kodeky s nízkým datovým tokem – konkrétně G.729 nebo iLBC. Při dostatečné šířce pásma nebo na LAN síti je vhodnější použít kodeky G.711 nebo G.722, které poskytují lepší kvalitu přeneseného hlasu. 31
Závěr Porovnání G.729 a iLBC pak podle výsledků PESQ a POLQA vyznívá lépe pro G.729. Na Cisco telefonech byly přesto naměřeny vyšší hodnoty MOS u kodeku iLBC. Cisco algoritmus výpočtu MOS však není veřejně znám a jako neintruzivní metoda nemusí poskytovat výsledky odpovídající lidskému vnímání hlasu. Kodeky G.711 a G.722 poskytovaly velmi podobné hodnoty MOS. Použití kodeku G.722 by bylo vhodnější na kvalitních IP telefonech, které by mohly plně využít jeho možností přenášet kvalitnější zvuk (wideband audio).
32
Literatura [1] Andersen, S., Duric, A., Astrom, H., Hagen, R., Kleijn, W., Linden, J.: Internet Low Bit Rate Codec (iLBC). Internet Engineering Task Force, Prosinec 2004. Dostupné z: http://www.ietf.org/rfc/rfc3951.txt [2] Cisco Systems, Inc.: Implementing Cisco Quality of Service. 2007. [3] Huynh Phi Long: Designing Remote Connectivity, Chapter 5 (Part02). Dostupné z: http://ciscodocuments.blogspot.cz/2011/ 06/chapter-5-designing-remote-connectivity_16.html [4] Nichols, K., Blake, S., Baker, F., Black D.: Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers. Internet Engineering Task Force, Prosinec 1998. Dostupné z: http://www.ietf.org/rfc/rfc2474.txt [5] Recommendation ITU-T G.711: Pulse code modulation (PCM) of voice frequencies. 1988. Dostupné z: http://www.itu.int/rec/T-RECG.711/en [6] Recommendation ITU-T G.722: 7 kHz audio-coding within 64 kbit/s. 1988. Dostupné z: http://www.itu.int/rec/T-REC-G.729/en [7] Recommendation ITU-T G.729: Coding of speech at 8 kbit/s using conjugate-structure algebraic-code-excited linear prediction (CSACELP). 1996. Dostupné z: http://www.itu.int/rec/T-REC-G.729/ en [8] Recommendation ITU-T P.800: Methods for subjective determination of transmission quality. 1996. Dostupné z: http://www.itu.int/rec/ T-REC-P.800/en 33
Literatura [9] Recommendation ITU-T P.862: Perceptual evaluation of speech quality (PESQ): An objective method for end-to-end speech quality assessment of narrow-band telephone networks and speech codecs. 2001. Dostupné z: http://www.itu.int/rec/T-REC-P.862/en [10] Recommendation ITU-T P.863: Perceptual objective listening quality assessment. 2011. Dostupné z: http://www.itu.int/rec/T-RECP.863/en [11] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., Schooler, E.: SIP: Session Initiation Protocol. Internet Engineering Task Force, Červen 2002. Dostupné z: http://www.ietf.org/rfc/rfc3261.txt [12] Slavata, O: Měření kvality přenosu hlasu pro sítě typu VoIP. Bakalářská práce, ČVUT-FEL, 2007.
34
Příloha
Seznam použitých zkratek EF Expedided Forwarding FIFO First In First Out IOS Internetwork Operating System LAN Lacal Area Network LLQ Low Latency Queuing MOS Mean Opinion Score NBAR Network Based Application Recognition QoS Quality of Service RTCP RTP Control Protocol RTP Real-time Transport Protocol TCP Transmission Control Protocol UDP User Datagram Protocol VoIP Voice over Internet Protocol WAN Wide Area Network WFQ Weighted Fair Queuing
35
A
Příloha
Obsah přiloženého CD
readme.txt ................................ stručný popis obsahu CD samples ................................. adresář s hlasovými vzorky scripts ................................. adresář s použitými scripty src thesis....................zdrojová forma práce ve formátu LATEX text.....................................................text práce thesis.pdf...........................text práce ve formátu PDF 37
B