Nietypowe algorytmy rutowania

Wielkość: px
Rozpocząć pokaz od strony:

Download "Nietypowe algorytmy rutowania"

Transkrypt

1 SAMODZIELNY ZAKŁAD SIECI KOMPUTEROWYCH POLITECHNIKA Ł ÓDZKA Łódź ul. Stefanowskiego 18/22 tel./fax. (42) szsk@zsk.p.lodz.pl Jakub Słoczyński Nietypowe algorytmy rutowania praca dyplomowa magisterska Promotor: dr inż. Michał Morawski Dyplomant: Jakub Słoczyński nr albumu Łódź, wrzesień 2004

2 Spis treści 1. Wstęp 4 2. Cel i zakres pracy 5 3. Słownik pojęć 6 4. Ruting w sieciach mobilnych bezprzewodowych ad hoc Protokoły rutingu Protokoły proaktywne DBF, DSDV, WRP Optimized Link State Routing Protocol Koncepcja multipoint relays Funkcjonalność protokołu Topology Dissemination Based on Reverse-Path Forwarding Rozpoznawanie otoczenia Wyznaczanie tras Inne rozwiązania Clusterhead Gateway Switch Routing protocol Koncepcja klastrów Ruting Pozostałe rozwiązania Protokoły reaktywne Ad Hoc On-demand Distance Vector Reakcja na błędy Dodatkowe aspekty protokołu Dynamic Source Routing i DSR FLOW Wykrywanie i zarządzanie trasami DSR Flow Temporally Ordered Routing Algorithm Tworzenie tras i ich utrzymanie Usuwanie tras Associativity Based Routing Wykrywanie tras Rekonstrukcja tras Signal Stability Routing Działanie protokołu Ant-Colony Based Routing Algorithm Pozostałe protokoły Protokoły hierarchiczne Cluster Based Routing Protocol Wykrywanie tras Hierarchical State Routing Fisheye State Routing Global State Routing Protocol Działanie FSR Zone Routing Protocol 56 2

3 Intrazone Routing Protocol Bordercast Resulution Protocol Interzone Routing Protocol Core Extraction Distributed Ad hoc Routing Landmark Routing Protocol Protokoły geograficzne GRID Wykrywanie i utrzymanie tras Location-Aided Routing Wyszukiwanie tras GPS Ant-likes Routing Algorithm Rozpowszechnianie informacji o rutingu Greedy Perimeter Stateless Routing Działanie algorytmu Protokoły energooszczędne Działanie protokołu Ruting Mobile IP Zasada działania Wykrywanie pośredników Rejestracja Tunelowanie IPv4 a IPv Aspekty historyczne Ruting w połączeniach jednokierunkowych Tunelowanie Modyfikacje protokołów rutingu Nowe protokoły rutingu Protokoły dla sieci ad hoc Podsumowanie Bibliografia Załączniki 99 Załącznik Załącznik

4 1. Wstęp W życiu codziennym zauważamy wzrost popularności nowych technologii sieciowych. Otworzyły się niespotykane dawniej możliwości komunikacji. Zmiany dotyczą urządzeń mobilnych oraz stosujących niestandardowe, jednokierunkowe sposoby przyłączeń. Aby mogły one działać niezawodnie, wymagają odpowiednich protokołów rutingu. Wymagania użytkowników mobilnych sieci bezprzewodowych wymusiły konieczność komunikacji między nimi, nawet wtedy, gdy stacje nie pozostają w bezpośrednim zasięgu swoich nadajników. Badaniami w tym zakresie zajmują się grupy robocze organizacji IETF Manet (Mobile Ad Hoc Networking) oraz Nemo (Network Mobility). Rozwojem komunikacji między urządzeniami mobilnymi w sieciach IP i standaryzacją zajmują się grupy MIPv4 (Mobile IPv4) oraz MIPv6 (Mobile IPv 6). W sieciach komputerowych, w celu optymalizacji tras stosuje się krótsze odcinki poprzez połączenia jednokierunkowe. Rozwiązania w postaci protokołów dynamicznego rutingu pozwalają lepiej je wykorzystać. Pracuje nad tym grupa UDLR (Unidirectional Link Routing) IETF. Organizacje badawcze pracują ciągle nad rozwojem odpowiednich protokołów. Protokoły te muszą spełniać stawiane przed nimi wymagania oraz zapewnić pełną funkcjonalność urządzeń. 4

5 2. Cel i zakres pracy Celem tej pracy jest przybliżenie i zapoznanie czytelników z protokołami działającymi w ramach technologii wymienionych we wstępie. W literaturze polskiej jest niewiele pozycji, które poruszają te zagadnienia, a ze względu na wzrost ich znaczenia warto je przedstawić. Praca składa się z dwóch części, teoretycznej oraz praktycznej. Część teoretyczna omawia protokoły rutingu w zakresie technologii przedstawionych we wstępie, zasady ich działania oraz szczegóły konstrukcyjne. Część praktyczna ilustruje wybrany przeze mnie protokół w celu lepszego zrozumienia tematu. Jest to symulator protokołu Ad Hoc On-Demand Distance Vector, w którego skład wchodzi edytor pozwalający konstruować sieć dla potrzeb symulatora oraz program symulujący zachowanie protokołu rutingu. Rozdział 3 przedstawia definicje podstawowych pojęć stosowanych w pracy, których znajomość jest ważna w celu zrozumienia tekstu. Rozdział 4 zawiera definicje sieci bezprzewodowych typu ad hoc. Omówione są w nim protokoły działające w ramach tych sieci. Protokoły podzielone są na grupy pod względem ich właściwości oraz działania. Rozdział 5 zawiera omówienie zasad działania protokołu Mobile IP, który stanowi rozszerzenie protokołu IP, pozostającego w ciągłym rozwoju. Dodatkowo omówione są różnice związane z wersją protokołu IP (wersja 4 i 6). Rozdział 6 zawiera opis technik rutingu w sieciach, które w swojej budowie wykorzystują połączenia jednokierunkowe. Przedstawione są trudności związane z tego typu sieciami i sposoby ich rozwiązywania. Rozdział 7 zawiera podsumowanie tematu pracy. Załączniki zawierają opis symulatora oraz dokumentację, która obejmuje zagadnienia techniczne oraz instrukcję dla użytkownika programu. 5

6 3. Słownik pojęć algorytm Dijkstry - służy do wyznaczania najmniejszej odległości od ustalonego wierzchołka s do pozostałych wierzchołków w grafie skierowanym. Algorytm ten stosuje się w protokołach przedstawiających sieć jako graf oraz do wyznaczenia najkrótszych tras pomiędzy komputerami w sieci. [I5] połączenie jednokierunkowe (ang. unidirectional link) połączenie między dwoma elementami sieci pozwalające na komunikację tylko w jedną stronę. Są to tak zwane połączenia z zerową przepustowością zwrotną. połączenie dwukierunkowe (ang. bidirectional link) połączenie miedzy dwoma elementami sieci zapewniające bezpośrednią wymianę danych w obie strony. sąsiad (ang. neighbor) pojęcie określające inny węzeł sieci, do którego dane mogą być transmitowane bezpośrednio, wykorzystując dostępne medium transmisji bez pomocy innych pośrednich węzłów. [D1] sąsiedztwo (ang. neighborhood) zbiór wszystkich węzłów, które mogą otrzymać dane od wybranego węzła bezpośrednio, bez udziału pośredników, niezależnie kiedy będzie on nadawał. [D1] skok (ang. hop) jest jedną ze stosowanych przez protokoły rutingu jednostek miary odległości w celu określenia jakości drogi prowadzącej do celu. Liczbowo określa ona liczbę ruterów, lub w przypadku sieci bezprzewodowych ad hoc węzłów sieci, przez które musi być przekazywany pakiet, aby dotarł on do żądanego urządzenia docelowego. source routing technika trasowania, w której nadawca może określić dokładnie trasę, jaką pakiet powinien pokonać, aby dotrzeć do celu. stan łączy (ang. link state) nazwa określająca grupę protokołów rutingu przechowujących kompletną bazę danych o topologii sieci z informacjami o kosztach połączeń i ich stanie. Wszystkie elementy sieci posiadają identyczne dane o sieci. stacja ruchoma patrz węzeł ruchomy. ścieżka powrotna - (ang. reverse path) trasa wyznaczona przez algorytm rutowania prowadząca od węzła docelowego do źródłowego. Przeznaczona jest dla węzła odległego, by mógł odesłać pakiety do węzła źródłowego. 6

7 wektor odległości (ang. distance-vector) określenie protokołów wymieniających z sąsiadami dane z tablic rutingu. Pojęcie to wiąże się ze sposobem przedstawiania tych danych. Każda trasa to para kierunek i odległość. Kierunek jest to adres sąsiada, do którego należy skierować pakiet, aby dotarł do celu. Odległość jest to wartość wyznaczona na podstawie metryki stosowanej w protokole. węzeł ruchomy (ang. mobile node) element sieci bezprzewodowej np. ruter lub komputer. 7

8 4. Ruting w sieciach mobilnych bezprzewodowych ad hoc Od 1970 roku sieci bezprzewodowe LAN (WLAN - ang. Wireless Local Area Network) stają się coraz bardziej popularne w środowisku technologii komputerowych. Sieci te umożliwiają przemieszczanie się stacji bezprzewodowych na obszarze funkcjonowania sieci. Rosnące zapotrzebowanie użytkowników na większą elastyczność pracy i mobilność komunikujących się ze sobą stacji, wywołują wzrost zainteresowania nimi i powiększają ich atrakcyjność. Istnieją dwie odmiany sieci mobilnych bezprzewodowych. Pierwszą z nich są sieci z pełną infrastrukturą (ang. infrastructured networks), w których urządzenia przenośne są podłączone za pomocą bram i punktów dostępowych (ang. access point) do sieci przewodowych. Są one odwzorowaniem pierwotnych założeń pracy sieci bezprzewodowej, czyli dostępu terminali przenośnych do zasobów znajdujących się w sieci kablowej. Stacje mobilne komunikują się z punktem dostępowym, w którego zasięgu pozostają. Przemieszczając się przechodzą z obszaru zasięgu jednego punktu dostępowego do drugiego. Drugi rodzaj sieci bezprzewodowych, to sieci bez infrastruktury (ang. infrastructureless networks). Powszechnie znanych jako sieci ad hoc. Nie występują w nich, znane z terminologii sieci kablowych, rutery. Elementy sieci (ang. nodes) pełnią role zarówno stacji klienckich jak i ruterów [K1]. Szczegółowe opisy sieci zostaną podane w dalszej części pracy. 8

9 4.1 Protokoły rutingu Sieci mobilne bezprzewodowe ad hoc można zdefiniować jako konfederację heterogenicznych systemów mobilnych, która jest tworzona w locie i jest zdolna do podtrzymywania samej siebie w dynamicznie zmieniającym się środowisku. Wraz ze zmianami tego środowiska wewnętrzne połączenia pomiędzy elementami tej sieci - węzłami - mogą się również zmieniać. Taka sieć utrzymuje spójność poprzez ciągłą reorganizację samej siebie. Sieć ad hoc jest siecią tymczasową, działającą bez pomocy jakiejkolwiek ustalonej na sztywno infrastruktury lub centralnej administracji. Podstawowym założeniem jest fakt, że mimo, iż dwa urządzenia chcące się skomunikować w takiej sieci znajdują się poza swoimi wzajemnymi zasięgami bezprzewodowej transmisji, mogą się ze sobą komunikować poprzez inne urządzenia należące do tej sieci. Urządzenia mogą być dowolnie rozmieszczone i mogą się poruszać w sposób dynamiczny [I1]. Z powyższej definicji wynika, że sieci ad hoc charakteryzują się dużą dynamiką zmian, zależnością od ograniczonych zasobów energetycznych oraz nieprzewidywalnością połączeń. Tradycyjne protokoły rutingu stosowane w sieciach przewodowych nie są w stanie zaspokoić wysokich wymagań. Nie zostały one zaprojektowane tak, by w zadowalająco krótkim czasie reagować na zmiany położeń elementów sieci i konfiguracji połączeń między nimi. Wymagania obliczeniowe niektórych wiążą się z wykorzystywaniem dodatkowych porcji energii. Na takie straty stacje zasilane z baterii nie mogą sobie pozwolić. Zasoby energetyczne muszą zapewnić możliwość transmisji danych. Przy tak postawionych wymaganiach nałożonych na sieci ruchome ad hoc wymagane jest istnienie nowych metod rutingu, które zapewnią jej funkcjonalność. Problemem tym zajmuje się grupa robocza MANET (Mobile Ad Hoc Networking) organizacji IETF [I2], która zajmuje się badaniem i rozwijaniem efektywnych protokołów przesyłania danych w sieciach WLAN. Opracowano wiele protokołów pozwalających na działanie tego typu sieci. Różnią się one sposobem działania i przeznaczeniem. W celu dokładnego poznania tych protokołów wykorzystana zostanie klasyfikacji zgodna z ich charakterystykami. 9

10 Dostępne protokoły można podzielić na kilka kategorii [I3]. protokoły proaktywne protokoły reaktywne protokoły hierarchiczne protokoły geograficzne protokoły energooszczędne Protokoły proaktywne (ang. pro-active) nazywane są również protokołami table-driven, bazującymi na aktualnych tabelach rutingu. Utrzymują informacje o topologii sieci i przechowują ścieżki do wszystkich węzłów sieci, niezależnie od tego, czy odbywa się do nich ruch, czy też nie. Wymaga to cyklicznego odświeżania tras, aby dostosować je do zmieniających się warunków w sieci, takich jak utrata połączenia czy przeciążenie łącza. Uaktualnianie tras jest dużym obciążeniem. Odświeżanie musi następować dosyć często, aby z tablic rutingu wyeliminować nieaktualne ścieżki i aby nie następowało gubienie pakietów. Dodatkowo zwiększona ilość przesyłanych informacji wpływa negatywnie na zużycie energii urządzeń przenośnych. Ich zaletą jest w miarę szybkie wyznaczanie tras pakietów. Do tej grupy protokołów można zaliczyć: - OLSR (Optimized Link State Routing Protocol)[R1][A2] - TBRPF (Topology Dissemination based on Reverse-Path Forwarding routing protocol)[r2] - DSDV (Highly Dynamic Destination-Sequenced Distance Vector routing protocol)[a3] - CGSR (Cluster Gateway Switch Routing Protocol)[A6][A7] - WRP (Wireless Routing Protocol)[A8] - STAR (Source Tree Adaptive routing protocol)[a4] - MMRP (Mobile Mesh Routing Protocol)[D4][D5][D6] - HSLS (Hazy Sighted Link State routing protocol)[a9] - LCA (Linked Cluster Architecture)[A10] Protokoły reaktywne (ang. reactive) nazywane są także protokołami rutingu na żądanie (ang. on-demand). Wyszukują one trasę w momencie, gdy jest to konieczne. Zazwyczaj rozpoznanie topologii następuje w momencie wysyłania pakietu. Cechy charakterystyczne tych protokołów to zmniejszony ruch kontrolny i związane z tym 10

11 mniejsze zużycie energii. Konieczność wyszukiwania tras wpływa negatywnie na czas dostarczenia przesyłki do punktu docelowego. W skład tych protokołów wchodzą: - AODV (Ad hoc On-Demand Distance Vector routing protocol)[r3][a1] - DSR (Dynamic Source Routing protocol)[d10][a20] - DSRFLOW (Flow State in the Dynamic Source Routing protocol)[d12] - TORA (Temporally-Ordered Routing Algorithm routing protocol) [D9][A13][A14] - ABR (Associativity Based Routing protocol)[d11] - SSR (Signal Stability Routing protocol)[a15] - ARA (Ant-based Routing Algorithm for Mobile Ad-Hoc Networks) [A16][A17] - LUNAR (Lightweight Underlay Network Ad hoc Routing)[D13] - RDMAR (Relative-Distance Micro-discovery Ad hoc Routing protocol) [A19][D14] Protokoły hierarchiczne (ang. hierarchical) są protokołami, tworzącymi w celu polepszenia wydajności hierarchiczną postać sieci. Węzły należące do niższego poziomu przesyłają dane kontrolne między sobą. Wyznaczone węzły stanowią poziom wyższy i tworzą między sobą podobną strukturę. Taka budowa sieci pozwala na zmniejszenie zawartości tablic rutingu oraz zmniejszenie obciążenia związanego z przetwarzaniem danych. Protokoły w tej kategorii to: - CBRP (Cluster Based Routing Protocol)[D15] - FSR (Fisheye State Routing protocol)[d16][a21] - GSR (Global State Routing protocol)[a22] - ZRP (Zone Routing Protocol)[D17][A23][A24] - BRP (Bordercast Resolution Protocol)[D20] - IARP (Intrazone Routing Protocol)[D18] - IERP (Interzone Routing Protocol)[D19] - CEDAR(Core Extraction Distributed Ad hoc Routing)[D21] - HSR (Hierarchical State Routing protocol)[a21] - LANMAR (Landmark Routing Protocol for Large Scale Networks)[D22] 11

12 Protokoły geograficzne (ang. geografical) są to protokoły, których praca wspomagana jest danymi o lokalizacji elementu sieci. Pakiety kontrolne przesyłane są z uwzględnieniem tych danych i w efekcie nie obciążają całej sieci. Należą do nich: - GRID [A25] - LAR (Location-Aided Routing protocol)[a26][a27] - GPSAL (GPS Ant-Like Routing Algorithm)[A28] - GPSR (Greedy Perimeter Stateless Routing)[A29] Protokoły energooszczędne (ang. power aware), jak nazwa wskazuje zostały zaprojektowane tak, aby zaoszczędzić energię urządzeń mobilnych. Szczególnie ma to znaczenie przy korzystaniu z baterii. Protokoły te nie są jednak typowymi protokołami rutingu. Ich działanie ma jedynie wspomóc właściwe protokoły dla tego typu urządzeń. Kontrolują dostęp do medium transmisji i wprowadzają modyfikacje w istniejących trasach. Przykładem może być protokół PARO (Power-Aware Routing Optimization Protocol)[D28]. Powyższa klasyfikacja pozwoli na lepsze zrozumienie działania tych protokołów. Zostaną one wyszczególnione i dokładnie omówione w kolejnych podrozdziałach. 12

13 4.2 Protokoły proaktywne Protokoły proaktywne charakteryzują się pewną specyfiką działania. Jak zostało to wcześniej powiedziane utrzymują informacje o wszystkich możliwych trasach i przekazują sobie, co pewien czas informacje o sieci. Wymiana danych odbywa się regularnie, niezależnie od stanu sieci. Istnieje kilka rozwiązań, jakie można spotkać w literaturze dotyczącej tych protokołów DBF[A5], DSDV[A3], WRP[A8] Jedno z najwcześniejszych rozwiązań jakie zaproponowano, to protokół Distributed Bellman-Ford (DBF). Protokół ten jest protokołem dystansowowektorowym. Udostępnia on długości tras od każdego swojego sąsiada do każdego punktu w sieci. Dane te tworzone są na podstawie wiadomości uaktualniających, jakie węzły sieci wymieniają miedzy sobą. Zawierają one odległość podaną w skokach do danej stacji docelowej. Kolejne węzły przekazują tę informację dalej zwiększając odległość podaną przez poprzednika. Podstawową wadą protokołu jest czas rozpropagowania informacji w całej sieci. Gdy sieć podlega zmianom, uaktualnienia mogą być długotrwałe. Nie posiada on też mechanizmu, który ograniczyłby proces przesyłania informacji w sieci. Kolejnym rozwiązaniem jest mechanizm w protokole Destination Sequence Distance-Vector (DSDV). Powstał on na bazie algorytmu Bellamana-Forda [I4] i protokołu RIP. Jest to protokół, jak nazwa wskazuje dystansowo wektorowy. Metryką stosowaną przez protokół jest metryka odległości w skokach. Wprowadzone w nim udoskonalenia uwalniają nas od możliwości wystąpienia pętli w tablicach rutingu. Każdy węzeł sieci stosuje Sequence Number, numer sekwencyjny. Numer ten oznacza liczbę, która może być modyfikowana tylko przez swojego właściciela i służy do oznaczenia aktualności danych wysyłanych w wiadomościach protokołu przez każdy z węzłów. Informacje dotyczące rutingu rozsyłane są broadcastowo lub multicastowo. Odbywa się to okresowo lub w momencie wykrycia zmian w połączeniach. Funkcjonalność protokołu pozwala na działanie tylko 13

14 z wykorzystaniem połączeń dwukierunkowych. Gdy węzeł jest pewien, że komunikacja jest dwustronna wówczas może dokonać zmian w tablicy rutingu. Węzły wykorzystujące protokół DSDV utrzymują tablicę rutingu i przesyłają swoim sąsiadom zawarte w niej informacje. Pakiety wysyłane przez protokół zawierają numer sekwencyjny węzła oraz dane dotyczące wszystkich elementów docelowych w sieci, czyli: - adres docelowy - odległość do celu w ilości skoków. - numer sekwencyjny związany z celem Po otrzymaniu pakietu z danymi węzeł sprawdza już istniejące wpisy w tablicy i dokonuje zmian biorąc pod uwagę numer sekwencyjny i metrykę. Trasy z wyższym numerem sekwencyjnym są uznawane za lepsze niezależnie od metryki. Przy trasach z takimi samymi wartościami numerów sekwencyjnych o wyborze decyduje niższa wartość metryki. Zmiany dotyczące tras będą natychmiast rozgłaszane. Protokół DSDV korzysta z dwóch tablic. Pierwsza forwarding table służy do kierowania ruchem w sieci, a druga adveritsed route table do rozsyłania uaktualnień. Protokół DSDV generuje dwa rodzaje pakietów służących wymianie informacji. Pierwszy z nich to full dump, pakiet zwierający wszystkie dostępne informacje o rutingu. Drugi to incremental, zawierający zmiany powstałe od czasu wysłania ostatniego pakietu zawierającego pełen zestaw danych. Ze względu na swoją objętość, pakiet full dump może wymagać podzielenia na kilka części. Węzły dodatkowo śledzą czasy powstawania tras lub czasy zmian tras do celów. Opóźniając wysłanie uaktualnienia o ten okres węzły zmniejszają ruch w sieci i optymalizują trasy. Opóźnienie pozwala poczekać i sprawdzić czy za chwilę nie pojawi się lepsza trasa. Działanie protokołu pokazuje poniższy przykład Istniejące połączenia Nowe połączenia Ruch węzła Rysunek 1 Ruch w sieci ad hoc (DSDV) 14

