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 Devices t. 1 i 2. T. Parker TCP/IP materiały firmowe Cisco Systems Dr inż. Janusz Dudziak
Sterowanie ruchem wyznaczanie tras (routing) przeciwdziałanie przeciążeniom sterowanie przepływem
Wyznaczanie tras. WAN charakteryzuje skalowalność dowolnie wiele komputerów dowolnie duże odległości rozrastanie się sieci w miarę potrzeb Wyznaczanie tras (trasowanie, routing) jest procesem, w którego wyniku jednostka danych (choć niekoniecznie) jest przemieszczana z jednego miejsca w inne Urządzenie odpowiedzialne za realizacje tego procesu w sieci jest węzeł komutacyjny (router). Realizacja sterowana jest przez oprogramowanie realizujące algorytmy routingu. 0 1 2 3 4 5 6 7
Wyznaczanie tras. Router Technika zapisz i przekaż (store-and-forward) Zasada hierarchicznej adresacji
Wyznaczanie tras. Router
Wyznaczanie tras. Tablice routingu odbiorca nast.. Etap 1.1 _ 1.2 _ 2.1 int 1 2.2 int 1 3.1 int 2 3.2 int 2 1.1 1.2 R1 2 1 1 2 R2 2.1 2.2 odbiorca nast.. Etap 1.1 int 1 1.2 int 1 2.1 _ 2.2 _ 3.1 int 2 3.2 int 2 1 R3 2 3.1 odbiorca nast.. Etap 1.1 int 1 1.2 int 1 2.1 int 2 2.2 int 2 3.1 _ 3.2 _ 3.2 Przekazywanie pakietów odbywa się zgodnie z zasadą przekazywania do następnego etapu router korzysta z tablicy routingu
Wyznaczanie tras. Adresy domyślne odbiorca nast.. Etap 1.1 _ 1.2 _ 2.1 int 1 2.2 int 1 3.1 int 2 3.2 int 2 1.1 1.2 R1 2 1 1 2 R2 3 2.1 2.2 odbiorca nast.. Etap 1.1 int 1 1.2 int 1 2.1 _ 2.2 _ 3.1 int 2 3.2 int 2 3.1 1 R3 2 odbiorca nast.. Etap 1.1 int 1 1.2 int 1 2.1 int 2 2.2 int 2 3.1 _ 3.2 _ 3.2 1 R4 odbiorca nast.. Etap 1.1 int 1 1.2 int 1 2.1 int 1 2.2 int 1 3.1 int 1 3.2 int 1 tablica routingu routera R4 wskazuje na jeden i ten sam interface
Wyznaczanie tras. Trasy domyślne odbiorca nast.. Etap 1.1 _ 1.2 _ 2.1 int 1 2.2 int 1 3.1 int 2 3.2 int 2 1.1 1.2 R1 2 1 1 2 R2 3 2.1 2.2 odbiorca nast.. Etap 1.1 int 1 1.2 int 1 2.1 _ 2.2 _ 3.1 int 2 3.2 int 2 3.1 1 R3 2 odbiorca nast.. Etap 1.1 int 1 1.2 int 1 2.1 int 2 2.2 int 2 3.1 _ 3.2 _ 3.2 1 R4 odbiorca nast.. Etap * int 1 tablica routingu routera R4 wskazuje na jeden i ten sam interface wszystkie pozycje tablicy można zastapić adresem domyślnym
Wyznaczanie tras. Trasy domyślne odbiorca nast.. Etap 1.1 _ 1.2 _ 2.1 int 1 2.2 int 1 3.1 int 2 3.2 int 2 1.1 1.2 R1 2 1 1 2 R2 3 2.1 2.2 odbiorca nast.. Etap 1.1 int 1 1.2 int 1 2.1 _ 2.2 _ 3.1 int 2 3.2 int 2 3.1 1 R3 2 odbiorca nast.. Etap 1.1 int 1 1.2 int 1 2.1 int 2 2.2 int 2 3.1 _ 3.2 _ 3.2 1 R4 odbiorca nast.. Etap * int 1 tablica routingu routera R4 wskazuje na jeden i ten sam interface wszystkie pozycje tablicy można zastapić adresem domyślnym
Wyznaczanie tras. Trasy domyślne przykład trasy domyślnej. Linia konfiguracji routera Cisco
Wyznaczanie tras. Przypadek ogólny sieć modelowana grafem G=(W,E) gdzie W jest zbiorem węzłów a E zbiorem krawędzi krawędzie posiadają atrybuty - pojemność łączy, opóźnienie, prawdopodobieństwo awarii zadanie - przesłać strumień danych najkorzystniej ze względu na pewne kryterium (opóźnienie, itp.)
Wyznaczanie tras. najczęściej stosowane algorytmy jednokryterialne, najczęstsze kryterium - średnie opóźnienie możliwe jest scentralizowane lub zdecentralizowane (rozproszone) obliczanie tras. W praktyce scentralizowane nie jest stosowane stosowane jest statyczne lub dynamiczne wyznaczanie tras. Trasy wyznaczone statycznie nie zmieniają się w trakcie pracy sieci. Trasy wyznaczane dynamicznie modyfikowane są gdy w sieci zajdą wydarzenia powodujące, że wyliczone trasy stają się nieużyteczne lub nieoptymalne.
Wyznaczanie tras. Przykład konfiguracji statycznego routingu do sieci 172.16.1.0 dla routerów Cisco
Wyznaczanie tras.
Algorytm Dijkstry* R - tablica tras D - tablica odległości od wierzchołka źródłowego do każdego innego *D.E. Comer - Sieci komputerowe i intersieci
Dynamiczne wyznaczanie tras. Algorytm wektora odległości.(distance vector routing) Każdy łuk ma określona wagę a odległość do odbiorcy jest sumą wag wzdłuż ścieżki do niego w grafie. W każdym węźle budowana jest tablica routingu, okresowo zawartość tabic routingu jest przesyłana pomiędzy sąsiednimi routerami. Odbiorca informacji sprawdza, czy trasy przez sąsiada nie są krótsze od dotychczas używanych i jeżeli tak modyfikuje własna tablicę Algorytm jest praktyczną realizacją rozproszonego asynchronicznego algorytmu Bellmana-Forda. Jego ograniczeniami są: złożoność obliczeniowa O(n3) gdzie n jest liczbą węzłów sieci
Dynamiczne wyznaczanie tras. Algorytm wektora odległości.(distance vector routing) metryki: liczba hopów opóźnienie koszt (arbitralnie wyznaczany przez operatora) dostępne pasmo obciążenie stopa błędów MTU Przykłady: RIP Routing Information Protocol (miarą odległości jest ilość skoków (hop count) równa ilości węzłów na trasie IGRP Interior Gateway Routing Protocol (miarą odległości jest ilość skoków (hop count) równa ilości węzłów na trasie, przepustowość łączy oraz opóźnienia na trasie.
Dynamiczne wyznaczanie tras.
Dynamiczne wyznaczanie tras. Algorytm stanu łącza (Shortes Path First) Algorytm zakłada pełną znajomość topologii sieci przez każdy z węzłów Każdy router okresowo rozsyła informację o stanie łączy do sąsiadów przez tzw. niezawodne zalewanie (informacje są retransmitowane aż do otrzymania potwierdzenia) Każdy węzęł buduje na tej podstawie graf sieci Każdy węzeł wylicza optymalną tablicę routingu na tej podstawie przyjmując siebie jako wierzchołek źródłowy Tablice routingu wylicza się stosując algorytm Dijkstry (lub podobne)znajdowania najkrótszej ścieżki w grafie. Złożoność stosowanych algorytmów jest większa niż algorytmów wektora odległości, ale są szybciej zbieżne. Przykład - OSPF (Open Shortest Path First)
Dynamiczne wyznaczanie tras. Algorytmy hybrydowe Algorytm wykorzystuje metodę wektora odległości ze złożoną metryką do wyznaczania najlepszej ścieżki, rózni się od algorytmów wektora odległości natychmiastowym (a nie periodycznym) rozsyłaniem informacji o zmianach Przykład - EIGRP
Internetowe protokoły routingu. Systemy autonomiczne Interior gateway protocols Exterior gateway protocols
Exterior gateway protocols - BGP. Przekazywanie tras pomiędzy systemami autonomicznymi Brak metryki Umożliwia określanie reguł dotyczących przekazywania tras Umożliwia określenie systemów autonomicznych tranzytowych i końcowych Komunikacja odbywa się z użyciem TCP Podstawowy protokół dla styku dostawca usług - klient
Interior gateway protocols - RIP. RIP V.2 zdefiniowany jest w RFC 1721 i 1722 Jest protokołem wektora odległości, korzysta z algorytmy Bellmana - Forda Przekazywanie tras wewnątrz systemu autonomicznego metryka - liczba hopów maksymalna ilość hopów - 15 Umożliwia rozgłaszanie trasy domyślnej Komunikacja odbywa się z użyciem UDP rozgłaszanie odbywa się zwykle co 30s. Możliwe jest równoważenie obciążeń dla tras o równym koszcie - maksymalnie dla 6 tras
Interior gateway protocols - RIP. RIP wybierze drogę krótszą, choć wcale nie najlepszą
Pakiet protokołu RIP v2 Interior gateway protocols - RIP.
RIP. Pętla routingu. A = 7 Hop Sieć A x E0 A = 5 Hop R1 R2 R3 Sieć B Sieć C S0 S0 S1 S0 Sieć D E0 A = 4 Hop A = 6 Hop
Interior gateway protocols - IGRP. zdefiniowany przez Cisco w 1980r Jest protokołem wektora odległości, Przekazywanie tras wewnątrz systemu autonomicznego metryka - domyślnie opóźnienie i pasmo, opcjonalnie stopa błędów i obciążenie węzłów, możliwe ustawianie wag maksymalna ilość hopów - 100 Umożliwia rozgłaszanie trasy domyślnej Możliwe jest użycie maksymalnie 6 tras o różnym koszcie. Każdy następny router w trasach alternatywnych musi być bliżej celu niż router bieżący zgodnie z metryką najlepszej trasy (warunek wyklucza powstawanie pętli routingu)
IGRP. Metryka Opóźnienie (D) Przepustowość (BW) Stabilność (R) Obciążenie (L) E1 R2 T1 k 2 * B 256-L R1 [k 1 * B + + k 3 * D] * K 5 R+ k 4 B = 10 7 BW min BW w kb/s D i BW są konfigurowane dla interfejsów
(E)IGRP. Timery Update = 1x Invalid = 3x Holddown = 3x + 10 Flush = 7x 90 sec 270 sec 280 sec 630 sec Update czas pomiędzy uaktualnieniami Invalid czas po którym wpis w tabeli określa status invalid Holddown czas w którym informacja o routingu lepszymi ścieżkami jest wprowadzony w użycie. Flush czas po którym wpis w tabeli routingu jest usuwany
OSPF Protokół typu stanu łącza Algorytm Link state lub SPF RFC 1253 Intra-autonomous system (IGP) Zaprojektowany dla środowiska TCP/IP - Internet Szybka konwergencja VLSM Sieci nieciągłe Brak cyklicznych uaktualnień Autentykacja wpisów tabeli routingu summaryzacja
Obszary OSPF Musi istnieć ciągły Backbone area (0) Wszystkie inne obszary muszą mieć styk ze szkieletem Area 2 Area 3 Area 4 Area 0 Area 1
Routing OSPF Routery rozgłaszają stany swoich łączy. Każdy router buduje na tej podstawie bazę stanów łączy reprezentującą topologię sieci. OSPF używa metryki zwanej kosztem. Tabela routingu wyliczana jest przez każdy router z osobna na swoje potrzeby (algorytm Dijkstry) Q Z Y X A B C Q Z X 2 13 13
Routing OSPF Router 2, Area 1 Router 1, Area 1 LSA ACK Link State Table Wszystkie routery nasłuchują pakietów LSA Każdy router oblicza nową tabelę routingu Dijkstra Algorithm Nowa tabela routingu
Routing OSPF Routery OSPF informują się wzajemnie o istnieniu korzystając z OSPF HELLO. Ten sam protokół służy następnie do monitorowania wzajemnego i stanu łącza. Przeprowadzana jest synchronizacja baz stanów łączy. Router regularnie (co 30 min) rozsyła informację o stanie łączy. W razie zmiany tworzony jest pakiet LSA (Link State Advertisement) Wszystkie routery aktualizują tabele routingu Określenie routingu przy użyciu SPF (Shortest Path First) Router ma oddzielne bazy LS dla wszystkich obszarów do których należy Ruch LSA jest zamknięty wewnątrz obszaru Wszystkie routery w jednym obszarze mają jednakowe bazy Kalkulacja SPF przeprowadzana jest indywidualnie przez każdy router
Routing OSPF
Routing OSPF
Routing OSPF. Metryka
OSPF - timery Hello = 10s hello-interval Neighbour down = 4 x hello dead-interval Pomiędzy retransmisją LSA = 5s retransmit-interval Czas do przesłania update= 1s transmit-delay Opóźnienie uruchomienia algorytmu SPF = 10s timers spf
Routing OSPF Typy routerów Backbone Routers (BR) Autonomous System Boundary Router (ASBR) Area Border Router (ABR) Internal Routers (IR)
RIP IGRP Mało czasu na implementację Stabilne łącza Małe sieci Środowisko z urządzeniami wielu producentów Sieci bez redundancji IP Routing. Podsumowanie W małych i średnich sieciach Gdy ważne są parametry metryki Wymaganie: mały ruch związany z wymianą informacji wewnątrz protokołu EIGRP Bardzo duże złożone sieci VLSM Szybka konwergencja Obsługa wielu protokołów OSPF Duże sieci hierarchiczne Sieci o złożonej topologii Konieczność stosowania VLSM (Variable-length subnet mask) Potrzeba szybkiej konwergencji Sprzęt wielu producentów
IP Routing. Podsumowanie Link State Link State Advance DV Advance DV Dobre Małe Dobre Małe Małe Duże Małe Duże Mała Mała Mała Mała Duża Duża Duża Duża B. duże Małe B. duże Małe Średnie Małe Średnie Małe Wolna Łatwa Wolna Łatwa Szybka Łatwa Szybka Łatwa Szybka Przeciętna Szybka Przeciętna Distance Vector Distance Vector Skalowanie Pasmo Skalowanie Pasmo Pamięć CPU Pamięć CPU Konwergencja Konfiguracja Konwergencja Konfiguracja