OCENA JAKOŚCI USŁUG TRANSMISJI MOWY W SIECIACH...
Transcript of OCENA JAKOŚCI USŁUG TRANSMISJI MOWY W SIECIACH...
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIApod auspicjami Polskiej Akademii Nauk
WYDZIAŁ INFORMATYKI
STUDIA INŻYNIERSKIE
PRACA DYPLOMOWA
Rafał Gadamski
OCENA JAKOŚCI USŁUG TRANSMISJI MOWY W SIECIACH IP
Praca wykonana pod kierunkiem:
dr inż. Jacka Jarmakiewicza
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego
WARSZAWA, 2006r.
Autor: Rafał Gadamski
Tytuł: OCENA JAKOŚCI USŁUG TRANSMISJI MOWY W SIECIACH IP
Rok akademicki: 2006/2007
Dziekan Wydziału: dr inż. Jarosław Sikorski
Specjalność: Informatyka w telekomunikacji
Opiekun specjalności: prof. dr hab. inż. Tadeusz Łuba
Opiekun pracy: dr inż. Jacek Jarmakiewicz
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego2
Kwalifikuję do złożenia jako dyplomową pracę inżynierską/magisterskąna Wydziale Informatyki WSISiZ.
Ocena pracy (słownie): ..................................................................................(skala ocen: bardzo dobra, dobra i pół, dobra, dostateczna i pół, dostateczna)
......................................... .......................................................................(data) (podpis opiekuna pracy)
Pracę złożono w .......... egzemplarzach dnia ............................................................
.......................................................................(pieczątka wydziału) (podpis kierownika dziekanatu)
Tytuł naukowy, imię i nazwisko recenzenta pracy:
........................................................................................................................................
Ocena pracy (słownie): ..................................................................................(skala ocen: bardzo dobra, dobra i pół, dobra, dostateczna i pół, dostateczna)
......................................... .......................................................................(data) (podpis kierownika dziekanatu)
Dopuszczam pracę do obrony.
......................................... .......................................................................(data) (podpis dziekana )
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego
Autor: Rafał Gadamski
Tytuł: OCENA JAKOŚCI USŁUG TRANSMISJI MOWY W SIECIACH IP
Rok akademicki: 2006/2007
Dziekan Wydziału: dr inż. Jarosław Sikorski
Specjalność: Informatyka w telekomunikacji
Opiekun specjalności: prof. dr hab. inż. Tadeusz Łuba
Opiekun pracy: dr inż. Jacek Jarmakiewicz
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego3
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego
Spis treści
Wstęp
Celem pracy dyplomowej jest:
Analiza i ocena i jakości usługi VoIP w zależności od dostępnej przepustowości w
sieciach IP.
Cel pracy osiągnąłem realizując następujące punkty swojej pracy:
W rozdziale 1. Charakterystyka VoIP zawarłem ogólny opis techniki VoIP, historię i
przyczyny powstawania techniki. Przedstawiłem podstawowe zalety i wady transmisji głosu
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego4
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiegow sieciach IP w porównaniu do standardowej telefonii. Następnie opisałem metodę cyfryzacji
mowy ludzkiej wykorzystywaną w telekomunikacji oraz przedstawiłem kodeki mowy
ludzkiej stosowane w aplikacjach VoIP.
W tym samym rozdziale zawarłem także opis dotyczący protokołu IPv4 pod kontem
wykorzystania do transmisji głosu.
Następny punkt przedstawia wybrane definicje parametrów jakości usług w sieciach
pakietowych.
W ostatnim punkcie rozdziału przeanalizowałem czynniki wpływające na jakość, oraz
przedstawiłem podstawowe metody poprawy jakości transmisji głosu w sieciach IP.
W rozdziale 2 przedstawiłem analizę wybranych darmowych aplikacji VoIP. Analiza
została przeprowadzona pod kątem możliwości jakie oferują takie aplikacje oraz
praktycznych możliwości wykorzystania aplikacji.
W rozdziale 3 przedstawiłem metodę badań poprzez symulację komputerową jak również
podstawowe pojęcia związane z tą metodą. Określiłem jako cel moich badań wyznaczenie
charakterystyk czynników mających bezpośredni wpływ na jakość transmisji głosu w sieciach
IP tj. opóźnień pakietów oraz jittera pakietów oraz przepustowości.
Następnie przedstawiłem i opisałem dwa scenariusze w oparciu, o które przeprowadziłem
badania metodą symulacyjną.
W rozdziale 4 przedstawiłem środowisko badawcze, którego głównym elementem była
aplikacja COMNET III, w której zostały utworzone modele badawcze sieci oparte o
wcześniej przedstawione scenariusze. Aplikacja ta jest narzędziem umożliwiającym tworzenie
i wszechstronne badanie modeli sieci telekomunikacyjnych metodą symulacji komputerowej.
Następnie opisałem przebieg symulacji zbudowanych w oparciu o scenariusze modeli
symulacyjnych.
W następnym punkcie przedstawiłem uzyskane w trakcie badań wyniki. Wyniki dla
poszczególnych scenariuszy zostały uporządkowane w tabelach. Dla wybranych wyników
opóźnień i jittera pakietów VoIP przedstawiłem ich graficzną reprezentację w postaci
wykresów. Przedstawiłem analizę i ocenę uzyskanych wyników oraz wnioski wynikające z
przeprowadzonych badań.
W rozdziale 5 przedstawiłem wnioski dotyczącej mojej pracy dyplomowej oraz jej
podsumowanie.
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego5
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego6
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego
1. CHARAKTERYSTYKA VoIP
1.1. Ogólny opis techniki VoIP
Jeszcze do niedawna głos można było przesyłać tylko przez konwencjonalne sieci
telefoniczne, w postaci sygnałów analogowych lub impulsów cyfrowych [1 – 4]. Dostępne
obecnie sieci komputerowe, które jeszcze kilka lat temu służyły wyłącznie do przesyłania
danych, pracują teraz tak szybko i stabilnie, że można przez nie przesyłać głos. Technologia,
która umożliwia przesyłanie głosu z wykorzystaniem łączy transmisji danych jest VoIP (ang.
Voice over Internet Protocol), czyli technologia przesyłania głosu przez sieć IP.
Jest to stosunkowo młoda technika przesyłania mowy ludzkiej gdyż pierwszy system
telefonii IP został opracowany w 1995 r., kiedy firma VocalTec stworzyła pierwsze
oprogramowanie komputerowe umożliwiające rozmowę przez sieć IP. Jednak dopiero
pojawienie się bramy w 1996r., umożliwiło rozmowę w czasie rzeczywistym. Możliwość
wykorzystania sieci IP do przenoszenia ruchu telefonicznego stała się ostatnio punktem
zainteresowania wielu firm i organizacji zajmujących się telekomunikacją. Początkowo prace
nad VoIP skupiały się nad produktami pozwalającymi obniżyć koszty rozmów
międzymiastowych i międzynarodowych, które w publicznych sieciach telefonicznych są
wysokie i zależne od odległości miejsca, z którym chcemy się połączyć. Obecnie VoIP
zaczyna być również postrzegany jako alternatywa dla zwykłych sieci telefonicznych.
W technice VoIP wykorzystuje się technologię cyfrową tj. przetwarzanie A/C, kompresję,
czyli kodowanie mowy oraz komutację pakietów IP. Jak wiadomo protokół IP jest
protokołem zawodnym. IP nie jest protokołem przeznaczonym do aplikacji czasu
rzeczywistego, nie posiada i nie oferuje on usług QoS (Quality of Service). Brak jest w
Internecie narzędzi gwarantujących, że dane dotrą do adresata w określonym czasie. Mogą,
więc występować absolutnie różne opóźnienia. Do przesyłania pakietów zawierających głos
jest używany protokół UDP. Protokół ten nie stosuje znaczników czasu, więc nie może
kontrolować opóźnień. Projektanci VoIP wprowadzili, więc protokół RTP, który znajduje się
na szczycie UDP. Dodatkowo, aby zapewnić jakość usług stosuje się standardy protokołów
sygnalizacyjnych H.323 stworzony przez ITU (International Telecommunication Union) lub
SIP (Session Initiation Protocol) stworzony przez IETF (Internet Engineering Task Force),
które mają możliwość ustanowienia i utrzymania połączenia wirtualnego między dwoma
użytkownikami w celu przesyłania danych, sterowania przepływem, przesyłania potwierdzeń
oraz kontroli i korekcji błędów.
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego7
Praca dyplomowa jest własnością Pana inż. Rafała GadamskiegoDo zalet telefonii IP należą przede wszystkim małe zapotrzebowanie na szerokość
pasma w tradycyjnej telefonii jest to 64kb/s. Dla usługi VoIP wystarczająca szerokość pasm
to 20kb/s a nawet mniej. Mniejsze zapotrzebowanie na szerokość pasma to zmniejszenie
kosztów połączeń telefonicznych szczególnie w przypadku rozmów międzymiastowych,
międzynarodowych czy też do sieci komórkowych. Kolejną zaletą jest coraz większa liczba
operatorów VoIP, co dodatkowo wpływa na obniżenie kosztów. Z usług telefonii internetowej
może korzystać każdy, kto ma dostęp do Internetu, a chętnych przybywa tym bardziej, że
istnieje możliwość rozmów za darmo między dwoma użytkownikami komunikatorów
Internetach takich jak np. Skype czy Gadu-Gadu. Telefonia internetowa oferuje o wiele
więcej możliwości rozwoju niż tradycyjna telefonia, pozwalając na łatwe tworzenie mostków
konferencyjnych umożliwia stereofoniczną transmisję głosu czy integrację z istniejącymi
usługami w Internecie np. głosowy dostęp do portali internetowych. Oprócz tego dzięki
wykorzystaniu specjalnych bramek dźwiękowych możliwe jest zintegrowanie telefonii IP z
tradycyjną telefonią. Dzięki takiemu rozwiązaniu połączenie głosowe może odbywać się
między abonentem tradycyjnej sieci a użytkownikom korzystającym z tzw. IP Phone lub
komputera z odpowiednią aplikacją. Zastosowanie do komunikacji głosowej wspomnianego
wcześniej telefon IP, pozwala w rozwiązaniach budowanych od podstaw zrezygnować z
okablowania dla zwykłej sieci telefonicznej. IP Phone może być podłączony sieci
komputerowej za pomocą oddzielnej skrętki lub korzystać z jednej wspólnie z komputerem co
ilustruje rysunek Rys 1.1.
Rys. 1.1. Telefon IP jako punkt dostępowy do sieci
Niestety technika ta nie jest pozbawiona wad, a główną przyczyną tych wad jest sam
protokół IP. Telefonia IP charakteryzuje się małą odpornością na straty pakietów oraz dużymi
opóźnieniami, co znacznie obniża jakość przesyłanej mowy. Opóźnienia pakietów już na
poziomie 150ms w jedną stronę utrudniają konwersację, a słabą jakość mowy zaczyna się
przy około 400ms (licząc opóźnienia łącznie w obu kierunkach przekazu [5]). Z kolei
akceptowalna jakość głosu przy stratach pakietów uzyskuje się przy utracie poniżej 5%, a
niedopuszczalna jakość, przy której występuje już niezrozumiałość mowy zaczyna się przy
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego8
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiegoutracie powyżej 16% ogólnej liczby przesłanych pakietów. Dodatkowym czynnikiem
obniżającym jakość telefonii IP jest jitter, czyli zmienność opóźnienia. Jitter powoduje efekt
echa lub drżenie głosu rozmówcy, na co szczególnie jest uczulone ucho ludzkie.
Dla transmisji danych niska jakość sieci globalnej IP ma drugorzędne znaczenie, gdyż
pakiety danych odebrane w niewłaściwej kolejności mogą być odpowiednio uszeregowane,
na pakiety opóźnione można poczekać, a utracone przesłać jeszcze raz. Transmisja Mowy
wymaga jednak odpowiedniej jakości, gdyż zbyt duże opóźnienia, lub zbyt liczne straty
pakietów powodują, niezrozumiałość przesyłanej mowy.
1.2. Charakterystyka i cyfryzacja mowy ludzkiej
Mowa ludzka jest zbiorem fal akustycznych o częstotliwościach z zakresu od 50Hz
nawet do 12kHz, jednak u większości osób dorosłych głos funkcjonuje w zakresie od 50Hz
do 5kHz Rys. 1.2 [6, 7].
Rys. 1.2. Charakterystyka mowy ludzkiej
W wyniku badań nad głosem ludzkim przeprowadzonych na potrzeby telefonii analogowej
okazało się, że większość sygnałów wydawanych głosem ludzkim przy jednoczesnym
zachowaniu zrozumiałości mowy mieści się w zakresie 300Hz – 3400Hz Rys. 1.3.
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego
100 300 1000 3400 10000
80
70
60
50
40
30
p[dB]
f[Hz]
9
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego
Rys. 1.3. Charakterystyka mowy ludzkiej w paśmie telefonicznym
Przyjęcie tego pasma o szerokości nieco 3kHz było kompromisem między kosztem a
jakością, a jako podstawowe pasmo telefoniczne przyjęto pasmo o szerokości 4kHz, na
którym do wczesnych lat 60-tych XX wieku była oparta analogowa transmisja głosu.
Od tamtego czasu transmisja głosu stawała się w coraz większym stopniu transmisją w
formacie cyfrowym.
Do przekształcenia głosu na postać cyfrową używana jest zazwyczaj modulacja
impulsowo-kodowa (PCM - Pulse Code Modulation). Metodę PCM możemy podzielić na
trzy główne etapy:
− próbkowanie,
− kwantowanie sygnału,
− kodowanie,
co ilustruje Rys. 1.4.
Próbkowanie polega na zamianie ciągłego sygnału analogowego na impulsy o
amplitudzie równej chwilowej wartości sygnału w momencie próbkowania i odpowiedniej
częstotliwości [1, 8, 9]. Wykorzystano tu tzw. twierdzenie o próbkowaniu Shannona (Tp ≤
0,5Ts lub fp ≥ 2fg). Twierdzenie mówi, że próbkowanie powinno odbywać się z
częstotliwością, co najmniej dwukrotnie większą niż częstotliwość sygnału próbkowanego. W
telefonii najwyższa częstotliwość transmitowanego głosu wynosi 3400 Hz, wystarczyłoby,
więc zastosować częstotliwość próbkowania o wysokości 6,8 kHz, w praktyce jednak jest ona
większa i wynosi 8 kHz.
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego
80
70
60
50
40
30
p[dB]
100 300 1000 3400 10000f[Hz]
Pasmo telefoniczne
10
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego
Rys. 1.4. Etapy kodowania PCM
Kwantowanie sygnału jest właściwym procesem cyfryzacji sygnału. W operacji tej
dokonywana jest zamiana analogowej wartości próbki sygnału na liczbę, jedną spośród
ograniczonego zbioru. Proces obejmuje: wyznaczanie przedziału zmienności sygnału
wejściowego (określenie zakresu przetwarzania), podział zakresu przetwarzania na N
przedziałów zwanych przedziałami kwantowania i przyporządkowanie im numerów - liczb
binarnych oraz określenie wartości próbki sygnału w odniesieniu do przedziału kwantowania
(wyznaczenie przedziału kwantowania). W europie spotyka się zazwyczaj systemy PCM z
28=256 poziomami kwantowania, z czego bezpośrednio wynika pasmo przenoszenia o
szerokości 64kb/s (fp*N=64kb/s; fp=8 kHz, N=8b). Nie ma co ukrywać, że to bardzo dużo. W
klasycznych sieciach telefonicznych z komutacją łączy można sprostać takim wymaganiom.
Na czas rozmowy zestawia się oddzielne łącze o przepływności 64 kb/s przeznaczone tylko
dla dwóch abonentów.
Kodowanie polega na przyporządkowaniu numerowi przedziału kwantowania, czyli
liczbie ciągu impulsów, przy czym długość ciągu jest stała i nie zależy od wartości
kodowanego sygnału.
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego
PRÓBKOWANIE
KWANTOWANIE
KODOWANIE
11
Praca dyplomowa jest własnością Pana inż. Rafała GadamskiegoWykorzystując tradycyjną telefonię cyfrową, aplikacja przesyłająca głos musi mieć do
dyspozycji pasmo przenoszenia danych o szerokości 64kb/s. Natomiast przy użyciu
technologii VoIP wystarczającą szerokością pasma okazuje się 8-16kb/s, a po zastosowaniu
dodatkowych technik wystarczy nawet łącze oferujące przepustowość rzędu 6kb/s. Nie ma tu
żadnych szumów, które występują tradycyjnej telefonii spowodowanych przez konieczność
wzmacniania i regenerację sygnału, dodatkowo mowę zakodowaną w taki sposób można
wielokrotnie powielać bez obawy o pogorszenie jej jakości. Tak niskie zapotrzebowanie na
szerokość łącza danych uzyskuje się dzięki stosowaniu wyspecjalizowanych kodeków
(koderów/dekoderów) mowy ludzkiej. Z kodeków korzystamy często o tym nie wiedząc np.
prowadząc rozmowy w sieciach GSM, czy też słuchając muzyki lub oglądając filmy zapisane
w postaci plików multimedialnych. Podobne kodeki przygotowano na potrzeby systemów
telefonii IP. Najważniejsze z nich zaprezentowane są w tabeli Tab.1.1. Jak widać,
zapotrzebowanie na pasmo nie przekracza 8kb/s. Mniejsza ilość przekazywanych informacji
oznacza jednak, że sygnał dźwiękowy będzie gorszej jakości [10]. Okazuje się, że nadal jest
on na dość dobrym poziomie. Tab. 1.1.
Kodowanie danych w sieciach pakietowych
KodekStrumień
[kb/s]
Całkowite
zapotrzebowanie
na pasmo w
Ethernecie [kb/s]
Opóźnienia
kodeka (ms)Zastosowanie
G.711
(PCM)64 87,2 0,75
Transmisja głosu w paśmie
300 Hz - 4,4 kHzG.726
ADPCM24 47,2 1 Transmisja głosu
G.728
LD-CELP16 31,5 3 – 5 Transmisja głosu
G.729
CS-ACELP8 31,2 10
Transmisja głosu w paśmie
300 Hz - 4,4 kHzG.723.1
MP-MLQ6,3 21,9 30
Transmisja głosu w paśmie
300 Hz - 4,4 kHzG.723.1
ACELP5,3 20,8 30
Transmisja głosu w paśmie
300 Hz - 4,4 kHz
Jak wynika z powyższej tabeli najlepsze parametry czasowe, a co w znacznym stopniu
wpływa na jakość, ma kodowanie z użyciem kodeka G.711 – kodek jest oparty o kodowanie
PCM bez kompresji, a jego narzut czasowy to około 0,75 ms. W przypadku kodeka G.711
małe opóźnienie jest okupione szerokością strumienia generowanego przez ten kodek
wynoszący 64 kb/s. Dającym stosunkowo dobrą jakość przy niewielkiej zajętości pasma jest
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego12
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiegokodowanie G.729, jednak w tym wypadku opóźnienia wynikające z kompresji głosu
wzrastają do poziomu około 10 ms. Jeszcze większe opóźnienie wprowadzane jest podczas
kodowania za pomocą kodeka G.723.1, które wynosi około 30 ms. Dużą zaletą tej metody
kodowania mowy jest natomiast niewielkie zapotrzebowanie na szerokość pasma, które
wynosi 6,4 lub 5,3 kb/s przy dość dobrej jakości głosu.
1.3. Protokół IPv4
Głównym elementem Internetu jest zestaw protokołów sieciowych zwanych jako TCP/IP
(Transmision Control Protocol/Internet Protocol) [11 – 13]. Zestaw ten był pierwotnie
opracowywany w celu łączenia różnych komputerów w różnych sieciach. Rodzina
protokołów TCP/IP zyskała jednak popularność dzięki temu, że są wykorzystywane w sieci
Internet. Obecnie pod określeniem TCP/IP kryje się cały zestaw protokołów służących do
transferu danych (IP, TCP, UDP), kontroli poprawności połączeń (ICMP), zarządzania siecią
(SNMP), zdalnego włączania się do sieci (Telnet), usług aplikacyjnych służących do
przesyłania plików (FTP). Ta rodzina protokołów używana jest także w innych sieciach
rozległych, a także w sieciach lokalnych. Z uwagi na to że TCP/IP nie jest pojedynczym
protokołem nie korzysta on bezpośrednio z modelu OSI, choć opiera się na nim, i podzielony
jest tylko cztery warstwy. Czterowarstwowy hierarchiczny model protokołów TCP/IP
nazywany jest stosem protokołów TCP/IP. Porównanie stosu protokołów do modelu
odniesienia OSI zostało przedstawione w tabeli Tab. 1.2.Tab. 1.2.
Modele odniesienia OSI i TCP/IPModel OSI Stos protokołów TCP/IPWarstwa aplikacjiWarstwa prezentacjiWarstwa sesji
Warstwa aplikacji: Telnet, FTP, i inne
Warstwa transportowa Warstwa transportowa: TCP, UDP, RTPWarstwa sieciowaWarstwa łącza danych
Warstwa internetowa:
IP, ARP, ICMPWarstwa fizyczna Warstwa fizyczna/interfejsu sieciowego
Pierwsza warstwa modelu TCP/IP – warstwa interfejsu sieciowego odpowiada warstwom
łącza danych i fizycznej modelu OSI i realizuje dostęp do sieci. Odpowiada za dodanie do
datagramów IP nagłówków i zakończeń. Otrzymane w ten sposób ramki mogą być przesyłane
w sieci. W warstwie tej zamieniane są także adresy IP na adresy obowiązujące w sieci, do
której lub z której są kierowane dane.
Warstwa sieciowa nazywana także warstwą Internetową – funkcjonuje bardzo podobnie
do warstwy sieciowej modelu OSI. Warstwa internetowa jest przede wszystkim
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego13
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiegoodpowiedzialna za adresowanie i trasowanie w sieci, a ponadto za fragmentacje pakietów. W
tej warstwie pakiety danych są składane i dzielone na potrzeby transmisji. W warstwie
internetowej działa kilka protokółów IP (Internet Protocol), ICMP (Internet Control Message
Protocol), ARP (Address Resoution Protocol).
Warstwa transportowa - odpowiada za bezpośrednie połączenie pomiędzy użytkownikami
końcowymi, którzy wymieniają między sobą informacje. W warstwie tej używane są dwa
protokoły. TCP(Transport Cpntrol Protocol) – protokół kontroli transportu, oraz UDP (User
Datagram Protocol) – protokół datagramów użytkownika. TCP jest protokołem
połączeniowym, a UDP jest protokołem bezpołączeniowym.
Warstwa aplikacji – odpowiada za dostarczenie użytkownikowi różnych usług. W
warstwie tej funkcjonują dwa typy aplikacji. Oparte na gniazdach oraz aplikacje oparte o
NetBIOS (Network Basic Input Output System).
Protokół IP jest odpowiedzialny za przesyłanie pakietów, zwanych tutaj datagramami,
zapewnia adresowanie i wybór trasy. Jest protokołem bezpołączeniowym, co oznacza że w
trakcie transmisji nie jest sprawdzana poprawność przesyłanych przez sieć datagramów.
Protokół ten nie daje gwarancji ich dostarczenia, mogą one zostać po drodze zagubione,
uszkodzone lub przekłamane. Ściśle związanym z IP jest protokół ICMP, przeznaczony do
informowania komputerów i routerów o błędach występujących sieci IP. ICMP jest zatem
uzupełnieniem protokołu IP nie posiadającego takiego mechanizmu. Protokół IP jest
protokołem przeznaczonym do stosowania w sieciach o dobrej jakości łączy i wysokiej
niezawodności. Jego podstawowymi funkcjami są:
− określenie struktury datagramu,
− określenie schematu adresacji,
− kierowanie ruchem datagramów w sieci,
− defragmentowanie i scalanie datagramów (fragmentacja).
Nagłówek protokołu IP, jest przesyłany z każdym datagramem. Urządzenia zajmujące się
transmisją wykorzystują nagłówek do transportu danych pomiędzy stacjami źródłową i
docelową. Informacje nagłówka IP obejmują między innymi adresy źródłowy i docelowy
Rys. 1.5. Informacje zawarte w nagłówku IP, są również wykorzystywane przy dzieleniu i
łączeniu pakietów danych podczas transmisji.0 1 2 3
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
Version IHL Type of Service Total lengthIdentyfication Flags Fragment offset
TTL Protocol Header checksum
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego14
Praca dyplomowa jest własnością Pana inż. Rafała GadamskiegoSource address
Destination addressO P T I O N S
Rys. 1.5. Budowa nagłówka IP
− Version: 4 bity – wersja formatu nagłówka IP.
− IHL (Internet Header Lenght): 4 bity – długość nagłówka IP wyrażona w 32 bitowych
słowach. Minimalna wartość tego pola to 5.
− Type of Service: 8 bitów – pole to jest używane do przechowywania wartości mających
podnieść jakość obsługi pakietu. Niektóre sieci wykorzystują ustawione tu bity, a
pozostałe nie. Znaczenie bitów jest następujące:
− Total Length: 16 bitów – całkowita długość pakietu włącznie z nagłówkiem i danymi (w
bajtach). 16 bitów pozwala na przesyłanie maksymalnie 65535 bajtów. Najczęściej
spotykaną długością nagłówka IP jest 20 bajtów. Pakiet przed wysłaniem do kolejnego
węzła, musi być w danym węźle odebrany w całości, co prowadzi do powstawania
opóźnień. Dlatego też pakiety wrażliwe na opóźnienia są krótkie.
− Identification: 16 bitów – wartość ta jest ustawiana przez nadawcę i ma pomagać w
identyfikacji fragmentów przy scalaniu pakietów.
− Fragment Offset: 13 bitów – to pole określa, gdzie w oryginalnym pakiecie powinien być
umieszczony dany fragment, powstały w wyniku podziału pakietu na części. Jednostką
tutaj jest 8 bajtów (64 bity). Pierwszy fragment ma wartość offsetu zero.
− Time to Live: 8 bitów – pole określa maksymalny czas przebywania pakietu w sieci. W
momencie gdy wartość zawarta w polu osiągnie zero, pakiet danych musi zostać
zwrócony. Wartość pola jest modyfikowana w czasie przesyłania komunikatu w sieci.
Jednostką są tu sekundy, ale każda z przetwarzających pakiet stacji ma obowiązek
zmniejszyć wartość o co najmniej jeden (nawet gdy przetwarzanie zajęło mniej czasu).
Działanie to ma spowodować wyeliminowanie pakietów niemożliwych do dostarczenia.
− Protocol: 8 bitów – pole określa, który protokół został użyty na wyższym poziomie w
przetwarzaniu danych pakietu.
− Header Checksum: 16 bitów – suma kontrolna nagłówka danych IP. Ponieważ nagłówek
może się zmieniać, suma jest obliczana w każdym węźle w sieci, do którego dotarł pakiet.
− Source Address: 32 bity – adres nadawcy pakietu.
− Destination Address: 32 bity – adres odbiorcy pakietu.
− Options – dodatkowe informacje o pakiecie danych. Jest to opcjonalna część nagłówka
protokołu IP i najczęściej nie jest dołączana do pakietu.
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego15
Praca dyplomowa jest własnością Pana inż. Rafała GadamskiegoIP jest protokołem zawodnym, nie ma na przykład mechanizmów gwarantujących, że
kolejne pakiety dotrą do adresata w określonym czasie, co prowadzi do powstawania
opóźnień. Jedynym kryterium pozwalającym sprawdzić poprawność przesyłania jest suma
kontrolna nagłówka zawarta w polu Header Checksum. Jeżeli w trakcie transmisji został
odkryty błąd to pakiet jest niszczony przez stację, która wykryła niezgodność. W takim
przypadku nie ma żadnych powtórek transmisji i kontroli przepływu danych.
Za sprawdzanie poprawności i kontrole przepływu danych jest odpowiedzialna warstwa
transportowa. Na poziomie tej warstwy do transmisji danych używane są dwa protokoły: TCP
oraz UDP.
Podstawową różnicą pomiędzy dwoma protokółami warstwy transportowej TCP i UDP,
jest to że TCP jest protokołem połączeniowym, a UDP bezpołączeniowym. TCP dostarcza
pakiety w sposób niezawodny. W TCP dostępny jest dodatkowy poziom połączenia, który
wynika z trójkierunkowego potwierdzenia i zapewnia dostarczenie pakietu wykorzystując
pakiety potwierdzające. Trójkierunkowe potwierdzenie jest zestawem komunikatów
powitalnych, służących do ustalenia, czy nadawca i odbiorca są gotowi do transferu danych.
Po otrzymaniu przez odbiorcę pakietu, do nadawcy zostaje wysłany pakiet potwierdzający.
Gdy nadawca otrzyma pakiet potwierdzający, wysyła kolejne pakiety danych do odbiorcy. W
przypadku braku potwierdzenia pakietu może nastąpić retransmisja. Podobnie po wykryciu
błędów na jednym z końców połączenia może nastąpić ponowne wysłanie pakietu do
odbiorcy. Niestety generuje on przy tym duże opóźnienia, a w przypadku wznowienia
transmisji uszkodzonych lub zagubionych pakietów pakiety są dostarczane w różnej
kolejności co jest nie dopuszczalne w przypadku aplikacji czasu rzeczywistego. UDP jest
nazywany protokołem zawodnym, nie posiada mechanizmów kontroli poprawności
dostarczenia danych do miejsca przeznaczenia. W odróżnieniu od TCP w UDP nie występuje
retransmisja uszkodzonych lub zagubionych pakietów.
Zarówno TCP, jak i UDP sprawdzają poprawność odebranych pakietów poprzez
sprawdzenie pola sumy kontrolnej. Pakiety zawierające błędy są odrzucane. Nagłówek TCP,
podobnie jak nagłówek UDP, zawiera numery portów źródłowego i docelowego, służące do
multipleksowania i demultipleksowania.
UDP zazwyczaj jest szybszy od TCP gdyż przy transmisji danych wymaga transferu
mniejszej liczby dodatkowych informacji dodatkowo eliminuje powtarzanie zagubionych
pakietów. W porównaniu z nagłówkiem UDP o rozmiarze 8 bajtów, nagłówek TCP
zawierający 20 bajtów jest długi Rys. 1.6. Dzięki temu dodatkowe obciążenie sieci jest
mniejsze, a łączność szybsza i wydajniejsza.
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego16
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego
a)0 16 32
Źródłowy port UDP Docelowy port UDPDługość komunikatu UDP Suma kontrolna UDP
b)
Port źródłowy Port docelowyNumer kolejny
Numer potwierdzeniaHLEN Zarezerwowane Bity sterujące Okno
Suma kontrolna Wskaźnik pilnościOpcje (ewentualne)
Rys. 1.6. Format nagłówka a) UDP, b) TCP
Ogólnie rzecz biorąc, protokół UDP jest wybierany w przypadku zastosowań, w których
szybkość i wydajność są ważniejsze od niezawodności. Aplikacje mogą jednak dokonywać
wiarygodnego przesyłania danych za pomocą UDP. Samo oprogramowanie aplikacji powinno
wówczas przejąć pełna odpowiedzialność za wiarygodność transmisji podczas korzystania z
UDP, co obejmuje utratę komunikatów, powielanie, opóźnienia, nieudane dostawy i utratę
łączności. Należy jednak pamiętać, że takie podejście może być niepraktyczne, ponieważ
duża cześć odpowiedzialności spada na twórców aplikacji. Co gorsza, ponieważ
oprogramowanie sieciowe jest często testowane na wiarygodnych i mało obciążonych
sieciach LAN, procedura testowania może nie obejmować potencjalnych problemów. Wobec
tego protokół UDP jest stosowany wszędzie tam, gdzie niezawodność sieci nie stanowi
większego problemu, zaś najważniejsza jest prędkość transmisji.
Dzięki tym właściwościom UDP jest on stosowany do przesyłania głosu w czasie
rzeczywistym, wiadomo jednak, że protokół IP i UDP są protokołami zawodnymi. IP nie jest
protokołem przeznaczonym do aplikacji czasu rzeczywistego, nie posiada i nie oferuje on
usług QoS. Brak jest w Internecie narzędzi gwarantujących, że dane dotrą do adresata w
określonym czasie. Mogą więc występować duże opóźnienia, jitter czy też zagubienia
pakietów. Dodatkowo stosowany do przesyłania pakietów zawierających głos protokół UDP,
także nie posiada takich mechanizmów, nie stosuje także znaczników czasu, więc nie może
kontrolować opóźnień.
1.4. Definicja parametrów jakości
Nie istnieje jednoznaczna definicja parametrów jakości transmisji [14]. Dostępnych jest
wiele różnych definicji. ITU-T w jednym zaleceń parametry jakości określa jako zestaw
wymagań jakościowych dotyczących wspólnych zachowań jednego lub wielu obiektów [15].
W innym zaleceniu ITU-T, QoS jest definiowany jako efekt sprawności wykonania usług,
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego17
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiegoktóry wskazuje poziom zadowolenia użytkownika [16]. IEEE (Institute of Electrical and
Electronics Engineers – Instytut Inżynierów Elektryków i Elektroników) w dokumencie:
Distributed Multimedia and QOS: A Survey przedstawia definicję QoS dla aplikacji
multimedialnych wymagających transmisji w czasie rzeczywistym jako grupę tych
ilościowych i jakościowych cech charakterystycznych systemów multimedialnych, która jest
niezbędna do osiągnięcia wymaganej funkcjonalności aplikacji [14].
Najczęściej używanymi terminami związanymi z jakością usług są [17]:
− QoS (Quality of Service) – jakość usług,
− CoS (Class of Service) – klasa usług,
− GoS (Grade of Sernice) – kategoria usług,
− SLA (Service Level Agrement) – kontrakt pomiędzy użytkownikiem a operatorem,
− SLS (Service Level Specyfication) – uzgodniony pomiędzy operatorem a klientem zbiór
parametrów sieciowych i ich wartości związanych ze świadczoną usługą,
− TCA (Traffic Conditioning Agrement) – porozumienie określające reguły klasyfikowania
pakietów oraz profile ruchu,
− TCS (Traffic Conditioning Specyfication) – określony zbiór parametrów technicznych i
ich wartości związanych z TCA.
Pojęcia te niestety są często używane w sposób niewłaściwy, oraz są mylone. Najwięcej
nieporozumień jest wokół pojęcia jakości usług. Termin QoS jest używany w różnym
znaczeniu, w zależności od kontekstu, wiąże się to z dwoma spojrzeniami, z jednej strony w
przypadku użytkownika – usługobiorcy, z drugiej zaś strony dostawcy usługi. Odbiorca
kieruje się kryteriami takimi jak uzyskanie zadawalającej jakości głosu, obrazu wideo czy też
krótkiego czasu przesyłania danych. Z kolei dla dostawcy ważna jest uzyskanie wysokiej
oceny przez użytkownika. W tym celu dostawca musi zapewnić kanał transmisyjny
spełniający określone wymagania, które bezpośrednio wpływają na zbiór parametrów
sieciowych i w konsekwencji na dobrą jakość usługi. W obu tych podejściach jest trochę racji.
W. C. Hardy w swojej książce poświeconej jakości usług wyróżnia trzy podstawowe
pojęcia [18]:
− wrodzoną jakość usług (intrinsic QoS),
− postrzeganą jakość usług (perceived QoS),
− ocenioną jakość usług (assessed QoS).
Z pojęciem ocenionej jakością usług mamy do czynienia, gdy użytkownik zdecyduje, czy
chce korzystać z usługi czy z usługi tej zrezygnować. Między innymi wpływ na tą decyzje
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego18
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiegomoże mieć sposób podejścia usługodawcy, sposób w jaki reaguje na zgłoszone problemy i
reklamacje.
Z jakością postrzeganą mamy do czynienia wtedy, gdy użytkownik korzysta z usługi. Na
jego ocenę mają wpływ jego oczekiwania, opinie innych użytkowników usługi, środowisko,
w którym się znajduje, czy też doświadczenia z podobną usługą świadczoną przez innego
operatora. W związku z tym zapewnienie wysokiej wrodzonej jakości usługi nie daje
pewności że klient będzie zadowolony jej poziomu. Samo zapewnieni parametrów
sieciowych może być niewystarczające w sytuacji, gdy korzystanie z usługi będzie
niewygodne z innych czynników, co może znacznie wpłynąć na końcową ocenę.
Wrodzona jakość usługi jest ściśle związana z aspektami technicznymi, począwszy od
zastosowanego łącz fizycznego, skończywszy na protokołach transmisji danych i
zastosowanych mechanizmach zapewniających określoną jakość. W tym kontekście jakość
usługi oznacza zbiór wymagań związanych z daną usługa. Powinny być one spełnione
podczas przesyłania przez sieć strumienia danych w ramach tej usługi [19]. Praktycznie jest to
zbiór parametrów sieciowych, wymaganych do przesyłania strumienia danych. Przez
zapewnienie QoS należy rozumieć przesłanie danych z zapewnieniem określonych wartości
tych parametrów w relacji od końca do końca, czyli od dostawcy do odbiorcy usługi.
Wartości tych parametrów są definiowane przez dostawcę w zależności od rodzaju usługi. W
sieciach IP jakość QoS może być scharakteryzowana miedzy innymi przez następujące
wielkości:
− opóźnienie pakietów (delay, latency) – odstęp czasu pomiędzy chwilą wysłania pakietu z
jednego węzła w sieci i odebrania go w innym węźle sieci,
− zmienność opóźnienia (jitter, delay variation) – zakres, w którym zmienia się wartość
opóźnienia mierzona dla pakietów należących do tego samego strumienia,
− przepływność (throughput) – dostępna prędkość, z jaką pakiety mogą być transmitowane
w sieci,
− prawdopodobieństwo utraty pakietu (packet loos rate) – współczynnik określający
prawdopodobieństwo utraty pakietu w czasie przesyłania przez sieć.
Można więc stwierdzić, że wrodzona jakość usługi jest czynnikiem jaki powoduje
atrakcyjność tej usługi dla potencjalnego użytkownika. Postrzegana jakość usługi decyduje,
czy użytkownik uzna ją za satysfakcjonującą, z kolei oceniona jakość usługi decyduje o
ewentualnej kontynuacji lub rezygnacji z jej korzystania.
Nie trudno zauważyć, że pojęcia postrzeganej i ocenionej jakości usług związane są
bardziej z polityką marketingową usługodawcy, a zapewnienie wysokiej jakości usługi na
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego19
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiegotych poziomach należy do zadań marketingu, projektantów usług i obsługi technicznej.
Badania postrzeganej i ocenionej jakości usługi zaliczane są zazwyczaj przeprowadzane
metodami subiektywnymi. Badanie jakości transmisji głosu tą metodą zwykle
przeprowadzane są w formie testów na wybranej próbce kobiet i mężczyzn w pewnych
ustalonych warunkach. Ocenie podlegają następujące cechy indywidualnego poziomu
zadowolenia:
− konwersacja i odsłuch,
− skala koncentracji,
− głośność odsłuchu,
− poziom zniekształceń.
Wyniki badań podlegają analizie i na ich podstawie definiowany jest parametr MOS (Mean
Opinion Score) będącym średnią ocen nadawanych przez ankietowanych użytkowników
usługi.
Z kolei bezpośredni związek z projektowaniem i właściwościami fizycznymi sieci ma
wrodzona jakość usługi. W przypadku badań dla na tym poziomie mamy do czynienia z
metodą obiektywną badań. Obiektywne metody oceny jakości transmisji głosowych i wideo
w sieciach pakietowych polegają na diagnostyce i ocenie parametrów kanału
telekomunikacyjnego. Jedną z propozycji zestawu parametrów poddawanych do oceny sieci
IP w tym także dla transmisji głosu i wizji jest dokument [20]. Zdefiniowano tam:
− opóźnienie,
− zmienność opóźnienia,
− szerokość pasma,
− niezawodność.
W dalszej części pracy będę analizował i badał problemy związane z oceną i zapewnianiem
jakości usług od strony technicznej.
1.5. Czynniki wpływające na jakość i metody poprawy jakości transmisji głosu
Jednym z największych problemów w dostosowaniu sieci pakietowych do przesyłania
głosu są opóźnienia, które bardzo trudno utrzymać na stałym niewielkim poziomie [10].
Wynika to z tego, że IP i UDP nie posiadają mechanizmów zapewniających QoS. Oba
protokoły nie były tworzone z myślą o wykorzystaniu ich do aplikacji czasu rzeczywistego.
UDP zastosowany ze względu na szybkie działanie w porównaniu z TCP nie posiada jednak
znaczników czasu przez co nie możliwe jest kontrolowanie opóźnień. Z tego powodu
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego20
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiegokonieczne było zastosowanie nowych protokołów RTP (Real Time Protocol) i RTCP (Real
Time Control Protocol) [21, 22]. UDP wsparte przez RTP zapewnia przesyłanie danych
aplikacji czasu rzeczywistego w sieciach pakietowych. Należy tu jednak zwrócić uwagę na to,
że RTP także nie posiada mechanizmów zapewniających jakość usług, ale zapewnia
przenoszenie, synchronizację, identyfikację i multipleksację strumieni multimedialnych.
Dodatkowo praca RTP jest wspierana przez RTCP, który dostarcza mechanizmy kontroli
przepływu danych, przenosi informacje o parametrach jakościowych połączenia sieciowego
takich jak opóźnienia, liczba odebranych pakietów, zmienność opóźnienia.
Ze względu na opóźnienie, pakiety transportujące głos powinny być jak najmniejszych
rozmiarów. Duży wpływ na opóźnienie mają także zatory w sieci, które mogą powodować
opóźnienie w dostarczaniu pakietów, zmianę kolejności ich otrzymywania czy też ich
gubienie. Jak wynika z dokumentów [23, 24] opóźnienie nie powinno przekroczyć 150 ms w
jednym kierunku, aby opóźnienie było niezauważalne przez rozmówców powinno pozostać
na poziomie do 100 ms. Minimalizacja opóźnień jest krytycznym elementem przy wdrażaniu
technologii transmisji głosu, a szczególnie w przypadku sieci IP, w której są ograniczone
możliwości sterowania jakością transmisji. Najistotniejszy wpływ na wielkość opóźnienia
mają następujące czynniki:
− kodowanie dźwięku,
− czas transmisji,
− eliminacja zmienności opóźnienia (jittera).
Jak wspomniałem wcześniej kodowanie dźwięku wprowadza opóźnienie, wielkość
opóźnienia zależy od zastosowanego kodeka i mieści się w granicach od 0,75 ms dla G.711
do 30 ms dla G.723.1 dla innych kodeków wartości podane są w tabeli Tab. 1. Wybór kodeka
jest więc zależny od parametrów sieci, w której transmitowany jest głos. Dla sieci dobrej
jakości, w której występują niewielkie opóźnieniu transmisji przy jednocześnie małej
przepustowości lepiej stosować kodowanie z większą kompresją, natomiast dla sieci o
większym opóźnieniu i większej przepustowości kodowanie o niższym współczynniku
kompresji.
Dodatkowym czynnikiem obniżającym jakość VoIP są zmieniające się w czasie
opróżnienia pakietów nadchodzących do odbiorcy czyli jitter [21, 22]. Efekt jaki on powoduje
jitter znacznie obniża odczuwalną jakość głosu, dlatego konieczne jest wyeliminowanie tego
efektu. W celu usunięcia zmienności opróżnień stosuje się bufor, w którym nadchodzące
pakiety są wstrzymywane na krótki czas a następnie przesyłane do dalszej obróbki w
równomiernych odstępach. Taki bufor wprowadza dodatkowe opóźnienia i są one zależne od
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego21
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiegojakości sieci stosowanej do transmisji danych. Im większe są wahania pomiędzy czasami
dotarcia kolejnych pakietów tym bufor musi być większy. Jeśli bufor będzie zbyt mały a
różnice opóźnień stosunkowo duże pakiety dostarczone zbyt późno zostaną uznane za
zagubione. Zatem wielkość bufora jest kompromisem pomiędzy minimalizacją opóźnienia, a
całkowitym wyeliminowaniem jittera.
Mówiąc o jakości połączenia głosowego w sieci IP należy pamiętać o zjawisku gubienia
pakietów [5, 25]. W przypadku transmisji danych w czasie rzeczywistym nie może mieć
miejsca retransmisja zagubionych pakietów. Dodatkowo pakiety które dotarły uszkodzone lub
przekroczyły dopuszczalny limit czasu opóźnienia, traktowane są jako zagubione. Luki jakie
powstają w miejscach zagubionych pakietów należy w jakiś sposób wypełnić. Stosowanych
jest kilka metod wypełnienia:
− wypełnianie ciszą,
− wypełnianie sygnałem o widmie zbliżonym do widma mowy ludzkiej,
− wypełnienie poprzedzającą lub następującą po niej zawartością pakietu,
− wypełnienie interpolacją lub ekstrapolacją sygnału.
Dzięki zastosowaniu wypełnień w zagubienia małej ilości pakietów są niemal
niezauważalne dla rozmówców, słyszalne są jako lekkie zniekształcenia głosu.
Zagwarantowanie jakości w sieciach z protokołem IP, dla aplikacji i usług czasu
rzeczywistego jest problemem bardzo trudnym do rozwiązania. Obecnie używane sieci z
protokołem IP zazwyczaj nie zapewniają wymaganych parametrów jakościowych na drodze
od dostawcy do odbiorcy [14, 17, 28].
Aby rozwiązać problemy z jakością w sieciach IP organizacja IETF zaproponowała dwie
architektury sieci pakietowcach, umożliwiające realizację usług transmisji danych, głosu,
wideo przy jednoczesnym utrzymaniu QoS na odpowiednim poziomie.
Tymi architekturami są:
− IntServ (Integrated Services) – oparta na integracji usług – z rezerwacją zasobów [26],
− DiffServ (Differentiated Services) – oparta na zróżnicowaniu usług – z przydziałem
priorytetów dla strumieni ruchu [27].
W architekturze IntServ zasoby w sieci są rezerwowane dla poszczególnych lub
zagregowanych strumieni danych [29, 30]. IntServ korzysta ze specjalnie zdefiniowanego
protokołu sygnalizacyjnego, protokołu RSVP (Reservation Protocol), który jest
odpowiedzialny za rezerwację zasobów sieciowych potrzebnych do przesyłania strumienia
pakietów w relacji od końca do końca oraz za zestawianie ścieżek połączeniowych. Ze
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego22
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiegowzględu na to, że implementacja tego protokołu jest wymagana w każdym ruterze IP, ruter
będzie przyjmował do realizacji żądania rezerwacji, co wiąże się z przechowywaniem
informacji o rezerwacji oraz informacji o skojarzonym strumieniu danych. Protokół ten jest
krytycznym elementem modelu usług zintegrowanych. W architekturze IntServ zdefiniowano
następujące klasy usług:
− GS (Guaranteed Service) – usługę gwarantowaną – przeznaczoną dla aplikacji
wymagających gwarancji odnośnie parametrów jakości przekazu danych związanych z
opóźnieniami [31],
− CL (Controlled Load Service) – usługę kontrolowanego obciążenia – przeznaczoną dla
aplikacji wymagających bezstratnego przekazu danych i jakością przekazu określaną jako
lepszą niż Best Effort [32],
− Best Effort – usługę niesklasyfikowaną – standardowe usługi transmisji danych bez
gwarancji QoS.
Architektura DiffServ oparty na koncepcji przyporządkowania pakietów do stosunkowo
niewielkiej liczby klas. Zrezygnowano tu z podstawowego dla modelu IntServ pełnego
rozróżnienia pakietów pochodzących od różnych sesji. Dzięki temu osiągnięto niezależność
wielkości wymaganych zasobów koniecznych do zagwarantowani jakości usług od liczby
niezależnych strumieni obsługiwanych w sieci. Klasyfikacja pakietów do poszczególnych
usług sieciowych realizowana jest dzięki informacjom zawartym w polu TOS (Type Of
Service) nagłówka pakietu IPv4 [33].
Architektura DiffServ definiuje następujące klasy usług:
− EF (Expedited Forwarding) – usługi premiowane – wykorzystywane do zapewnienia
jakości obsługi związanej z parametrami opóźnień i zmiennością opóźnień. Pkiety
należące do tej klasy mają także gwarantowane pasmo. Usługa ta może służyć do
tworzenia połączeń punkt – punkt o określonych parametrach [34],
− AF (Assured Forwarding) – grupy usług zagwarantowanych – nie ma gwarancji odnośnie
wielkości opóźnień pakietów. Ruch zgodny z ustalonym profilem, będzie dostarczony w
granicach ustalonego progu prawdopodobieństwa [35],
− Best Effort – usługę niesklasyfikowaną – standardowe usługi transmisji danych bez
gwarancji QoS.
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego23
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego
2. ANALIZA DOSTĘPNYCH APLIKACJI VoIP
Mimo, że rynek telekomunikacyjny zdominowany jest przez tradycyjne usługi, telefonia
internetowa przeżywa okres rozkwitu [36 – 45]. Obszar jej zastosowań ciągle się poszerza, a
projektanci i programiści ulepszają zarówno wykorzystywane przez VoIP protokoły
transmisji danych, jak i aplikacje telefoniczne. Aplikacje stają się coraz bardziej
zaawansowanymi narzędziami, które z powodzeniem mogą w pełni zastąpić zwykłe telefony,
a często funkcjonalnością już je przewyższają.
W tej chwili na rynku znajduje się wiele aplikacji służących do rozmów przez Internet.
Wybierając aplikację należy uwzględnić kilka czynników. Jeśli za pomocą aplikacji oprócz
możliwości rozmowy pomiędzy użytkownikami danej aplikacji (PC2PC), chcemy mieć
możliwość wykonywania rozmów na numery stacjonarne i komórkowe (PC2Phone) należy
wziąć pod uwagę przede wszystkim programy rekomendowane przez polskich operatorów
VoIP: easyCALL, Eterię, Spik, Net2Phone Dialera, Tlenofon i Gadu-Gadu. Godne uwagi i
polecenia są aplikacje wykorzystywane w najpopularniejszych światowych sieciach
PC2Phone – X-PRO oraz aplikacja Skype, która w naszym kraju od pewnego czasu jest
wspierana i promowana przez portal Onet.pl. Trzeba zauważyć, że aplikacje VoIP są często
bezpośrednio powiązane z konkretną usługą danego operatora.
Wszystkie aplikacje nie sprawiają żadnych problemów podczas instalacji i pierwszego
uruchomieniem. Dodatkowo większość z nich ma niewielkie wymagania sprzętowe i z
powodzeniem mogą być zainstalowane na starszych komputerach klasy Pentium II 300MHz.
Jedynym specjalnym wymogiem jest karta dźwiękowa z obsługą funkcji full duplex, czyli
jednoczesnego odtwarzania i nagrywania dźwięku. Obecnie niemal każde urządzenie audio
(także to zintegrowane z płytą główną) dysponuje tą opcją. Istotną sprawą jest rodzaj łącza, za
pomocą którego chcemy korzystać z usług VoIP. Większość aplikacji potrafi automatycznie
dostosować ustawienia do naszego połączenia internetowego, ale oczywiście im jest ono
szybsze, tym lepiej. Ze względu na to, że znaczna część programów utrzymuje poziom
transferu na poziomie 20 kb/s w obu kierunkach nie wskazane jest ich używanie korzystając z
połączeń modemowych. Oczywiście jest to możliwe, ale z bardzo słabą jakością połączeń. W
wypadku Skype poziom obciążenia sieci jest stosunkowo wysoki i utrzymuje się na poziomie
40 kb/s, głównym tego powodem może być to, że aplikacja ta korzysta z szerszego pasma niż
w zwykłych telefonach, które zawiera się pomiędzy 300 Hz i 3 kHz. Ma to na celu
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego24
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiegopolepszenie dynamiki i jakości przesyłanego głosu. Kolejnym wymogiem jest obecność
mikrofonu i głośników lub słuchawek.
Znaczna część aplikacji korzysta ze specjalnych kreatorów, które pomagają w
konfiguracji. Zazwyczaj dotyczą one systemu dźwiękowego (X-PRO, TeleAikon, Net2Phone
Dialer, Eteria) lub ustawień sieci (X-PRO, Eteria). Przykładowo: pozwalają na
personalizowanie ustawień jeszcze przed uruchomieniem programu. Pozostałe aplikacje
automatycznie dostosowują odpowiednie parametry w zależności od konfiguracji systemu.
Wykonywanie połączeń i prowadzenie rozmowy za pomocą aplikacji VoIP nie sprawia
żadnych problemów. Aplikacje zostały utworzone tak aby nie sprawiały problemów nawet
zupełnemu laikowi. Jakość dźwięku zależna jest od kilku czynników: sposobu implementacji
protokołu transmisji pakietów, rodzaju łącza oraz stopnia jego obciążenia.
Typowymi problemami, z jakimi możemy się spotkać w trakcie rozmowy przez VoIP są:
efekt echa, zakłócenia tła (szumy, trzaski), transformacja głosu (głównie polegające na
obniżeniu tonu głosu), zbyt wysokie lub niskie natężenie dźwięku. Większość aplikacji
dysponuje specjalnymi funkcjami redukcji niepożądanych efektów (X-PRO, Net2Phone
Dialer, Gadu-Gadu). Są one szczególnie przydatne, jeśli nie mamy zestawu słuchawek
połączonych z mikrofonem. Innym problemem, z który w większym lub mniejszym stopniu
występuje niemal każdej aplikacji, są opóźnienia. Jak wiadomo nie zależą one od aplikacji, a
od aktualnie panujących w sieci warunków, więc ich wyeliminowanie jest niemożliwe.
Należy je raczej traktować jako "zło konieczne" i po prostu przyzwyczaić się do rozmów
VoIP.
Odczuwanie opóźnienia jest subiektywne, lecz według mnie najlepiej radzą sobie z nim
Skype, Net2Phone Dialer oraz Gadu-Gadu. Transformacja głosu może być wyeliminowana
poprzez wybór odpowiedniego kodeka dźwięku. Niestety, większość programów, z
wyjątkiem X-PRO, Nawijki i Gadu-Gadu, na to nie pozwala.
W wielu aplikacjach poziom głośności w trakcie rozmowy jest regulowany niezależnie
dla mikrofonu i słuchawek. Funkcja ta jest przydatna, gdy warunki sieci nagle ulegają
zmianie i chcemy szybko skorygować ustawienia podczas rozmowy. Bezpośredniej regulacji
dźwięku nie ma Tlenofon, Gadu-Gadu. Ciekawostką jest też system dynamicznego
wyrównywania poziomu czułości mikrofonu, z którego korzysta Skype. Zakłócenia tła lub
chwilowe przerwania połączenia mogą być spowodowane aktywnością innych aplikacji
sieciowych a w szczególności programy typu P2P.
Często w lokalnych sieciach wykorzystywane są mechanizmy NAT, proxy i firewall.
Translacja adresów (Network Address Translation) jest techniką umożliwiającą przypisanie
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego25
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiegowielu komputerom jednego publicznego IP. Sprawne używanie VoIP zakłada korzystanie z
adresu publicznego, jednak obecnie wiele programów potrafi bezproblemowo dodzwonić się
z i do sieci o wspólnym IP. Rozbudowane aplikacje pozwalają bowiem konfigurować NAT.
Pod tym względem wyróżnia się X-PRO, dodatkowo wyposażony w możliwość ustawień
coraz popularniejszej formy zabezpieczania prywatności w Internecie - tunelowania. Obecnie
niemal każda aplikacja korzysta ze standardowego serwera pośredniczącego, tzw. proxy. W
takim wypadku konfiguracja ogranicza się zazwyczaj do wpisania adresów serwerów
pośredniczących. Opcję tę oferują X-PRO, Net2Phone Dialer, Gadu-Gadu, Nawijka oraz
Tlenofon. Niestety, połączenia przez proxy w ogóle nie są obsługiwane przez easyCALL.
Aplikacje VoIP korzystające z wewnętrznej sieci muszą mieć udostępnione odpowiednie
numery portów dla pakietów TCP i UDP. Czasami są one zablokowane przez czuwający nad
przepływem danych w naszym komputerze firewall.
Jeżeli zamierzamy używać VoIP jako rozwiązanie alternatywne dla tradycyjnej telefonii,
mogą być przydatne funkcję pozwalające na uporządkowanie naszych kontaktów oraz
usprawnienie codziennej pracy z aplikacją. Jedną z najważniejszych takich funkcji jest
książka telefoniczna, w której są przechowanie dane adresowe. Dodatkowo książka powinna
umożliwiać szybki dostęp do konkretnego numeru i wybranie go bez konieczności
wpisywania każdej cyfry. Taką funkcję mają choćby Skype, TeleAikon, Eteria, Nawijka oraz
Tlenofon. Inną użyteczną opcją jest możliwość wyeksportowania i zaimportowania listy
kontaktów z centralnego serwera operatora VoIP, co może się okazać przydatne w chwili gdy
mamy kilka komputerów lub po reinstalacji systemu operacyjnego.
Przydatną opcją jest z pewnością szczegółowa ewidencja przeprowadzonych rozmów.
Każdy z programów VoIP realizuje to zadanie na swój sposób: od prostej listy wybranych
numerów (Eteria, Net2Phone Dialer, X-PRO) do rozbudowanego raportu w postaci tabeli, z
której odczytamy datę i długość połączenia (Skype). Część aplikacje zapisują te dane na
dysku komputera, inne łączą się z bazą danych operatora. Aktualny stan konta i długość
rozmowy są wyświetlane w większości aplikacji na bieżąco.
Innym udogodnieniem, szczególnie ważnym w kontaktach biznesowych, jest usługa
konferencji, w czasie której można rozmawiać z kilkoma osobami jednocześnie. Funkcję tę
znajdziemy w programach X-PRO i Skype.
Uwzględniając różnorodność opcji opisanych programów, nie możemy jednoznacznie
wskazać który jest najlepszy. Choć pod względem funkcjonalności i jakości połączeń na
czoło wysuwa się Skype, to rodzimy użytkownik ze względu na pomoc techniczną powinien
wybrać któregoś z polskich operatorów, ale i w tym przypadku Skype dzięki współpracy
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego26
Praca dyplomowa jest własnością Pana inż. Rafała GadamskiegoOnet.pl i Skype Technologies radzi sobie bardzo dobrze. Możliwości aplikacji TeleAikon,
Net2Phone, Gadu-Gadu, Nawijka oraz Tlenofon w dużej mierze nie odbiegają od jednego z
najpopularniejszych programów VoIP - Skype. Pod względem bogactwa opcji wyróżnia się
mało w Polsce znany X-PRO. Zawieszanie i przekierowywanie połączeń, prowadzenie
telekonferencji, usługa przekazywania i odbierania wiadomości głosowych voicemail.
Obecnie telefonia VoIP osiągnęła poziom, na którym jest jednocześnie tania, łatwo
dostępna i prosta w obsłudze. Niewielkim nakładem sił i środków każdy może z niej
korzystać zarówno w pracy, jak i w domu. Koszty połączeń międzystrefowych i
międzynarodowych są o wiele niższe niż w wypadku tradycyjnej telefonii, a wybór
operatorów i programów stosunkowo duży.
VoIP pozwala rozmawiać bezpośrednio użytkownikom komputerów (PC2PC).
Wymagania dotyczące sprzętu i ustawień sieci pozostają w dużej mierze takie same jak
podczas rozmów PC2Phone. Wyjątkiem będzie tutaj przydzielanie użytkownikowi
jednoznacznej tożsamości sieciowej. W praktyce wygląda to tak, że musimy zarejestrować
konto w jednej z firm świadczących usługi VoIP. Po takiej rejestracji podobnie jak w
typowych komunikatorach tekstowych otrzymujemy login. Może on pełnić rolę nazwy
wywołania danego użytkownika sieci. Naturalnym i zrozumiałym działaniem wydaje się więc
implementowanie modułu VoIP w komunikatorach internetowych takich jak Gadu-Gadu,
Tlen, Spik, ICQ, AOL czy Yahoo! Messenger. Istnieje niezliczona ilość programów
wyspecjalizowanych w realizowaniu połączeń PC2PC (np. Firefly, eye Pmedia,
BuddyPhone). Możliwość wykonywania rozmów PC2PC mają wszystkie wcześniej
analizowanie aplikacje. Jakość tego typu połączeń jest porównywalna a co ważniejsze w
większości przypadków rozmowy miedzy użytkownikami PC2PC są zupełnie za darmo.
Wiele dużych firm, chcąc zredukować koszty decyduje się na jej użycie. Korzystając z takich
usług, nie musimy mieć specjalnych zestawów słuchawek z mikrofonem. Na rynku jest wiele
firm oferujących swoim klientom tradycyjne, stacjonarne aparaty telefoniczne, które są
przystosowane do obsługi połączeń VoIP. Dzięki funkcji przypisywania numeru
telefonicznego do identyfikatora użytkownika możliwe też jest dodzwonienie się do aplikacji
VoIP na komputerze z telefonu stacjonarnego. Coraz więcej firm oferuje odpłatnie taką
usługę. Tabela Tab. 2.1. poniżej przedstawia z podsumowanie głównej funkcjonalności
aplikacji.
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego27
Praca dyplomowa jest własnością Pana inż. Rafała GadamskiegoWnioski z analizy:
− w Internecie znajduje się szeroki wachlarz aplikacji VoIP,
− aplikacje VoIP charakteryzują się łatwością instalacji i użytkowania,
− aplikacje VoIP mają małe wymagania sprzętowe,
− większość aplikacji VoIP korzysta z pasma 300 Hz – 3kHz, takiego jak w zwykłych
telefonach,
− poziom transferu większości aplikacji VoIP oscyluje w granicach 20kb/s,
− aplikacje VoIP można używać w sieciach lokalnych z NAT,
− większość aplikacji dysponuje funkcjami redukującymi niepożądane efekty (echo,
transformacja głosu, szumy).
Zbiorcze porówna nie parametrów funkcjonalnych aplikacji VoIP przedstawiona została
w tabeli Tab. 2.1.
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego28
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego
3. KONCEPCJA BADAŃ
Symulacja, słowo te w języku potocznym ma bardzo wiele znaczeń (np. fałszowanie,
udawanie, naśladowanie) niektóre ze znaczeń są w znacznym stopniu rozbieżne [46, 47].
Pojecie symulacji w kontekście metody badawczej definiujemy jako technikę numeryczną
służącą do dokonywania eksperymentów na pewnej klasie modeli matematycznych, które
opisują za pomocą komputera zachowanie się rzeczywistego systemu (badanego obiektu) w
ciągu określonego przedziału czasu.
Można, więc rozumieć symulację jako metoda wnioskowania o zachowaniu się obiektów
rzeczywistych na podstawie obserwacji działania programów komputerowych symulujących
to zachowanie, (tzw. modeli symulujących). Program symuluje zachowanie się obiektu, gdy
zbiór stanów, w których może znajdować się komputer sterowany przez ten program,
odpowiada stanom obiektu, i gdy zmiana stanu w komputerze obrazuje zmianę
odpowiedniego stanu w obiekcie. Aby mogło być zrealizowane badanie systemu muszą
istnieć następujące elementy:
– system, czyli obiekt badany,
– powinien być sformułowany cel badania oraz badane problemy,
– model systemu badanego, gdy nie mogą być realizowane badania bezpośrednio w
systemie rzeczywistym,
– warunki początkowe, graniczne oraz założenia przyjęte w procesie badawczym,
– metody rozwiązania,
– narzędzia umożliwiające zastosowanie metod (o ile takie są wymagane).
W procesie symulacji badany jest nie system rzeczywisty, lecz jego reprezentacja w
postaci modelu symulacyjnego. Model nie jest pełnym odzwierciedleniem rzeczywistego
obiektu, oznacza to, że istnieją charakterystyki systemu rzeczywistego, które są pomijane,
upraszczane lub agregowane. Widać zatem, że istotnymi problemami w badaniach
symulacyjnych są: budowa adekwatnego modelu oraz proces weryfikacji modelu z punktu
widzenia realizacji określonego celu badania.
Model systemu nie będzie zatem przestawiał działania i zachowania rzeczywistego
systemu. Dopiero konstrukcja stanów modelu w procesie symulacji pozwala na
wnioskowanie o zachowaniu się systemu. Można więc stwierdzić, że:
− symulacja jest procesem konstruowania w chronologiczny sposób opisów stanów
tworzących historię stanów,
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego29
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego− symulacja nie jest czynnością, lecz procesem.
Jednym z głównych etapów badań symulacyjnych jest określenie celu badań. Najbardziej
typowymi celami symulacyjnych badań systemów mogą być następujące problemy:
− określenie jakościowe lub ilościowe wpływu wybranych czynników na badany system,
− wyznaczenie wartości określonych charakterystyk funkcjonalnych systemu (np. czy
zaprojektowany system spełnia zadania w określonych warunkach funkcjonowanie na
żądanym poziomie jakości),
− porównanie alternatywnych systemów w określonych warunkach działania lub wybór
najlepszego wariantu systemu spośród pewnego zbioru wariantów.
3.1. Cel badań oraz schematy scenariuszy badań
W niniejszej pracy celem badań jest wyznaczenie charakterystyk czynników mających
bezpośredni wpływ na jakość transmisji głosu w sieciach IP. Jak wiadomo najważniejszymi i
najczyściej spotykanymi problemami w transmisji głosu w sieciach pakietowych są
opóźnienia pakietów oraz jitter (zmienność opóźnienia). Jednocześnie są to główne czynniki
wpływające na ocenę jakości VoIP.
Opóźnienia Td[s] – jest to sumaryczna wartość opóźnień wprowadzanych przez
poszczególne elementy toru telekomunikacyjnego. W przypadku techniki VoIP taki tor
można zilustrować jak na rysunku Rys. 3.1.
Rys. 3.1. Tor VoIP
Na początku toru znajduje się wejście i wyjście sygnału mowy. Sygnał mowy ludzkiej
przekazany do układu poprzez mikrofon przetwarzany jest na postać cyfrową następnie
kodowany i kompresowany przez koder mowy, który wraz z aplikacją VoIP wprowadza
opóźnienie ∆t1. Kolejnym źródłem opóźnień układu jest sieć przez którą przesyłane są pakiety
mowy w tym przypadku sieć lokalna (LAN) ∆t2 oraz sieć globalna (Internet) ∆t3. Ostatnim
źródłem jest podobnie jak na początku toru aplikacja VoIP oraz w tym przypadku
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego
we/wyaudio
koder/dekodermowy;aplikacja VoIP
koder/dekodermowy;aplikacja VoIP
sieć lokalna
sieć globalna
we/wyaudio
LAN INTERNET
30
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiegodekodowanie i dekompresja mowy ludzkiej. Dlatego też opóźnienie toru można przedstawić
jak niżej (1):
4321 ttttTd ∆+∆+∆+∆= (1)
Jitter jT∆ [s] – w technice Voice over IP jest traktowana jako zmienna wartość opóźnienia
mierzona dla pakietów należących do tego samego strumienia powodowana przez zatory i
przeciążenia w sieci lub zmiana trasy przepływu pakietu.
Wartość zmienności opóźnienia można oszacować na wiele sposobów, nie ma jednoznacznej
definicji określającej sposób w jaki należy to wykonać. Jednakże istnieją dokumenty
zalecające w jaki sposób należy przeprowadzić obliczenia wartości zmienności opróżnień są
to dokumenty referencyjne IETF RFC 1889 oraz RFC 3550 i na ich podstawie oprę swoje
dalsze obliczenia.
Aby obliczyć jitter niezbędna jest wiedza o tym jakie występowały różnice opóźnień
pomiędzy kolejnymi pakietami przesyłanego strumienia mowy.
Jeśli Si jest wartością czasu znacznika czasu (timestamp – pola przesyłanego w pakiecie)
pakietu i-tego oraz Ri jest czasem przybycia pakietu i-tego do odbiorcy (wyrażonym w
jednostkach znacznika czasu), wtedy dla dwóch pakietów, pakietu i oraz pakietu j różnicę
czasów można wyrazić jako (2):
( ) ( ) ( ) ( ) ( )iijjijij SRSRSSRRjiD −−−=−−−=, (2)
Dla uproszczenia można powiedzieć, że:
– R – oznacza odebrany (Recive),
– S – oznacza wysłany (Send).
Znacznik czasu może być liczony np. w milisekundach od 1 stycznia 1970 roku (początek
Internetu).
Używając różnicę D dla pakietu i oraz pakietu poprzedniego i-1 (w kolejności przybycia),
można przystąpić do obliczenia wartości zmienności opóźnień. Jitter oblicza się
nieprzerwanie – kontynuacyjnie na podstawie poniższej formuły (3):
( ) ( ) ( ) ( )( ) 16/1,1 −−−+= iJiiDiJiJ (3)
czyli , dla pierwszego pakietu (4):
( ) ( )( ) 16/0,101 −−+= iiDJ (4)
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego31
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiegogdzie: D(i-1,i)=(czas odbioru – czas wysłania) – 0, czyli jest to tylko opóźnienie, a 0 to
(Ri-Si), dla drugiego pakietu będzie (5):
( ) ( ) ( ) ( )( ) 16/12,112 −−+= iJDJJ (5).
Innym ważnym parametrem dla jakości usług w sieciach IP jest przepustowość
(throughput) czyli dostępna prędkość z jaką pakiety mogą być transportowane w sieci.
Przepustowość jest funkcją zależną od wielu parametrów. Charakterystyka przepustowości
( ) ( ) ( ) ( )[ ]tNtstetrtP ,,,, zależna jest od parametrów:
– t – czas,
– r(t) – ruch,
– e(t) – błędy,
– s(t) – struktura (wartość stała),
– N(t) – niezawpdość.
Rysunek Rys. 3.2 przedstawia wykres wykorzystania kanału w zależności od czasu.
Grubsza linia obrazuje standardowy ruch w sieci LAN, natomiast cieńsza jest to dodatkowy
ruch spowodowany przesyłaniem pakietów aplikacji służącej do rozmów VoIP.
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100 120 140 160 180
Czas t[s]
Prz
epus
tow
ość
P[%
]
ruch podkładowy spowodowanytransmisją ftp,http i inne
ruch VoIP
Rys 3.2. Kanał telekomunikacyjny w czasie realizacji usług ftp, http i innych oraz ruchu VoIP
Aby osiągnąć cele badań opracowałem dwa schematy układów badawczych Rys. 3.3 oraz
Rys. 3.4, w oparciu o nie zostaną opracowane scenariusze badań a następnie modele
badawcze.
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego32
Praca dyplomowa jest własnością Pana inż. Rafała GadamskiegoNa rysunku Rys. 3.3 przedstawiany jest schemat układu badawczego LAN – DSL. Układ
składa się z dwóch komputerów PC na których uruchomione są aplikację VoIP.
Rys. 3.3. Schemat 1: LAN – DSL
Oba komputery podłączone są do sieci Internet. Komputer A znajduje się w sieli lokalnej
LAN, przez którą ma dostęp do sieci globalnej. Do sieci LAN podłączony jest przez kontroler
sieciowy o prędkości 100Mb/s. Drugi komputer B do sieci globalnej podłączony jest przy
pomocy technologii szerokopasmowego dostępu do Internetu ADSL o prędkości 128/64kb/s
(odbieranie/wysyłanie). Jest to jeden z najpopularniejszych sposobów dostępu do sieci
Internet.
Ilustracja Rys. 3.4 przedstawia schemat układu badawczego DSL – DSL.
Rys. 3.4. Schemat 2: DSL – DSL
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego
LANCSM/CD 100BASET
DSL(ADSL)Neostrada 128
LAN
INTERNET
INTERNET
DSL(ADSL)Neostrada 128
DSL(ADSL)Neostrada 128
A B
A B
33
Praca dyplomowa jest własnością Pana inż. Rafała GadamskiegoPodobnie jak poprzedni schemat przedstawione są dwa komputery PC, na których są
uruchomione aplikacje VoIP. W tym przypadku obydwa komputery A i B do sieci globalnej
podłączone są poprzez usługę Neostrada 128 opartą o technologie ADSL.
Scenariusz badań w przypadku schematu pierwszego LAN – DSL będzie następujący.
Komputer A pracujący w sieci LAN będzie miał włączoną aplikację VoIP z pomocą której
będzie prowadzona rozmowa z użytkownikiem komputera B podłączanego do Internety przez
łącze ADSL. Aplikacja do kodowania głosu będzie używała kodeka G.723.1. W sieci LAN, z
której korzysta komputer A pracuje w także inne komputery. Na komputerach są używane
różne aplikacje przesyłające dane pomiędzy komputerami co generuje ruch w sieci LAN. W
oparciu o ten układ pomierzę opóźnienia oraz jitter dla pakietów VoIP przesyłanych
pomiędzy komputerami A i B w zależności od wykorzystania łącza w sieci LAN. Procent
wykorzystania będzie zależny od ruchu panującego w sieci, generowanego przez inne
komputery. Badania przeprowadzę dla wykorzystania sieci w granicach między 5% a 70% z
krokiem co około 10%.
Scenariusz badań dla schematu drugiego DSL – DSL, będzie odmienny od poprzedniego.
Podobnie jak w sytuacji poprzedniej będzie prowadzona rozmowa pomiędzy użytkownikami
komputerów A i B z wykorzystaniem aplikacji VoIP używającej kodeka mowy G723.1. Oba
komputery do Internetu podłączone są do sicie globalnej z wykorzystaniem łącza ADSL. W
tym przypadku pomiary opóźnień i jitter-a pomierzę w zależności od dostępnej
przepustowości łącza DSL. Ograniczenie przepustowości będzie się odbywało na komputerze
A, w przedziale od około 20kb/s do 64kb/s.
W obu powyższych scenariuszach czas rozmów pomiędzy użytkownikami aplikacji VoIP
będzie wynosił 180 sekund.
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego34
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego
4. EKSPERYMENTY BADAWCZE I ANALIZA WYNIKÓW
4.1. Środowisko badawcze
Badania odbyły się na średniej klasy komputerze PC o następującej konfiguracji
sprzętowej:
− płyta główna: Asus A7V600 (KT600),
− procesor: AMD Athlon XP 2500 z 512KB cache,
− pamięć operacyjna: DDR 512MB/333MHz,
− dysk twardy: WD Caviar 160GB, ATA-133, 8MB cache,
− k. graficzna: ATI Radon 8500.
Do przeprowadzenia badań zostało użyte oprogramowanie COMNET III, w którym
zostały utworzone modele badanych sieci. Pakiet symulacyjny COMNET III jest narzędziem
umożliwiającym tworzenie i wszechstronne badanie modeli sieci telekomunikacyjnych
metodą symulacji komputerowej. Umożliwia on budowę modelu symulacyjnego sieci
telekomunikacyjnych przy wykorzystaniu biblioteki, w której zawarte są procedury
(podprogramy) będące modelami elementów sieci telekomunikacyjnych typu LAN, WAN
oraz sieci komputerowych. Do zdefiniowania modelu w pakiecie służą trzy podstawowe
modele-komponenty konstrukcyjne:
− węzły - reprezentujące urządzenia fizyczne (komputery i urządzenia komutacyjne),
− linie telekomunikacyjne - przenoszące obciążenie,
− łuki połączeniowe - (element abstrakcyjny) wskazujący jak są kojarzone węzły i linie
telekomunikacyjne. Łuki także opisują styk pomiędzy nimi np. parametry portu węzła,
wprowadzane opóźnienie, tablice opłat w procesie marszrutyzacji.
Modele do eksperymentów badawczych zostały zbudowane w oparciu o wcześniej
przedstawione scenariusze badań. Eksperymenty były przeprowadzone pod kątem zbadania
opóźnień oraz jitera dla pakietowej transmisji mowy w sieci IP.
W oparciu o scenariusz pierwszy LAN – DSL, który zakłada badanie jakości transmisji
głosu w zależności od ruchu panującego w sieci LAN zbudowałem model w aplikacji Comnet
III. Odwzorowanie usługi VoIP zostało opisane w elemencie o nazwie Session Source (źródło
sesji) Rys. 4.1 Jest to element służący do odwzorowania ruchu w postaci seansów (sesji) w
trakcie, których przesłaniu podlega wiele wiadomości z komutacją pakietów.
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego35
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego
Rys. 4.1. Parametry źródła sesji
Jak założyłem w scenariusza usługa transmisji mowy oparta jest o kodek mowy G.723.1.
Kodek ten charakteryzuje się następującymi parametrami:
− bitrate: 5,3kb/s,
− częstotliwość próbkowania: 8kHz,
− interwał próbkowania: 30ms,
− wielkość próbki 20b,
− ilość pakietów w czasie 1 sekundy 34 [48].
Na rysunku Rys. 4.1 przedstawione jest okno konfiguracyjne źródła sesji, poszczególne
pola zostały wypełnione na podstawie danych o kodeku, poniżej opis najważniejszych pól:
− Interarrival [s]: 180,0 – jest to parametr określający co jaki czas ma zostać wywołana
sesja - jest to jednocześnie czas trwania sesji (czas rozmowy) określony w założeniach
scenariuszy,
− First arrival [s]: 0,0 – parametr określa początek sesji – czas wysłania pierwszej
wiadomości,
− Msgs/session: 6120,0 – jest to ilość wiadomości w czasie sesji. Wartość została obliczona
na podstawie czasu rozmowy pomnożonego przez ilość pakietów w czasie jednej
sekundy:
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego36
Praca dyplomowa jest własnością Pana inż. Rafała GadamskiegospktssessionMsg /34*180/ = .
− Msg IAT [s]: 0,0294 – odstęp czasu pomiędzy kolejnymi wiadomościami:
spktsMsgIAT
/341= ,
− Message size [b]: 20,0 – wielkość wiadomości.
Odwzorowanie ruchu tła zostało zrealizowanie przy użyciu elementu Message Source
(źródło wiadomości) Rys. 4.2. Element jest przeznaczony do generowania ruchu
realizowanego z komutacją pakietów. Objętość wiadomości określana jest jako liczba
jednostek informacji (bajty) lub pakietów. Objętość informacji można zadać wykorzystując
do tego celu proponowaną formułę obliczeniową lub też może być zmienną o określonym
rozkładzie i zadanych parametrach. Intensywność generowania wywołań w źródle
wiadomości określona jest poprzez wyznaczenie odstępu czasu między kolejnymi
wiadomościami.
Rys. 4.2. Parametry źródła wiadomości
Parametry w oknie konfiguracji zostały dobrane tak aby uzyskać odpowiedni ruch w sieci
LAN a tym samym wykorzystanie łącza LAN. Rysunek Rys. 4.2 przedstawia przykładowe
dane konfiguracyjne przy których wykorzystanie łącza wynosiło 20%. Aby uzyskać żądany
wynik zostały ustawione parametry:
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego37
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego− Interarrival [s]: Exp(3.0) – jest to parametr określający czas pomiędzy wysłaniem
kolejnych wiadomości. Czas ten ma rozkład wykładniczy o parametrze średni czas
dostępu wynosi 3s,
− Msg size calc: Probability distribution – określa sposób definiowania wiadomości –
(rozkład prawdopodobieństwa),
− Msg size unit: Bytes – jednostka w jakich wyrażana jest wielkość wiadomości,
− Prob distib: Nor(2000000.0, 1000000.0) – zmienna wielkość wysyłanych wiadomości w
przedziale od 100kB do 2MB określona rozkładem normalnym.
Model przygotowany w oparciu o scenariusz drugi DSL – DSL był prostszy w
przygotowaniu. W scenariuszu tym założyłem badanie jakości usługi transmisji głosu w
zależności od szerokości dostępnego pasma. Podobnie jak w modelu pierwszym
odwzorowanie usługi VoIP zostało zaimplementowane w elemencie Session Source.
Wszystkie pola konfiguracyjne pozostały bez zmian w stosunku do konfiguracji modelu
pierwszego.
Dostępna przepustowość dla poszczególnych komputerów, pomiędzy którymi odbywa się
transmisja strumienia VoIP w modelu została odwzorowana w elemencie Access Link Detail.
Rysunek Rys. 4.3 przedstawia okno konfiguracyjne tego elementu.
Rys. 4.3. Okno konfiguracyjne elementu Access Link Detail
W oknie tym zostały skonfigurowane następujące pola:
− Parametr set name: 64kb/s – nazwa parametru,
− Number of circiuts: 1 – ilość dostępnych łączy,
− Entry bandwidth/circuit [kb/s]: 64kb/s – parametr określa przepustowość wejściową,
− Exit bandwidth/circuit [kb/s]: 64kb/s – parametr określa przepustowość wyjściową.
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego38
Praca dyplomowa jest własnością Pana inż. Rafała GadamskiegoAby wyeliminować wpływ warunków początkowych układu badawczego na wyniki,
przebieg został wydłużony o czas równy jednej sesji 180s. Podczas tego czasu nie są zbierane
statystyki. Dokładniej mówiąc, po trzech minutach czasu systemowego statystyki zostały
wyzerowane, a warunki opisujące stan końcowy systemu zostały przyjęte jako warunki
początkowe właściwego przebiegu.
Liczność próby statystycznej do oszacowania wartości zmiennej losowej wyznaczono,
przy założeniu poziomu ufności 95,0)1( =− α i żądanej dokładności wyznaczenia wartości
średniej opóźnienia na poziomie 25% odchylenia standardowego. W związku z powyższym
liczność próby n jest równa:
2
2
2
2
2
)25,0()96,1()(
σσσ α
⋅⋅=
⋅=
d
Un ,
gdzie:
n – liczność próby,2σ – odchylenie standardowe wartości średniej,
2αU – kwantyl rozkładu normalnego N(0,1) na poziomie istotności α,
d – dokładność wyznaczenia wartości średniej.
Dla 95,0)1( =− α , 96,12
=αU , a więc liczność próby powinna wynosić n = 62.
4656,6105640625,0467044,3 ==n .
4.2. Przebieg badań
Mając już przygotowane modele przystąpiłem do badań. Jako pierwszy został poddany
badaniom model oparty o scenariusz pierwszy (LAN – DSL). Tak jak założyłem scenariuszu,
ruch tła był generowany tak, aby uzyskać rządany poziom wykorzystania łącza. W wyniku
wstępnych badań utworzonego modelu, wyodrębniłem grupę ustawień parametrów, przy
których wykorzystanie łącza zawierało się w przedziale od 5% do 60% z krokiem co około
10%. Wyniki te posłużyły jako baza do dalszych badań modelu, w których przeprowadziłem
pomiar średnich opóźnień i zmienności opóźnień pakietów zawierających dane z aplikacji
VoIP.
Czas badania modelu dla poszczególnych ustawień wynosił od 20 minut dla obciążenia
łącza 5%, 123 minuty dla 40% do około 6 godzin dla wartości obciążenia wynoszącej 60%.
Ze względu na to, że aplikacja COMNET nie umożliwia bezpośredniego pomiaru wartości
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego39
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiegojittera, konieczne było użycie wbudowanej funkcji trace. Funkcja ta polega na śledzeniu
przebiegu poszczególnych pakietów i gromadzeniu danych o czasie dotarcia i wysłania
pakietów przez poszczególne elementy sieci. Dane te funkcja zapisuje do pliku trace.trc na
dysku komputera. Dopiero na podstawie zgromadzonych w ten sposób informacji możliwe
było wyznaczenie zmienności opóźnień pakietów. Uzyskane w ten sposób pliki miały rozmiar
od 140 MB przy 10% wykorzystaniu łącza, 1GB przy 40% do 1,54GB przy 60%.
Badanie właściwości drugiego modelu DSL – DSL odbywało się w podobny sposób jak
w poprzednim przypadku. Zgodnie z założeniami scenariusza drugiego średnie opóźnienia
pakietów i jitter zostały zbadane w zależności od dostępnej przepustowości w zakresie od
19kb/s do 64kb/s z mniejszym krokiem w dolnej części badanego zakresu i większym przy
większej przepustowości.
Badanie tego modelu było mniej czasochłonne niż w przypadku modelu opartego o
scenariusz pierwszy. Średni czas badania dla każdego z badanych wariantów wynosił około
20 minut.
Rozmiary plików funkcji trace także nie były już tak duże jak dla scenariusza pierwszego,
a ich wielkość dla wszystkich badań zawierała się w granicy 140MB.
Jak wcześniej wspomniałem dane zgromadzone w plikach trace.trc zostały zebrane w
celu obliczenia wartości jittera. Ze względu na duży rozmiar plików niemożliwe było ich
bezpośrednie przetwarzanie w aplikacji Excel. Aby wydobyć ze zgromadzonych plików tylko
dane konieczne do wyliczenia zmienności opóźnień pakietów został użyty specjalnie do tego
napisany program. Program na podstawie pliku trace.trc tworzył nowy plik zawierający tylko
informacje o pakietach VoIP. Rozmiar każdego z plików przefiltrowanych przez program
został zredukowany do 2,5MB. Dane z poszczególnych plików zostały zaimportowane do
arkusza kalkulacyjnego. W arkuszu została wyliczona wartość jittera w oparciu o opisane w
podrozdziale 3.2. wzory. Wyniki zostaną przedstawione i opisane w dalszej części pracy.
4.3. Wyniki i ocena wyników badań
Wyniki i ocena wyników badań scenariusza 1 (LAN – DSL)
Uzyskane w trakcie badań wyniki przedstawione są w tabeli Tab. 4.1. Tak jak założyłem
w scenariuszu zostały zbadane opóźnienia pakietów w funkcji obciążenia sieci LAN. Dla
wybranych wartości obciążenia sieci LAN została wyliczona średnia wartość jittera. W
dalszej części zostaną przedstawione wykresy opóźnienia pakietów VoIP w funkcji
obciążenia sieci LAN oraz jittera w funkcji czasu.
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego40
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego
Tab. 4.1.
Wyniki badań dla scenariusza LAN – DSL.
Obciążenia sieci LAN [%] Średnie opróżnienia pakietów [ms] Średnia wartość jitter [ms]
0,09 48,55 NB*5,63 51,688 NB*10,45 61,471 0,07553616,44 65,972 NB*20,35 63,342 NB*31,82 67,905 NB*39,29 75,699 0,310543344 81,48 NB*50,6 75,339 NB*54,77 84,667 NB*60,07 115,457 1,09643164,47 140,745 NB**NB – nie badano
Ocena opóźnień pakietów VoIP
Rysunek Rys. 4.4. przedstawia wykres opóźnień pakietów VoIP w funkcji obciążenia
sieci LAN. Jak można zauważyć opóźnienia pakietów mowy dla obciążenia w granicy do
10% zawierają się poniżej 60ms. Są to bardzo małe opóźnienia i są praktycznie
niezauważalne w trakcie rozmowy. Przy obciążeniu sieci w granicach od 10% do 55%
wartość opóźnień oscyluje w przedziale od 60ms do 80ms. Poziom opóźnień także jest mały
a jego wpływ na jakość usługi transmisji głosu równie niewielki. Dopiero po przekroczeniu
obciążenia sieci LAN powyżej 55% można zauważyć znaczny wzrost opóźnień pakietów
VoIP. Opóźnienie przy obciążeniu ruchem tła około 65% wynosi już 140ms.
61,471
140,745
115,457
63,34275,699
0
20
40
60
80
100
120
140
160
0 5 10 15 20 25 30 35 40 45 50 55 60 65 70
obciążenie sieci LAN [%]
opóź
nien
ia [m
s]
Rys. 4.4. Opóźnienia pakietów VoIP w funkcji obciążenia generowanego przez źródła ruchu
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego41
Praca dyplomowa jest własnością Pana inż. Rafała GadamskiegoWartość opóźnienia 140ms może mieć już odczuwalny wpływ na jakość transmitowanej
rozmowy, mimo to jest to wartość mieszcząca się w granicach większości zaleceń i norm.
Względem rekomendacji ITU-T G.1010 [24] zalecana wartość opóźnień wynosi poniżej
150ms, a wartość graniczna ustalona jest na poziomie 400ms. Podobną klasyfikacja znajduje
się w dokumencie [5], gdzie jakość dla wartości wartość opóźnień 0ms – 150ms jest
traktowana jako dobra, w przedziale 150ms – 250ms wystarczająca, dla opóźnień 250ms –
400ms słaba, a powyżej 400ms jakość jest nie do zaakceptowania.
Ocena jittera pakietów VoIP.
0
0,25
0,5
0,75
1
1,25
1,5
1,75
0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 105
czas [s]
jitte
r [m
s]
Rys. 4.5. Jitter w funkcji czasu dla obciążenia sieci ruchem tła o wartości 10,33%
Powyższy rysunek Rys. 4.5. przedstawia wykres jittera w funkcji czasu dla obciążenia
sieci w 10,33%. Jak widać poziom zmienności opóźnień pakietów VoIP dla tego poziomu
obciążenia sieci jest bardzo mały i większość wartości jittera zawiera się w przedziale 0ms –
0,25ms. Maksymalna wartość jaką osiągnął jitter wynosi 1,57ms. Zmienność opóźnienia na
takim poziome jaki jest przedstawiony na wykresie nie wpływa na jakość transmitowanego
głosu i nie jest słyszalna. Średnia wartość jittera wyniosła 0,075ms.
Kolejną wartością obciążenia sieci LAN, dla której były przeprowadzone obliczenia
wartości jittera jest obciążenie 44%. Wykres zmienności opóźnień pakietów VoIP w funkcji
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego42
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiegoczasu dla ruchu tła na poziome 44% jest przedstawiony na rysunku Rys. 4.6. W tym wypadku
00,5
1
1,52
2,53
3,54
4,55
5,56
6,57
7,58
0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 105
czas [s]
jitte
r [m
s]
Rys. 4.6. Jitter w funkcji czasu dla obciążenia sieci ruchem tła o wartości 44%
wartość jittera jest zauważalnie wyższa niż dla obciążenia 10%, ale wartości jakie osiągnął
także nie są duże. Jak widać pojawiła się większa ilość wartości w granicach do 1,5ms,
podczas gdy na poprzednim wykresie była to wartość maksymalna. Wartość maksymalna
jittera w tym przypadku wyniosła 7,55ms zaś średnia 0,3105433ms.
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego43
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego
00,5
11,5
22,5
33,5
44,5
55,5
66,5
77,5
88,5
99,510
0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 105
czas [s]
jitte
r [m
s]
Rys. 4.7. Jitter w funkcji czasu dla obciążenia sieci ruchem tła o wartości 60%
Na rysunku Rys. 4.7. znajduje się wykres jittera w funkcji czasu dla obciążenia sieci
ruchem tła na poziomie 60%. Maksymalna wartość jittera w tym wypadku osiągnęła 9,2ms.
Jak widać na przedstawionym wykresie pojawiło się znacznie więcej wartości jittera w
przedziale 0,5ms – 2ms niż w dla obciążenia sieci 10% i 44%. Średnia wartość jittera
wyniosła 1,096431ms. Wielkość jittera dla pakietów VoIP przy tak obciążonej sieci LAN w
porównaniu do poprzednich wariantów wzrosła już w znacznym stopniu. Nie są to jednak
duże wartości biorąc pod uwagę ruch jaki panuje w sieci.
Jakość rozmowy może być już dla takich zmienności opóźnień znacznie gorsza niż w
przypadku mniej obciążonej sieci. Biorąc jednak pod uwagę zaawansowane możliwości
nawet darmowych aplikacji VoIP umożliwiających zniwelowanie wartości jittera stosując
bufor jittera. Co prawda zastosowanie takiego rozwiązania wprowadza dodatkowe
opóźnienia. Jednak przy stosunkowo małych wynikach opóźnień pakietów uzyskanych
podczas badań modelu opartego scenariusz LAN – DSL nie powinno mieć większego
wpływu na odczucie spadku jakości spowodowanego zwiększeniem sumarycznego opóźnia
pakietów.
Wartość średnia jittera według SLA firmy Verio dla komercyjnych usług VoIP nie
powinna przekraczać poziomu 0,5ms, a wartość maksymalna powinna być mniejsza od 10ms.
Według norm firmy QWEST wartość maksymalna jittera wynosi 2ms.
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego44
Praca dyplomowa jest własnością Pana inż. Rafała GadamskiegoWyniki dotyczące zmienności opóźnienia pakietów VoIP dla scenariusza 1 nawet w
przypadku obciążenia sieci ruchem tła w 60% są zadawalające i nie powinny być przeszkodą
w trakcie konwersacji. Dodatkowo należy zaznaczyć iż mowa jest tu o domowym
zastosowaniu aplikacji VoIP i transmisji głosu w sieci bez gwarancji jakości usług.
Wyniki i ocena wyników badań scenariusza 2 (DSL – DSL)
Wyniki badań opartych o scenariusz 2 (DSL – DSL) znajdują się w tabeli Tab. 4.2. Tak
jak założyłem w scenariuszu 2 zbadałem opóźnienia oraz zmienność opóźnień pakietów
VoIP. W tym wypadku opóźnienia badane były w zależności od przepustowości łącza DSL.
Jitter podobnie jak w poprzednim wypadku został wyliczony tylko dla wybranych wartości
opóźnień. Tab. 4.2
Wyniki badań dla scenariusza LAN – DSL.
Przepustowość łącza DSL [kb/s] Średnie opróżnienia pakietów [ms] Średnia wartość jitter [ms]
19 44872,916 NB*20 17828,213 NB*20,5 4581,081 NB*20,6 1959,733 NB*20,7 48,97 1,91083E-1221 48,55 NB*22 47,234 NB*24 44,931 NB*32 38,598 NB*44 33,416 1,92507E-1256 30,455 NB*64 29,098 1,93268E-12*NB – nie badano
Ocena opóźnień pakietów VoIP
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego45
Praca dyplomowa jest własnością Pana inż. Rafała GadamskiegoRysunek Rys. 4.8. przedstawia wykres opóźnień pakietów VoIP w funkcji
przepustowości łącza DSL. Jak widać w przedziale przepustowości do 20kb/s opóźnienia są
29,09833,41648,55
1959,733
44872,916
1
10
100
1000
10000
100000
15 20 25 30 35 40 45 50 55 60 65 70
przepustowść łącza DSL [Kb/s]
opóź
nien
ia [m
s]
Rys. 4.8. Opóźnienia pakietów VoIP w funkcji przepustowości łącza DSL
duże. Pakiety z takimi opóźnieniami zostałyby uznane przez aplikację VoIP za pakiety
zagubione. Opóźnienia o tak dużej wartości wynikają z minimalnego zapotrzebowania na
przepustowość łącza zastosowanego kodeka VoIP. Kodek G.723.1 wymaga minimalnej
przepustowości 20,8kb/s. Jak widać na wykresie już przy przepustowości 20,7kb/s opóźnienia
spadły znacznie, a przy przepustowości 21kb/s opóźnienia osiągnęły poziom 48,55ms. Po
przekroczeniu tej granicy można zauważyć stopniowy spadek opóźnień pakietów VoIP.
W przedziale przepustowości 21kb/s – 32kb/s opóźnienia wahają się w granicy od 48ms
przy 21kb/s do 38ms przy 32kb/s. Są to małe wartości i mieszczą się w granicach opóźnień
0ms – 150. Przy takich opóźnieniach jakość usługi traktowana jest jako dobra. Opóźnienia
przy większych przepustowościach są jeszcze mniejsze i w znacznie mniejszym stopniu
wpływają na jakość usługi transmisji głosu i jeszcze mniejszym stopniu wpływają na jakość
konwersacji za pośrednictwem aplikacji VoIP.
Zmieniłem automatem kb/s na kb/s
Ocena jittera pakietów VoIP
Uzyskane wyniki jittera pakietów VoIP da drugiego scenariusza przedstawione są na
rysunkach Rys. 4.9., Rys. 4.10. oraz Rys. 4.11. Wyniki przedstawione na wykresach trudno
uznać za wiarygodne wyniki jittera pakietów VoIP. Tak małe wartości jittera w rzeczywistej
sieci telekomunikacyjnej są nie do uzyskania. Wartości wahają się w granicy błędu zegara
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego46
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiegoatomowego i są rzędu 10-14s. Wynikają one raczej z niedokładności działania podzespołów
komputera lub systemu operacyjnego.
0,000000000002176
0,000000000001717
0
5E-13
1E-12
1,5E-12
2E-12
2,5E-12
20 25 30 35 40 45 50
czas [s]
jitte
r [m
s]
Rys. 4.9. Jitter w funkcji czasu dla przepustowości łącza DSL 20,7kb/s
0
1E-12
2E-12
3E-12
4E-12
5E-12
6E-12
20 25 30 35 40 45 50
czas [s]
jitte
r [m
s]
Rys. 4.10. Jitter w funkcji czasu dla przepustowości łącza DSL 44kb/s
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego47
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego
0
1E-12
2E-12
3E-12
4E-12
5E-12
6E-12
20 25 30 35 40 45 50
czas [s]
jitte
r [m
s]
Rys. 4.11. Jitter w funkcji czasu dla przepustowości łącza DSL 64kb/s
Podsumowując uzyskane wyniki badań dla obu scenariuszy można zauważyć, iż
największe opóźnienia pakietów VoIP oraz zmienność opóźnień pakietów VoIP zostały
uzyskane w scenariuszu 1 przy obciążeniu sieci LAN ruchem tła na poziomie 60% – 65%.
Opóźnienia pakietów VoIP nawet przy dużym obciążeniu sieci LAN ruchem tła przyjmują
wartości odpowiednio od 115ms dla obciążenia 60% do około 140ms przy 64% obciążeniu.
Biorąc pod uwagę tylko opóźnienia pakietów VoIP, jakość usługi transmisji głosu nawet przy
obciążeniu sieci w 65% i opóźnieniach niespełna 150ms mieści się w dolnej granicy
przedziału opóźnień, przy których jakość jest traktowana jako dobra. Wielkości zmienności
opóźnień pakietów VoIP dla obciążenia ruchem tła na poziomie 60% także mieszczą się w
dopuszczalnych granicach. Niestety biorąc pod uwagę oba te czynniki odczuwalna jakość
prowadzonej konwersacji przy użyciu aplikacji VoIP może spaść już w znacznym stopniu.
Większość mechanizmów pozwalających zmniejszyć wpływ jittera ze względu na
wprowadzenie dodatkowego opóźnienia na buforowanie pakietów stosuje się przy
opóźnieniach pakietów nie większych niż 100ms. Opóźnienie jakie wprowadza zazwyczaj
bufor jittera wynosi około 30ms.
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego48
Praca dyplomowa jest własnością Pana inż. Rafała GadamskiegoPozostałe wyniki opóźnień i jittera pakietów przenoszących próbki głosu są bardziej
optymistyczne i nawet po zastosowaniu w aplikacji VoIP wspomnianego bufora jittera nie
powinny znacznie wpływać na obniżenie jakości głosu.
Na podstawie uzyskanych w trakcie badań wyników można uznać iż technika VoIP nie
bez powodu staję się coraz bardziej doceniana wśród użytkowników domowych jak również
w firmach i wielkich korporacjach.
Telefonia internetowa w porównaniu do standardowych systemów telekomunikacyjnych
wypada bardzo dobrze pod względem wymaganej przepustowości łącza
telekomunikacyjnego. W systemie PCM dla jednej rozmowy zestawiany jest kanał o
przepływności 64kb/s na cały okres trwania połączenia, podczas gdy w technice VoIP przy
zastosowaniu kodeka G.723.1 wystarczy niespełna 21kb/s. Dodatkowo podczas gdy
rozmówcy przez pewien czas nie są aktywni aplikacja nie przesyła żadnych danych.
Niestety usługi VoIP oparte o nie przystosowany do tego typu usług protokół TCP/IP
przegrywa konkurencję pod względem niezawodności i jakości. Biorąc jednak pod uwagę
szybki rozwój VoIP oraz coraz lepszą jakość sieci IP, a także coraz częstsze stosowanie w
tych sieciach mechanizmów zapewniających jakość usług należy się spodziewać, iż technika
transmisji głosu w sieciach pakietowych zajmie w niedługim czasie znaczącą pozycję na
rynku telekomunikacyjnym wypierając powoli standardową telefonię.
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego49
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego
5. WNIOSKI
Podsumowując pracę dyplomową sądzę, że udało mi się zrealizować wszystkie zakładane
cele, chodź oczywiście ostatnie zdanie należy do czytelników pracy i recenzenta.
W ramach scenariuszy badań przygotowałem w aplikacji COMNET III modele badanych
sieci w oparciu o które przeprowadziłem badania metodą symulacji komputerowej.
Uzyskałem w ten sposób zbiór wyników dla różnych wariantów obu scenariuszy co pozwoliło
mi na ich analizę. Wyniki badań i wnioski z analiz zostały przedstawione w rozdziale 4
niniejszej Pracy dyplomowej.
W ramach dążenia do realizacji zamierzonego celu, udało mi się poszerzyć swoją wiedzę
na temat sieci teleinformatycznych a w szczególności zagadnień dotyczących jakości usług,
ich miar i kryteriów oraz sposobów zapewniania jakości usług w sieciach IP.
Dzięki analizie tematu jak i wykonaniu pracy dyplomowej zapoznałem się także z metodą
badawczą jaką jest symulacja komputerowa. W szczególności z wykorzystaniem narzędzia
symulacyjnego jakim jest COMNET III będącym doskonałym narzędziem do symulacji i
badań procesów zachodzących w sieciach teleinformatycznych. Mam nadzieję, że zdobytą
dzięki realizacji pracy dyplomowej wiedzę i umiejętności będę mógł wykorzystać w
przyszłości w pracy zawodowej.
Dla uzupełnienia zbioru czynników mających wpływ na jakość usług VoIP pracę
należałoby jeszcze wzbogacić o pomiar zagubień pakietów w badanych modelach. Niestety w
aplikacji jakiej użyłem do badań nie ma takiej możliwości.
Kontynuując badania na temat jakości usług w sieciach IP w przyszłości na pewno
poszerzyłbym spectrum badanych czynników wpływających na jakość o zgubienia pakietów.
Do badań należałoby użyć bardziej zawansowanych aplikacji symulacyjnych jakimi są
niewątpliwie NS-2 oraz OMNeT.
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego50
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego
LITERATURA
[1] Brachmański S.: VoIP-ocena jakości transmisji mowy metodami subiektywnymi.
[2] NetWorld: IP dochodzi do głosu, 05.2000
[3] http://akson.sgh.waw.pl
[4] CISCO AVVID: Broszura informacyjna
[5] Schulz T.: Voice over IP, (white paper), Eicon Techonology Corporation, 2000 http://www.eicon.com
[6] Dunsmore B., Skandier T.: Cisco. Technologie telekomunikacyjne, MIKOM, Warszawa 2003
[7] Norris M. Teleinformatyka, WKŁ, Warszawa 2002
[8] Wrażeń M., Jarmakiewicz J.: Sieci i systemy telekomunikacyjne
[9] www.chip.pl
[10] Całka J.: Organizacja transmisji głosu w sieci IP, STUDIA INFORMATICA 2001, Numer 2 (44)
[11] Scrimger R., LaSalle P., Leitzke C., Parihar M., Gupta M.: TCP/IP. Biblia, Helion, Warszawa 2002
[12] Cisco Systems, Inc.: Akademia sieci Cisco, CCNA semestr 1 i 2, wydanie II, Mikom, Warszawa 2005
[13] http://szmarcin.w.interia.pl/, Analiza możliwości realizacji usług telekomunikacyjnych przez sieć Internet
[14] Grzybek W., Janukiewicz J.: Jakość usług w sieciach IP, KST’2002
[15] ITU-T Recommendation X.902 (11/95): Information technology – Open distibutet processing – Reference
Model: Foundation
[16] ITU-T Recommendation E.800 (08/94): Terms and definitions related to quality of service and network
performance including dependability
[17] Jajszczyk A., Stankiewicz R.: Sposoby zapewniania gwarantowanej jakości usług w sieciach IP, PTiWT nr
2/2002
[18] Hardy W. C.: „QoS” Measurement nad Evaluation of Telecommunications Quality of Service, John Willey
& Sons Ltd., 2001 England
[19] Crawley E., Nair R., Rajagopalan B., Sandick H.: A Feamework for QoS-based Routing in the Internet,
RFC 2386, August 1998
[20] Ferguson P., Huston G.: Qaulity of Service in the Internet: Fact, Fiction, or Compromise?, INET98’,
Genewa 1998
[21] Audio-Video Transport Working Group: RTP: A Transport Protocol for Real-Time Applications, RFC
1889, January 1996
[22] Schulzrinne H., Casner S., Frederick R., Jacobson V.: RTP: A Transport Protocol for Real-Time
Applications, RFC 3550, July 2003
[23] ITU-T Recommendation G.114 (05/00): One-way transmission time
[24] ITU-T Recommendation G.1010 (11/01): End–User Multimedia QoS Categories
[25] Brachmański S., Łabno P.: Wpływ zagubień pakietów na zrozumiałość mowy w sieciach IP, KST '2002,
Instytut Telekomunikacji Politechniki Warszawskiej, Warszawa 2002
[26] Braden R., Clark D., Shenker S.: Integrated Services in the Internet Architecture: an Overview, RFC 1633,
June 1994
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego51
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego[27] Black D., Carlson M., Davies E., Wang Z., Weiss W.: An Architecture for Differentiated Services, RFC
2475, December 1998
[28] Burakowski W., Kopertowski Z.: Sieci IP z jakością obsługi, , KST '2000, Instytut Telekomunikacji
Politechniki Warszawskiej, Wojskowy Instytut Łączności w Zegrzu
[29] Braden R., Zhang L., Berson S., Herzog S., Jamid S.: Resource ReSerVation Protocol (RSVP) - Vrsion 1
Functional Specification, RFC 2205, September 1997
[30] Wrocławski J.: The Use of RSVP with IETF Integrated service, RFC 2210, September 1997
[31] Shenker S., Partride C., Guerin R.: Specification of Guaranteed Quality of Service, RFC 2212, September
1997
[32] Wrocławski J.: Specification of the Controlled-Load Network Element Service, RFC 2211, September 1997
[33] Nicholas K., Blade S., Baker F., Black D., Definition of the Differentiated Services Field (DS Field) in the
IPv4 and IPv6 Headers, RFC 2474, December 1998
[34] Jacobson V., Nicholas K., Podusi K.: An Expedited Forwarding PHB, RFC 2598, June 1999
[35] Heinanen J., Baker F., Weiss W., Wrocławski J.: Assured Forwarding PHB Group, RFC 2597, June 1999
[36] Nawojczyk D.: Komputerofon - Przegląd programów do rozmów VoIP, http://www.chip.pl/
[37] http://www.counterpath.com/
[38] http://www.skype.com/
[39] http://skype.onet.pl/
[40] http://www.eteria.pl/
[41] http://web.net2phone.com
[42] http://www.easycall.pl/
[43] http://spik.wp.pl
[44] www.tlenofon.pl/
[45] http://www.gadu-gadu.pl/
[46] Pencak Z.: Inżynieria sieci telekomunikacyjnych, WSISiZ, Warszawa 2001
[47] http://encyklopedia.pwn.pl
[48] Voice Over IP – Per Call Bandwidth Consumption, Cisco Systems, Inc., 2005
Praca dyplomowa jest własnością Pana inż. Rafała Gadamskiego52