15 Na rysunku 1 widzimy ruch węzła 1 w sieci. Rozważmy przykład z punktu widzenie węzła numer 4. Poniższa tabela przedstawia możliwą tablicę rutingu dla rozpatrywanego węzła, zanim węzeł 1 zmienił swoje położenie. Cel Następny Metryka Numer sekw. Czas wpisania S_406_(4) T_001_(4) S_128_(2) T_001_(4) S_564_(3) T_001_(4) S_710_(4) T_001_(4) S_392_(5) T_002_(4) S_076_(6) T_001_(4) S_128_(7) T_002_(4) S_050_(8) T_002_(4) Tabela 1 Tablica rutingu dla węzła 4 Oznaczenia przyjęte w tabeli: S_nnn_(W): oznacza numer sekwencyjny wpisu o wartości nnn stworzony przez węzeł W. T_ttt_(W): oznacza czas wpisania danych do tablicy, gdzie ttt oznacza czas dokonania wpisu.w tablicy węzła W. Poniższa tabela przedstawia zawartość tabeli rozgłoszeń tras. Cel Metryka Numer sekw. 1 2 S_406_(4) 2 1 S_128_(2) 3 2 S_564_(3) 4 0 S_710_(4) 5 2 S_392_(5) 6 1 S_076_(6) 7 2 S_128_(7) 8 3 S_050_(8) Tabela 2 Tablica rozgłaszania węzła 4 Zakładając, że węzeł 1 przemieścił się do obszaru węzłów 8 i 7, tablica przesyłania pakietów węzła 4 ulegnie zmianie. Przyjmie postać przedstawioną w tablicy 3. 15

16 Cel Następny Metryka Numer sekw. Czas wpisania S_516_(1) T_810_(4) S_128_(2) T_001_(4) S_564_(3) T_001_(4) S_710_(4) T_001_(4) S_392_(5) T_002_(4) S_076_(6) T_001_(4) S_128_(7) T_002_(4) S_050_(8) T_002_(4) Tabela 3 Nowa tablica rutingu węzła 4 Pierwszy wpis w tablicy musi być rozgłaszany, w wiadomościach incremental, aż do czasu wysłania wiadomości full dump. Gdy węzeł przemieści się w obszar 7 i 8 wymusi na nich aktualizacje tablic rutingu i wysłanie informacji o zmianach. Informacja ta dociera do węzła 6. Ten rozgłasza zmiany dalej. Węzeł 4 po otrzymaniu tej informacji również ją rozgłasza. Tablica rozgłoszeń dla węzła 4 została przedstawiona w tabeli 4. Cel Metryka Numer sekw. 4 0 S_820_(4) 1 3 S_516_(4) 2 1 S_238_(2) 3 2 S_674_(3) 5 2 S_502_(5) 6 1 S_188_(6) 7 2 S_238_(7) 8 3 S_160_(8) Tabela 4 Nowa tablica rozgłaszania węzła 4 W uaktualnieniach pierwsza umieszczana jest informacja o 4. Następna jest 1 bo dla niej zostały zmienione dane. Kolejnym, bazującym na podobnych mechanizmach jest Wireless Routing Protocol (WRP). W przeciwieństwie do poprzednich, wykorzystuje on pojęcie second-to-last-hop information, trasy od następnego do ostatniego węzła. Jego zadaniem jest utrzymanie informacji o rutingu wśród wszystkich węzłów w sieci. 16

17 WRP ogranicza sytuacje, w których mogą wystąpić pętle oraz dostarcza niezawodnego sposobu wymiany informacji o rutingu. W ramach protokołu WRP, każdy węzeł utrzymuje cztery tablice: - tablice odległości (ang. distance table) - tablice rutingu (ang. routing table) - tablice kosztów połączeń (ang. link-cost table) - listę wiadomości retransmitowanych (ang. message retransmision list - MRL) Tablica odległości zawiera odległości do węzłów docelowych. Przechowuje także poprzedników dla każdej z tras, zgłaszanych przez sąsiadów. Tablica rutingu zawiera wpisy dotyczące każdego celu. Przechowywane są w niej takie informacje, jak identyfikator celu, odległość do celu, poprzednik najkrótszej wybranej trasy, następny węzeł na trasie oraz znacznik używany przy uaktualnieniach tablicy. Tablica kosztów informuje, jaka jest wartość połączeń z sąsiadami oraz ile wiadomości uaktualniających tablice dotarło ostatnio bez błędu. Koszt połączeń zerwanych jest uznawany za nieskończony. Każdy wpis w tablicy MRL zawiera numer sekwencyjny wiadomości uaktualniającej (ang. update message), liczbę retransmisji wiadomości, flagę oznaczającą czy wiadomość została potwierdzona przez sąsiadów oraz co zostało wysłane w danej wiadomości. W tablicy tej zapisywane są informacje, które dane powinny zostać wysłane ponownie i którzy sąsiedzi powinni wiadomość potwierdzić (wysłać wiadomość ACK). Wiadomości przekazywane między sąsiadami zawierają takie dane, jak cel, odległość do celu oraz identyfikator poprzednika na trasie. Wysyłane są jako reakcja na wiadomości uaktualniające od sąsiadów lub zauważone zostaną zmiany w sieci. W przypadku utraty połączenia miedzy dwoma węzłami, węzły te wysyłają do swoich sąsiadów uaktualnienia. Sąsiedzi przeliczają wtedy nowe możliwe trasy i informację tę propagują wstecz. Węzły dowiadują się o swoim sąsiedztwie analizując nadchodzące pakiety. Stacja, która nic nie nadaje jest zobowiązana wysyłać okresowo wiadomość HELLO informującą o jej istnieniu. Gdy stacja zauważy nową stację w swoim otoczeniu, wysyła mu kopię swojej tablicy rutingu. 17

18 Protokół unika pętli wykorzystując informacje o całej trasie second-to-lasthop. Jest ona przesyłana wraz z odległością do celu. W efekcie wszystkie węzły znają pozostałych uczestników konkretnej trasy. Każdy węzeł musi sprawdzać poprzedników na trasach zgłaszanych przez sąsiadów. Pozwala to przyspieszyć proces rutingu oraz zwiększyć prędkość uzyskania przez sieć stanu stabilności nawet przy zerwaniu połączenia Optimized Link State Routing Protocol [R1][A2] Inny typ rozwiązania zastosowano w Optimized Link State Routing Protocol (OLSR). Łączy on zalety stabilności protokołów stanu łącza i natychmiastowej dostępności tras protokołów proaktywnych wymieniając informacje o topologii z innymi elementami sieci. Elementy sieci wybierają zbiór sąsiednich elementów, tak zwanych Multipoint Relays (MPR), odpowiedzialnych za kontrolę przepływu pakietów kontrolnych w sieci i mających wpływ na zmniejszenie obciążenia sieci poprzez redukcję liczby transmisji danych do rzeczywiście wymaganej. MPR-y odpowiedzialne są za tworzenie trasy do każdego punktu docelowego. Powyższy mechanizm pozwala zoptymalizować działanie protokołu dla tego typu sieci. Protokół nie generuje informacji o zerwanych połączeniach. Przechowuje informacje o trasach do wszystkich celów w sieci. Dlatego też jest przystosowany do sieci, gdzie podgrupy węzłów sieci komunikują się z innymi podgrupami. Odpowiedni dla rozległych, a zarazem i gęstych sieci. Nie wymaga on scentralizowanego sterowania oraz niezawodnego systemu dostarczania pakietów kontrolnych. Stosowana metoda rutingu to od węzła do węzła (hop by hop), czyli każdy element sieci używa najaktualniejszych danych by przesłać pakiety do celu Koncepcja multipoint relays Zadaniem komputerów, pracujących jako multipoint relays jest zmniejszenie obciążenia obszaru sieci przed zalewem pakietów, poprzez redukcję powtarzających się retransmisji danych do tego obszaru. Każdy element sieci bezprzewodowej wybiera zbiór elementów tej sieci ze swojego otoczenia, które retransmitują jego pakiety. Sąsiedzi węzła N, które nie należą do zbioru węzłów MPR mogą tylko 18

19 czytać i przetwarzać otrzymywane pakiety, ale nie mogą retransmitować dalej pakietów rozgłoszeniowych od węzła N. Węzły MPR przechowują zbiór stacji, które wybrały je jako MPR i tylko ruch broadcastowy nadchodzący od nich będzie retransmitowany dalej. Komputery multipoint relays są wybierane z bezpośredniego otoczenia węzła sieci (one hop neighbours) tak, aby ich zbiór pozwalał na komunikację z wszystkimi węzłami odległymi od nas o 2 skoki (two hops away). Rysunek 2 przedstawia zależności dla węzła N i jego wybór. Rysunek 2 Multipoint realys Wszystkie trasy są przeliczane do wszystkich celów poprzez te wybrane elementy sieci. Oznacza to, że węzły MPR są węzłami pośrednimi na trasie do celu. Aby ten mechanizm działał, każdy element sieci rozgłasza informację o swoich sąsiadach, którzy wybrali go na węzły pośrednie, co pozwala innym przeliczyć prawidłowo swoje trasy. Dodatkowym założeniem tego mechanizmu jest to, żeby połączenia między węzłami odległymi o 2 skoki od rozważanego węzła a MPR-mi wybranymi przez węzeł, były symetryczne. Założenie to zostało poczynione w celu uniknięcia problemu otrzymywania potwierdzeń przy dostarczaniu danych pomiędzy węzłami Funkcjonalność protokołu Możliwości protokołu OLSR możemy podzielić na dwie kategorie, funkcje główne oraz funkcje pomocnicze. Funkcje główne zapewniają działanie protokołu w sieci ad hoc. Funkcje pomocnicze pozwalają działać w szczególnych przypadkach, na przykład przy komunikacji sieci mobilnej typu ad hoc z innymi domenami rutingu. 19

20 W skład funkcji głównych wchodzą takie elementy jak: - wykrywanie sąsiadów - wybieranie węzłów multipoint relay - zmiany w topologii sieci - przeliczanie tablic rutingu Do funkcji pomocniczych należą: - zapewnienie redundancji topologii - komunikacja z urządzeniami bez protokołu OLSR Wykrywanie sąsiadów Każdy węzeł sieci musi rozpoznać sąsiadów, z którymi ma dostępne połączenie dwukierunkowe. W tym celu rozgłaszane są wiadomości HELLO [R1], zawierające informacje o wszystkich sąsiadach węzła. Pakiet HELLO zawiera listę adresów sąsiadów, do których istnieją sprawdzone połączenia dwukierunkowe i listę adresów sąsiadów słyszanych przez dany węzeł, z którymi połączenia nie zostały potwierdzone jako dwukierunkowe. Gdy inny węzeł odkryje, że został wpisany na drugą z list uznaje, że połączenie jest dwukierunkowe. Wiadomości te pozwalają węzłom sieci na zdobycie informacji o wszystkich sąsiadach w odległości do 2 skoków. Informacje te służą za punkt wyjścia w wyborze węzłów MPR. Protokół OLSR utrzymuje tablicę sąsiadów, w której przechowuje informacje o sąsiadach odległych o 1 skok od węzła, status połączenia między nimi oraz listę sąsiadów odległych o 2 skoki, do których mają dostęp poprzednio wymienione węzły. Status połączenia informuje, czy połączenie jest jedno-, dwukierunkowe czy może z węzłem MPR. Oczywiście status połączenie z MPR oznacza także połączenie dwukierunkowe. Każdy wpis w tablicy ma przypisany mu czas ważności, po upływie którego, połączenie zostaje uznane za nieważne, a w końcu zostaje usunięte z tablicy. Tablica ma przypisany także numer sekwencyjny, który oznacza najbardziej aktualny zbiór węzłów MPR. W momencie uaktualniania zbioru węzłów MPR lub ich wyboru numer ten jest zwiększany. Wybieranie multipoint relays Kolejną funkcją protokołu jest wybieranie MPR-ów. W celu wygenerowania zbioru węzłów multipoint relay, stacja musi obserwować pakiety HELLO i wykrywać połączenia dwukierunkowe do węzłów odległych o 2 skoki. Wybrany 20

21 zbiór nie musi być optymalny, ale musi być dostatecznie mały by osiągnąć korzyści wynikające z ich zastosowania. Szczegółowy algorytm wykrywania został opisany w [R1]. Informacje o dokonanym wyborze MPR są rozgłaszane jako część pakietu HELLO. Wybrany zbiór podlega ponownym przeliczeniom w momencie, gdy nastąpią zmiany w połączeniach dwukierunkowych z bezpośrednimi sąsiadami lub z sąsiadami odległymi o dwa skoki. Każdy węzeł utrzymuje tablicę MPR Selectors, wybranych przez nas węzłów MPR. Powiązany jest z nią numer sekwencyjny określając, kiedy tablica ta była zmieniana. Zmiany w topologii sieci Jednym z ważniejszych zadań protokołu jest wykrywanie zmian w topologii sieci, co ma wpływ na wykrywanie tras rutingu. Protokół do przechowywania informacji o budowie sieci wykorzystuje bazę połączeń, intra-forwarding database. Baza budowana jest na podstawie informacji przesyłanych w wiadomościach Topology Control (TC) messages [R1]. Pojedyncza wiadomość zawiera wybrany przez nas zestaw komputerów pracujących jako multipoint relay. TC rozgłaszane są okresowo. Zmiany w topologii powodują, że wiadomości te są rozgłaszana częściej. Wpisy w tablicy topologii zawierają następujące informacje: adres potencjalnego celu (adres węzła wysyłającego TC), adres następnego skoku do celu (adres węzła, który przekazał tę wiadomość do nas) oraz odpowiadający tym danym numer sekwencyjny. Taki wpis pozwala nam ustalić kierunek przesyłania pakietów, by dotarły one do celu. Każdemu wpisowi przypisany jest czas przechowywania określający, czy wpis jest ważny, czy należy go usunąć z tablicy. Zmiany w tablicy dokonywane są według następujących zaleceń: Gdy istnieje wpis w tablicy, dla którego adres następnego skoku odpowiada adresowi twórcy wiadomości TC oraz numer sekwencyjny jest większy niż w otrzymanej wiadomości, to taka wiadomość nie jest przetwarzana. Gdy numer sekwencyjny wpisu jest mniejszy, niż ten w wiadomości, taki wpis jest usuwany z tablicy. Na końcu dla każdego adresu węzła rozgłaszającego swoją tablicę MPR-ów, jeżeli adres ten odpowiada rozpatrywanemu adresowi celu i zgadza się adres następnego skoku, wówczas uaktualniany jest czas przechowywania wpisu. 21

22 W innym przypadku wpis jest dodawany do tablicy. Przeliczanie tras rutingu Ostatnią z głównych funkcji protokołu jest przeliczanie tablic rutingu. Tablica rutingu budowana jest na podstawie informacji zawartych w tablicy topologii. Przepisywane są pary adresów (następny skok w kierunku celu, adres celu) z tablicy topologii. Zapisywane są one w kolejności malejącej. Aby wybierać optymalne trasy z pośród par informujących nas o tym samym punkcie docelowym wybierana jest ta, której odpowiada najmniejsza liczba skoków do celu. Wpisy w tablicy rutingu zawierają następujące informacje: adres celu, adres następnego skoku do celu, i wyliczoną odległość do celu. Wpisy, dla których połączenia zostały zerwane, czyli nie zostały znalezione w wiadomości TC o nowszym numerze sekwencyjnym, nie są wprowadzane do tablicy. Dodatkowo w budowie tablicy rutingu wykorzystywane są informacje z tablicy sąsiadów. Redundancja w topologii W procesie wykrywania tras, ważna może być informacja o zapasowych trasach. W tym celu rozgłaszany zestaw węzłów może być poszerzony o węzły nie działające jako MPR-y. Jako rozszerzony zestaw może być przesyłany zbiór komputerów MPR i węzłów, które wybrały dany węzeł jako MPR albo zbiór wszystkich sąsiadów danego węzła. Każdy węzeł powinien być w stanie wybrać zestaw komputerów MPR zapasowych. Pomimo założenia, że zbiór MPR powinien być jak najmniejszy dodatkowe elementy dają pewność, że dostępność węzła jest rozgłaszana przez większą liczbę pośredników i dodatkowe połączenia stanowią rozszerzenie sieci. Urządzenia bez protokołu OLSR Urządzenie w sieci ad hoc może posiadać kilka interfejsów. Interfejsy nie obsługujące protokołu OLSR mogą być połączeniami do innych hostów lub innych sieci. Aby zapewnić połączenie pomiędzy między różnymi interfejsami, węzeł sieci powinien umieć przekazać informacje o rutingu do sieci z protokołem OLSR. Przekazanie informacji z sieci OLSR do zewnętrznej może się odbyć na podstawie bazy topologii lub tablicy rutingu. Aby była możliwa komunikacja w drugą stronę, informacje potrzebne do rutingu przekazuje się w specjalnie przygotowanej do tego 22

23 celu wiadomości, Host and Network Association (HNA) [R1]. Zawiera ona dane wystarczające do zbudowania tablicy rutingu. Stacje podłączone do hostów lub urządzeń zewnętrznych okresowo generują wiadomość HNA zwierając w niej pary (adres, maska) odpowiadające przyłączonym do niego sieciom lub komputerom Topology Dissemination Based on Reverse-Path Forwarding [R2] Protokół Topology Dissemination Based on Reverse-Path Forwarding (TBRPF) jest kolejnym protokołem proaktywnym i stanu łącza dla mobilnych sieci ad hoc. Zapewnia on ruting w postaci hop-by-hop, czyli od węzła do węzła wzdłuż najkrótszej trasy. Każdy komputer z uruchomionym protokołem tworzy source tree, drzewo zawierające najkrótsze trasy do wszystkich dostępnych miejsc w sieci. Rysunek 3 Ilustracja drzewa protokołu TBRPF Ten graf budowany jest na podstawie częściowych danych o topologii, przechowywanych w tablicy topologii. Wykorzystywany jest zmodyfikowany algorytm Dijkstry. W celu zminimalizowania obciążenia każdy węzeł informuje sąsiadów tylko o części swojego drzewa. Uaktualnienia te odbywają się okresowo. TBRPF pozwala na wykrywanie sąsiadów. Mechanizm ten korzysta z wiadomości HELLO informujących o zachodzących zmianach w otoczeniu. Ten sposób różnicowego podejścia pozwala zmniejszyć rozmiar przesyłanych pakietów. 23

24 Protokół zbudowany jest z dwóch modułów: wykrywania i rutingu. Pierwszy pozwala na wykrywanie zmian w topologii sieci, a drugi służy do przeliczania tras. Obydwa zostaną omówione w kolejnych podrozdziałach Rozpoznawanie otoczenia W tym rozdziale omówiony jest jeden z dwóch modułów protokołu TBRPF. Będzie to moduł TBRPF Neighbor Discovery (TDN) odpowiedzialny za rozpoznawanie sąsiadów i połączeń w otoczeniu węzła. Protokół pozwala każdemu węzłowi na szybkie wykrywanie połączeń dwukierunkowych z innymi węzłami. Pozwala on również stwierdzić, czy połączenia są zrywane lub stają się jednokierunkowe. Kluczową cechą działania modułu rozpoznawania otocznia jest stosowanie tak zwanych Differental HELLO Messages, czyli wiadomości HELLO [R2] informujących tylko o bieżących zmianach w połączeniach. Wiadomości te są stosunkowo małe i pozwalają na ich częstszą wymianę i szybszą reakcję protokołu. Węzły utrzymują oddzielne tablice sąsiadów dla każdego interfejsu lokalnego. Stan połączenia w tablicy może przyjmować jedną z trzech wartości: połączenie jednokierunkowe, dwukierunkowe i połączenie utracono. Tablica sąsiedztwa tworzona jest na podstawie wiadomości HELLO, wysyłanych w określonych odstępach czasu. Przechowywane są w niej informacje o połączeniach z innymi węzłami. Każdy taki wpis składa się z: - identyfikatora rutera odległego - rodzaj połączenia z tym ruterem - licznik wskazujący, kiedy należy uznać połączenie za utracone - numer sekwencyjny ostatnio otrzymanej wiadomości HELLO - licznik ilości wiadomości HELLO (zawierających informacje o tym interfejsie), jaka ma być wysłana - listę numerów sekwencyjnych kilku ostatnio otrzymanych wiadomości HELLO - metrykę informującą o stanie połączenia (1 oznacza najlepsze połączenie, 255 najgorsze) - priorytet powiązany z interfejsem węzła odległego. 24

