Metody gwarantowania QoS płaszczyzny sterowania w systemach

Transkrypt

Metody gwarantowania QoS płaszczyzny sterowania w systemach
Rafał Bryś, Jacek Pszczółkowski, Mirosław Ruszkowski
Zakład Systemów Łączności
Wojskowy Instytut Łączności
Metody gwarantowania QoS płaszczyzny
sterowania w systemach specjalnych
W referacie zaprezentowana została metoda QoS bazująca na mechanizmach płaszczyzny sterowania
opracowana w ramach Projektu Badawczo-Rozwojowego MNiSW (PBR nr 0 R00 0024 06) pt.: „Metoda
gwarantowania jakości usług w taktycznym systemie łączności wykorzystującym technikę sieciową IPv6 i
integracji systemów bazujących na IPv4”. We wstępie przedstawiona została usystematyzowana przez
międzynarodową organizację standaryzacyjną ITU-T architektura QoS, na bazie której sprecyzowany został
obszar oraz funkcjonujące w nim mechanizmy stanowiące przedmiot niniejszego referatu. W dalszej części
dokonano szczegółowej specyfikacji mechanizmów płaszczyzny sterowania proponowanych do
zastosowania w routerze sieci IPv6 taktycznego systemu łączności STORCZYK 2010, będącego obiektem
implementacji proponowanych rozwiązań. W celu lepszego zrozumienia kompleksowego funkcjonowania
mechanizmów płaszczyzny sterowania, jako pierwsza przedstawiona została funkcja nadzorowania
przyjmowania zgłoszeń (AC), następnie routing QoS, a na końcu mechanizmy sygnalizacyjne bazujące na
wypracowanych przez nie decyzjach. Specyfikacja poszczególnych mechanizmów zawiera elementy
standardowe oraz propozycje rozszerzeń koniecznych do spełnienia wymagań specjalnych systemów
łączności w zakresie realizacji usług połączeniowych z zadaną jakością.
1. Wprowadzenie
Obiektem implementacji przedstawionych w referacie mechanizmów QoS jest system
STORCZYK 2010. Jest to system łączności wprowadzany do polskich Sił Zbrojnych jako kolejna
generacja systemu eksploatowanego i rozwijanego od kilkunastu lat. W pierwszej wersji, system
wyposażony był w urządzenia pracujące w trybie komutacji kanałów, a transmisja danych
realizowana była w trybie modemowym. Prowadzone w kolejnych latach prace rozwojowe systemu
pozwoliły na zwiększenie jego funkcjonalności oraz wyposażenie w urządzenia komutacji
pakietów. Obecnie system STORCZYK przystosowany jest do pracy z protokołem IPv4 w trybie
„best effort”. W wersji STORCZYK 2010 zaproponowano zastosowanie routerów (zbudowanych w
oparciu o rozwiązania firmowe producenta systemu) wykorzystujących protokół sieciowy IPv6.
Zgodnie z zaleceniami NATO dla systemów bazujących na protokole IPv6, muszą one posiadać
zdolność do realizacji usług telekomunikacyjnych z uwzględnieniem ich jakości. Dlatego konieczne
było zaproponowanie mechanizmów wspierających QoS oraz ich implementacja w urządzeniach
systemu odpowiedzialnych za realizację komutacji pakietów IP.
Standardowe mechanizmy QoS dla sieci pakietowych IP zostały zdefiniowane w zaleceniu
ITU-T Y.1291 [2], w którym zgodnie z przedstawioną tam architekturą zostały pogrupowane i
umiejscowione na trzech płaszczyznach architektury logicznej (sterowania, danych oraz
zarządzania)[2]. Docelowym rozwiązaniem wsparcia jakości usług w sieciach specjalnych powinno
być zastosowanie wszystkich mechanizmów architektury QoS związanych zarówno ze schematem
DiffServ płaszczyzny danych, jak i schematem IntServ płaszczyzny sterowania. Rozwiązanie takie
pozwoli na zapewnienie pełnej gwarancji jakości usług, tzw. twardy QoS. Na potrzeby realizacji
Projektu Badawczo-Rozwojowego (PBR nr 0 R00 0024 06) pt.: „Metoda gwarantowania jakości
usług w taktycznym systemie łączności wykorzystującym technikę sieciową IPv6 i integracji
systemów bazujących na IPv4” wyspecyfikowano cztery podstawowe klasy usług sieciowych:
• RT – przeznaczona dla transmisji stumieniowych, np. głos, wideo,
• NRT-TC – przeznaczona dla krótkotrwałych transmisji połączeniowych TCP, np.
informacje sterujące, sygnalizacja,
•
•
NRT – przeznaczona do długotrwałych transmisji połączeniowych TCP, np. HTTP, FTP
BE – przeznaczona dla pozostałych transmisji nie wygmagających gwarancji jakości.
oraz przyjęto założenie, że pełna gwarancja jakości zgodnie ze schematem IntServ realizowana
będzie tylko dla strumieniowych usług czasu rzeczywistego RT.
W związku z powyższym, mechanizmami będącymi obiektem niniejszego referatu są
mechanizmy modelu IntServ umiejscowione w płaszczyźnie sterowania. Zwane są
„wysokopoziomowymi” i działają na poziomie wywołań (na poziomie strumieni, przepływów i
sesji). Należą do nich:
• funkcja nadzorowania przyjmowaniem zgłoszeń,
• routing QoS.
• rezerwacja zasobów,
• sygnalizacja.
Mechanizmy nadzorowania przyjmowaniem zgłoszeń AC (ang. Admission Control) podejmują
decyzję związaną z odrzuceniem lub przyjęciem określonego strumienia danych do sieci jeżeli
posiada ona zasoby wystarczające do obsługi tego strumienia z żądanymi parametrami QoS.
Prawidłowe działanie mechanizmu AC gwarantuje, że przyjęcie nowego zgłoszenia nie pogorszy
jakości już obsługiwanych połączeń. Pozwala tym samym kontrolować obciążenie w sieci i unikać
przeciążeń (zatorów). Mechanizmy routingu QoS są odpowiedzialne za wyznaczenie trasy (ścieżki)
transmisji danych, na której znajdą się wyłącznie elementy sieciowe będące w stanie zrealizować
daną usługę z parametrami jakościowymi QoS określonymi w żądaniu połączenia. Mechanizmy
routingu QoS ściśle współdziałają z mechanizmami rezerwacji zasobów.
Rezerwacja zasobów, zgodnie z założeniami modelu IntServ realizowana jest dla pojedynczych
lub zagregowanych strumieni danych. Umożliwia aplikacji inicjującej zgłoszenie węzłom sieci
(routerom) wymagań dotyczących parametrów QoS i na ich podstawie dokonuje rezerwacji
zasobów w węzłach wzdłuż trasy przesyłu danych wyznaczonej przez routing QoS. Każdy router
przyjmujący i realizujący żądania przechowuje informacje o dokonanych rezerwacjach wraz z
informacją o skojarzonym strumieniu danych. W przypadku usług połączeniowych wymagających
wymiany informacji inicjujących właściwą transmisję danych pomiędzy terminalami końcowymi,
stosowane są protokoły sygnalizacyjne odpowiedzialne za ustanowienie sesji (połączenia).
Powinny one wspierać realizację usług z wymaganą jakością (QoS) przekazując współpracującym
elementom sieci (routerom brzegowym) żądane parametry jakościowe, na podstawie których,
mechanizmy rezerwacji ustalą i przydzielą niezbędne zasoby sieciowe na trasie wyznaczonej do
przesyłania pakietów IP należących do określonego strumienia danych.
W dalszej części referatu przedstawiono szczegółową specyfikację mechanizmów wsparcia
QoS płaszczyzny sterowania proponowanych do implementacji w urządzeniach systemu
STORCZYK 2010.
2. Mechanizm nadzorowania przyjmowaniem zgłoszeń (AC)
Podstawowym zadaniem mechanizmów AC jest przyjęcie nowych zgłoszeń tylko wtedy, gdy
ich realizacja nie spowoduje pogorszenia jakości już świadczonych usług. Sterowanie
przyjmowaniem nowych zgłoszeń ogranicza nadmierny ruch od użytkowników i zapewnia
poprawną realizację usług zgodnie z uzgodnieniami SLA (Service Level Agreement) ustalonymi
między użytkownikiem, a dostawcą usług.
Realizacja procesu decyzyjnego AC związana jest z dwoma zasadniczymi zagadnieniami:
a. Sposobem opisu i wartościami opisu wywołania, na podstawie których określane są
wymagania użytkownika oraz rezerwowane zasoby;
b. Sposobem monitorowania i pomiaru zasobów udostępnianych na potrzeby obsługi
wywołań strumieniowych RT.
Widać stąd, że każde żądanie realizacji usługi klasy RT, musi być opisane parametrami
zrozumiałymi przez estymator ruchu mechanizmu AC. Na ich podstawie określane są wymagania
ruchowe oraz jakościowe i porównywane z oszacowanymi przez estymator ruchu, wolnymi
zasobami sieci lub elementu sieciowego (routera). Przyjęcie zgłoszenia nastąpi wówczas, gdy
spełnione zostaną dwa warunki:
a. ilość wolnych zasobów jest większa lub równa wymaganym w żądaniu,
b. polityka mechanizmu AC dopuszcza przyjęcie danego wywołania.
Graficzna reprezentacja procesu decyzyjnego zaawansowanych mechanizmów nadzorowania
przyjmowaniem zgłoszeń (AC) przedstawiona została na rysunku 1.
AC (płaszczyzna sterowania)
Polityka
Układ decyzyjny CAC
AC
Porównanie (ruch/zasoby)
Estymator ruchu
Estymator zasobów
Strumień danych
Wywołanie (opis wywołania)
Zasoby systemu/łącza
Strumień danych(pakiety)
Strumienie w systemie/łączu
Strumienie
wyjściowe
Rys.1. Opis funkcjonalny mechanizmów przyjmowania zgłoszeń (AC)
W specyfikacji mechanizmów AC dla systemów łączności o specjalnym przeznaczeniu
przyjęto założenie, że każde z urządzeń sieciowych powinno podejmować samodzielnie decyzję
dotyczącą obsługi strumienia, bazując na:
a. informacjach zawartych w specyfikacji ruchowej opisującej nowy strumień danych;
b. informacji o aktualnych obciążeniach na bezpośrednio podłączonych łączach;
c. informacjach o aktualnej topologii sieci (węzłach i łączach) uzyskanej z podsystemu
zarządzania.
Powyższe uwarunkowania pozwalają przyjąć, że estymacja zasobów powinna opierać się na
algorytmach pomiarowych MBAC (Measurement-Based Admission Control), przy czym pomiary
powinny być wykonywane w każdym węźle pośrednim, PH MBAC (Per-Hop Measurement-Based
Admission Control). W związku z tym, w systemie powinien funkcjonować mechanizm warstwy
zarządzania odpowiedzialny za monitorowanie i pomiary w sieci, którego wyniki pracy pozwolą
oszacować zajętości zasobów w poszczególnych węzłach sieci, a także do nadzorować jakość
aktualnie realizowanych usług.
Na rysunku 2, przedstawiony został schemat procesu zestawiania połączenia z rezerwacją
zasobów, na podstawie którego wyjaśniona zostanie ogólna idea działania mechanizmów
nadzorowania przyjmowaniem zgłoszeń. Jak widać na rysunku, że mechanizmy AC powinny być
zaimplementowane zarówno w routerach (AC/rout) oraz terminalach (AC/term), w których
funkcjonalność AC może być uproszczona. Parametry wywołania przekazywane są w żądaniu
zestawienia połączenia za pomocą mechanizmów sygnalizacji i mogą być negocjowane pomiędzy
terminalami wywołującym i docelowym. Po zakończeniu procesu negocjacji, ustalone parametry
wywołania, w stacji roboczej A przekazywane są do modułu rezerwacji, który przy współpracy z
mechanizmami AC w terminalu wyjściowym (AC/term) określa możliwość przekazania wywołania
do routera brzegowego skojarzonego z tą stacją roboczą. Akceptacja wywołania powoduje dalsze
przesyłanie wiadomości rezerwacyjnych, przez wszystkie węzły sieci, aż do osiągnięcia docelowej
stacji roboczej B.
Stacja robocza A
Stacja robocza B
Ruter 1
sygnalizacja
(15)
Aplikacja
RT
Routing
QoS
(2)
(4)
RSVP
(3)
Ruter n
(1)
(14)
sygnalizacja
Routing
QoS
(5)
(7)
RSVP
(8)
RSVP
(13)
(6)
(9)
(10)
RSVP
(12)
Aplikacja
RT
(11)
….
AC/term
AC/rout
AC/rout
(16)
dane
AC/term
dane
Rys.2. Proces zestawiania połączenia z rezerwacją zasobów
Mechanizm AC w terminalach powinien realizować wstępną procedurę decyzyjną o przyjęciu
zgłoszenia do obsługi. Z uwagi na konieczność uproszczenia procesu AC, proponuje się
wykorzystanie algorytmu prostego sumowania dla interfejsu wyjściowego. Wywołanie jest
akceptowane, jeżeli spełnione są warunki zdefiniowane wzorem (1):
v + rα ≤ C
gdzie: rα - przepływność strumienia zgłaszanego (deklarowana)
v - suma wszystkich rezerwacji na łączu
(1)
C - przepustowość łącza przeznaczona dla danej klasy usług
Przyjęcie wywołania w terminalu pozwala na inicjację rezerwacji dla tego wywołania na
interfejsie wyjściowym terminala i rozpoczęcie rezerwacji w routerze brzegowym sieci
znajdującym się na ścieżce rezerwowanej. Moduł rezerwacji w takim routerze, na podstawie
informacji z terminala musi komunikować się z procesem routingu QoS. Na podstawie informacji
zwrotnej z modułu routingu QoS, określany jest interfejs wyjściowy dla wywołania i wysyłane
zapytanie o możliwość realizacji żądanego wywołania do modułu AC/rout. Mechanizmy AC w
routerze (AC/rout) powinny zapewnić lepsze wykorzystanie zasobów, niż AC w terminalach przy
wykorzystaniu algorytmu prostego sumowania. Zamiast tego można wykorzystać metodę pomiaru
sumy średnich przepływności, według której nowe połączenie jest przyjmowane jeżeli spełnione są
warunki określone wzorem (2):
Nk
rα +
∑r
i
≤ ρkCk
i =1
(2)
gdzie: rα - przepływność szczytowa strumienia zgłaszanego
ri - przepływność średnia strumienia zgłaszanego
Nk - oznacza liczbę połączeń aktualnie w obsłudze
ρk - maksymalne natężenie ruchu na łączu/ (części łącza) dla k-tej klasy ruchu. ρ∈(0,1)
Ck- przepustowość łącza przeznaczona dla danej klasy usług
Sumaryczna wartość przepływności składowych strumieni ri może być zastąpiona wartością
średniej zagregowanej wartości obciążenia łącza otrzymaną w wyniku pomiarów. Zakładając, że
wywołania będą obsłużone według modelu M/D/1/B* można wyznaczyć wielkość współczynnika
ρk według wzoru (3):
ρk =
2 Bk
2 Bk − ln(Prk )
(3)
gdzie: ρk – maksymalne natężenie ruchu na łączu/ (części łącza) dla k-tej klasy ruchu.
Bk – wielkość bufora dla k-tej klasy ruchu
Prk – prawdopodobieństwo utraty pakietu
Przy założeniu, że maksymalna wartość Prk dla usług RT wynosi 10-3, wyliczona wielkość
natężenia ruchu na łączu ρk wynosi ok. 0.85. Dodatkowo, ustalając określoną wielkość bufora dla
k-tej klasy ruchu można parametryzować próg decyzyjny zastosowanego mechanizmu AC.
Spełnienie warunku określonego wzorem (2) przez strumień nowego wywołania rα pozwala
modułowi rezerwacji zasobów na wstępną rezerwację w routerze i wysłania żądania do następnego
routera na trasie określonej przez routing QoS. Działania AC/rout w routerach pośrednich na
ścieżce rezerwowanej oraz interakcje z mechanizmami rezerwacji oraz routingu QoS powinny być
identyczne jak opisane powyżej dla routera brzegowego.
Negatywna decyzja mechanizmu AC o przyjęciu nowego wywołania w dowolnym elemencie
na ścieżce połączenia (terminalu lub routerze) będzie skutkować wstrzymaniem procesu rezerwacji.
W efekcie stacja robocza inicjująca takie wywołanie może ponowić wywołanie z niższymi
wymaganymi parametrami QoS, zestawić połączenie bez wymagania gwarancji lub zaniechać
realizacji usługi.
Mechanizmy AC współdziałają z modułami rezerwacji (np. RSVP) tylko w kierunku od stacji
inicjującej połączenie zgodnie z kierunkiem wysyłania komunikatów wstępnej rezerwacji PATH.
Nie partycypują jednak w obsłudze komunikatów zwrotnych RESV, potwierdzających rezerwację,
ponieważ w przypadku braku akceptacji wywołania w którymkolwiek z węzłów pośrednich proces
zestawiania ścieżki zostaje przerwany, a do odbiorcy wysyłany zostaje komunikat o odrzuceniu
żądania rezerwacji (komunikat o błędzie).
Jak wcześniej wspomniano, mechanizmy AC ściśle współpracują z mechanizmami rezerwacji,
które z kolei dokonują rezerwacji zasobów na ścieżkach ustalonych przez routing QOS dla
wybranej klasy usług. W następnym rozdziale opisana została specyfikacja routingu QoS
proponowana do zastosowania w specjalnych systemach łączności.
3. Routing QoS
W celu lepszego zrozumienia idei routingu QoS warto przywołać definicję opracowaną przez
międzynarodową organizację standaryzacyjną IETF, która routing QoS definiuje następująco [5]:
„Routing QoS to taki mechanizm wyszukiwania tras, który określa ścieżki dla przepływów w
oparciu o pewną wiedzę o dostępnych zasobach sieci jak również w oparciu o wymagania QoS dla
tych przepływów.”
Aby wymagania QoS mogły być uwzględnione przez mechanizm routingowy, należy
zastosować odpowiednie miary parametrów sieci – metryki. Wyrażają one jeden, bądź kombinację
kilku parametrów QoS i odnoszą się do konkretnego interfejsu wyjściowego urządzenia routującego
lub przypadku routingu międzydomenowego, fragmentów sieci. Metryką może być przepustowość
łącza, opóźnienie na łączu, wartość jitter’a, straty pakietów.
*
M/D/1/B - system kolejkowy opisany wg notacji Kendalla (TMO - teoria masowej obsługi) M - markowski (zgodnie z
rozkładem Poissona) czas przybycia danych do kolejki, D - deterministyczny czas obsługi, 1 - jedno stanowisko
obsługi, B - wielkość bufora kolejki.
Na rysunku 2 przedstawiono ideę przejścia od klasycznego rutingu, nieuwzględniającego
wymagań ruchu co do jakości przekazu, do rutingu wspomagającego mechanizmy QoS. Routing
taki uwzględnia wymagania jakości zgłaszane przez ruch napływający do interfejsu wejściowego
routera, kierując go do sieci docelowej ścieżką o zadanych parametrach.
Wiedza o adresie
docelowym
Tablica rutingu
Ruch napływający
do rutera
Decyzja o wyborze trasy
W iedza
o połączeniach
A
Ruch wychodzący
z rutera
W iedza o adresie
docelowym
Tablica rutingu
Ruch napływający
do rutera
Baza informacji
o topologii sieci
i parametrach łączy
Decyzja o wyborze trasy
Wiedza
o połączeniach
i zasobach sieci
B
Ruch wychodzący
z rutera
Wiedza o adresie
docelowym
Tablica rutingu
Ruch napływający
do rutera
Wiedza
o połączeniach
i zasobach sieci
W iedza o
wymaganiach QoS
C
Baza informacji o
topologii sieci i
parametrach łączy
Decyzja o wyborze trasy
Ruch wychodzący
z rutera
Rys. 3. Trzy tryby obsługi ruchu przez router [12]
Na rysunku 3 przedstawiono kolejno:
a. Tradycyjny routing na podstawie adresu docelowego i tablicy rutingu;
b. Routing na podstawie adresu docelowego i tablicy rutingu zbudowanej w oparciu o
pewną wiedzę o właściwościach łączy (realizowany np. przez protokół OSPF wg
[6]);
c. Routing QoS na podstawie adresu docelowego i tablicy rutingu zbudowanej w
oparciu o pewną wiedzę o właściwościach łączy oraz wymaganiach zgłaszanych
przez ruch napływający do routera (realizowany przez protokół OSPF z
rozszerzeniami QoS).
Routing realizowany jak w punkcie c jest zgodny z definicją rutingu QoS zamieszczoną w
zaleceniu IETF [5]. Protokołem rutingu dynamicznego najlepiej odpowiadającym potrzebom
specjalnych systemów łączności jest OSPFv3. Zaproponowano modyfikację jego funkcjonowania
w celu spełnienia wymagań IETF na architekturę rutingu QoS zawartą w zaleceniu [5].
Na wstępie przyjęto założenie, że w sieci łączności o specjalnym przeznaczeniu metryką jest
opóźnienie transmisji pakietów poprzez interfejs wyjściowy routera, oraz że funkcjonuje w niej
mechanizm pomiarowy (w płaszczyźnie zarządzania architektury QoS) gromadzący informacje
dotyczące opóźnień na poszczególnych łączach.
Poniżej, w punktach, został przedstawiony zaproponowany w projekcie badawczorozwojowym algorytm realizacji funkcji protokołu routingu QoS w wersji dla IPv6 i towarzyszące
temu funkcje i procedury dodatkowe.
I. Po uruchomieniu urządzeń systemu:
1. Na każdym routerze w systemie uruchamiają się cztery instancje protokołu OSPFv3, każda
wyróżniona numerem 1 – 4 w polu nagłówka „Instance ID” (jego umiejscowienie w
nagłówku pakietu wskazuje zaznaczenie na rysunku 4). Od tej chwili w całym systemie
funkcjonują równolegle cztery instancje protokołu działające niezależnie.
Rys. 4. Nagłówek pakietu OSPFv3
2. Procedury pomiarowe ustalają wartości opóźnienia na wszystkich łączach i przekazują je do
bazy danych (na przykład na komputerze administratora sieci).
3. Routery, przy pomocy standardowych procedur (wymiana komunikatów Hello, LSA),
uzyskują wiedzę o topologii sieci.
4. Utworzony specjalnie skrypt przypisuje poszczególnym łączom (na każdym routerze) koszt
na postawie wartości pomiarowej metryki uzyskanej z bazy danych. Nie zachodzi przy tym
potrzeba modyfikowania drzewa połączeń wyznaczonych przez algorytm Dijkstry,
ponieważ metryka reprezentująca opóźnienie jest:
a. addytywna, tak samo jak koszt wyznaczony na podstawie domyślnej metryki opartej
na przepustowości,
b. ma tę samą wagę – im mniejsza wartość tym lepsze właściwości łącza.
5. W trzech z czterech utworzonych przez standardowe procedury tablicach rutingu, należy
wyeliminować ścieżki o parametrach opóźnieniowych przekraczających dopuszczalne
wartości:
a. IPTD>100ms dla tabeli routingowej nr 1,
b. IPTD>400ms dla tabeli routingowej nr 2,
c. IPTD>1000ms dla tabeli routingowej nr 3,
d. czwarta tabela przeznaczona jest do obsługi ruchu klasy BestEffort.
6. Poszczególne instancje protokołu OSPFv3 (1÷4), przy pomocy odpowiadających im tablic
routingowych (1÷4) przeznaczone będą do obsługi strumieni ruchu następujących typów:
a. RT – tabela routingowa nr1, instancja OSPF nr1;
b. NRT-TC – tabela routingowa nr2, instancja OSPF nr2;
c. NRT – tabela routingowa nr3, instancja OSPF nr3;
d. BE – tabela routingowa nr4, instancja OSPF nr4;
Klasa usług sieciowych, do której należy dany strumień będzie określana na podstawie pola TC
w nagłówku IPv6 lub na podstawie informacji przekazanych w nagłówkach protokołu rezerwacji
zasobów oraz sygnalizacji, których specyfikację przedstawiono w następnym rozdziale.
4. Sygnalizacja i rezerwacja zasobów
Wybranym do zastosowania protokołem sygnalizacji jest protokół SIP dedykowany do sieci IP
wykorzystujących technologię VoIP (ang. Voice over IP). Wybór podyktowany został łatwością
implementacji oraz propozycjami zastosowania protokołu SIP w innych projektach mających na
celu osiągnięcie zdolności sieciocentrycznej przez systemy narodowe państw NATO. Ponadto
przyjęto, że protokół sygnalizacji będzie współpracował z mechanizmami rezerwacji zasobów,
których funkcje będą realizowane za pomocą protokołu RSVP. Oba protokoły muszą ściśle ze sobą
współpracować w celu prawidłowego zestawienia ścieżki dla transmisji danych z określonymi
parametrami jakości usług. Proces zestawiania połączenia pomiędzy terminalami powinien być
nadzorowany przez protokół SIP, za pomocą którego terminale jednocześnie będą przekazywały
elementom sieciowym (routerowym modułom RSVP) informacje o jakości obsługi żądania. Na
podstawie tych danych protokół RSVP (na ścieżce ustalonej przez routing QoS) dokona rezerwacji
zasobów do transmisji pakietów z zadaną jakością. Na rysunku 5 przedstawiona została architektura
systemu wraz z umiejscowieniem implementacji poszczególnych protokołów.
RSVP
RSVP
RSVP
RSVP
RSVP
SIP/RSVP
SIP/RSVP
SIP
SIP
WAS – sieć szkieletowa (Wide Area Subsystem)
LAS – sieć lokalna (Local Area Subsystem)
MANET – mobilna sieć radiowa (Mobile Adhoc NETwork)
Rys. 5. Umiejscowienie implementacji protokołów sygnalizacji w architekturze systemu.
Jak widać na powyższym rysunku, implementacja protokołów sygnalizacyjnych SIP/RSVP
została zaproponowana w routerach sieci szkieletowej oraz odpowiedzialnych za komutację
pakietów przychodzących i wychodzących z/do sieci szkieletowej (routery brzegowe). Wynika to z
przyjętych założeń dotyczących rozdziału funkcjonalności protokołów SIP i RSVP pomiędzy
poszczególne podsystemy. Proponuje się, aby protokół SIP, wspierał realizację usług z wymaganą
jakością (QoS) w sieciach lokalnych oraz w dostępie do sieci szkieletowej przekazując
odpowiednim elementom systemu (routerom brzegowym) informacje o wymaganych parametrach
połączenia. Protokół RSVP bazując na informacjach przekazanych przez SIP będzie dokonywał
rezerwacji zasobów w sieci szkieletowej, tj. ustalał niezbędne zasoby na ścieżce wyznaczonej do
przesyłania pakietów IP z określonymi parametrami ruchowymi i jakościowymi.
W związku z powyższym, konieczne jest określenie sposobu przenoszenia parametrów QoS
oraz zasad współpracy obu mechanizmów sygnalizacyjnych, tj. mapowania wiadomości
sygnalizacyjnych, stanów sygnalizacji oraz innych charakterystycznych dla danego protokołu
funkcjonalności.
W celu zapewnienia wsparcia dla realizacji usług z zadaną jakością przez protokół sygnalizacji
proponuje się dodanie dodatkowego klucza (pola informacyjnego) w sekcji SDP (pole wiadomości)
komunikatu SIP. Pole to oznaczone będzie jako „q=” i będzie zawierało informacje o klasie usługi
oraz parametrach jakościowych:
q=<TC> <r rate> <d delay> <j jitter> <p packet loss>
gdzie:
TC
rate
delay
jitter
packet loss
- klasa usługi,
- wymagana szybkość transmisji danych,
- maksymalne dopuszczalne opóźnienie transmisji pakietów,
- maksymalna dopuszczalna zmienność opóźnienia,
- maksymalna dopuszczalna stopa straty pakietów.
Standardowy proces zestawiania połączenia za pośrednictwem protokołu SIP nie uwzględnia
procedury rezerwacji zasobów sieci. Stąd pojawia się niedogodność polegająca na tym, że protokół
SIP może zestawić połączenie zanim zasoby sieci zostaną przydzielone dla konkretnego połączenia
lub zasoby zostaną zarezerwowane, a połączenie nie zostanie zestawione. Rozwiązaniem
powyższego problemu jest implementacja mechanizmów opisanych w zaleceniu [8]. Zalecenie to
wprowadza modyfikacje w komunikatach protokołu SIP w podobny sposób, jak opisano to
powyżej. Modyfikacje komunikatów SIP polegają na dodaniu dodatkowych kluczy „a=” do
protokołu SDP opisujące warunki wstępne oraz stany realizacji rezerwacji.
Parametry QoS przenoszone w wiadomości SIP (klucz „q=” protokołu SDP), w routerze
brzegowym inicjującym procedurę rezerwacji w sieci, powinny być odpowiednio przepisane do
wiadomości protokołu RSVP. U źródła, tj. w routerze brzegowym występującym po stronie
terminala inicjującego, parametry zawarte w kluczu „q=” powinny być przepisane do elementu
AdSpec wiadomości PATH protokołu RSVP rozpoczynającej procedurę rezerwacji, tzw. wstępna
rezerwacja. Bezpośrednio przepisane mogą być jedynie parametry:
a. r rate („q=”) → Min_Path_Bandwidth <1,6> (PATH_RSVP),
b. d delay („q=”) → Max_Path_Latency <1,8> (PATH_RSVP),
W zależności od żądanej klasy usługi, wielkość przepływności (szybkości transmisji danych)
może być opisywana (w elemencie AdSpec) parametrem minimalnej wymaganej przepływności
(Min_Path_Bandwidth <1,6>) lub dostępnej (Available_Path_Bandwidth <1,5>).
Pozostałych parametrów klucza „q=” protokołu SIP/SDP nie można bezpośrednio przepisać do
pola AdSpec wiadomości PATH_RSVP, dlatego powinny one być odpowiednio [9] przeliczone na
parametry elementu Sender_Tspec zawierającego parametry ruchowe, wykorzystywane do
konfiguracji buforów typu Token Bucket (b – wielkość „wiadra”, r – szybkość napływania
żetonów).
Właściwa rezerwacja odbywa się poprzez przesłanie w kierunku przeciwnym (do kierunku
transmisji wiadomości PATH) wiadomości RESV_RSVP, która zawiera element FlowSepc.
Element ten składa się z pola danych zawierającego parametry ruchowe Receiver_Tspec oraz Rspec
przenoszący właściwe parametry jakościowe. Są nimi:
a. parametr R – opisujący przepływność/szybkość transmisji,
b. parametr S – opisujący różnicę opóźnienia pakietów end-to-end pomiędzy żądanym,
a uzyskanym w wyniku rezerwacji ścieżki o przepustowości R (opóźnienie to
liczone jest w następujący sposób b/R).
Wartości powyższych parametrów strona odbiorcza przesyła kopiując z wiadomości
PATH_RESV w przypadku akceptacji propozycji (AdSpec) strony inicjującej lub ustalając je na
podstawie możliwości własnych aplikacji warstw wyższych.
Reasumując, w specjalnych systemach łączności w zakresie sygnalizacji zaleca się
implementację protokołu SIP z rozszerzeniem jego funkcjonalności o klucze „q=” protokołu opisu
sesji SDP, którego wartości poszczególnych parametrów odczytywane byłyby przez moduły RSVP
we wszystkich elementach sieciowych na ścieżce połączenia wyznaczonej przez protokół routingu
QoS. W przypadku żądania o wyższych parametrach niż aktualna zdolność elementu sieciowego,
decyzję o przyjęciu zgłoszenia podejmowałaby funkcja AC.
5. Zakończenie
W niniejszym referacie przedstawione zostały specyfikacje mechanizmów płaszczyzny
sterowania architektury QoS, tj. nadzorowania przyjmowaniem zgłoszeń, routingu QoS,
sygnalizacji i rezerwacji zasobów wraz z ich rozszerzeniami. Zgodnie z informacją zawartą we
wstępie, proponowane rozwiązania planowane są do implementacji w taktycznym systemie
łączności STORCZYK 2010.
W celu zapewnienia pełnego wsparcia dla realizacji usług z zadaną jakością mechanizmy te
powinny ściśle ze sobą współpracować na zasadach opisanych w treści odpowiednich rozdziałów.
Zaproponowana funkcja nadzorowania przyjmowania zgłoszeń bazuje na pomiarach aktualnej
przepustowości łączy i jest ona mechanizmem prostym do implementacji. Jest ona implementowana
razem z mechanizmem rezerwacji zasobów, protokołem RSVP, który dokonuje rezerwacji w
kolejnych elementach sieciowych (routerach) znajdujących się na ścieżce połączenia (trasie) dla
danej klasy usługi wyznaczonej przez dedykowaną dla niej instancję protokołu OSPFv3. Protokół
ten buduje tablice routingu w oparciu o metryki odwzorowujące opóźnienie transmisji pakietów
danej klasy poprzez poszczególne łącza. W przypadku usług typu połączeniowego, np. głos, wideo,
niezbędny do ustanowienia połączenia (sesji multimedialnej) jest protokół sygnalizacyjny. Dla
specjalnych systemów łączności zaproponowany został protokół SIP (rekomendowany również
przez organizacje NATO), którego funkcjonalność proponuje się rozszerzyć o możliwości
przekazywania żądań realizacji połączenia z wymaganymi parametrami jakości. Ponieważ usługi
połączeniowe są z reguły usługami czasu rzeczywistego, w związku z tym dla pełnej gwarancji ich
jakości zgodnej z wymaganiami przekazanymi w żądaniu, dokonuje się rezerwacji części zasobów
sieciowych na wyłączność strumienia danych tej usługi. Dlatego zaistniała konieczność współpracy
protokołu sygnalizacji SIP z protokołem rezerwacji RSVP polegająca na takiej jego modyfikacji,
aby w procesie zestawiania połączenia z określonymi parametrami QoS uwzględniony został czas
oraz inne czynniki procedury rezerwacji.
Przedstawione w niniejszym referacie specyfikacje mechanizmów płaszczyzny sterowania
architektury QoS (model IntServ) dokładniej opisane są w dokumentach sprawozdawczych
Projektu Badawczo-Rozwojowego (PBR nr 0 R00 0024 06) pt.: „Metoda gwarantowania jakości
usług w taktycznym systemie łączności wykorzystującym technikę sieciową IPv6 i integracji
systemów bazujących na IPv4”.
Literatura
1.
Krzysztof Strzelczyk, Koncepcja gwarantowania jakości usług w taktycznych sieciach IP,
WIŁ 597/2009/PBR, 2009.
2. ITU-T Recommendation Y.1291, An architectural framework for support of Quality of Service
in packet networks, 05/2004.
3. A. Grzech, Sterowanie ruchem w sieciach teleinformatycznych, Oficyna Wydawnicza
Politechniki Wrocławskiej, Wrocław, 2002 r.
4. S. Kaczmarek, Piotr Żmudziński, Metody Admission Control oparte na pomiarach, PWT,
Poznań, 2004 r.
5. RFC 2386, A Framework for QoS-based Routing in the Internet, IETF, 1998.
6. RFC 5340, OSPF for IPv6, IETF, 2008.
7. RFC 3261, SIP: Session Initiation Protocol, IETF, 2002.
8. RFC 3312, Integration of resource Management and Session Initiation Protocol (SIP), IETF,
2002.
9. RFC 2212, Specification of Guaranteed Quality of Service, IETF, 1997.
10. Zespół pracowników WIŁ, Specyfikacja mechanizmów rezerwacji zasobów w taktycznych
sieciach IP, WIŁ 613/2009/PBR, 2009.
11. Jacek Pszczółkowski, Specyfikacja mechanizmów przyjmowania zgłoszeń w taktycznym
systemie łączności wykorzystującym technikę IPv6, WIŁ 50/2010/PBR, 2010.
12. Mirosław Ruszkowski, Specyfikacja mechanizmów QoS rutingu w taktycznym systemie
łączności wykorzystującym technikę IPv6, WIŁ 51/2010/PBR, 2010.
13. Rafał Bryś, Specyfikacja mechanizmów sygnalizacji w taktycznym systemie łączności
wykorzystującym technikę IPv6, WIŁ 52/2010/PBR, 2010.