2004
Poznańskie Warsztaty Telekomunikacyjne Poznań 9 - 10 grudnia 2004 Sylwester Kaczmarek
Politechnika Gdańska, Gdańsk
Wydział ETI, Katedra Systemów i Sieci Telekomunikacyjnych kasyl@eti.pg.gda.pl
Marek Wlizło
DGT Sp. z o.o., Gdańsk Marek.Wlizlo@dgt.com.pl
ANALIZA SYSTEMÓW WSPÓŁPRACY GATEKEEPERÓW
Streszczenie: Referat obejmuje zagadnienia związane z zapewnieniem współpracy pomiędzy gatekeeperami pracu- jącymi w systemie VoIP działającym w oparciu o zbiór zaleceń ITU-T H.323. Zaprezentowano podstawowe topolo- gie pracy gatekeeperów. Uwzględniono omówienie pojęć związanych z alternatywnymi gatekeeperami. Przedstawio- no wykorzystywaną implementację gatekeepera, modele laboratoryjne i przyjęte scenariusze. Omówiono wyniki badań i dalsze prace związane z tematem gatekeeperów.
1. WPROWADZENIE
Gatekeeper to fundamentalny element w sieci H.323. Bez gatekeepera nie da się zrealizować żadnych dodatkowych usług typu: połączenia konferencyjne lub dostęp do sieci publicznej poprzez gateway. Gatekeeper jest punktem centralnym służącym do kontroli i zarzą- dzania połączeniami realizowanymi w systemie VoIP działającym w oparciu o zbiór zaleceń ITU-T H.323 [1].
Pomimo, iż gatekeepery nie są wymagane w systemach H.323 to dostarczają one wielu ważnych usług takich jak: translacja adresów, autoryzacja abonentów i uwie- rzytelnianie terminali/gatewayów, kontrola pasma, reali- zacja billingu itp. W systemie VoIP może występować wiele współpracujących ze sobą gatekeeperów. Gateke- eper może fizycznie współistnieć na jednej platformie sprzętowej z innym elementem systemu H.323 (np. in- nym gatekeeperem lub terminalem). Gatekeeper wraz z obsługiwanymi przez niego elementami systemu H.323 tworzą tzw. strefę (Rys.1). W danej strefie w danym momencie może być aktywny tylko jeden gatekeeper, choć fizycznie może się on składać z wielu urządzeń. W systemie H.323 może współistnieć wiele stref, a dzięki zapewnieniu współpracy pomiędzy nimi możliwa jest realizacja połączeń międzystrefowych. Współpraca ta polega na wymianie wiadomości sygnalizacyjnych po- między gatekeeperami.
Gatekeepery mogą pracować w klastrach wydajno- ściowych (współpraca gatekeeperów sąsiednich) oraz niezawodnościowych (korzystanie z usług gatekeeperów alternatywnych).
Jeśli w systemie nie występuje gatekeeper, to nikt nie ma żadnej technicznej kontroli nad wykorzystaniem zasobów sieciowych. Użytkownicy mogą dowolnie ob-
ciążać łącze sieciowe dowolnym ruchem. Wtedy nawet przy korzystaniu z sieci zapewniającej gwarancję QoS (Quality of Service) a przy braku pasma dla przenoszenia połączeń, niektóre połączenia mogą być realizowane przy obniżonej jakości lub wcale nie dojdą do skutku.
Ponadto punkty końcowe przy braku gatekeeperów nie mogą adresować abonentów żądanych przy pomocy aliasów, lecz jedynie z wykorzystaniem ich adresów IP.
Rys. 1. Strefa i elementy ją tworzące
Referat jest zorganizowany w ten sposób, że w roz- dziale drugim zaprezentowano cechy funkcjonalne ga- tekeepera. Następnie w rozdziale trzecim omówiono dwie podstawowe topologie pracy gatekeeperów: płaską i hierarchiczną, oraz przybliżono zagadnienie współpra- cy gatekeepera z gatekeeperami alternatywnymi. W rozdziale czwartym zaprezentowano wykorzystywaną implementację gatekeepera oraz opisano przebieg badań laboratoryjnych omówionych w rozdziale czwartym schematów współpracy gatekeeperów. W rozdziale pią- tym podsumowano wyniki badań oraz wytyczono tok dalszych prac w tym temacie.
2. FUNKCJONALNOŚĆ GATEKEEPERA Gdy gatekeeper występuje w systemie, to powinien obowiązkowo świadczyć następujące usługi:
• translacji adresów (Address Translation) – gateke- eper powinien dokonywać zamiany aliasów na adresy transportowe
1, przy użyciu tablicy translacji, aktuali- zowanej np. poprzez wiadomości RRQ (Registration Request),
1
Adres transportowy tworzy para: adres sieciowy IP i identyfikator TSAP (numer portu)
1
• kontroli dostępu (Admission Control) – gatekeeper powinien autoryzować dostęp do sieci VoIP, wykorzy- stując wiadomości ARQ/ACF/ARJ (Admission Requ- est/Admission Confirmation/Admission Reject), do- stęp ten może być zależny od autoryzacji połączenia, szerokości dostępnego pasma lub innych kryteriów (producent może je sam określić), funkcję kontroli do- stępu można oczywiście wyłączyć,
• kontroli pasma (Bandwidth Control) – gatekeeper powinien obsługiwać wiadomości BRQ/BCF/BRJ (Bandwidth Change Request/Bandwidth Change Con- firmation/Bandwidth Change Reject) związane z za- rządzaniem pasmem, pomimo tego gatekeeper nie mu- si mieć zaimplementowanych mechanizmów zarzą- dzania pasmem – akceptuje wtedy wszystkie żądania o przydział pasma,
• zarządzania strefą (Zone Management) – gatekeeper powinien dostarczać wyżej wymienionych usług dla terminali, MCU (Multipoint Control Units) i gateway- ów zarejestrowanych u niego.
Gatekeeper może opcjonalnie świadczyć następują- ce usługi:
• obsługi sygnalizacji zgłoszeń (Call Control Signal- ling) – gatekeeper decyduje czy przetwarzać kanał sy- gnalizacji zgłoszeń zestawiony pomiędzy elementami końcowymi, czy też nie,
• autoryzacji połączenia (Call Authorization) – używa- jąc sygnalizacji H.225.0 gatekeeper może odmówić realizacji połączenia w przypadku błędnej autoryzacji,
• zarządzania pasmem (Bandwidth Management) – gatekeeper może kontrolować liczbę terminali jedno- cześnie korzystających z zasobów sieci, oznacza to, że w przypadku braku pasma potrzebnego do realizacji połączenia gatekeeper może go nie zrealizować, funk- cja ta dotyczy również przypadku przydzielania termi- nalowi dodatkowego pasma podczas trwania połącze- nia,
• zarządzania połączeniami (Call Management) – gatekeeper może posiadać listę aktywnych połączeń, by poinformować o stanie zajętości terminala, gdy jest do niego inne zgłoszenie, oraz by dostarczyć ją do funkcji zarządzania pasmem,
• modyfikacji aliasów – gatekeeper może przekazać terminalowi jego zmodyfikowany alias, którym powi- nien się on od tej pory posługiwać,
• translacji numerów na adresy sieciowe – gatekeeper może zamieniać przypisane numery na numerację zgodną z E.164 lub na adresy transportowe,
• zarządzania siecią gatekeeperów,
• rezerwacji pasma dla terminali,
• usługi katalogowe – odpowiedzialne między innymi za: skojarzenie użytkownika z punktem końcowym, obsługę funkcji książka telefoniczna i funkcji szybkie- go wybierania, wspomaganie konfiguracji punktu
końcowego, autoryzacja użytkownika.
W praktyce gatekeeper realizowany jest w postaci implementacji programowej uruchamianej na określonej platformie sprzętowej (np. profesjonalnych kompute- rach, PC, Sun).
3. SYSTEMY WSPÓŁPRACY GATEKEEPERÓW Gatekeeper uruchomiony jest na platformie sprzę- towej, która ma skończone możliwości obliczeniowe, w związku z tym może on obsłużyć w danym momencie ograniczoną liczbę punktów końcowych. Stąd w syste- mach, w których występuje duża liczba punktów końco- wych zachodzi potrzeba stosowania większej liczby gatekeeperów. W związku z tym należy umożliwić ko- munikację pomiędzy punktami końcowymi obsługiwa- nymi przez różne gatekeepery. Ponadto, nierzadko ko- nieczne jest wprowadzenie logicznego podziału abonen- tów przykładowo ze względu na ich różne rozmieszcze- nie geograficzne. Rozwiązaniem jest zbudowanie syste- mu połączeń pomiędzy gatekeeperami zlokalizowanymi w strukturze płaskiej lub/oraz w strukturze hierarchicz- nej gatekeeperów, w którym poszczególne gatekeepery współpracują ze sobą wymieniając odpowiednie wiado- mości. Użyta topologia połączeń gatekeeperów determi- nuje w jaki sposób zgłoszenia będą rutowane przez ga- tekeepery, a to wymusza implementację określonych planów numeracyjnych. Wyróżnia się dwie główne topo- logie sieci gatekeeperów: płaską i hierarchiczną.
W topologii płaskiej (Rys. 2) każdy gatekeeper mu- si znać lokalizację swoich gatekeeperów sąsiednich (przykładowo dla GK_7 gatekeeperami sąsiednimi są:
GK_1 i GK_6). Zgodnie z zasadami przyjętymi przez
twórców wykorzystywanej w badaniach implementacji
gatekeepera (patrz rozdział 4) każdy gatekeeper posiada
tablicę z adresami IP przypisanych jemu gatekeeperów
sąsiednich. Z tablicy tej gatekeeper korzysta w przypad-
ku konieczności obsługi połączeń wychodzących i przy-
chodzących do jego strefy. Jeśli w rozległej sieci VoIP
zbudowanej w oparciu o płaską topologię gatekeeperów
(może być ich kilkadziesiąt) dochodzi do częstych zmian
jej struktury (wynikających przykładowo z: dodania
nowego gatekeepera, kontrolowanego bądź niekontrolo-
wanego włączania/wyłączania danego gatekeepera) to
tablica ta musi być aktualizowana w każdym z sąsied-
nich gatekeeperów. W dużych sieciach mechanizm ten
może być dość kłopotliwy i złożony przy realizacji.
W topologii hierarchicznej, gatekeeper musi znać dane adresowe (tj. adresy IP, numery odpowiednich portów) tylko gatekeeperów zlokalizowanych w hierar- chii bezpośrednio nad i pod nim. Jakiekolwiek zmiany w
strukturze sieci gatekeeperów nie wymagają zmian w tablicach każdego gatekeepera. W związku z tym jest to system łatwiejszy do zarządzania.
W zaprezentowanym na Rys. 3 przykładzie hierar- chicznej struktury gatekeeperów najwyższy w hierarchii jest tzw. podstawowy gatekeeper katalogowy (GK1a i GK1b), który zwykle jest klastrem gatekeeperów. U gatekeepera tego zarejestrowane są tzw. subgatekeepery (GK2A, GK2B), umieszczane zwykle w obszarach do- stępowych, gdzie zlokalizowani są użytkownicy końco- wi. Każdemu subgatekeeperowi przyporządkowane są prefiksy odpowiadające przykładowo obsługiwanemu obszarowi dostępowemu. Liczba kolejnych poziomów subgatekeeperów jest zależna od zapotrzebowania w lokalnym systemie (na Rys. 3 pokazano system o czte- rech poziomach hierarchii). Przykładowo subgatekeeper GK_2B3C4B może być odpowiednikiem w technologii VoIP dotychczas stosowanej w firmie centralki PABX, obsługującym ruch lokalny (połączenia wewnątrz firmy) oraz zewnętrzny. U subgatekeeperów najniższych w hierarchii zarejestrowane są terminale abonentów.
W celu zapewnienia gwarancji dostępu do systemu, nadmiarowości oraz skalowalności gatekeeper może obsługiwać funkcje sygnalizacji RAS (Registration,
Admission and Status), wykorzystując kilka fizycznych lub logicznych urządzeń, określanych jako alternatywne gatekeepery (patrz Rys. 4). Gatekeepery alternatywne zastępują funkcje pełnione przez gatekeeper podstawo-
wy w przypadku jego awarii, przeciążenia lub koniecz- ności wyłączenia (związanej przykładowo ze zmianą parametrów konfiguracyjnych).
Rys. 2. Płaska struktura gatekeeperów
Rys. 4. Gatekeepery alternatywne
4. MODEL LABORATORYJNY I TESTY
Najbardziej popularną na świecie, wykorzystywaną
komercyjnie implementacją gatekeepera jest The GNU
Gatekeeper (w skrócie GnuGk) dostępna na zasadach
licencji GPL ([5], [6]). Wykorzystywano ją w badaniach
Rys. 3. Hierarchiczna struktura gatekeeperów laboratoryjnych. W dalszej części referatu omówiono
przydatność tej implementacji na potrzebę realizacji systemu gatekeeperów alternatywnych oraz płaskiej i hierarchicznej topologii gatekeeperów. Po odpowiednim skonfigurowaniu każdego z gatekeeperów przeprowa- dzono testy, które polegały na obserwacji pakietów wy- mienianych pomiędzy elementami badanego systemu H.323 zgodnych ze specyfikacją ITU-T H.225.0 [2] oraz weryfikacji zgodności używanej implementacji gateke- epera z zaleceniem ITU-T H.323. Pakiety monitorowano przy pomocy narzędzia Ethereal [7].
4.1. GnuGk i alternatywne gatekeepery Na Rys. 5 przedstawiono schemat blokowy połą- czeń logicznych elementów badanego systemu H.323. W systemie tym GK1 pełni rolę gatekeepera podstawowego natomiast GK4 i GK5 to jego gatekeepery alternatywne.
ATK 7410
2korzysta domyślnie z usług RAS gatekeepe- ra podstawowego GK1. W przypadku awarii bądź prze- ciążenia GK1, ATK korzysta najpierw z usług GK4, a gdy i ten ulegnie awarii bądź przeciążeniu, to wykorzy- stywany jest GK5. Przetestowano, więc następujące scenariusze:
• przeciążenie gatekeepera podstawowego GK1 (zreali- zowane poprzez ustawienie maksymalnej liczby zare- jestrowanych u niego punktów końcowych na 2),
• celowe wyłączenie gatekeepera podstawowego GK1,
2