25 Wpis na temat interfejsu sąsiada może być usunięty, jeżeli w ciągu określonego czasu nie dotrą wiadomości o tym interfejsie. Stan połączenia może symbolicznie przyjmować wartości: - połączenie utracone, gdy nie dotarła wystarczająca ilości wiadomości HELLO - połączenie jednokierunkowe, gdy wiadomości są, ale połączenie nie jest dwukierunkowe - połączenie dwukierunkowe, gdy następuje wymiana wiadomości między interfejsami połączenia Istnieje kilka podstawowych zasad rządzących mechanizmem wykrywania sąsiadów i połączeń z nimi. Wiadomość HELLO zawiera adres interfejsu sąsiada, gdy nastąpiła zmiana w stanie tego interfejsu. Adres jest umieszczany na jednej z trzech list wiadomości HELLO, w zależności od rodzaju zmiany. Fakt wystąpienia zmiany musi być umieszczany w kilku kolejnych wiadomościach. Standardowo są to trzy. Główna idea polega na tym, że sąsiedzi są informowani o zmianach w stanie połączenia lub uznają je za utracone, gdy nie dotrą do nich trzy kolejne wiadomość HELLO. Węzły sieci są w stanie wykryć zmianę stanu połączenia w ciągu trzech kolejnych wiadomości. Ze względu na charakter sieci mobilnych ad hoc, połączenia mogą być krótkotrwałe. Aby uniknąć takich sytuacji, muszą nadejść co najmniej dwie kolejne wiadomości informujące o nowym połączeniu. Oprócz wiadomości zgłaszających zmiany, wysyłane są powiadomienia okresowe. Pomagają one nowym węzłom włączyć się do sieci. Szczegółowe algorytmy wymiany informacji są opisane w [R2] Wyznaczanie tras Drugim modułem protokołu TBRPF jest Routing Module, moduł odpowiedzialny za wyznaczanie tras. Każdy węzeł posiada drzewo wyznaczające najkrótsze trasy do wszystkich możliwych węzłów. Drzewa tworzone są na podstawie danych z tablicy topologii, korzystając ze zmodyfikowanej wersji algorytmu Dijkstry [I5], pozwalającej aby połączenie między dwoma węzłami zostało wprowadzone do drzewa tylko wtedy, gdy zostało zgłoszone przez węzeł nadrzędny w drzewie. Węzły zgłaszają część swojego drzewa sąsiadom. Fragmenty 25

26 te, to tak zwane reportable subtree. Wiadomości o topologii zawierają informacje tylko o zmianach w topologii, te są rozsyłane np. co 1 sekundę lub zgłaszają pełne poddrzewo w wiadomościach okresowych, np. co 5 sekund. Drugi typ wiadomości przeznaczony jest głównie dla nowych sąsiadów. Zgłaszane przez węzeł poddrzewo jest inne dla każdego sąsiada. Wpływ na to ma zbiór węzłów zgłaszających węzła sąsiedniego, Reported Node Set (RN). Zbiór ten wyznacza się według następującej zasady: Węzeł I włącza węzeł J do zbioru RN wtedy i tylko wtedy, gdy stwierdzi, że jeden z jego sąsiadów może wskazać go jako następnego na najkrótszej drodze do węzła J. Aby tak się stało węzły wyliczają najkrótsze trasy w okolicy 2 skoków między sąsiadami. Wykorzystują sąsiadów jako pośredników oraz informacje zawarte w wiadomościach HELLO dotyczące prawdopodobieństwa wyboru węzła na pośrednika. Gdy węzeł stwierdzi, którzy jego sąsiedzi należą do RN, dołączane są wtedy wszystkie możliwe węzły docelowe, dla których pośrednicy do nich są już w RN. Oczywiście węzeł tworzący zbiór RN także do niego należy. W efekcie zgłaszane poddrzewo zawiera poddrzewa drzewa topologicznego, które są zakorzenione w sąsiadach zawartych w RN i połączenia z tymi sąsiadami. Należy zauważyć, że zbiór RN przypomina swoją funkcją zbiór Multipoint Relay Selectors omawiany przy protokole OLSR. Jeżeli węzeł I wyznaczy węzeł J, aby należał do zbioru RN staje się przez to jego MPR-em. Węzły zgłaszające się z wysokim priorytetem z pewnością zostaną wybrane na pośredników w konstrukcji tras. Przykład działania mechanizmu wykrywania połączeń przedstawiają kolejne rysunki [I6]. 26

27 Zgłaszane poddrzewo węzła Zgłaszane poddrzewo węzła Rysunek 4 Wykrywanie topologii TBRPF Zgłaszane poddrzewo węzła 10 Rysunek 4 Węzeł 1 wybrał węzeł 2 jako rodzica do połączeń z węzłami 7, 3 i 11. W efekcie 2 zgłasza mu całe swoje poddrzewo a 6 i 10 tylko fragmenty Rysunek 5 Wykrywanie topologii TBRPF Rysunek 5 przedstawia sytuacje, gdy zerwane zostaje połączenie między węzłami 12 i 15. W związku z tym 2 dołącza połączenie (14,15) do zgłaszanego drzewa. Gdy mamy już stworzone drzewo połączeń w sieci i kompletną tablicę topologii, możemy wyznaczyć trasę do żądanego celu. Do tego celu służy tablica rutingu oraz tablice interfejsów, hostów i prefiksów sieci. Tablica rutingu przechowuje adresy celów oraz adres następnego rutera, który wyśle dane do celu. Tablica interfejsów łączy adresy sieciowe ruterów z identyfikatorami wykorzystywanymi przez protokół. Tablica hostów łączy adresy hostów z identyfikatorami ruterów. Ostatnia z tablic przechowuje informacje, jakiemu 27

28 ruterowi odpowiada dany prefiks sieci. Korzystając z tych tablic węzeł wyznacza trasę do celu. Aby lepiej zrozumieć sposób wybierania trasy do konkretnego celu i zobaczyć współdziałanie z mechanizmem wykrywania topologii, dobrze jest to prześledzić na poniższym przykładzie [I6] trasa do celu Rysunek 6 Wyznaczanie trasy TBRPF Sytuacja z rysunku 6 bazuje na poprzednim przykładzie rozpoznawania topologii sieci. Węzeł 1 wyznacza trasę do węzła 5 przez węzeł trasa do celu Rysunek 7 Wyznaczanie trasy w TBRPF Gdy nastąpi zerwanie bezpośredniego połączenia między 1 i 2 (rysunek 5) trasa zostanie przekierowana przez węzeł 6. Węzeł 1 wybierze węzeł 6 jako kolejny na trasie innych węzłów. Spowoduje to zmiany w zgłaszanych przez węzły poddrzewach. Ostatecznie trasa i zgłaszane przez węzły poddrzewa mogą przybrać postać jak na rysunku 8. 28

29 trasa do celu Rysunek 8 Wyznaczanie trasy w TBRPF Jak widać, węzeł 6 zgłasza większą część tras. Poddrzewo węzła 2 zostało znacznie ograniczone Inne rozwiązania Podsumowując rozwiązanie w przedstawionym protokole, TBRPF bazuje na konstrukcji odpowiedniego grafu połączeń między węzłami sieci. Podobne drzewo tworzy protokół Source Tree Adaptive Routing (STAR) [A4] stanu łącza. Węzły przesyłają sąsiadom fragmenty grafu (ang. source tree) zbudowanego z połączeń do każdego możliwego celu w sieci. Komunikacja następuje w momencie, gdy zostanie wykryty nowy element sieci, jakieś połączenie zostanie zerwane lub pojawi się możliwość powstania pętli. W zależności od przepustowości protokół wykorzystuje jeden z dwóch algorytmów uaktualniania tablic rutingu. Są nimi Optimum Routing Aproach (ORA) i Least Overhead Routing Aproach (LORA). W przypadku ORA uaktualnienia są rozsyłane wtedy, gdy wystąpią zmiany w drzewie tras. Występowanie częstych zmian może spowodować duże przeciążenie. W przypadku LORA wiadomości są rozsyłane tylko do sąsiadów, gdy z drzewa znikną wszystkie możliwe trasy do jakiegoś węzła, zostanie wykryty nowy węzeł lub węzeł zorientuje się, że zmiany w grafie mogą spowodować pętle w trasach. W efekcie część tras może nie być optymalna. 29

30 Protokół przesyła informacje o zmianach w wiadomościach Link-State Update (LSU). W LSU zgłaszany jest charakter połączeń. Dla każdego połączenia jeden z dwóch węzłów jest węzłem głównym połączenia. Tylko on może zgłaszać zmiany w połączeniu. Wiadomości LSU opatrzone są numerem sekwencyjnym, który zapewnia o ich aktualności. Numer sekwencyjny dotyczący połączeń jest zmieniany przez odpowiadającą mu stację główną. Wiadomości te przenoszą tylko zmiany dotyczące drzew tworzonych przez protokół Clusterhead Gateway Switch Routing protocol [A6][A7] Cluster Gateway Switch Routing (CGSR) jest protokołem różniącym się od wcześniej opisywanych. Różni się sposobem adresowania i organizacją sieci. Poprzednie traktowały sieć jako strukturę płaską, ten dzieli ją na obszary zwane klastrami. Pierwowzorem protokołu CGSR był protokół Linked Cluster Architecture (LCA) [A10]. Opisuje on koncepcje klastrów i sposobu wyznaczania tras między nimi. Mechanizmy te pozostały niezmienione w protokole CGSR. Podział uzyskano poprzez odpowiednie mechanizmy dostępu do medium i kanałów transmisji. Mechanizmy są zaimplementowane w warstwie MAC. Stacje w obrębie klastra mogą nadawać, gdy posiadają żeton (ang. token). Żeton jest przekazywany miedzy stacjami klastra Koncepcja klastrów Węzły z sieci mobilnej ad hoc łączone są w grupy węzłów zwane klastarmi. Klastrem zarządza wybrany komputer zwany stacją czołową (ang. cluster head). Stosując algorytm wyznaczania stacji czołowej dokonywany jest wybór jednego węzła na danym obszarze. Wszystkie węzły znajdujące się w zakresie transmisji stacji czołowej należą do klastra wyznaczanego przez nią. Mogą się one komunikować ze stacją czołową, a także w dużej części między sobą. Istnieją dwie metody wyznaczania stacji czołowej, algorytm najniższego identyfikatora lub najwyższej łączności. Oznacza to, że stacja o najniższym identyfikatorze zostaje wybrana na stację czołową lub ta, która swoim zasięgiem obejmuje największą liczbę innych stacji. Są to algorytmy stosowane w początkowej 30

31 fazie działania sieci. W przypadku, gdy stacja nie będąca czołową zmieni klaster, stan stacji czołowych nie ulegnie zmianie. Gdy stacja wyjdzie poza obszar działających klastrów, sama staje się stacją czołową i tworzy nowy klaster. Stacja czołowa wchodząca w obszar innej stacji czołowej, rywalizuje z nią o miano głównej. Główną staje się ta z nich, która ma niższy priorytet lub najwyższą łączność[a10]. W przypadku, gdy grupa węzłów oddzieli się od klastra, rozpoczynają proces tworzenia klastra w oparciu o wspomniane wcześniej algorytmy. Algorytmy te opierają swoje działanie na zasadzie Least Cluster Change (LCC), czyli zasadzie minimalnych zmian. Rysunek 9 przedstawia strukturę klastra. Stacja czołowa Stacja sieci należąca do klastra Zasięg klastra Rysunek 9 Budowa klastra Połączenia miedzy stacjami Protokół CGSR definiuje dodatkowy rodzaj węzłów. Są to węzły graniczne, bramy (ang. gateways). Węzłem granicznym nazywamy taki węzeł, który należy do więcej niż jednego klastra. Komunikacja między klastrami może występować tylko poprzez węzły graniczne Ruting Do rutingu wykorzystywana jest stacja czołowa oraz stacje graniczne. Każda stacja ma do dyspozycji tablicę członków klastrów, w której zapisywana jest stacja czołowa każdego docelowego węzła sieci. Tablice te są rozsyłane okresowo. Przy rozsyłaniu stosowany jest numer sekwencyjny, aby uniknąć nieaktualnych danych w tablicach. Do rutingu stosowane są dwie tablice. Jedną jest właśnie wspomniana tablica członkostwa w klastrach. Wykorzystywana jest ona do wyśledzenia adresu 31

32 stacji czołowej klastra, do której należy stacja docelowa. Drugą jest tablica rutingu służąca do wyznaczenia kolejnego węzła na trasie do celu. Jeżeli stacja chce wysłać pakiet do celu, musi przesłać go do stacji czołowej swojego klastra, dalej do stacji granicznej klastrów i tak dalej, aż do stacji czołowej klastra docelowego. Ten przesyła pakiet do docelowego węzła. Przykład rutingu przedstawia rysunek10. A B Normalna stacja Stacja czołowa Stacja graniczna Rysunek 10 Ruting CGSR od stacji A do stacji B Gdy węzeł otrzymuje pakiet, wyszukuje najbliższą stację czołową na trasie do celu zgodnie z tablicą członkostwa i rutingu. Wówczas sprawdza w tablicy rutingu, do jakiego węzła przekazać, aby dotarł do wybranej stacji czołowej. Po dokonaniu wyboru przesyła pakiet Pozostałe rozwiązania Na koniec tego rozdziału, warto wspomnieć jeszcze o dwóch ciekawych rozwiązaniach możliwych do zastosowania w sieciach ad hoc. Pierwsze z nich to protokół Mobile Mesh Routing Protocol (MMRP) [D5]. Stanowi on razem z dwoma dodatkowymi protokołami, zespół stworzony do działania w sieciach mobilnych ad hoc. Na całość składa się Mobile Mesh Link Discovery Protocol (MMLDP) [D4], Mobile Mesh Routing Protocol oraz Mobile Mesh Border Discover Protocol (MMBDP) [D6]. 32

33 MMLDP jest protokołem zaprojektowanym do wykrywania połączeń między węzłami. Jego zasada działania opiera się na tradycyjnej wymianie wiadomości HELLO. Każdy interfejs okresowo rozsyła wiadomości zawierające jego adres. Jest to wystarczające, aby węzły wykryły połączenia. MMRP jest protokołem stanu łączy i pozwala budować trasy o najniższym koszcie pomiędzy źródłem i celem. Komunikacja odbywa się za pomocą pakietów Link State Packet (LSP). Pakiety zawierają takie dane, jak identyfikator węzła, listę adresów interfejsów danego węzła oraz adresy sąsiadów z kosztami połączeń. LSP zawierają także External Route Adveritsments, które pozwalają węzłowi rozgłaszać trasy zewnętrzne. Pozwala to, na przykład ruterom podłączonym do sieci mobilnej i jednocześnie tradycyjnej na rozgłaszanie domyślnej trasy do reszty sieci. Umożliwia także ruterom bezprzewodowym na rozgłaszanie obecności węzłów podpiętych do niego, a nie obsługujących dynamicznego protokołu rutingu. MMBRDP jest mechanizmem pozwalającym wykrywać połączenia z sieciami przylegającymi do rozpatrywanej sieci mobilnej. Jeżeli dwie lub więcej stacji ma dostęp do tradycyjnej sieci (węzły graniczne), to istnieje możliwość komunikacji z innymi węzłami poprzez sieć kablową. Umożliwione jest to poprzez zestawianie tuneli pomiędzy węzłami granicznymi z wykorzystaniem dostępnej sieć przewodowej. Drugim protokołem jest Hazy Sighted Link State Routing (HSLS) [A9]. Działanie tego protokołu opiera się na pewnej obserwacji, że węzły oddalone od siebie nie potrzebują pełnych informacji o topologii, aby przesłać dane. Niepotrzebne jest przesyłanie zmian, które występują w całej sieci. Protokół rozsyła dane o zmianach w pakietach Link State Update (LSU), co pewien ustalony okres czasu lub jego wielokrotność. Dane o zmianach kumulowane są z całego okresu do jednego pakietu i wysyłane. Pakiet opatrzony jest polem Time-to-Live (TTL). Wartość w tym polu przy przesyłaniu do kolejnego węzła zmniejszana o 1. Licznik ten pozwala ograniczyć obszar, do którego informacja o zmianach ma dotrzeć. Protokół pozwala węzłom co pewien czas t rozsyłać informacje z TTL=2, co 2t z TTL=4 i tak dalej, aż wartość TTL pozwoli na objęcie całej sieci. Wtedy następuje powrót do wartości TTL=2. Oznacza to, że węzły położone najbliżej będą najczęściej otrzymywały nowe informacje, a te położone dalej, rzadziej. 33

34 4.3 Protokoły reaktywne Kolejny rodzaj protokołów to protokoły reaktywne. Ich zachowanie jest odmienne w stosunku do protokołów proaktywnych. Wykrywanie tras, w przypadku ich zastosowania następuje tylko wtedy, gdy jest to konieczne. Ich specyfika działania jest inna, niż we wspomnianych wcześniej protokołach. Zastosowane rozwiązania przystosowują algorytmy wcześniej omawianych protokołów do nowych sytuacji lub są nowe. Zostały one opisane w tym rozdziale Ad Hoc On-demand Distance Vector [R3][A1] Pierwszym z protokołów reaktywnych jest protokół Ad Hoc On-demand Distance Vector (AODV). Jest on jednym z bardziej znanych protokołów reaktywnch, nad którymi trwają prace badawcze. Powstał on w oparciu o wcześniej opisywany algorytm DSDV. Wyszczególniony został również z innego powodu. Jest on algorytmem, w oparciu o który działa załączony symulator zachowania sieci ad hoc. Możliwości protokołu pozwalają na szybkie odkrywanie tras i nie wymuszają na węzłach przechowywania danych o celach nieaktywnych. Reaguje szybko na zmiany w topologii sieci. W przypadku zerwania połączenia, kolejne elementy sieci są o tym informowane. Dodatkowo protokół oznacza trasy numerem sekwencyjnym, dzięki któremu oraz odpowiedniemu oprogramowaniu pozwala unikać pętli w trasach. Gdy węzeł sieci chce wysłać dane do konkretnego celu i nie posiada trasy w tablicy rutowania, podejmuje próbę wykrycia trasy. Proces rozpoczyna się rozesłaniem do sąsiadów wiadomości żądania trasy RREQ (Route Request). Ci przesyłają wiadomość dalej, aż osiągnie ona punkt docelowy lub dotrze do węzła docelowego, który zna trasę do niego. Proces przesyłania został przedstawiony na rysunku

35 Rysunek 11 Przesyłanie wiadomości RREQ w protokole AODV Każda wiadomość RREQ zawiera takie dane, jak szukany cel, numer sekwencyjny celu, dane twórcy zapytania oraz identyfikator zapytania. Identyfikator zapytania jest to 32-bitowa liczba, zwiększana przy każdorazowym wygenerowaniu zapytania. Numer sekwencyjny celu i źródła są to 32-bitowe liczby związane z węzłami w sieci. Są one zwiększane przy każdorazowym rozpoczęciu procesu wyszukiwania trasy lub przy udzieleniu odpowiedzi na zapytanie o trasę. Numer sekwencyjny wraz z identyfikatorem zapytania pozwala jednoznacznie zidentyfikować wiadomość RREQ. Mechanizm ten węzły wykorzystują, aby ochronić się przed ponownym przetwarzaniem wysłanych wcześniej wiadomości. Węzły pośrednie przetwarzające zapytanie RREQ na podstawie danych o węźle źródłowym, zawartych w zapytaniu, uzupełniają trasę do tego węzła. Tworzą w ten sposób tak zwaną trasę powrotną. Węzeł końcowy lub znający trasę do węzła docelowego odpowiada wiadomością RREP (Route Request Replay) na RREQ. Wiadomość RREP zawiera aktualne dane o szukanym węźle (adres i numer sekwencyjny). Przesyłana jest ona wcześniej utworzoną droga powrotną. 35

36 Rysunek 12 Przesyłanie wiadomości RREP w protokole AODV Węzły pośrednie, przez które przechodzi RREP wpisują do swoich tablic rutingu trasę do szukanego celu. Taki mechanizm zapewnia powstanie dwukierunkowej ścieżki do komunikacji pomiędzy węzłami. Po wprowadzeniu nowej trasy do tablicy rutingu wiązana jest ona z licznikiem, po wygaśnięciu którego jest usuwana. Gdy trasa jest wykorzystywana licznik jest uaktualniany Reakcja na błędy Ciekawe rozwiązanie zastosowano w przypadku pojawienia się problemów z siecią, na przykład zrywanie się połączeń. Każdy wpis w tablicy rutingu połączony jest z listą (ang. precursors list), w której przechowywane są adresy węzłów sieci korzystających ostatnio z danej trasy. W przypadku zerwania połączenia, węzeł, który to wykryje, ma za zadanie powiadomić zainteresowane węzły. Wiadomość ta może być wysyłana na adres broadcastowy, gdy zainteresowanych jest dużo lub unicastowo, gdy jest tylko jeden zainteresowany. Zainteresowani, ich ilość i adresy, wyszukiwani są na podstawie list dołączonych do wpisów do tablicy rutingu. W przypadku wykrycia zerwania połączenia węzeł sprawdza, jakie trasy stają się nieaktualne. Następnie dokonuje wyboru tych sąsiadów, którzy są na listach związanych z wybranymi trasami. Do wybranych sąsiadów wysyłane są wiadomości RERR (Route Error). Sąsiedzi, którzy otrzymali taką wiadomość powtarzają przedstawiony mechanizm, przesyłając wiadomość o problemie z połączeniem dalej. Węzły bezpośrednio zainteresowane dostępem do określonych węzłów po otrzymaniu wiadomości RERR mogą podjąć decyzję o ponownym znalezieniu trasy. 36

37 Dodatkowe aspekty protokołu Jak większość wcześniej wymienionych protokołów, także i AODV stosuje wiadomości HELLO. Wiadomości te są okresowo rozsyłane informując węzły w zasięgu nadajnika o obecności danej stacji. Pozwalają one utrzymać komunikację o zasięgu lokalnym. Węzły otrzymując je wprowadzają trasy do tablic rutingu. Mechanizm ten nie jest jednak obowiązkowy. Stacje mogą dowiadywać się o swojej obecności podsłuchując w sieci. Działanie protokołu może być niepoprawne w przypadku pojawienia się połączeń jednokierunkowych. Wynika to z faktu przesłania RREP tą samą trasą co RREQ. Protokół pozwala na wykrywanie czy RREP dotarła do celu. Za czynność tą odpowiadają mechanizmy warstw niższych lub wiadomość RREP-ACK (Route Replay Acknowledge). Węzeł źródłowy wysyła wiadomość RREP-ACK powiadamiając węzły leżące na trasie i cel, że zna drogę. Gdy taka wiadomość nie dotrze w oczekiwanym czasie węzły zapamiętują sąsiadów, od których nie otrzymali potwierdzenia i w efekcie ignorują przez wyznaczony czas ponowne zapytania RREQ. Zakładają, że po jego upływie sytuacja w sieci może się zmienić. Zmiany protokołu związane ze zmianą adresowania IPv4 na IPv6 polegają tylko na zmianie długości pól w ramkach przechowujących adresy węzłów sieci [D8] Dynamic Source Routing [D10][A20] i DSR FLOW [D12] Protokół Dynamic Source Routing (DSR) jest kolejnym protokołem wyszukiwania trasy na żądanie. Mechanizm wyszukiwania wygląda w nim podobnie, jak w protokole AODV. Różnice są takie, że nie jest to protokół typu hop-by-hop, jak to było w przypadku poprzedniego, ale typu source routing, czyli przechowujący w tablicach rutingu pełne dane o trasach do celów Wykrywanie i zarządzanie trasami Działanie protokołu można podzielić na dwie fazy: wykrywanie trasy i zarządzanie dostępną trasą. Aby wysłać dane do innej stacji należy stworzyć pakiet, 37

38 który w swoim nagłówku zawiera listę adresów hostów, przez które pakiet musi przejść, aby osiągnąć żądany punkt w sieci. Zestawy tras przechowywane są w pamięci podręcznej (route cache). Przed wysłaniem pamięć ta jest sprawdzana, czy dana trasa nie została już wykryta. Gdy tak nie było, rozpoczyna się proces wykrywania trasy. Węzeł rozsyła broadcastowo wiadomość RREQ (Route Request). Wiadomość ta zawiera adres celu i identyfikator wiadomości. Wiadomość jest przesyłana między węzłami. Każdy z nich sprawdza czy zna trasę do celu, jeżeli nie, dopisuje swój adres do wiadomości i przesyła ją dalej. Rysunek 13 Wyszukiwanie trasy DSR RREQ [A1] Aby wykryć zdublowane zapytania, węzły przechowują dane ostatnio przetworzonych zapytań ( adres źródła, identyfikator zapytania). Odpowiedź na zapytanie RREP (Route Replay) jest tworzona w momencie dotarcia zapytania do węzła docelowego lub do węzła, który zna trasę do celu. Po dotarciu zapytania posiada on zapisaną całą trasę. Węzeł odpowiadający umieszcza zapisaną trasę w wiadomości RREP (Route Replay). Jeżeli nie jest to węzeł ostateczny, to uzupełnia trasę adresami stacji, jakie należy przejść od niego do stacji docelowej. Aby wiadomość mogła dotrzeć do pytającego węzeł musi znać do niej trasę. Dopuszczalnym rozwiązaniem jest dołączenie odpowiedzi do zapytania o trasę do źródła. Gdy połączenia są symetryczne może wykorzystać odwróconą kolejność stacji, jakie zebrała wiadomość RREQ. Proces odpowiedzi przedstawia rysunek

39 Rysunek 14 Wyszukiwanie trasy DSR RREP[A1] Drugą fazą, jaką można wyróżnić jest utrzymanie i zarządzanie pozyskanymi trasami. W tradycyjnych protokołach wysyłane są okresowo uaktualnienia tras. Protokół nie wysyła żadnych informacji w momencie, gdy zostało zerwane jakieś połączenie. Zamiast tego węzły monitorują procesy przesyłania pakietów i informują wysyłających dane o napotkanych problemach. Wykrywanie problemów z połączeniem należy do zadań warstwy łącza danych. Węzeł wykrywający problem z wysłaniem danych zobowiązany jest wysłać wiadomość RERR (Router Error) do węzła, który wygenerował powyższe dane. Wiadomość ta zawiera adres źródła danych i adres węzła, który wykrył problem. Węzeł otrzymujący taką wiadomość musi usunąć z pamięci wszystkie trasy, które przechodzą przez stację zgłaszającą błąd połączenia. Wykrywanie potrzebnych tras należy rozpoczynać od nowa DSR Flow DSR Flow jest wymieniany jako protokół rutingu. W rzeczywistości jest on rozszerzeniem protokołu DSR nazywanym też flow state. Rozszerzenie to pozwala na ruting większości pakietów bez standardowego nagłówka protokołu DSR zachowując jego właściwości. Podczas wykrywania zadanej trasy rozszerzenie to pozwala na ustanowienie strumienia, którym będą kierowane pakiety wzdłuż ustalonej trasy do celu. Strumień można rozumieć jako trasę od celu do źródła, na 39

40 której pakiety kierowane są zgodnie z zasadą hop-by-hop. Każdy strumień jest identyfikowalny jednoznacznie poprzez adres źródła, celu oraz identyfikator strumienia. W celu przesłania danych strumieniem, zamiast standardowego nagłówka DSR, stosowany jest specjalny nagłówek zawierający dane identyfikujące strumień. Tworzenie strumienia polega na dołączeniu wiadomości RREQ nagłówka dla pakietów korzystających z przyszłego strumienia. Stacje pośredniczące otrzymując taką wiadomość, zapamiętują w tablicy strumieni (ang. flow table) dane dotyczące tworzonego strumienia. Kolejne pakiety mogą być przesyłane z wykorzystaniem nowego nagłówka i strumienia. Węzły odczytując dane z nagłówka wiedzą, dokąd posłać pakiet. Mechanizm ten pozwala zaoszczędzić czas i zmniejszyć obciążenie stacji Temporally Ordered Routing Algorithm [D9][A13][A14] Kolejnym znanym protokołem jest Temporally Ordered Routing Algorithm (TORA). Protokół ten nie można zaliczyć do dystansowo-wektorowych ani do stanu łączy. Jest on protokołem opartym o algorytm odwracania połączeń (ang. linkreversal algorithm). Doskonale sprawdza się w rozbudowanych, dynamicznych sieciach mobilnych. Pozwala na wyszukiwanie wielu tras do jednego celu, gdy istnieje taka potrzeba. Działanie protokołu opiera się na budowaniu wolnej od pętli struktury drzewiastej, która służy do kierowania ruchem w sieci. Pozwala na minimalizowanie ruchu w sieci. Ciekawa jest zastosowana koncepcja wymiany małych wiadomości kontrolnych między węzłami w obrębie miejsca wystąpienia zmian w sieci. Ogólna koncepcja działania jest taka, że dla każdego celu tworzony jest wcześniej wspomniany graf skierowany. Graf tworzony jest poprzez przypisywanie połączeniom między węzłami kierunków przesyłania danych w górę (upsteream) lub w dół (downstream). Kierunki nadawane są z uwzględnieniem metryki powiązanej z ruterami. Konceptualnie metryka ta oznacza wysokość. Połączenie tworzone jest od rutera położonego wyżej do rutera położonego niżej. Węzły mogą przesyłać dane tylko połączeniami skierowanymi w dół. 40

41 Można dokonać logicznego podziału protokołu na trzy funkcje: - tworzenia tras - utrzymywania tras - usuwania tras Tworzenie tras i ich utrzymanie [A13] Tworzenie tras odnosi się do wyznaczania wysokości [D9] położenia stacji w celu utworzenia ciągu połączeń prowadzących do danego celu. Tworzenie grafu inicjowane jest na żądanie. W procesie wykorzystuje się wiadomości kontrolne QRY (query)[d9] i UPD (update)[d9]. Pakiet QRY zawiera identyfikator celu, do którego trasy szukamy. Taki pakiet przesyłany jest do sąsiadów, a następnie przez kolejne węzły sieci, aż osiągnie punkt docelowy lub węzeł, który ma wyznaczoną szukaną trasę. Węzeł z trasą lub docelowy odpowiada wiadomością UPD. Wiadomość ta zostaje wysyłana do sąsiadów i niesie informacje o celu i wysokości rutera wysyłającego ją. Stacje, które wcześniej przetwarzały pakiet QRY po otrzymaniu UPD wyznaczają wysokość, przepisują cel i wysyłają pakiet UPD dalej. Kolejne stacje uczą się wysokości swoich sąsiadów i wyznaczają kierunek połączenia między sąsiadami dla danej trasy. W efekcie sieć przyjmuje postać wcześniej wymienionego grafu skierowanego z korzeniem w węźle źródłowym i skierowanym do celu (patrz rysunek 15). Wyznaczone zostają też wszystkie możliwe trasy do celu. 41

42 Rysunek 15 Graf w protokole TORA [A1] Utrzymywaniem tras zainteresowane są stacje reprezentujące wysokość większą od zera. Proces utrzymania tras polega na lokalnych zmianach w już istniejących połączeniach w przypadku powstania awarii. Gdy węzeł stwierdza, że trasa do węzła docelowego przestaje być aktualna (zostało zerwane połączenie), ustala swoją wysokość na wartość będącą wśród jego sąsiadów lokalnym maksimum. Skutkuje to tym, że wszystkie połączenia skierowane w jego stronę zostają odwrócone i żadne połączenie nie prowadzi przez niego do celu. Zmiany kierunków połączeń węzły sąsiednie dokonują po otrzymaniu pakietu UPD. Rysunek 16 przedstawia proces zmian w sieci po zerwaniu połączenia. Zmiany obejmują tylko taki zasięg, jaki jest wymagany, aby ustanowić nową trasę w miejscu powstania awarii. Węzły leżące dalej nie są niepokojone wiadomościami o zmianach. 42

43 Rysunek 16 Naprawianie tras w protokole TORA [A1] Usuwanie tras [A13] Usuwanie jest ostatnią z funkcji protokołu. Ma ona znaczenie przy wykryciu pętli i stwierdzeniu, że inni w rzeczywistości nie znają trasy do celu. Zjawisko to ma miejsce zazwyczaj przy naprawianiu połączeń. Węzeł otrzymuje wiadomość o zmianach (UPD) i zmienia kierunek swoich połączeń zakładając, że sąsiedzi znajdą lepszą trasę. Gdy po pewnym czasie otrzymuje wiadomość UPD dotyczącą tej samej trasy i nie ma on żadnych połączeń wychodzących. podejmuje decyzję o usunięciu problematycznej trasy. Istnieje przypuszczenie, że sąsiedzi także nie mają możliwości przesyłania pakietów do celu. Usunięcie trasy następuje poprzez wygenerowanie wiadomości CLR (clear) [D9]. Sąsiedzi po otrzymaniu takiej wiadomości usuwają połączenia oznaczone jako w dół do danego węzła. Następnie przesyłają wiadomość dalej Associativity Based Routing[D11] Protokół Associativity-Based Routing (ABR) jest kolejnym, w którym zastosowano oryginalne rozwiązania. Protokół ma za zadanie wykorzystać skutecznie przepustowość sieci w fazie wykrywania tras. Pozwala na dwojaki rodzaj wykrywania tras. Jest to routing punkt-punkt lub broadcastowy. W pierwszym 43

44 przypadku wszystkie węzły biorą udział w wyszukiwaniu trasy. Wyboru trasy dokonuje ostatecznie węzeł źródłowy oraz docelowy. Ten sposób rutingu jest zorientowany połączeniowo. W drugim przypadku pakiet jest rozgłaszany w sieci. Węzły nie wyszukują trasy. Adres docelowy służy jako informacja, gdzie ma dotrzeć pakiet. Możemy mówić o rutingu zorientowanym bezpołączeniowo. Protokół ten stosuje inną, niż pozostałe protokoły metrykę. Protokół ten korzysta z właściwości, które związane są ze zdolnością do nawiązywania połączeń przez węzeł (ang. associativity). Tylko wybrana trasa jest wykorzystywana do przesyłania pakietów. Pozostałe trasy są odrzucane. Efektem tego jest otrzymanie długotrwałych tras. Każdy węzeł stosuje identyfikatory oraz numery sekwencyjne do jednoznacznej identyfikacji żądań. Ze względu na naturę sieci ad hoc węzły zmieniają swoje położenie. Podstawową cechą protokołu jest to, że procesy zmian lokalizacji są odnotowywane przez wszystkie węzły sąsiednie. Wiąże się to z metryką protokołu. Łączność węzła zmienia się często, gdy węzeł zmienia swoje położenie. Zmiany położenia mierzone są w odstępach czasu zwanych impulsami (ang. ticks). Mierzona jest ilość impulsów własna i sąsiadów. Stabilność połączeń jest gwarantowana, gdy ilość impulsów jest duża. Niska stabilność oznacza dużą ruchliwość węzła. Wartość wysoka wskazuje na stabilną lokalizację i oznacza węzeł, który może dobrze służyć w procesie przesyłania pakietów. Ilość impulsów odebranych jest zerowana po upływie ustalonego okresu, od momentu odebrania ostatniego powiadomienia. Informacje o impulsach są wymieniane przez sąsiadujące ze sobą stacje, poprzez krótkie wiadomości powiadamiające Wykrywanie tras Jak w przypadku każdego z protokołów, opisane zostaną jego dwie główne funkcje, tzn. wykrywanie i utrzymywanie tras. Poszukiwanie drogi do celu bazuje na wymianie między źródłem danych i celem dwóch wiadomości, które definiuje protokół. Są to Broadcast Query (BQ) oraz Await Replay (Replay). Pierwsza z nich jest zapytaniem, a druga odpowiedzią w procesie wyszukiwania trasy. Gdy stacja w sieci chce przesłać dane do innej, przeszukuje swoją tablicę rutingu. Gdy nie znajdzie żądanej trasy, rozpoczyna proces wyszukiwania. Wysyła zapytanie BQ zawierające jej adres IP, adres IP celu oraz opatruje zapytanie w numer sekwencyjny. 44

45 Dodatkowo zapytanie posiada pole life-time, czas życia, które pozwala kontrolować zasięg rozsyłania zapytania. Węzły pośredniczące w wyszukiwaniu sprawdzają czy już przypadkiem nie przetwarzały danego pakietu. Jeżeli nie, zadaniem ich jest dopisanie danych o sobie do wiadomości i przesłanie jej dalej do kolejnych stacji. Dane te to adres IP, ilość impulsów oraz dane o sąsiadach. Kolejne węzły przetwarzające wiadomość usuwają zbędne dane wprowadzone przez swoich poprzedników pozostawiając tylko te, które dotyczą danej stacji oraz stacji zlokalizowanych na trasie. Ostatecznie, gdy wiadomości docierają do stacji docelowej posiadają spis węzłów pośrednich tworzących trasę i dane o ich zdolności do nawiązywania połączeń. Zadaniem węzła docelowego jest wybranie z kilku pakietów, jakie do niego dotarły, najlepszej trasy i odrzucenie pozostałych. Stacja końcowa tworzy odpowiedź i przesyła ją wzdłuż wyznaczonej trasy. Węzły pośrednie oznaczają trasę, w której tworzeniu brały udział, jako właściwą i przesyłają wiadomość dalej. Wszystkie inne trasy pozostają nieaktywne, co zapobiega duplikowaniu się pakietów Rekonstrukcja tras W ramach rekonstrukcji tras możliwe są cztery zachowania protokołu: częściowe wykrywanie trasy, usuwanie trasy, uaktualnienie trasy oraz wykrywanie nowej trasy. W przypadku, gdy porusza się węzeł źródłowy trasy, rozpoczyna się proces jej rekonstrukcji. Polega on na wyszukiwaniu trasy od nowa. W przypadku ruchu węzła docelowego, węzeł poprzedzający go na trasie sprawdza czy jest on dostępny poprzez wysłanie wiadomości Localized Query (LQ). Konstrukcja LQ jest podobna do BQ i służy do wykrywania częściowo utraconych tras. Jeżeli cel otrzyma taką wiadomość, wyznacza najlepszą fragmentaryczną trasę i wysyła odpowiedź Replay. Jeżeli w ustalonym czasie węzeł nie otrzyma potwierdzenia wyznaczenia trasy, przesyła do poprzedzającego go węzła na trasie wiadomość Route Notification (RN) powiadamiającą, że trasa została zerwana. Od tej chwili ma on za zadanie wykryć brakującą cześć trasy. Proces ten jest powtarzany, aż do osiągnięcia węzła leżącego w połowie trasy. Gdy i wtedy trasa nie zostanie odnowiona, węzeł ten wysyła wiadomość RN do węzą źródłowego i proces wykrywania trasy rozpoczyna już węzeł źródłowy. Gdy proces odnawiania trasy nie jest potrzebny, węzeł źródłowy 45

46 powiadamia wszystkie węzły o usunięciu jej poprzez wiadomość Route Delete (RD). Wiadomość jest rozsyłana broadcastowo, gdyż węzeł źródłowy nie wie, jakie zmiany nastąpiły w połączeniach od chwili powstania trasy Signal Stability Routing [A15] Protokół Signal Stability Routing (SSR) jest w przeciwieństwie do poprzednich, protokołem, który wyznaczanie tras uzależnia do mocy sygnałów nadawanych przez sąsiadów oraz stabilności ich położenia. Połączenia dzielone są na słabe i mocne. Sposób selekcji pozwala wybierać długotrwałe trasy. Żądanie szukania trasy rozsyłane jest do wszystkich sąsiadów. Sąsiedzi rozsyłają je dalej, w przypadku gdy nadeszło od strony mocnego połączenia. Słabe połączenia są ignorowane, aby uniknąć pętli. Wiadomość z zapytaniem magazynuje adresy węzłów pośredniczących. Ostateczną trasę, ze względu na jej długość (ilość węzłów pośredniczących) i prędkość trasy (te, które przyszły pierwsze), wybiera węzeł docelowy. O swojej decyzji informuje przekazując wiadomość tą właśnie drogą. Protokół można podzielić na dwie współdziałające ze sobą części. Są to Forwarding Protocol (FP) i Dynamic Routing Protocol (DRP). Pierwszy z nich zajmuje się sprawdzaniem danych w tablicy rutingu i odpowiednim kierowaniem pakietów. Drugi ma za zadanie zarządzać tablicami rutingu (RT) oraz Signal Stability Table (SST) zawierającej dane o mocy sygnałów sąsiadów. Ogólna zasada współdziałania tych dwóch protokołów jest taka, że pakiet najpierw przetwarzany jest przez DRP, następuje uaktualnienie tabel, a następnie jest przekazywany do FP. Tablica SST tworzona jest na podstawie powiadomień na poziomie warstwy łącza danych. Sąsiedzi są klasyfikowani pod względem mocy sygnału na mocne i słabe połączenia. Gdy węzeł otrzymuje kilka powiadomień od tego samego węzła bez przerw, uznaje, że ma bardzo dobre połączenie - mocne. Tylko węzły, z którymi mamy mocne połączenie (ang. strong connected) są wpisywane do tablicy rutingu. Powiadomienia do sąsiadów nadchodzą w określonych odstępach czasu, tak zwanych kliknięciach. Tablica SST przechowuje czas nadejścia ostatniego powiadomienia oraz ilość kliknięć oznaczającą jak długo nieprzerwanie otrzymujemy powiadomienia. Wykorzystywana jest do utrzymania lokalnych tras do sąsiadów oraz przeprowadzania procesów wyszukiwania tras. 46

47 Działanie protokołu Stacja z zaimplementowanym protokołem SSR jako protokół rutingu szuka trasy w tablicy rutingu. Jeżeli brak jest żądanej trasy rozpoczyna się proces wyszukiwania. Do tego celu rozsyłane są wiadomości Route Request (RREQ). Wiadomości te przesyłane są tylko przez mocne połączenia. Wiadomość RREQ, podobnie jak w przypadku niektórych poprzednich protokołów przechowuje dane o węzłach, przez które została przetworzona. Jest ona rozsyłana do momentu, aż napotka węzeł docelowy. Węzły pośrednie przetwarzając ją odnotowują w tablicy ruitngu dane o trasach do węzła źródłowego i docelowego. Węzeł docelowy wybiera pierwszą wiadomość RREQ, jaka do niego dociera i uznaje dostarczoną trasę za właściwą. Odpowiada wiadomością Route Replay. Węzły pośrednie otrzymując tą wiadomość dokonuje odpowiednich zmian w tablicach rutingu. Protokół, w celu utrzymania utworzonej trasy, wykorzystuje prosty mechanizm. Węzeł pośredni może nagle stać się niedostępny. Jego poprzednik otrzymując wiadomość przeznaczoną dla niego, powinien mu ją przesłać. Gdy jednak zorientuje się, że węzeł ten przestał odpowiadać lub wiadomość do niego nie dotarła, musi powiadomić stacją źródłową o problemie. Zmienia dane w tablicach RT i SST oraz przesyła wiadomość o błędzie. Stacja źródłowa zmuszona jest rozpocząć proces wyszukiwania od nowa Ant-Colony Based Routing Algorithm [A16][A17] W rozdziale tym omówiony jest protokół Ant-Colony Based Routing Algorithm (ARA) [A16][A17]. Szczególną jego cechą jest to, że twórcy wzorowali się na inteligencji i zachowaniu się mrówek. Szczególnie nacisk położono na sposób rozwiązywania problemów i komunikację mrówek. Mrówki nie porozumiewają się bezpośrednio ze sobą, ale poprzez oznaczanie terenu. Jest to dobry sposób komunikacji w zmieniającym się środowisku. Podstawą działania algorytmu było zachowanie się mrówki poszukującej pożywienia. Mrówka rozpoczyna wędrówkę w kierunku jedzenia. Gdy dochodzi do skrzyżowania decyduje, które odgałęzienie ma wybrać. Mrówka porusza się oznaczając teren feromonami. Koncentracja feromonów wskazuje na użyteczność oznaczonej trasy. 47

48 Rysunek 17 Ilustracja zachowania mrówki Na rysunku 17 mrówka w punkcie A, na drodze do jedzenia dokonuje losowego wyboru trasy. Wszystkie mrówki oznaczają wybraną przez siebie trasę. W efekcie trasa, którą podąża większa liczba mrówek bardziej się wyróżnia. Ostatecznie pozostaje tylko jedyna możliwa trasa. W przypadku sieci będziemy mówić o grafie zbudowanym z węzłów, które reprezentują stacje w sieci i krawędzi reprezentujących połączenia między stacjami. Każda krawędź ma przypisaną liczbę. Symbolizuje ona liczbę feromonów i wskazuje na użyteczność połączenia. Powyższy model pozwala na szybką adaptację do zmiennych warunków. Istnieje możliwość wykorzystywania wielu tras. Wykrywanie tras wymaga wprowadzenia pojęć Forward Ant (FANT) i Backward Ant (BANT). FANT i BANT są pośrednikami w wyznaczaniu trasy, odpowiednio dla węzła źródłowego i docelowego. Są to wiadomości opatrzone unikalnym numerem sekwencyjnym. FANT jest rozsyłany poprzez sąsiadów nadawcy. Węzły pośrednie otrzymując taką wiadomość tworzą wpisy w tablicy routingu dotyczące węzła źródłowego. Wpisy te opatrywane są wartością - ilością feromonów zależną od odległości od nadawcy. Rysunek 18 Wyszukiwanie trasy przez pakiet FANT(F) od źródła S do celu D Ostatecznie FANT dociera do węzła docelowego. Ten tworzy odpowiedź BANT, która poddawana jest podobnym operacjom, aż dotrze do węzła źródłowego. 48

49 Rysunek 19 Zachowanie wiadomości BANT(B) Jak widać na przykładowych rysunkach, może powstać i istnieć kilka tras do celu. Po ustanowieniu tras, omawiane wiadomości są wykorzystywane do utrzymania ścieżek. Wartości feromonów przypisane początkowo ulegają zmianie. Odnosi się to do faktu, że w rzeczywistości feromony są rozpraszane. Ciągła wymiana wiadomości podnosi ubywającą wartość przypisaną trasom. W momencie wykrycia przerw na trasie ilość feromonów ustawiana jest na 0. Stacja kolejno wyszukuje trasy alternatywnej. Gdy nie znajdzie, informuje poprzednika by spróbował znaleźć trasę alternatywną. Proces cofania postępuje, aż do źródła, gdzie konieczne jest ponowne rozpoczęcie procesu wyszukiwania trasy Pozostałe protokoły Na koniec podane zostaną dwa dodatkowe protokoły. Jednym z nich jest Relative Distance Micro-Discovery Ad hoc Routing (RDMAR)[A19][D14]. Jest to kolejny protokół odporny na powstawanie pętli, skalowalny i doskonale przystosowany dla dużych sieci z częstymi zmianami. Celem projektowym było stworzenie mechanizmu ograniczającego obszar zmian do minimum. Gdy węzeł ma przesłać wiadomość i nie ma trasy, rozpoczyna proces wykrywania. Protokół przewiduje dwie możliwości: rozesłać zapytanie do wszystkich stacji w sieci lub ograniczyć się do pewnego obszaru. O zasięgu i sposobie rozgłaszania decyduje algorytm wyliczający odległość względną do celu. Zasięg ten wyliczany jest na podstawie długości ostatnio znanej trasy do węzła docelowego, czasie, jaki upłynął od ostatniej wiadomości o rutingu do celu oraz średniej przepustowości sieci i czasie transmisji. Względna odległość przeliczana jest na ilość skoków do celu i podstawiana w pole TTL do pakietu z zapytaniem [A19]. Zapytanie Route Request przesyłane jest pomiędzy węzłami, które tworzą wpisy o 49

50 trasie powrotnej do węzła docelowego. Odpowiedź generowana jest tylko przez węzeł docelowy na pierwsze zapytanie. Odpowiedź trafia do wszystkich węzłów przetwarzających zapytanie, ale tylko węzły tworzące wybraną trasę pozostają aktywne. Pozostałe są pasywne. Gdy węzeł nie jest w stanie przesłać dalej pakietów po wyznaczonej trasie ze względu na zerwanie połączenia lub błędy w transmisji, retransmituje ją kilka razy. Gdy to nie skutkuje, rozpoczyna proces wykrywania trasy opisany wcześniej. Oczywiście poszukiwania ograniczane są do obszaru wyznaczonego na podstawie algorytmu, aby zmniejszyć obciążenie sieci. Drugim protokołem jest Lightweight Underlay Network Ad hoc Routing (LUNAR)[D13]. LUNAR jest ciekawym protokołem bazującym na protokole ARP [RFC 826]. Węzeł źródłowy, który chce wysłać pakiet IP w tej samej sieci, wysyła wewnętrzne zapytanie ARP. Warstwa routingu oparta o protokół LUNAR przyjmuje zapytanie ARP i uznaje je za wiadomość Lunar Route Request. Odpowiedzią na nią jest Route Replay. Tworzone są jednocześnie dwie niezależnie trasy dla każdego z kierunków pomiędzy źródłem i celem. Gdy węzeł źródłowy odbiera odpowiedź, przekształca ją na odpowiedź ARP Replay i pozwala wysłać datagram IP do żądanego celu. Trasy w protokole LUNAR mają wyznaczony czas życia. Są to standardowo 3 sekundy. LUNAR nie wymaga więc naprawiania tras ani innych mechanizmów podtrzymujących. Protokół ten przeznaczony jest dla małych sieci mobilnych, od 10 do 40 węzłów. Konstruktorzy zalecają jednak stosowanie go dla 15 węzłów oddalonych od siebie na maksimum 3 skoki. LUNAR zbudowany jest z czterech bloków: - IP adaption and steering layer (ASL) - LUNAR protocol engine - extensible Resolution Protocol (XRP) - SelNet virtual link layer Warstwa ASL leży poniżej warstwy stosu IP i zajmuje się translacją zdarzeń na zdarzenia protokołu LUNAR. Jest to na przykład tłumaczenie zapytań ARP i DHCP. Odpowiada ona za ponowne wyszukiwanie tras co 3 sekundy. Drugi wymieniony blok, to główna część protokołu. Ma zaimplementowane algorytmy potrzebne do działania protokołu. XRP i jest warstwą odpowiadającą za odpytywanie, tworzenie odpowiedzi oraz definiowanie formatu danych. Przez nią poprzednia warstwa 50

51 komunikuje się z pozostałymi. Ostatnia warstwa SelNet jest warstwą przesyłania danych. Odpowiada za tworzenie tras i jest niezależna od warstwy sieciowej. W modelu ISO OSI zlokalizowana jest na szczycie warstwy łącza danych. Przedstawione bloki tworzą praktycznie nowy model sieci i w oparciu o niego działa ten protokół [D13]. 51

52 4.4 Protokoły hierarchiczne Klasyfikacja obejmuje także protokoły hierarchiczne. Klasa tego typu protokołów została wydzielona w oparciu o inne kryterium niż wcześniej omawiane. Jest to klasa zawierająca protokoły proaktywne i reaktywne. Wyszczególnienie jej jest tutaj pożądane. Pozwala spojrzeć na zagadnienia sieci mobilnych ad hoc pod innym kątem. Umożliwia przedstawienie cechy protokołów tego właśnie rodzaju Cluster Based Routing Protocol [D15] Pierwszym z grupy jest protokół Cluster Based Routing Protocol (CBRP). Należy on do protokołów, w których sieć nie traktuje się jako jednolitą całość. Jest to protokół reaktywny, odpowiednik protokołu CGSR. Sieć jest dynamicznie dzielona w klastry węzłów, które są dostępne w odległości maksymalnie 2 skoków od siebie. Celem takiego podziału jest otrzymanie efektywnej i wydajnej topologii, która pozwoli na właściwe i wydajne wyszukiwanie oraz utrzymanie tras. Każdy klaster ma swojego przedstawiciela, który utrzymuje informacje o nim. Trasy pomiędzy klastrami są wykrywane dynamicznie z wykorzystaniem informacji o członkach klastra, a następnie są przechowywane w stacjach czołowych. Podział pozwala zminimalizować efekt zalewania sieci informacjami o rutingu podczas wykrywania tras. Do wyboru stosuje się wymieniany wcześniej (patrz CGSR) algorytm najniższego identyfikatora węzła. Każdy klaster posiada stację czołową oraz zbiór węzłów granicznych, które moją połączenia z sąsiednimi klastrami. Żądanie o trasę przechodzi przez stację czołową i stacje graniczne. W tworzeniu klastra wykorzystywane są takie elementy jak tablica sąsiedztwa i wiadomość HELLO. Gdy stacja włącza się, rozgłasza wiadomości HELLO. Ma to na celu sprawdzenie czy w otoczeniu istnieje stacja czołowa. Powinna ona odpowiedzieć na naszą wiadomość. W przypadku nie uzyskania odpowiedzi należy uznać, że w otoczeniu brak jest stacji czołowej i komputer włączający się, staje się stacją czołową klastra. Dodatkowym warunkiem jest posiadanie przez stację możliwości połączeń dwukierunkowych. Zmiana stacji czołowej następuje tak rzadko, jak to tylko możliwe. Nowe włączające się stacje nie rywalizują z istniejąca stacją, nawet gdy ich identyfikator jest niższy. 52

53 Zmiana następuje dopiero wtedy, gdy aktualna stacja główna przejdzie w obszar innego klastra. Każdy z węzłów sieci utrzymuje tablicę sąsiadów. Dane w niej zawarte, to czy połączenie za sąsiednim węzłem jest jedno czy dwukierunkowe oraz czy sąsiad jest stacją czołową, czy może zwykłym członkiem klastra. Stacje czołowe posiadają dane o członkach klastrów oraz klastrach sąsiadujących. Dodatkowo dysponują listą stacji brzegowych, które pozwalają na kontakt ze stacjami czołowymi innych klastrów Wykrywanie tras Trasy wykrywane są tylko wtedy, gdy istnieje taka potrzeba. Węzeł rozsyła zapytanie Route Request (RREQ) do stacji czołowych sąsiednich klastrów. Każda z nich sprawdza czy w jej obrębie leży żądany węzeł. Gdy takiego nie znajduje, kontynuuje odpytywanie w sąsiednich węzłach. Jeżeli znajdzie wysyła zapytanie do szukanego węzła. Gdy stacja docelowa otrzyma RREQ, odpowiada wiadomością Route Replay (RREP), którą przesyła trasą wyznaczoną przez RREQ. Rysunek 20 CBRP struktura sieci Gdy węzeł wykryje zerwanie połączenia wysyła wiadomość Error (ERR) do węzła źródłowego i stosuje mechanizm lokalnej naprawy. Mechanizm ten polega na sprawdzaniu czy stacja, z którą tracimy połączenie nie jest przypadkiem dostępna przez sąsiednie węzły. 53

54 4.4.2 Hierarchical State Routing [A21] Kolejnym protokołem jest Hierarchical State Routing (HSR). Jest on, podobnie jak kilka poprzednich, protokołem traktującym sieć jako strukturę zbudowaną z klastrów. Różni się od nich tym, że zastosowano budowę wielopoziomową. Dotychczasowe stacje czołowe tworzą elementy klastra wyższego rzędu. Te stacje organizują się w klastry. Stacje czołowe nowych klastrów są członkami klastrów kolejnego rzędu i tak dalej. Celem jest praktyczne wykorzystanie przepustowości sieci i dostępnych zasobów. Stacje czołowe posiadają dane o członkach klastra oraz dane o sąsiednich stacjach czołowych. Kontrolują też ruch w obrębie własnego klastra. Rysunek 21 Struktura sieci HSR i ruting między klastrami Taka budowa sieci wymaga innego sposobu adresowania, niż przy płaskiej strukturze. Protokół posiada zdefiniowany hierarchiczny identyfikator (GID), który jest sekwencją MAC adresów węzłów tworzących ścieżkę od wierzchołka hierarchii do węzła na najniższym poziomie. Ze względu na ważną rolę stacji granicznych, posiadają one kilka adresów w tak usystematyzowanej sieci. Stacja wysyłająca dane 54

55 do innej stacji dzięki adresowaniu wie, czy wysłać dane do stacji czołowej czy ma szukać jej lokalnie. Stacja czołowa wie, czy przesłać dane na wyższy poziom hierarchii czy przesłać do stacji czołowych na swoim poziomie. Rysunek 21 oddaje doskonale założenia protokołu. Możemy zaobserwować wielopoziomową budowę sieci, przyjęty sposób adresowania oraz ruting pomiędzy dwoma stacjami Fisheye State Routing[D16][A21] Fisheye State Routing (FSR) jest protokołem, którego sposób pojmowania topologii pozwala zaklasyfikować go jako protokół hierarchiczny oraz zmniejszyć ilość informacji wymienianych między węzłami bez zmniejszenia ich dokładności. Autorzy zaproponowali wykorzystanie algorytmu stosowanego w grafice do przetwarzania danych. Jest to algorytm Rybiego Oka, Fisheye. Pozwala on pobierać dokładne dane graficzne z otoczenia punktu skupienia. Dokładność ta maleje wraz ze wzrostem odległości od punktu centralnego. Przełożono ten algorytm na potrzeby rutingu. Pozwala on zbierać szczegółowe informacje o sąsiadach, a mniej dokładne o bardziej oddalonych węzłach. Protokół ten stanowi rozszerzenie protokołu GSR i jego ulepszenie Global State Routing Protocol [A22] Global State Routing Protocol (GSR) jest protokołem stanu łączy. Bazuje on na rozsiewczej metodzie protokołu DBF i pozwala unikać zalewania sieci nadmiarowymi informacjami, oczywiście przy zachowaniu wiedzy o całej topologii. Każdy z węzłów utrzymuje listę sąsiadów, tabele topologii oraz tabelę next-hop (węzłów stanowiących kolejne stacje pośrednie na danej trasie) i odległości. Tabela sąsiedztwa przechowuje informacje o węzłach, do których mamy bezpośrednie połączenia oraz informacje o stanie połączeń opatrzone znacznikiem czasu. Tabela odległości wyznacza odległości i kierunki tras do pozostałych węzłów sieci. Początkowo węzły znają tylko tablicę sąsiedztwa i mają pustą tablicę topologii. Od sąsiadów uczą się odległości. Sąsiedzi wysyłają dane o topologii sieci. Węzeł otrzymujący je uaktualnia swoją tablicę topologii. Na podstawie danych z tablicy 55

56 topologii, każdy węzeł wyznacza tablice rutingu i rozsyła ją swoim sąsiadom. Tablice rutingu rozsyłane są okresowo Działanie FSR Rysunek 22 FSR Rysunek 22 przedstawia zasady podziału sieci w protokole FSR. Kolejne wydzielone obszary oznaczają mniejszą dokładność danych o tym obszarze. Obszary wyznaczone są poprzez ich odległość do węzła centralnego. Dane z bardziej oddalonych węzłów nadchodzą w mniejszej ilości i rzadziej. Wymieniane są tak, jak w protokole GSR tylko z ograniczeniem na ich zasięg. W efekcie pakiet w sieci początkowo kierowany jest na podstawie ogólnych danych, a dopiero w pobliżu miejsca docelowego zostaje dokładnie skierowany do celu. FSR jest doskonale przystosowany dla dużych sieci Zone Routing Protocol [D17][A23][A24] Protokołem rozbudowanym, wielomodułowym, który można przystosować do różnych warunków jest Zone Routing protokcol (ZRP). Jeżeli chodzi o sposób pojmowania struktury sieci jest to protokół hierarchiczny. Jeżeli zaś chodzi o jego sposób działania jest to protokół hybrydowy. Łączy w sobie elementy protokołów reaktywnych i proaktywnych. Został on przystosowany do różnego typu sieci mobilnych, szczególnie dużych. Działanie protokołu opiera się na pojęciu stref (ang. zone), które definiowane są przez jeden parametr zwany promieniem strefy. Promień mierzony jest w skokach. Od każdego węzła wymaga się, by znał topologię sieci w obrębie strefy rutingu i dokonywał uaktualnień w jej obrębie. Ostatecznie 56

57 zmiany występujące w sieci są ograniczone do pewnego obszaru, występują lokalnie. Trasy w ten sposób pojmowanej sieci są sekwencją węzłów odległych od siebie w przybliżeniu o promień strefy. Pozwala to wyszukiwać trasy lokalne, a poprzez selektywne odpytywanie węzłów wyszukiwać trasy globalne. Na działanie protokołu ZRP składa się działanie kilku komponentów. Są to protokoły: - Intra Zone Routing Protocol (IARP) - Inter zone Routing Protocol (IERP) - Bordercast Resolution Protocol (BRP) Intrazone Routing Protocol [D18] IARP jest to protokół odpowiedzialny za wyszukiwanie tras i połączeń do węzłów leżących w obrębie strefy danego węzła. Protokół ten jest proaktywny. Działanie jego ograniczone jest przez promień strefy. Pozwala śledzić lokalne połączenia w celu wyznaczenia tras. Mechanizm działania protokołu polega na tworzeniu i utrzymywaniu grafu, drzewa reprezentującego połączenia do otaczających go węzłów. Do zbudowania drzewa wykorzystywane są informacje wymieniane pomiędzy węzłami. Każdy węzeł przesyła następujące informacje: - zbiór węzłów, które są z nim połączone (IN) - zbiór węzłów, do których ma połączenie (OUT) - zbiór węzłów tworzących drzewo danego węzła(tree) - TTL - czas życia danych, czyli jak daleko mają być powyższe dane propagowane w sieci - numer sekwencyjny określający ich ważność. Początkowo zbiory IN i OUT są puste. Dane ze zbioru IN służą do wyznaczenia drzewa połączeń. Dane z TREE i OUT służą do wyznaczenia drzewa pozwalającego rozsyłać informacje w sieci broadcastowo (Broadcast Tree). Z drzewa tego korzysta protokół IERP. Gdy węzły przetworzą otrzymane dane tworzą nowe drzewa. 57

58 Bordercast Resolution Protocol [D20] Jest to standardowy protokół służący do wykrywania tras poprzez rozprowadzenie wiadomości w sieci. Posiada specjalny mechanizm kontroli pakietów rozsyłanych multicastowo. Jest on włączony w zakres protokołu IARP i wspomaga protokół IERP Interzone Routing Protocol [D19] IERP jest protokołem do wykrywania tras poza obrębem strefy. Stosowana metoda nie pozwala na ślepe rozprowadzenie zapytań pomiędzy sąsiadami. Protokół pozwala na skierowanie zapytania dokładnie w wyznaczony obszar sieci. W przypadku protokołu ZRP chodzi o to, by zapytanie dotarło do węzła, który nie wszedł w obszar zapytania lecz leży poza zasięgiem strefy. Działa on w oparciu o Broadcast Tree wyznaczane przez protokół IARP. Gdy węzeł potrzebuje trasy do danego celu sprawdza, czy taki znajduje się w drzewie połączeń IARP. Gdy tak nie jest, należy poszukiwać węzła docelowego poza obszarem przypisanym węzłowi. Węzeł generuje zapytanie, które jest oznaczane identyfikatorem i wysyłane do węzłów wyznaczonych przez BRP. Po otrzymaniu takiego zapytania węzeł sprawdza, czy węzeł docelowy leży wewnątrz jego strefy lub zna trasę do takiego węzła. Gdy jest to prawda, węzeł odpowiada węzłowi źródłowemu. Jeżeli nie, węzły powtarzają dalej tę samą operację Core Extraction Distributed Ad hoc Routing [D21] Kolejnym protokołem hierarchicznym jest Core Extraction Distributed Ad hoc Routing (CEDAR). Jest to protokół przystosowany do zapewnienia warunków QoS (Quality of Service) w sieciach ad hoc. Pozwala dynamicznie ustabilizować rdzeń" sieci i z coraz większym natężeniem łączyć węzły centralne wysokoprzepustowymi połączeniami. Trasy wyznaczane są na żądanie. Jest on propozycją dla małych i średnich sieci. Nie wyznacza optymalnych tras, ale pomimo ustępstw i pewnej elastyczności, jak wykazały testy, radzi sobie doskonale. Protokół składa się z trzech kluczowych komponentów. 58

59 1. Ustabilizowanie i utrzymanie rdzenia sieci dzięki Local Core Extraction". CEDAR pozwala na wyznaczenie rdzenia poprzez wyznaczenie podzbiorów węzłów tak, że pozostanie jeden zarządzający stanem i wyliczaniem tras. Dokonywane jest to dynamicznie przez aproksymowanie minimalnego dominującego zbioru sieci ad hoc. Następnie każdy węzeł z rdzenia ustanawia wirtualne połączenia (tunelowanie) do najbliższych węzłów z rdzenia (w otoczeniu 3 skoków). Każdy taki host utrzymuje dane o lokalnej topologii hostów w otoczeniu i przygotowuje wyznaczanie tras w imieniu tych stacji. W efekcie wyliczenia są lokalne i łatwo adaptowalne w sieci o dynamicznym charakterze. 2. Propagacja danych o stanie łączy z wykorzystaniem rosnących i malejących fal. Ruting zgodny z QoS w CEDAR jest możliwy dzięki propagowaniu poprzez rdzeń informacji o dostępnej przepustowości w stabilnych połączeniach. Podstawową ideą jest to, że informacja o stałych wysokoprzepustowych połączeniach może być znana w całej sieci, a o dynamicznych i niskoprzepustowych tylko lokalnie. Przepustowość badana jest okresowo, co powoduje, że informacje o stanie łączy rozsyłane są falami. Przy wzroście przepustowości informacje rozsyłane są w postaci powolnie rosnącej fali. Przy jej spadku wymiana informacji ma charakter szybko malejącej fali. 3. Wyznaczanie tras. Proces wyznaczania trasy polega na ustabilizowaniu ścieżki poprzez rdzeń sieci od obszaru źródłowego do obszaru docelowego. Początkowo odbywa się to przez sondowanie rdzenia, a później już jest zapamiętywane dla dalszego użycia. Stosując informacje o trasie pomiędzy obszarami, CEDAR stara się ustanawiać trasy częściowe pomiędzy węzłami a węzłami w rdzeniu tak, by zadowalały pod względem przepustowości. Do zarządzania i budowania rdzenia sieci, autorzy zaproponowali zastosowanie topologii klastrowej ze stacjami czołowymi i węzłami granicznymi. Dodatkowe założenia są takie, że warstwa łącza danych jest w stanie wyznaczyć dostępną przepustowość łącza oraz ściśle współpracować z warstwą rutingu. 59

60 4.4.6 Landmark Routing Protocol [D22] Za hierarchiczny można uznać również protokół Landmark Routing Protocol (LANMAR). Wykorzystuje on koncepcję znaków granicznych do skalowalnego rutingu w dużych sieciach mobilnych. Polega to na pojęciu grupy mobilnej. Stosunek węzłów wewnątrz grupy do innych węzłów tworzy pewien rodzaj hierarchii. Przykładem może być grupa węzłów poruszająca się zgodnie w wybranym kierunku. Układ taki mogłaby tworzyć grupa studentów wyposażona w stacje mobilne i współpracująca ze sobą w terenie. Istnienie takiej grupy może być odwzorowane w schemacie adresowania. Zakładamy, że adres IP użyty do oznaczenia zbudowany jest z identyfikatora grupy i hosta. Znak jest automatycznie wybierany przez grupę. Trasa do znaku jest propagowana przez sieć z wykorzystaniem mechanizmu dystansowo wektorowego. Osobno każdy węzeł stosuje ograniczony routing, na przykład algorytm FSR, żeby uczyć się o trasach w wyznaczonym obszarze. Aby transmitować pakiety poza obszar, węzeł będzie kierował pakiet do znaku danej grupy docelowej. Gdy pakiet dotrze do znaku, zostanie przekierowany do węzła docelowego. LANMAR musi być uruchomiony w ramach istniejącego protokołu proaktywnego np. DSDV, OLSR. Tablice rutingu wówczas zawierają dane o węzłach z danej grupy i o znakach". Wybór znaku odbywa się dynamicznie. Każdy węzeł śledzi inne węzły z grupy. Jeżeli węzeł początkowo nauczy się danych o większej liczbie węzłów niż inni, to ogłasza się znakiem grupy i rozgłasza dane o grupie (wagę grupy, czyli ilość węzłów tworzących grupę) oraz o sobie, jako o znaku. Protokół ten nie daje własnych algorytmów działania. Jest on innym spojrzeniem na fragment sieci mobilnej. Jego główną cechą jest przystosowanie do utrzymania łączności w zorganizowanych grupach. 60

61 4.5 Protokoły geograficzne Protokoły geograficzne opierają swoje działanie na dodatkowych danych tj. danych o lokalizacji stacji, na rzecz których pracują. Protokoły tę różnią się do innych tym, że wymagają dodatkowego, zewnętrznego źródła danych. Rozdział ten zawiera opis kilku protokołów charakterystycznych dla tej grupy GRID [A25] Pierwszym protokołem z tej kategorii jest protokół GRID. Protokół ten wykorzystuje do działania informacje o pozycji urządzeń dostarczane przez globalny system pozycjonowania GPS. Atrakcyjność tego protokołu wynika z dobrych umiejętności utrzymania tras. W efekcie trasy są bardziej stabilne i odporne na przemieszczenia się stacji. Obszar zajmowany przez sieć dzielony jest logicznie przez dwuwymiarową siatkę. Siatka ma oczka w postaci kwadratów o ustalonym rozmiarze. Kolejne obszary są oznaczane parą liczb (x,y) będącą ich koordynatami w przestrzeni. Każda stacja w obszarze sieci otrzymuje unikalny identyfikator, zazwyczaj adres IP lub adres MAC. Aby stacje pozostały lokalizowalne są wyposażone w odpowiednie urządzenia (np. odbiornik GPS), z których mogą otrzymywać dane o swoim położeniu na powierzchni ziemi. Ruting w tak przygotowanej sieci jest typu od oczka do oczka. Oznacza to, że w każdym wydzielonym obszarze sieci następuje wybór jednej stacji, która zostaje oznaczona jako brama. Ma ona za zadanie przesyłać zapytania o trasy, przesyłać pakiety pomiędzy obszarami oraz utrzymywać trasy przechodzące przez dany obszar (oczko sieci). Brama jest zazwyczaj stacją zlokalizowaną w pobliżu środka danego oczka sieci. Warto wspomnieć, że zasięg oczka sieci uzależniony jest od mocy nadajników w takiej sieci. Protokół ten jest algorytmem mówiącym, jak wykorzystać dane o położeniu stacji. Jeżeli chodzi o pozostałe szczegóły dotyczące rutingu, zostawia on nam dowolność. Możemy wykorzystać każdy inny protokół rutingu typu hop-by-hop lub source routing. 61

62 Wykrywanie i utrzymanie tras W procesie wykrywania trasy brane są pod uwagę trzy czynniki. Po pierwsze, ważna jest znajomość położenia źródła informacji i celu. Po drugie, tylko stacje oznaczone jako bramy obszarów mogą uczestniczyć w procesie wykrywania tras. Po trzecie, tablica rutingu nie będzie tablicą zawierającą informacje o następnej stacji do celu, ale będzie informowała, jaki jest następny obszar w kierunku celu. Przy dalszym omawianiu właściwości protokołu GRID wykorzystany został protokół AODV [A2], a przedstawione informacje odnoszą się do załączonego rysunku. Rysunek 23 Działanie protokołu GRID Stacja źródłowa S jest zlokalizowana w dowolnym obszarze l S. Jej zadaniem będzie znalezienie trasy do węzła D położonego w obszarze l D. Generowane jest zapytanie RREQ zawierające następujące dane: - identyfikator S (ID_S) - numer sekwencyjny S (SEQ_S) - identyfikator D (ID_D) - numer sekwencyjny D (SEQ_D) - identyfikator zapytania (ID_RREQ) - obszar (R) Para (ID_S, ID_RREQ) służy za identyfikator zapytania i uniemożliwia ponowne przetwarzanie tych samych zapytań. Przeznaczeniem numerów sekwencyjnych jest 62

63 oznaczenie świeżości trasy. Definicja obszaru R jest narzędziem do ograniczenia obszaru, w jakim wyszukiwana jest stacja docelowa. Określa też kierunek wyszukiwania. Przy ustanawianiu tego parametru brane są pod uwagę dotychczasowe dane o położeniu celu, jego prędkości i kierunku ruchu. Dane te pozwalają na stworzenie kilku modeli obszarów. Są to: - kwadrat - obszar kwadratowy obejmujący S i D. - słupek - słupek poprowadzony od obszaru S do D o odpowiedniej szerokości - wachlarz - wachlarz o wierzchołku w obszarze S skierowany w kierunku obszaru D - podwójny wachlarz - obszar powstały przez nałożenie wachlarzy wyznaczonych dla węzłów S i D Dokładnie zostało to przedstawione na rysunku

64 Rysunek 24 Obszary wyszukiwania dla protokołu GRID Bramy obszarów (oczek) po otrzymaniu wiadomości RREQ sprawdzają czy mieszczą się w załączonym obszarze R. Jeżeli tak, ustanawiają połączenie zwrotne do punktu, z którego nadeszło zapytanie i przesyła pakiet dalej. W innym wypadku odrzucają taką wiadomość. Gdy stacja D otrzyma już RREQ odpowiada pakietem RREP z parametrami: - identyfikator S - identyfikator D - aktualny numer sekwencyjny D. Pakiet zostaje przesłany przez wcześniej ustanowione połączenia zwrotne. Bramy przetwarzające RREP oznaczają połączenia zwrotne do obszarów, z których nadeszła ta wiadomość. Tworzą przez to drogę do D. Po osiągnięciu węzła S przez pakiet RREP możemy uznać, że trasa w obie strony została ustanowiona. 64

65 Na rysunku 23 widzimy oznaczone literami A,B,C,D,E,F,I stacje-bramy obszarów, a proces wyszukiwania przebiega pomiędzy S i D. Tabele 5 i 6 pokazują połączenia zwrotne, jakie znajdują się w bramach pośrednich po zakończeniu procesu. węzeł (brama) S B E F D Źródło S S S S S ID_RREQ połączenie zwrotne --- (1,1) (2,2) (3,2) (4,2) Tabela 5 Połączenia zwrotne ustanowione przez RREQ węzeł (brama) S B E F D Cel D D D D D następny skok (2,2) (3,2) (4,2) (5,3) --- Tabela 6 Połączenia zwrotne ustanowione prze RREP Utrzymanie tras polega na zachowaniu raz wyznaczonej trasy tak długo, jak to tylko możliwe. W tym celu należy utrzymać bramy w każdym z obszarów oraz utrzymać samą trasę. W celu zachowania bram powstał algorytm selekcji stacji na bramę. Jako brama wybierana jest stacja zlokalizowana najbliżej centrum obszaru. Jest też bardzo prawdopodobne, że pozostanie ona w obszarze przez dłuższy okres czasu. Wybrana stacja pozostaje bramą, aż do czasu opuszczenia przez nią danego obszaru siatki. Wybór stacji następuje poprzez nasłuchiwanie wiadomości oznaczonych jako GATE. Parametrem tych wiadomości jest lokalizacja stacji oraz współrzędne obszaru, do którego należy. Opuszczając obszar stacja wysyła wiadomość RETIRE podając w niej swoje namiary i przechowywaną tablicę rutingu. Nowa stacja, która zostanie wyznaczona na główną dla danego obszaru, przejmuje otrzymaną tablicę. 65

66 4.5.2 Location-Aided Routing [A26][A27] Protokół ten (LAR) działa podobnie, jak omówiony protokół GRID. Wykorzystuje dane o położeniu w celu zawężenia obszaru poszukiwania trasy do żądanego obszaru zapytania (ang. request zone). Proces rutingu polega na rozsyłaniu zapytania w tym ograniczonym obszarze. Jednak w przeciwieństwie do protokołu GRID położono tu szczególny nacisk na wyznaczanie wspomnianego obszaru. Pierwszym parametrem potrzebnym do rozpoczęcia procesu jest obszar oczekiwania (ang. expected zone). Jest to obszar wyznaczony na podstawie dotychczasowych danych o położeniu stacji docelowej i danych o jej ruchu. Wyznaczony zostaje w ten sposób odpowiedni okręg. W obszarze tym oczekuje się znaleźć węzeł docelowy. Drugim parametrem jest sam obszar zapytania. Jest to obszar (kwadrat) obejmujący stację źródłową i obszar oczekiwany stacji docelowej. Pakiety z zapytaniami są przetwarzane tylko przez te stacje, które znajdują się w przygotowanym obszarze Wyszukiwanie tras Jak zostało wcześniej wspomniane, działanie protokołu polega na zalaniu sieci zapytaniem z wykorzystaniem informacji, czy stacje należą do obszaru zapytania. Algorytm wymaga, aby stacje były w stanie określić, czy należą do żądanego obszaru. Autorzy proponują dwa schematy działania w takim przypadku. Schemat 1: Zakładamy, że obszar zapytania jest kwadratem. Znając dane o położeniu źródła i celu wyznaczamy minimalny obszar obejmujący S (źródło) i D (cel). S wyznacza 4 koordynaty określające narożniki obszaru. Dane o narożnikach są zawarte w zapytaniu. Pozwala to stacji sprawdzić czy powinna odpowiadać na zapytanie czy też nie. Stacja docelowa odpowiadając na zapytanie podaje swoją nową lokalizację. Dane te zostaną wykorzystane później przy ponownych próbach znalezienia trasy. 66

67 Schemat 2: W drugim przypadku węzeł źródłowy jawnie określa obszar w zapytaniu. Znając położenie stacji docelowej (X D,Y D ), wyznacza odległość do przewidywanego położenia celu i załącza go do zapytania. Dane X D, Y D są także dołączane. Gdy stacja pośrednia otrzyma zapytanie, wylicza własną odległość od celu. Protokół określa wielkość z dokładnością, do której mają być porównywane odległości. Gdy dostarczona odległość jest większa niż własna, to przesyła pakiet dalej zastępując odległość przez własną wyliczoną wartość. Gdy odległość ta jest mniejsza, stacja nie przetwarza zapytania. W efekcie pakiety z zapytaniem zbliżające się do celu są przesyłane dalej, a te które oddalają się od niego są skutecznie usuwane z sieci. Porównanie obu schematów zostało przedstawione na rysunku 25. Rysunek 25 Porównanie schematów działania LAR GPS Ant-likes Routing Algorithm [A28] GPS Ant-likes Routing Algorithm (GPSAL) jest protokołem korzystającym także z danych GPS. Korzysta z długości i szerokości geograficznej oraz wysokości nad poziomem morza. Tablice rutingu w tym protokole zawierają następujące dane: - aktualne położenie stacji, - poprzednie położenie stacji, - znacznik czasu aktualnego położenia - znacznik czasu poprzedniego położenia 67

68 - informacje, czy jest to stacja mobilna czy stała, podłączona do sieci przewodowej. Gdy stacja chce włączyć się do sieci nasłuchuje, szukając sąsiada. Gdy wyznaczy jakiegoś, wysyła zapytanie o tablicę rutingu. Ta jest mu dostarczana. Od tego momentu stacja może brać udział w komunikacji. Tablice rutingu opierają się na położeniu stacji. W związku z tym najlepsza trasa, to trasa najkrótsza pod względem geograficznym. Trasa obejmuje listę węzłów i odpowiadającym im znaczniki czasu. Jest ona dołączana do pakietu. Pakiet przesyłany jest do pierwszego węzła na liście. Kolejne stacje przesyłają pakiet dalej zgodnie z listą. Dodatkowo warto wspomnieć, w jaki sposób stacje uaktualniają swoje tablice rutingu. Następuje to w sposób lokalny, od sąsiadów, którzy co pewien czas rozsyłają informacje o zmianach w tablicach rutingu. Może to mieć też charakter globalny. Globalne rozpowszechnienie informacji następuje szybko, poprzez zastosowanie modelu opartego na zachowaniu mrówek Rozpowszechnianie informacji o rutingu W rozpowszechnianiu informacji biorą udział programowi pośrednicy. Odpowiedzialni są oni za zbieranie i rozpowszechnianie informacji o położeniu stacji. Stacje zaopatrzone w takie programy posługują się odpowiednimi wiadomościami działającymi jak mrówki. Gdy do stacji dotrze taka mrówka, porównuje ona swoją tablicę rutingu z dostarczonymi informacjami i uaktualnia ją. Gdy mrówka opuszcza stację, posiada najbardziej aktualne dane o rutingu z punktu widzenia danej stacji. Oczywiście proces rozsyłania mrówek jest kontrolowany tak, by nie nastąpiło przeciążenie sieci. Mrówka zazwyczaj jest przesyłana w kierunku węzła, który zgodnie z przewidywaniami powinien mieć najstarsze dane. Dociera do niego i wraca z powrotem. Taki proces powoduje odnowienie danych na całym obszarze, przez który przeszła mrówka. 68

69 4.5.4 Greedy Perimeter Stateless Routing [A29] Jest to protokół silnie wykorzystujący informacje o położeniu do lokalizacji celu. Jest on skalowalny i pozwala na duży wzrost liczby węzłów w sieci. Dane geograficzne wykorzystywane w procesie rutingu pozwalają ruterom działać prawie bezstanowo, a informacje propagowane są tylko w obrębie bezpośrednich sąsiadów. Dane o pozycji celu oraz najbliższych sąsiadach pozwalają wybrać najlepszą trasę do celu bez żadnych dodatkowych danych o sieci. Przesyłanie pakietu ilustruje rysunek 26. Rysunek 26 Przesyłanie pakietu w GPSR Działanie algorytmu Algorytm opiera się na dwóch metodach dostarczania pakietów. Są to: - zachłanne przesyłanie (ang. greedy forwarding) - obwodowe przesyłanie (ang. perimeter forwarding) Pakiety oznaczone są przez nadawcę danymi o położeniu węzła docelowego. W efekcie, w pierwszym przypadku stacja w sieci może lokalnie dokonywać optymalnego, zachłannego wyboru stacji w kierunku celu. Szczególnie, jeżeli zna położenie sąsiadów. Najczęściej jest to stacja leżąca najbliżej celu pakietu. Przykład tego typu kierowania pakietów przedstawiony jest na rysunku 26. Powiadamianie stacji o swoich pozycjach następuje przez wymianę prostych wiadomości zawierających adres IP i współrzędne geograficzne. Aby 69

70 zminimalizować obciążenia związane z powiadamianiem, protokół GPSR pozwala dołączać te dane do każdego pakietu wysyłanego przez węzeł. Dołączane dane mają tylko znaczenie lokalne. W drugim przypadku proces rutingu pozwala wyszukiwać trasy w sytuacjach, gdzie poprzednia metoda zakończyłaby się niepowodzeniem. Przykładem jest rysunek pokazujący węzły w i y leżące poza zasięgiem przesyłania zachłannego, a jednak pozwalające, przy zastosowaniu drugiej metody, ustanowić trasę. Rysunek 27 Ograniczenia metody GPSR Algorytm ten wykorzystuje grafy planarne. Do uzyskania grafu sieci z nie przecinającymi się krawędziami, wykorzystywane są algorytmy RNG (Relative Neighborhood Graph) and GG (Gabriel Graph). Grafy te tworzą w efekcie połączenia pomiędzy dwoma konkretnymi węzłami, ustanawiając ostatecznie pewien rodzaj obwodu. Przy tworzeniu wykorzystywane są dane o położeniu sąsiadów [A5]. Ostatecznie działanie protokołu LAR jest kombinacją tych dwóch metod. Pakiet standardowo kierowany jest z wykorzystaniem pierwszej z nich, do najbliższego, odpowiedniego sąsiada. Gdy takiego nie ma, prace rozpoczyna drugi algorytm. Informacje o węźle, który rozpoczął pracę w trybie obwodowym umieszczane są w przesyłanym pakiecie. Tak przygotowany pakiet przesyłany jest zgodnie z wyliczonym grafem planarnym. Kolejny węzeł sprawdza czy jego odległość od celu jest mniejsza niż węzła, który rozpoczął pracę obwodową. Jeżeli tak przechodzi do trybu pierwszego. Pakiet jest kierowany dalej do celu. Druga metoda jest wykorzystywana tylko w wyjątkowych sytuacjach, aby opuścić obszary krytyczne. 70

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Instytut Informatyki Politechnika Poznańska Ograniczenie zasięgu transmisji wynika m.in. z energooszczędności ograniczonej mocy wyjściowej nadajnika radiowego Zasięg uzyskiwany w sieciach one-hop, można

Bardziej szczegółowo

Warstwa sieciowa rutowanie

Warstwa sieciowa rutowanie Warstwa sieciowa rutowanie Protokół IP - Internet Protocol Protokoły rutowane (routed) a rutowania (routing) Rutowanie statyczne i dynamiczne (trasowanie) Statyczne administrator programuje trasy Dynamiczne

Bardziej szczegółowo

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ PODSTAWY RUTINGU IP. WSTĘP DO SIECI INTERNET Kraków, dn. 7 listopada 2016 r.

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ PODSTAWY RUTINGU IP. WSTĘP DO SIECI INTERNET Kraków, dn. 7 listopada 2016 r. DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ PODSTAWY RUTINGU IP WSTĘP DO SIECI INTERNET Kraków, dn. 7 listopada 2016 r. PLAN Ruting a przełączanie Klasyfikacja rutingu Ruting statyczny Ruting dynamiczny

Bardziej szczegółowo

Routing. mgr inż. Krzysztof Szałajko

Routing. mgr inż. Krzysztof Szałajko Routing mgr inż. Krzysztof Szałajko Modele odniesienia 7 Aplikacji 6 Prezentacji 5 Sesji 4 Transportowa 3 Sieciowa 2 Łącza danych 1 Fizyczna Aplikacji Transportowa Internetowa Dostępu do sieci Wersja 1.0

Bardziej szczegółowo

Sieci komputerowe - Protokoły wspierające IPv4

Sieci komputerowe - Protokoły wspierające IPv4 2013-06-20 Piotr Kowalski KAiTI Plan i problematyka wykładu 1. Odwzorowanie adresów IP na sprzętowe i odwrotnie protokoły ARP i RARP. - Protokoły wspierające IPv4 2. Routing IP Tablice routingu, routing

Bardziej szczegółowo

ZiMSK. Routing dynamiczny 1

ZiMSK. Routing dynamiczny 1 ZiMSK dr inż. Łukasz Sturgulewski, luk@kis.p.lodz.pl, http://luk.kis.p.lodz.pl/ dr inż. Artur Sierszeń, asiersz@kis.p.lodz.pl dr inż. Andrzej Frączyk, a.fraczyk@kis.p.lodz.pl Routing dynamiczny 1 Wykład

Bardziej szczegółowo

Uproszczenie mechanizmów przekazywania pakietów w ruterach

Uproszczenie mechanizmów przekazywania pakietów w ruterach LISTA ŻYCZEŃ I ZARZUTÓW DO IP Uproszczenie mechanizmów przekazywania pakietów w ruterach Mechanizmy ułatwiające zapewnienie jakości obsługi Może być stosowany do równoważenia obciążenia sieci, sterowanie

Bardziej szczegółowo

Warstwa sieciowa. Model OSI Model TCP/IP. Aplikacji. Aplikacji. Prezentacji. Sesji. Transportowa. Transportowa

Warstwa sieciowa. Model OSI Model TCP/IP. Aplikacji. Aplikacji. Prezentacji. Sesji. Transportowa. Transportowa Warstwa sieciowa Model OSI Model TCP/IP Aplikacji Prezentacji Aplikacji podjęcie decyzji o trasowaniu (rutingu) na podstawie znanej, lokalnej topologii sieci ; - podział danych na pakiety Sesji Transportowa

Bardziej szczegółowo

DWA ZDANIA O TEORII GRAFÓW. przepływ informacji tylko w kierunku

DWA ZDANIA O TEORII GRAFÓW. przepływ informacji tylko w kierunku DWA ZDANIA O TEORII GRAFÓW Krawędź skierowana Grafy a routing Każdą sieć przedstawić składającego przedstawiają E, inaczej węzłami). komunikacyjną można w postaci grafu G się z węzłów V (które węzły sieci)

Bardziej szczegółowo

Przesyłania danych przez protokół TCP/IP

Przesyłania danych przez protokół TCP/IP Przesyłania danych przez protokół TCP/IP PAKIETY Protokół TCP/IP transmituje dane przez sieć, dzieląc je na mniejsze porcje, zwane pakietami. Pakiety są często określane różnymi terminami, w zależności

Bardziej szczegółowo

Protokoły sieciowe - TCP/IP

Protokoły sieciowe - TCP/IP Protokoły sieciowe Protokoły sieciowe - TCP/IP TCP/IP TCP/IP (Transmission Control Protocol / Internet Protocol) działa na sprzęcie rożnych producentów może współpracować z rożnymi protokołami warstwy

Bardziej szczegółowo

Routing dynamiczny... 2 Czym jest metryka i odległość administracyjna?... 3 RIPv1... 4 RIPv2... 4 Interfejs pasywny... 5 Podzielony horyzont...

Routing dynamiczny... 2 Czym jest metryka i odległość administracyjna?... 3 RIPv1... 4 RIPv2... 4 Interfejs pasywny... 5 Podzielony horyzont... Routing dynamiczny... 2 Czym jest metryka i odległość administracyjna?... 3 RIPv1... 4 RIPv2... 4 Interfejs pasywny... 5 Podzielony horyzont... 5 Podzielony horyzont z zatruciem wstecz... 5 Vyatta i RIP...

Bardziej szczegółowo

Sieci komputerowe - administracja

Sieci komputerowe - administracja Sieci komputerowe - administracja warstwa sieciowa Andrzej Stroiński andrzej.stroinski@cs.put.edu.pl http://www.cs.put.poznan.pl/astroinski/ warstwa sieciowa 2 zapewnia adresowanie w sieci ustala trasę

Bardziej szczegółowo

PBS. Wykład Routing dynamiczny OSPF EIGRP 2. Rozwiązywanie problemów z obsługą routingu.

PBS. Wykład Routing dynamiczny OSPF EIGRP 2. Rozwiązywanie problemów z obsługą routingu. PBS Wykład 5 1. Routing dynamiczny OSPF EIGRP 2. Rozwiązywanie problemów z obsługą routingu. mgr inż. Roman Krzeszewski roman@kis.p.lodz.pl mgr inż. Artur Sierszeń asiersz@kis.p.lodz.pl mgr inż. Łukasz

Bardziej szczegółowo

Routing i protokoły routingu

Routing i protokoły routingu Routing i protokoły routingu Po co jest routing Proces przesyłania informacji z sieci źródłowej do docelowej poprzez urządzenie posiadające co najmniej dwa interfejsy sieciowe i stos IP. Routing przykład

Bardziej szczegółowo

Sieci komputerowe. Routing. dr inż. Andrzej Opaliński. Akademia Górniczo-Hutnicza w Krakowie. www.agh.edu.pl

Sieci komputerowe. Routing. dr inż. Andrzej Opaliński. Akademia Górniczo-Hutnicza w Krakowie. www.agh.edu.pl Sieci komputerowe Routing Akademia Górniczo-Hutnicza w Krakowie dr inż. Andrzej Opaliński Plan wykładu Wprowadzenie Urządzenia Tablice routingu Typy protokołów Wstęp Routing Trasowanie (pl) Algorytm Definicja:

Bardziej szczegółowo

MODEL WARSTWOWY PROTOKOŁY TCP/IP

MODEL WARSTWOWY PROTOKOŁY TCP/IP MODEL WARSTWOWY PROTOKOŁY TCP/IP TCP/IP (ang. Transmission Control Protocol/Internet Protocol) protokół kontroli transmisji. Pakiet najbardziej rozpowszechnionych protokołów komunikacyjnych współczesnych

Bardziej szczegółowo

Ruting. Protokoły rutingu a protokoły rutowalne

Ruting. Protokoły rutingu a protokoły rutowalne Ruting. Protokoły rutingu a protokoły rutowalne ruting : proces znajdowania najwydajniejszej ścieżki dla przesyłania pakietów między danymi dwoma urządzeniami protokół rutingu : protokół za pomocą którego

Bardziej szczegółowo

LABORATORIUM SIECI KOMPUTEROWYCH (compnet.et.put.poznan.pl)

LABORATORIUM SIECI KOMPUTEROWYCH (compnet.et.put.poznan.pl) Wydział Elektroniki i Telekomunikacji POLITECHNIKA POZNAŃSKA fax: (+48 61) 665 25 72 ul. Piotrowo 3a, 60-965 Poznań tel: (+48 61) 665 22 93 LABORATORIUM SIECI KOMPUTEROWYCH (compnet.et.put.poznan.pl) Protokoły

Bardziej szczegółowo

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Akademickie Centrum Informatyki PS. Wydział Informatyki PS kademickie Centrum Informatyki PS Wydział Informatyki PS Wydział Informatyki Sieci komputerowe i Telekomunikacyjne Transmisja w protokole IP Krzysztof ogusławski tel. 4 333 950 kbogu@man.szczecin.pl 1.

Bardziej szczegółowo

Sieci komputerowe Warstwa transportowa

Sieci komputerowe Warstwa transportowa Sieci komputerowe Warstwa transportowa 2012-05-24 Sieci komputerowe Warstwa transportowa dr inż. Maciej Piechowiak 1 Wprowadzenie umożliwia jednoczesną komunikację poprzez sieć wielu aplikacjom uruchomionym

Bardziej szczegółowo

Plan wykładu. Wyznaczanie tras. Podsieci liczba urządzeń w klasie C. Funkcje warstwy sieciowej

Plan wykładu. Wyznaczanie tras. Podsieci liczba urządzeń w klasie C. Funkcje warstwy sieciowej Wyznaczanie tras (routing) 1 Wyznaczanie tras (routing) 2 Wyznaczanie tras VLSM Algorytmy rutingu Tablica rutingu CIDR Ruting statyczny Plan wykładu Wyznaczanie tras (routing) 3 Funkcje warstwy sieciowej

Bardziej szczegółowo

ZiMSK. VLAN, trunk, intervlan-routing 1

ZiMSK. VLAN, trunk, intervlan-routing 1 ZiMSK dr inż. Łukasz Sturgulewski, luk@kis.p.lodz.pl, http://luk.kis.p.lodz.pl/ dr inż. Artur Sierszeń, asiersz@kis.p.lodz.pl dr inż. Andrzej Frączyk, a.fraczyk@kis.p.lodz.pl VLAN, trunk, intervlan-routing

Bardziej szczegółowo

Urządzenia sieciowe. Część 1: Repeater, Hub, Switch. mgr inż. Krzysztof Szałajko

Urządzenia sieciowe. Część 1: Repeater, Hub, Switch. mgr inż. Krzysztof Szałajko Urządzenia sieciowe Część 1: Repeater, Hub, Switch mgr inż. Krzysztof Szałajko Repeater Regenerator, wzmacniak, wtórnik Definicja Repeater jest to urządzenie sieciowe regenerujące sygnał do jego pierwotnej

Bardziej szczegółowo

TCP/IP. Warstwa łącza danych. mgr inż. Krzysztof Szałajko

TCP/IP. Warstwa łącza danych. mgr inż. Krzysztof Szałajko TCP/IP Warstwa łącza danych mgr inż. Krzysztof Szałajko Modele odniesienia 7 Aplikacji 6 Prezentacji 5 Sesji 4 Transportowa 3 Sieciowa 2 Łącza danych 1 Fizyczna Aplikacji Transportowa Internetowa Dostępu

Bardziej szczegółowo

Sterowanie ruchem w sieciach szkieletowych

Sterowanie ruchem w sieciach szkieletowych Sterowanie ruchem w sieciach szkieletowych Transmisja wielościeżkowa Dr inż. Robert Wójcik Wydział Informatyki, Elektroniki i Telekomunikacji Katedra Telekomunikacji Kraków, dn. 6 kwietnia 2016 r. Plan

Bardziej szczegółowo

Urządzenia sieciowe. Tutorial 1 Topologie sieci. Definicja sieci i rodzaje topologii

Urządzenia sieciowe. Tutorial 1 Topologie sieci. Definicja sieci i rodzaje topologii Tutorial 1 Topologie sieci Definicja sieci i rodzaje topologii Definicja 1 Sieć komputerowa jest zbiorem mechanizmów umożliwiających komunikowanie się komputerów bądź urządzeń komputerowych znajdujących

Bardziej szczegółowo

Routing - wstęp... 2 Routing statyczny... 3 Konfiguracja routingu statycznego IPv Konfiguracja routingu statycznego IPv6...

Routing - wstęp... 2 Routing statyczny... 3 Konfiguracja routingu statycznego IPv Konfiguracja routingu statycznego IPv6... Routing - wstęp... 2 Routing statyczny... 3 Konfiguracja routingu statycznego IPv4... 3 Konfiguracja routingu statycznego IPv6... 3 Sprawdzenie połączenia... 4 Zadania... 4 Routing - wstęp O routowaniu

Bardziej szczegółowo

Rozległe Sieci Komputerowe

Rozległe Sieci Komputerowe Rozległe Sieci Komputerowe Rozległe Sieci Komputerowe Literatura: D.E. Conner Sieci komputerowe i intersieci R. W. McCarty Cisco WAN od podstaw R. Wright Elementarz routingu IP Interconnecting Cisco Network

Bardziej szczegółowo

PBS. Wykład Zabezpieczenie przełączników i dostępu do sieci LAN

PBS. Wykład Zabezpieczenie przełączników i dostępu do sieci LAN PBS Wykład 7 1. Zabezpieczenie przełączników i dostępu do sieci LAN mgr inż. Roman Krzeszewski roman@kis.p.lodz.pl mgr inż. Artur Sierszeń asiersz@kis.p.lodz.pl mgr inż. Łukasz Sturgulewski luk@kis.p.lodz.pl

Bardziej szczegółowo

PORADNIKI. Routery i Sieci

PORADNIKI. Routery i Sieci PORADNIKI Routery i Sieci Projektowanie routera Sieci IP są sieciami z komutacją pakietów, co oznacza,że pakiety mogą wybierać różne trasy między hostem źródłowym a hostem przeznaczenia. Funkcje routingu

Bardziej szczegółowo

Laboratorium - Przeglądanie tablic routingu hosta

Laboratorium - Przeglądanie tablic routingu hosta Topologia Cele Część 1: Dostęp do tablicy routingu hosta Część 2: Badanie wpisów tablicy routingu IPv4 hosta Część 3: Badanie wpisów tablicy routingu IPv6 hosta Scenariusz Aby uzyskać dostęp do zasobów

Bardziej szczegółowo

Konfigurowanie sieci VLAN

Konfigurowanie sieci VLAN Konfigurowanie sieci VLAN 1 Wprowadzenie Sieć VLAN (ang. Virtual LAN) to wydzielona logicznie sieć urządzeń w ramach innej, większej sieci fizycznej. Urządzenia tworzące sieć VLAN, niezależnie od swojej

Bardziej szczegółowo

ARP Address Resolution Protocol (RFC 826)

ARP Address Resolution Protocol (RFC 826) 1 ARP Address Resolution Protocol (RFC 826) aby wysyłać dane tak po sieci lokalnej, jak i pomiędzy różnymi sieciami lokalnymi konieczny jest komplet czterech adresów: adres IP nadawcy i odbiorcy oraz adres

Bardziej szczegółowo

Sieci komputerowe dr Zbigniew Lipiński

Sieci komputerowe dr Zbigniew Lipiński Sieci komputerowe Podstawy routingu dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Routing Routing jest procesem wyznaczania najlepszej trasy

Bardziej szczegółowo

Konfiguracja połączenia G.SHDSL punkt-punkt w trybie routing w oparciu o routery P-791R.

Konfiguracja połączenia G.SHDSL punkt-punkt w trybie routing w oparciu o routery P-791R. Konfiguracja połączenia G.SHDSL punkt-punkt w trybie routing w oparciu o routery P-791R. Topologia sieci: Lokalizacja B Lokalizacja A Niniejsza instrukcja nie obejmuje konfiguracji routera dostępowego

Bardziej szczegółowo

Technologie informacyjne (5) Zdzisław Szyjewski

Technologie informacyjne (5) Zdzisław Szyjewski Technologie informacyjne (5) Zdzisław Szyjewski Technologie informacyjne Technologie pracy z komputerem Funkcje systemu operacyjnego Przykłady systemów operacyjnych Zarządzanie pamięcią Zarządzanie danymi

Bardziej szczegółowo

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 13 Topologie sieci i urządzenia

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 13 Topologie sieci i urządzenia Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 13 Topologie sieci i urządzenia Topologie sieci magistrali pierścienia gwiazdy siatki Zalety: małe użycie kabla Magistrala brak dodatkowych urządzeń

Bardziej szczegółowo

Zarządzanie systemem komendy

Zarządzanie systemem komendy Zarządzanie systemem komendy Nazwa hosta set system host name nazwa_hosta show system host name delete system host name Nazwa domeny set system domain name nazwa_domeny show system domain name delete system

Bardziej szczegółowo

Wykład 3: Internet i routing globalny. A. Kisiel, Internet i routing globalny

Wykład 3: Internet i routing globalny. A. Kisiel, Internet i routing globalny Wykład 3: Internet i routing globalny 1 Internet sieć sieci Internet jest siecią rozproszoną, globalną, z komutacją pakietową Internet to sieć łącząca wiele sieci Działa na podstawie kombinacji protokołów

Bardziej szczegółowo

Analysis of PCE-based path optimization in multi-domain SDN/MPLS/BGP-LS network

Analysis of PCE-based path optimization in multi-domain SDN/MPLS/BGP-LS network Analysis of PCE-based path optimization in multi-domain SDN/MPLS/BGP-LS network Grzegorz Rzym AGH, Department of Telecommunications 20-21.10.2016, Poznań www.agh.edu.pl Agenda Motywacja PCE SDN Środowisko

Bardziej szczegółowo

Protokoły sieciowe model ISO-OSI Opracował: Andrzej Nowak

Protokoły sieciowe model ISO-OSI Opracował: Andrzej Nowak Protokoły sieciowe model ISO-OSI Opracował: Andrzej Nowak OSI (ang. Open System Interconnection) lub Model OSI to standard zdefiniowany przez ISO oraz ITU-T, opisujący strukturę komunikacji sieciowej.

Bardziej szczegółowo

Wykład Nr 4. 1. Sieci bezprzewodowe 2. Monitorowanie sieci - polecenia

Wykład Nr 4. 1. Sieci bezprzewodowe 2. Monitorowanie sieci - polecenia Sieci komputerowe Wykład Nr 4 1. Sieci bezprzewodowe 2. Monitorowanie sieci - polecenia Sieci bezprzewodowe Sieci z bezprzewodowymi punktami dostępu bazują na falach radiowych. Punkt dostępu musi mieć

Bardziej szczegółowo

Funkcje warstwy sieciowej. Podstawy wyznaczania tras. Dostarczenie pakietu od nadawcy od odbiorcy (RIP, IGRP, OSPF, EGP, BGP)

Funkcje warstwy sieciowej. Podstawy wyznaczania tras. Dostarczenie pakietu od nadawcy od odbiorcy (RIP, IGRP, OSPF, EGP, BGP) Wyznaczanie tras (routing) 1 Wyznaczanie tras (routing) 17 Funkcje warstwy sieciowej Podstawy wyznaczania tras Routing statyczny Wprowadzenie jednolitej adresacji niezaleŝnej od niŝszych warstw (IP) Współpraca

Bardziej szczegółowo

52. Mechanizm trasowania pakietów w Internecie Informacje ogólne

52. Mechanizm trasowania pakietów w Internecie Informacje ogólne 52. Mechanizm trasowania pakietów w Internecie Informacje ogólne Trasowanie (Routing) to mechanizm wyznaczania trasy i przesyłania pakietów danych w intersieci, od stacji nadawczej do stacji odbiorczej.

Bardziej szczegółowo

Routing. część 2: tworzenie tablic. Sieci komputerowe. Wykład 3. Marcin Bieńkowski

Routing. część 2: tworzenie tablic. Sieci komputerowe. Wykład 3. Marcin Bieńkowski Routing część 2: tworzenie tablic Sieci komputerowe Wykład 3 Marcin Bieńkowski W poprzednim odcinku Jedna warstwa sieci i globalne adresowanie Każde urządzenie w sieci posługuje się tym samym protokołem

Bardziej szczegółowo

ZiMSK NAT, PAT, ACL 1

ZiMSK NAT, PAT, ACL 1 ZiMSK dr inż. Łukasz Sturgulewski, luk@kis.p.lodz.pl, http://luk.kis.p.lodz.pl/ dr inż. Artur Sierszeń, asiersz@kis.p.lodz.pl dr inż. Andrzej Frączyk, a.fraczyk@kis.p.lodz.pl NAT, PAT, ACL 1 Wykład Translacja

Bardziej szczegółowo

RUTERY. Dr inŝ. Małgorzata Langer

RUTERY. Dr inŝ. Małgorzata Langer RUTERY Dr inŝ. Małgorzata Langer Co to jest ruter (router)? Urządzenie, które jest węzłem komunikacyjnym Pracuje w trzeciej warstwie OSI Obsługuje wymianę pakietów pomiędzy róŝnymi (o róŝnych maskach)

Bardziej szczegółowo

Routing. część 2: tworzenie tablic. Sieci komputerowe. Wykład 3. Marcin Bieńkowski

Routing. część 2: tworzenie tablic. Sieci komputerowe. Wykład 3. Marcin Bieńkowski Routing część 2: tworzenie tablic Sieci komputerowe Wykład 3 Marcin Bieńkowski W poprzednim odcinku Jedna warstwa sieci i globalne adresowanie Każde urządzenie w sieci posługuje się tym samym protokołem

Bardziej szczegółowo

Spis treúci. Księgarnia PWN: Wayne Lewis - Akademia sieci Cisco. CCNA semestr 3

Spis treúci. Księgarnia PWN: Wayne Lewis - Akademia sieci Cisco. CCNA semestr 3 Księgarnia PWN: Wayne Lewis - Akademia sieci Cisco. CCNA semestr 3 Spis treúci Informacje o autorze...9 Informacje o redaktorach technicznych wydania oryginalnego...9 Podziękowania...10 Dedykacja...11

Bardziej szczegółowo

A i B rozsyłają nowe wektory.

A i B rozsyłają nowe wektory. REAKCJA NA USZKODZENIE A i B rozsyłają nowe wektory. Węzeł E otrzymuje wektor od B. Wszystkie sieci w otrzymanej informacji mają koszt równy lub większy niż te, wpisane do tablicy. Jednocześnie jednak

Bardziej szczegółowo

5R]G]LDï %LEOLRJUDğD Skorowidz

5R]G]LDï %LEOLRJUDğD Skorowidz ...5 7 7 9 9 14 17 17 20 23 23 25 26 34 36 40 51 51 53 54 54 55 56 57 57 59 62 67 78 83 121 154 172 183 188 195 202 214... Skorowidz.... 4 Podręcznik Kwalifikacja E.13. Projektowanie lokalnych sieci komputerowych

Bardziej szczegółowo

Sieci komputerowe - Wstęp do intersieci, protokół IPv4

Sieci komputerowe - Wstęp do intersieci, protokół IPv4 Piotr Kowalski KAiTI Internet a internet - Wstęp do intersieci, protokół IPv Plan wykładu Informacje ogólne 1. Ogólne informacje na temat sieci Internet i protokołu IP (ang. Internet Protocol) w wersji.

Bardziej szczegółowo

Systemy operacyjne i sieci komputerowe Szymon Wilk Adresowanie w sieciach Klasy adresów IP a) klasa A

Systemy operacyjne i sieci komputerowe Szymon Wilk Adresowanie w sieciach Klasy adresów IP a) klasa A i sieci komputerowe Szymon Wilk Adresowanie w sieciach 1 1. Klasy adresów IP a) klasa A sieć host 0 mało sieci (1 oktet), dużo hostów (3 oktety) pierwszy bit równy 0 zakres adresów dla komputerów 1.0.0.0-127.255.255.255

Bardziej szczegółowo

Wstęp Roofnet i ExOR Meraki Podsumowanie. Sieci mesh. Michał Świtakowski. 17 grudnia 2009

Wstęp Roofnet i ExOR Meraki Podsumowanie. Sieci mesh. Michał Świtakowski. 17 grudnia 2009 17 grudnia 2009 Agenda 1 Co to jest sieć mesh? Zastosowania 2 3 Architektura Sprzęt Krytyka 4 Przyszłość sieci mesh Biliografia Co to jest sieć mesh? Co to jest sieć mesh? Zastosowania Sieć mesh (sieć

Bardziej szczegółowo

SIECI KOMPUTEROWE Adresowanie IP

SIECI KOMPUTEROWE  Adresowanie IP Adresowanie IP Podstawowa funkcja protokołu IP (Internet Protocol) polega na dodawaniu informacji o adresie do pakietu danych i przesyłaniu ich poprzez sieć do właściwych miejsc docelowych. Aby umożliwić

Bardziej szczegółowo

Na powyższym obrazku widać, że wszystkie 24 porty przełącznika znajdują się w tej samej sieci VLAN, a mianowicie VLAN 1.

Na powyższym obrazku widać, że wszystkie 24 porty przełącznika znajdują się w tej samej sieci VLAN, a mianowicie VLAN 1. Sieci VLAN (wirtualne sieci LAN) to logiczne grupowanie urządzeń w tej samej domenie rozgłoszeniowej. Sieci VLAN są zazwyczaj konfigurowane na przełącznikach przez umieszczenie niektórych interfejsów w

Bardziej szczegółowo

Księgarnia PWN: Mark McGregor Akademia sieci cisco. Semestr piąty

Księgarnia PWN: Mark McGregor Akademia sieci cisco. Semestr piąty Księgarnia PWN: Mark McGregor Akademia sieci cisco. Semestr piąty Rozdział 1. Przegląd sieci skalowalnych 19 Model projektu skalowalnej sieci hierarchicznej 19 Trójwarstwowy model projektu sieci 20 Funkcja

Bardziej szczegółowo

Zarządzanie ruchem w sieci IP. Komunikat ICMP. Internet Control Message Protocol DSRG DSRG. DSRG Warstwa sieciowa DSRG. Protokół sterujący

Zarządzanie ruchem w sieci IP. Komunikat ICMP. Internet Control Message Protocol DSRG DSRG. DSRG Warstwa sieciowa DSRG. Protokół sterujący Zarządzanie w sieci Protokół Internet Control Message Protocol Protokół sterujący informacje o błędach np. przeznaczenie nieosiągalne, informacje sterujące np. przekierunkowanie, informacje pomocnicze

Bardziej szczegółowo

DLACZEGO QoS ROUTING

DLACZEGO QoS ROUTING DLACZEGO QoS ROUTING Reakcja na powstawanie usług multimedialnych: VoIP (Voice over IP) Wideo na żądanie Telekonferencja Potrzeba zapewnienia gwarancji transmisji przy zachowaniu odpowiedniego poziomu

Bardziej szczegółowo

Referencyjny model OSI. 3 listopada 2014 Mirosław Juszczak 37

Referencyjny model OSI. 3 listopada 2014 Mirosław Juszczak 37 Referencyjny model OSI 3 listopada 2014 Mirosław Juszczak 37 Referencyjny model OSI Międzynarodowa Organizacja Normalizacyjna ISO (International Organization for Standarization) opracowała model referencyjny

Bardziej szczegółowo

Adresy w sieciach komputerowych

Adresy w sieciach komputerowych Adresy w sieciach komputerowych 1. Siedmio warstwowy model ISO-OSI (ang. Open System Interconnection Reference Model) 7. Warstwa aplikacji 6. Warstwa prezentacji 5. Warstwa sesji 4. Warstwa transportowa

Bardziej szczegółowo

Aby lepiej zrozumieć działanie adresów przedstawmy uproszczony schemat pakietów IP podróżujących w sieci.

Aby lepiej zrozumieć działanie adresów przedstawmy uproszczony schemat pakietów IP podróżujących w sieci. Struktura komunikatów sieciowych Każdy pakiet posiada nagłówki kolejnych protokołów oraz dane w których mogą być zagnieżdżone nagłówki oraz dane protokołów wyższego poziomu. Każdy protokół ma inne zadanie

Bardziej szczegółowo

Urządzenia fizyczne sieci. M@rek Pudełko Urządzenia Techniki Komputerowej

Urządzenia fizyczne sieci. M@rek Pudełko Urządzenia Techniki Komputerowej Urządzenia fizyczne sieci M@rek Pudełko Urządzenia Techniki Komputerowej 1 Aktywne urządzenia sieciowe Elementy sieci dzielimy na pasywne aktywne. Pasywne to inaczej elementy bierne: Przewody (światłowód,

Bardziej szczegółowo

Uproszczony opis obsługi ruchu w węźle IP. Trasa routingu. Warunek:

Uproszczony opis obsługi ruchu w węźle IP. Trasa routingu. Warunek: Uproszczony opis obsługi ruchu w węźle IP Poniższa procedura jest dokonywana dla każdego pakietu IP pojawiającego się w węźle z osobna. W routingu IP nie wyróżniamy połączeń. Te pojawiają się warstwę wyżej

Bardziej szczegółowo

Protokół ARP Datagram IP

Protokół ARP Datagram IP Sieci komputerowe 1 Sieci komputerowe 2 Współpraca IP Ethernet 129.1.12.5 129.1.8.5 Protokół RP IP dest IP src Datagram IP ddress Resolution Protocol Użytkownik ma do wysłania dane Sieci komputerowe 3

Bardziej szczegółowo

Routing / rutowanie (marszrutowanie) (trasowanie)

Routing / rutowanie (marszrutowanie) (trasowanie) Routing / rutowanie (marszrutowanie) (trasowanie) Router / router (trasownik) Static routing / Trasa statyczna Dynamic routing / Trasa dynamiczna Static routing table / tablica trasy statycznej root@pendragon:~#

Bardziej szczegółowo

Praktyczne aspekty implementacji IGP

Praktyczne aspekty implementacji IGP Praktyczne aspekty implementacji IGP Piotr Jabłoński pijablon@cisco.com 1 Ogólne rekomendacje Jeden proces IGP w całej sieci. Idealnie jeden obszar. Wiele obszarów w całej sieci w zależności od ilości

Bardziej szczegółowo

1. Sieć komputerowa - grupa komputerów lub innych urządzeń połączonych ze sobą w celu wymiany danych lub współdzielenia różnych zasobów.

1. Sieć komputerowa - grupa komputerów lub innych urządzeń połączonych ze sobą w celu wymiany danych lub współdzielenia różnych zasobów. Sieci komputerowe 1. Sieć komputerowa - grupa komputerów lub innych urządzeń połączonych ze sobą w celu wymiany danych lub współdzielenia różnych zasobów. 2. Podział sieci ze względu na rozległość: - sieć

Bardziej szczegółowo

Sieci komputerowe. Dr inż. Robert Banasiak. Sieci Komputerowe 2010/2011 Studia niestacjonarne

Sieci komputerowe. Dr inż. Robert Banasiak. Sieci Komputerowe 2010/2011 Studia niestacjonarne Sieci komputerowe Dr inż. Robert Banasiak Sieci Komputerowe 2010/2011 Studia niestacjonarne 1 Sieci LAN (Local Area Network) Podstawowe urządzenia sieci LAN. Ewolucja urządzeń sieciowych. Podstawy przepływu

Bardziej szczegółowo

Konfiguracja routerów CISCO protokoły rutingu: statyczny, RIP, IGRP, OSPF. Autorzy : Milczarek Arkadiusz Małek Grzegorz 4FDS

Konfiguracja routerów CISCO protokoły rutingu: statyczny, RIP, IGRP, OSPF. Autorzy : Milczarek Arkadiusz Małek Grzegorz 4FDS Konfiguracja routerów CISCO protokoły rutingu: statyczny, RIP, IGRP, OSPF Autorzy : Milczarek Arkadiusz Małek Grzegorz 4FDS Streszczenie: Tematem projektu jest zasada działania protokołów rutingu statycznego

Bardziej szczegółowo

Model OSI. mgr inż. Krzysztof Szałajko

Model OSI. mgr inż. Krzysztof Szałajko Model OSI mgr inż. Krzysztof Szałajko Protokół 2 / 26 Protokół Def.: Zestaw reguł umożliwiający porozumienie 3 / 26 Komunikacja w sieci 101010010101101010101 4 / 26 Model OSI Open Systems Interconnection

Bardziej szczegółowo

MODEM. Wewnętrzny modem PCI, 56Kbps DATA/FAX/VOICE, V.92

MODEM. Wewnętrzny modem PCI, 56Kbps DATA/FAX/VOICE, V.92 SPRZĘT SIECIOWY Urządzenia sieciowe MODEM Wewnętrzny modem PCI, 56Kbps DATA/FAX/VOICE, V.92 Zewnętrzny modem USB 2.0 DATA/FAX/VOICE (V.92) 56Kbps Zewnętrzny modem 56Kbps DATA/FAX/VOICE V.92 (RS-232) MODEM

Bardziej szczegółowo

Routing statyczny i dynamiczny

Routing statyczny i dynamiczny Routing statyczny i dynamiczny 1. Idea routingu Gdy dwa komputery chcą się ze sobą skomunikować i jednocześnie znajdują się w tej samej sieci lokalnej to jest im bardzo łatwo odnaleźć się nawzajem. Polega

Bardziej szczegółowo

pasja-informatyki.pl

pasja-informatyki.pl Protokół DHCP 2017 pasja-informatyki.pl Sieci komputerowe Windows Server #4 DHCP & Routing (NAT) Damian Stelmach Protokół DHCP 2018 Spis treści Protokół DHCP... 3 Polecenia konsoli Windows do wyświetlania

Bardziej szczegółowo

Wymagania dotyczące łączy: należy zapewnić redundancję łączy w połączeniach pomiędzy routerami Uruchmić protokół routingu RIP v.2

Wymagania dotyczące łączy: należy zapewnić redundancję łączy w połączeniach pomiędzy routerami Uruchmić protokół routingu RIP v.2 Sławomir Wawrzyniak 236425 PROJEKT SIECI KOMPUTEROWEJ Specyfikacja: Wykupiona pula adresów IP: 165.178.144.0/20 Dostawca dostarcza usługę DNS Łącze do ISP: 1Gbit ethernet Wymagania dotyczące podsieci:

Bardziej szczegółowo

Redukcja kosztów połączeń telekomunikacyjnych przy wykorzystaniu central ISDN PABX

Redukcja kosztów połączeń telekomunikacyjnych przy wykorzystaniu central ISDN PABX Andrzej Białas, Waldemar Fuczkiewicz Aksonet Poznań Wojciech Kabaciński Instytut Elektroniki i Telekomunikacji Politechnika Poznańska Redukcja kosztów połączeń telekomunikacyjnych przy wykorzystaniu central

Bardziej szczegółowo

ZiMSK. Routing statyczny, ICMP 1

ZiMSK. Routing statyczny, ICMP 1 ZiMSK dr inż. Łukasz Sturgulewski, luk@kis.p.lodz.pl, http://luk.kis.p.lodz.pl/ dr inż. Artur Sierszeń, asiersz@kis.p.lodz.pl dr inż. Andrzej Frączyk, a.fraczyk@kis.p.lodz.pl Routing statyczny, ICMP 1

Bardziej szczegółowo

MODEL OSI A INTERNET

MODEL OSI A INTERNET MODEL OSI A INTERNET W Internecie przyjęto bardziej uproszczony model sieci. W modelu tym nacisk kładzie się na warstwy sieciową i transportową. Pozostałe warstwy łączone są w dwie warstwy - warstwę dostępu

Bardziej szczegółowo

WYDAJNOŚĆ WYBRANYCH PROTOKOŁÓW ROUTINGU W BEZPRZEWODOWEJ SIECI O TOPOLOGII KRATOWEJ

WYDAJNOŚĆ WYBRANYCH PROTOKOŁÓW ROUTINGU W BEZPRZEWODOWEJ SIECI O TOPOLOGII KRATOWEJ PAWEŁ KORCZOWSKI E-mail: pkorczowski@wi.zut.edu.pl Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie 71-210 Szczecin, Żołnierska 49 WYDAJNOŚĆ WYBRANYCH PROTOKOŁÓW ROUTINGU W

Bardziej szczegółowo

Opracowanie protokołu komunikacyjnego na potrzeby wymiany informacji w organizacji

Opracowanie protokołu komunikacyjnego na potrzeby wymiany informacji w organizacji Opracowanie protokołu komunikacyjnego na potrzeby wymiany informacji w organizacji Robert Hryniewicz Promotor: dr inż. Krzysztof Różanowski Cele pracy Opracowanie protokołu komunikacyjnego służącego do

Bardziej szczegółowo

Zarządzanie infrastrukturą sieciową Modele funkcjonowania sieci

Zarządzanie infrastrukturą sieciową Modele funkcjonowania sieci W miarę rozwoju sieci komputerowych pojawiały się różne rozwiązania organizujące elementy w sieć komputerową. W celu zapewnienia kompatybilności rozwiązań różnych producentów oraz opartych na różnych platformach

Bardziej szczegółowo

router wielu sieci pakietów

router wielu sieci pakietów Dzisiejsze sieci komputerowe wywierają ogromny wpływ na naszą codzienność, zmieniając to, jak żyjemy, pracujemy i spędzamy wolny czas. Sieci mają wiele rozmaitych zastosowań, wśród których można wymienić

Bardziej szczegółowo

Link-State. Z s Link-state Q s Link-state. Y s Routing Table. Y s Link-state

Link-State. Z s Link-state Q s Link-state. Y s Routing Table. Y s Link-state OSPF Open Shortest Path First Protokół typu link-state Publiczna specyfikacja Szybka zbieżność Obsługa VLSMs(Variable Length Subnet Masks) i sumowania tras Nie wymaga okresowego wysyłania uaktualnień Mechanizmy

Bardziej szczegółowo

Uniwersalny Konwerter Protokołów

Uniwersalny Konwerter Protokołów Uniwersalny Konwerter Protokołów Autor Robert Szolc Promotor dr inż. Tomasz Szczygieł Uniwersalny Konwerter Protokołów Szybki rozwój technologii jaki obserwujemy w ostatnich latach, spowodował że systemy

Bardziej szczegółowo

Warstwa sieciowa. mgr inż. Krzysztof Szałajko

Warstwa sieciowa. mgr inż. Krzysztof Szałajko Warstwa sieciowa mgr inż. Krzysztof Szałajko Modele odniesienia 7 Aplikacji 6 Prezentacji 5 Sesji 4 Transportowa 3 Sieciowa 2 Łącza danych 1 Fizyczna Aplikacji Transportowa Internetowa Dostępu do sieci

Bardziej szczegółowo

Routing. routing bezklasowy (classless) pozwala na używanie niestandardowych masek np. /27 stąd rozdzielczość trasowania jest większa

Routing. routing bezklasowy (classless) pozwala na używanie niestandardowych masek np. /27 stąd rozdzielczość trasowania jest większa 1 Routing przez routing rozumiemy poznanie przez router ścieżek do zdalnych sieci o gdy routery korzystają z routingu dynamicznego, informacje te są uzyskiwane na podstawie danych pochodzących od innych

Bardziej szczegółowo

Rodzaje, budowa i funkcje urządzeń sieciowych

Rodzaje, budowa i funkcje urządzeń sieciowych Rodzaje, budowa i funkcje urządzeń sieciowych Urządzenia sieciowe modemy, karty sieciowe, urządzenia wzmacniające, koncentratory, mosty, przełączniki, punkty dostępowe, routery, bramy sieciowe, bramki

Bardziej szczegółowo

Ethernet. Ethernet odnosi się nie do jednej, lecz do wielu technologii sieci lokalnych LAN, z których wyróżnić należy cztery podstawowe kategorie:

Ethernet. Ethernet odnosi się nie do jednej, lecz do wielu technologii sieci lokalnych LAN, z których wyróżnić należy cztery podstawowe kategorie: Wykład 5 Ethernet IEEE 802.3 Ethernet Ethernet Wprowadzony na rynek pod koniec lat 70-tych Dzięki swojej prostocie i wydajności dominuje obecnie w sieciach lokalnych LAN Coraz silniejszy udział w sieciach

Bardziej szczegółowo

Zespół Szkół Ponadgimnazjalnych Nr 1 w Barlinku - Technik informatyk

Zespół Szkół Ponadgimnazjalnych Nr 1 w Barlinku - Technik informatyk Topologie sieci Topologie sieci lokalnych mogą być opisane zarówno na płaszczyźnie fizycznej, jak i logicznej. Topologia fizyczna określa organizację okablowania strukturalnego, topologia logiczna opisuje

Bardziej szczegółowo

Podstawy Transmisji Danych. Wykład IV. Protokół IPV4. Sieci WAN to połączenia pomiędzy sieciami LAN

Podstawy Transmisji Danych. Wykład IV. Protokół IPV4. Sieci WAN to połączenia pomiędzy sieciami LAN Podstawy Transmisji Danych Wykład IV Protokół IPV4 Sieci WAN to połączenia pomiędzy sieciami LAN 1 IPv4/IPv6 TCP (Transmission Control Protocol) IP (Internet Protocol) ICMP (Internet Control Message Protocol)

Bardziej szczegółowo

WLAN bezpieczne sieci radiowe 01

WLAN bezpieczne sieci radiowe 01 WLAN bezpieczne sieci radiowe 01 ostatnim czasie ogromną popularność zdobywają sieci bezprzewodowe. Zapewniają dużą wygodę w dostępie użytkowników do zasobów W informatycznych. Jednak implementacja sieci

Bardziej szczegółowo

Rozproszony system zbierania danych.

Rozproszony system zbierania danych. Rozproszony system zbierania danych. Zawartość 1. Charakterystyka rozproszonego systemu.... 2 1.1. Idea działania systemu.... 2 1.2. Master systemu radiowego (koordynator PAN).... 3 1.3. Slave systemu

Bardziej szczegółowo

Sprawozdanie z zajęć laboratoryjnych: Technologie sieciowe 1

Sprawozdanie z zajęć laboratoryjnych: Technologie sieciowe 1 Łukasz Przywarty 171018 Data utworzenia: 10.04.2010r. Prowadzący: dr inż. Marcin Markowski Sprawozdanie z zajęć laboratoryjnych: Technologie sieciowe 1 Temat: Zadanie domowe, rozdział 6 - Adresowanie sieci

Bardziej szczegółowo

Sieci komputerowe. Zajęcia 2 Warstwa łącza, sprzęt i topologie sieci Ethernet

Sieci komputerowe. Zajęcia 2 Warstwa łącza, sprzęt i topologie sieci Ethernet Sieci komputerowe Zajęcia 2 Warstwa łącza, sprzęt i topologie sieci Ethernet Zadania warstwy łącza danych Organizacja bitów danych w tzw. ramki Adresacja fizyczna urządzeń Wykrywanie błędów Multipleksacja

Bardziej szczegółowo

Badanie tunelowania. lp wykonawca grupa (g) 1. Grzegorz Pol 2. Michał Grzybowski 3 3. Artur Mazur

Badanie tunelowania. lp wykonawca grupa (g) 1. Grzegorz Pol 2. Michał Grzybowski 3 3. Artur Mazur Badanie tunelowania lp wykonawca grupa (g) 1. Grzegorz Pol 2. Michał Grzybowski 3 3. Artur Mazur zadanie rodzaj tunelowania typ tunelu wybór 5. Wyspy IPv4 podłączone przez środowisko IPv6 GRE x Topologia:

Bardziej szczegółowo

Bezprzewodowe sieci kratowe Materiały wykładowe do uŝytku wewnętrznego

Bezprzewodowe sieci kratowe Materiały wykładowe do uŝytku wewnętrznego Instytut Telekomunikacji PW Wybrane zagadnienia przyszłego Internetu Bezprzewodowe sieci kratowe Materiały wykładowe do uŝytku wewnętrznego WMN 1 Zakres Wprowadzenie do technologii WMN Typowe zastosowania

Bardziej szczegółowo

Cisco Packet Tracer - routing SOISK systemy operacyjne i sieci kompu...

Cisco Packet Tracer - routing SOISK systemy operacyjne i sieci kompu... Cisco Packet Tracer - routing Z SOISK systemy operacyjne i sieci komputerowe Zadaniem naczelnym routerów jest wyznaczanie ścieżki oraz przełączanie interfejsów. Proces kierowania ruchem nosi nazwę trasowania,

Bardziej szczegółowo

Technologie warstwy Internetu. Routing

Technologie warstwy Internetu. Routing Technologie warstwy Internetu. Routing Protokoły routingu dynamicznego Z.Z. Technologie Zbigniew warstwy Internetu. Zakrzewski Routing Sieci TCP/IP ver. 1.0 RIPv1 RFC 1058 RIPv1 jest pierwszym protokołem

Bardziej szczegółowo

Katedra Inżynierii Komputerowej Politechnika Częstochowska. Zastosowania protokołu ICMP Laboratorium podstaw sieci komputerowych

Katedra Inżynierii Komputerowej Politechnika Częstochowska. Zastosowania protokołu ICMP Laboratorium podstaw sieci komputerowych Katedra Inżynierii Komputerowej Politechnika Częstochowska Zastosowania protokołu ICMP Laboratorium podstaw sieci komputerowych Cel ćwiczenia Zastosowania protokołu ICMP Celem dwiczenia jest zapoznanie

Bardziej szczegółowo