Podstawy routingu
Transkrypt
Podstawy routingu
Sieci komputerowe Podstawy routingu dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole [email protected] Routing Routing jest procesem wyznaczania najlepszej trasy (trasy o najniższym koszcie) i najlepszej metody przesyłania datagramów (np. stosowanie równoważenia tras, load balancing) między użytkownikami sieci. Rola routerów: • wyznaczanie najlepszej trasy przesyłania pakietów, • tworzenie i przechowywanie tablic routingu, • przesyłanie datagramów IP między użytkownikami sieci. Router jest urządzeniem warstwy 3 (sieci) modelu referencyjnego dla OSI. Rodzaje tras: • trasy połączone bezpośrednio, trasy do sieci podłączonych do interfejsu routera, • trasy statyczne, stałe trasy przesyłania pakietów konfigurowane przez administratora, • trasy dynamiczne, trasy do zdalnych sieci tworzone za pomocą protokołów routingu dynamicznego. 2 Koszt trasy Przy określaniu najlepszej trasy routery posługują się zbiorem parametrów (metrykami), które służą do wyliczenia kosztu trasy. Przykładowe parametry służące do wyliczania kosztu trasy: • liczba skoków, liczba routerów do odbiorcy pakietu, stosowany min. przez protokół RIP, • pasmo przenoszenia, różnica między maks. i min. częstotliwością transmisji sygnałów w sieci, stosowany min. przez protokół OSPF, • opóźnienie, czas przejścia pakietu od nadawcy do odbiorcy (IGRP, EIGRP), • obciążenie sieci, stopień wykorzystania urządzeń i łącz (IGRP, EIGRP), • niezawodność, liczba błędów występujących na danej trasie (IGRP, EIGRP), • takty, opóźnienie w warstwie łącza danych, 1 takt = 1/18s, (IGRP, EIGRP), • parametry określane przez administratora, mogą być kombinacją różnych parametrów. Jeżeli router znajdzie kilka tras o takim samym koszcie to rozkłada transmisję na kilka tras, równoważy obciążenie tras (load balancing). Możliwe jest też równoważenie obciążenia tras nierównorzędnych, tzn. o różnych kosztach. Tego typu równoważenie obciążenia mogą stosować protokoły EIGRP i IGRP. 3 Tablice routingu Struktura tablicy routingu (polecenie show ip route): • kod (C, S, I, R, M, B, D, EX, 0, IA, N1, …), • adres IP i maska sieci zdalnej lub połączonej bezpośrednio, • informacja o interfejsie wyjściowym lub informacja o adresie IP routera następnego skoku. Przykłady kodów: • C, sieć połączona bezpośrednio, • S, routing statyczny, • I, IGRP, • R, RIP, • M, mobile, • B, BGP, • D, EIGRP, • EX, EIGRP external, • 0, OSPF. W systemie operacyjnym Windows polecenie route print służy do wyświetlania tablicy routingu. 4 Dystans administracyjny Dystans administracyjny jest liczbą zakresu 0-255, służy do określenia wiarygodności trasy. Wartość ‘0’ oznacza pełne zaufanie, 255 – brak zaufania. Routery posługują się tym parametrem jeżeli uzyskują informacje o parametrach transmisji danej trasy z kilku źródeł. Dystans administracyjny 0 1 5 20 90 100 110 115 120 200 255 Typ trasy sieć bezpośrednio podłączona trasa statyczna EIGRP Protokół eBGP (external BGP) protokół EIGRP, wewnętrzny, (zewnętrzny 170) protokół IGRP protokół OSPF protokół IS-IS protokół RIP protokół iBGP (internal BGP) Nieznana 5z Struktura tablic routingu Trasa 1 poziomu, to trasa z maską podsieci równą lub krótszą niż maska klasy adresu sieciowego. Trasa 1 poziomu może być: • trasą domyślną, trasa statyczna z adresem 0.0.0.0./0, • supersiecią, adres sieciowy z maską krótszą niż adres maski danej klasy, • trasą sieciową, adres maski jest równy adresowi maski danej klasy. Trasa nadrzędna 1 poziomu, to trasa która w tablicy routingu nie ma informacji o • adresie następnego skoku, • interfejsie wyjściowym. Wpisy o trasach nadrzędnych 1 poziomu są nagłówkami dla wpisów o trasach podrzędnych (trasach 2 poziomu). Trasa podrzędna, zwana inaczej trasą 2 poziomu, to trasa, opisana klasowym adresem sieciowym. Przykład adresu supersieci dla klasy adresowej C. 192.168.1.1/22 czyli 255.255.252.0 (11111111. 11111111. 11111100. 00000000) 192.168.1.1/24 czyli 255.255.255.0 (11111111. 11111111. 11111111. 00000000) 6 Struktura tablic routingu - przykład Przykład. Wpis w tablicy routingu. Trasa nadrzędna 1. poziomu 172.16.0.0 /24 is subneted, 1 subnets, Trasa podrzędna 2. poziomu C 172.16.3.0 is directly connected FastEtherent0/0 Trasa nadrzędna 1. poziomu: • klasowy adres IP podsieci, • maska podsieci, /24, jeżeli trasy podrzędne są adresowane metodą VLSM to we wpisie trasy nadrzędnej nie będzie adresu maski podsieci, • is subneted, 1 subnets, trasa nadrzędna z 1 trasą podrzędną. Trasa podrzędna 2. poziomu: • C, oznacza sieć połączoną bezpośrednio, • adres do podsieci z maską 172.16.3.0/24, • sieć połączona bezpośrednio z odlegością administracyjną 0, • interfejs wyjściowy. Uwaga: maska /24 oznacza 255.255.255.0 7 Proces wyszukiwania trasy w tablicy routingu Proces wyszukiwania trasy do odbiorcy danych: • router bada trasy 1 poziomu. • router szuka najlepszej trasy wśród tras podrzędnych. • sprawdza czy na routerze zaimplementowano routing klasowy czy bezklasowy. • jeżeli istnieje mniejsze dopasowanie z supersiecią lub trasą domyślną 1. poziomu to router używa tej trasy. • jeżeli nie pasuje żadna trasa z tablicy routingu, router odrzuca pakiet. 8 Protokół trasowany, protokół routingu Protokół trasowany - protokół, który do przesyłania pakietów wykorzystuje trasę. Przykład protokołu trasowanego: protokół IP, protokół IPX. Protokół routingu - protokół służący do wyznaczania najlepszej trasy przesyłania pakietu w sieci. Protokoły routingu trasują pakiety protokołów trasowanych. Protokół nierutowalny - protokół który nie jest rutowany przez router. Przykład nierutowalnego protokołu: protokół netbios. Domena routingu - zbiór routerów będący pod wspólną administracją. 9 Klasyfikacja protokołów Protokoły routingu dzieli się ze względu obszar działania na: • protokoły wewnętrzne (Interior Gateway Protocols) • protokoły zewnętrzne (Exterior Gateway Protocols). Protokoły wewnętrzne (IGP) wykorzystywane są przez routery znajdujące się wewnątrz dużych podsieci (autonomicznych podsieci). Protokoły zewnętrzne (EGP) wykorzystywane są przez routery łączące 'autonomiczne podsieci'. Protokoły wewnętrzne RIP, (ang.) Routing Information Protocol. IGRP, (ang.) Interior Gateway Routing Protocol, następca RIP. OSPF, (ang.) Open Shortest Path First. IS-SI, (ang.) Intermediate System-to- Intermediate System. EIGRP, (ang.) Enchanced IGRP. Protokoły zewnętrzne EGP, (ang.) Exterior Gateway Protocol BGP, (ang.) Border Gateway Protocol, RFC 1163. Następca EGP. 10 Klasyfikacja protokołów Protokoły routingu są wykorzystywane przez routery do pełnienia trzech podstawowych funkcji: • wyszukiwanie nowych tras, • przekazywanie do innych routerów informacji o znalezionych trasach, • przekierowywanie pakietów do routerów. Podział protokołów routingu ze względu na sposób wyznaczania tras routingu: • protokoły wektora odległości, • protokoły stanu łącza, • protokoły hybrydowe. 11 Metody wyznaczania tras przesyłania datagramów Dynamiczne tablice routingu. Wyznaczanie tablic routingu na podstawie wektora odległości: • protokół RIP, • protokół IGRP, EIGRP, • BGP. Wyznaczanie tablic routingu na podstawie stanu łącza: • protokół OSPF, • protokół IS-IS. Statyczne tablice routingu Statyczne tablice routingu buduje i uaktualnia administrator. 12 Algorytmy wektora odległości Algorytmy wektora odległości, distance vector algorithms. Klasa algorytmów opisana w Ford, L. R. Jr., and Fulkerson, D. R., "Flows in Networks",Princeton University Press, Princeton, N.J., 1962. zwana również algorytmami Bellmana-Forda, ponieważ w tych algorytmach stosowane jest równanie Bellmana. Bellman, R. E., "Dynamic Programming", Princeton University Press, Princeton, N.J., 1957. Trasowanie może być oparte na algorytmach wektora odległości (algorytmy Bellmana-Forda). W metodzie wektora odległości routery budują tablice routingu z tablic routingu routerów sąsiednich. Routery okresowo przesyłają kopie tablic routingu do sąsiednich routerów. Każdy odbiorca tablicy dodaje do niej wektor odległości (własną "wartość" odległości) i przesyła ją do swoich sąsiadów. Proces uaktualniania tablic umożliwia każdemu routerowi poznanie innych routerów oraz stworzenie mapy 'odległości' w sieci. 13 Trasowanie na podstawie stanu łącza W metodzie stanu łącza każdy router buduje swoją tablice routigu na podstawie przesyłanych między routerami informacji o trasach (wymiana pakietów LSP, Link-State Packet). Protokoły wykorzystujące do budowy tablic routing stan łącza, określane jako protokoły SPF (ang.) Shortest Path First, 'najpierw najkrótsza ścieżka'. Protokoły stanu łącza służą do zbierania informacje o: • stanie routerów w sieci • sposobie ich połączenia (informacje o topologii sieci). Routery komunikują się z sąsiednimi routerami wysyłając pakiety 'hello', routery odpowiadają pakietem 'hello' zawierającym informacje identyfikujące router. Pakiety 'hello‘ wysyłane są w trybie połączenia: • point-to-point, • do grup multicastowych (routery nie korzystają z transmisji broadcastowej). Każdy router, który wymienił pakiety LSP buduje na ich podstawie mapę topologii sieci. Następnie wykorzystywany jest algorytm SPF w celu obliczenia dostępności punktów docelowych sieci. Informacja ta jest wykorzystywana do uaktualnienia tablicy routingu. 14 Trasowanie na podstawie stanu łącza Opisywany proces umożliwia wykrywanie zmian w topologii sieci, które mogły powstać w wyniku awarii sieci lub jej rozbudowy. Wymiana pakietów LSP następuje gdy router wykryje w swoim otoczeniu: • nowy router, • router zostanie wyłączony (zniknie trasa), • zmieni się koszt połączenia. Standardowy pakiet odświeżający tablice routingu wysyłany jest co 30 min. Cechy metody trasowania w oparciu o stan łącza: • w trakcie początkowego procesu poznawania sieci trasowanie może przeciążyć łącza, • metoda wymaga dużej pamięci i szybkiego procesora w routerze. 15 Trasowanie statyczne Router zaprogramowany do trasowania statycznego przesyła pakiety przez z góry określone porty. Trasowanie statyczne wykorzystywane jest w małych sieciach, w których przesyłanie danych odbywa się po z góry określonych trasach. Administrator w miarę rozrastania się sieci i powstawania dodatkowych tras musi ręcznie uaktualniać tablice routingu. 16 Pętle routingu Pętle routingu powstają gdy pakiet wysłany przez router nie dociera do odbiorcy, jest przekazywany między kilkoma routerami i wraca do routera wysyłającego pakiet. Przyczyny powstawania pętli routingu: • niewłaściwe skonfigurowane trasy statycznej, • niewłaściwe skonfigurowana redystrybucja tras, • niespójność tablic routingu. Metody eliminacji przyczyn powstawania pętli routingu dla protokołów wektora odległości: • definiowanie maksymalnej metryki (aby zapobiec odliczaniu do nieskończoności), • uruchomienie licznika wstrzymania, • stosowanie techniki podzielonego horyzontu, • zatrucie trasy, • wyzwalanie aktualizacyjne. 17 Pętle routingu Odliczanie do nieskończoności – z powodu błędnych aktualizacji tablicy routingu, router zwiększa wartość metryki dla sieci do nieskończoności (każdy router ma inną definicję nieskończoności). Aby zapobiec tego typu mechanizmowi ustala się maksymalną wielkość metryki, np. metryki ‘liczba skoków’, protokół RIP ma maksymalną wartość 15 (16 router na trasie jest nieosiągalny). Licznik wstrzymania - licznik wstrzymuje aktualizacje informacji trasach. Podzielony horyzont – technika blokownia wysyłania danych z danego interfejsów, jeżeli dane te zostały odebrane z tego interfejsu. Zatrucie trasy – oznaczenie trasy jako nieosiągalnej poprzez przypisanie metryce maksymalnej wartości, np. dla protokołu RIP metryka zatrutej trasy ma wartość 16 (liczba skoków). Zatrucie wstecz wykorzystuje metodę zatrucia trasy i podzielonego horyzontu. Aktualizacja wyzwalana (automatyczna, ang. triggered update), to aktualizacja wysyłana przez router do innych routerów gdy: • interfejs zmieni stan (włączony/wyłączony), • trasa zmieniła stan na osiągalny/nieosiągalny, • pojawiła się nowa trasa w tablicy routingu. 18 Klasowe i bezklasowe protokoły routingu Protokoły klasowe RIPv1, (ang.) Routing Information Protocol. IGRP, (ang.) Interior Gateway Routing Protocol, nastepca RIP. Protokoły bezklasowe RIPv2, EIGRP, (ang.) Enchanced IGRP. OSPF, (ang.) Open Shortest Path First. IS-SI, (ang.) Intermediate System-to- Intermediate System. BGP, (ang.) Border Gateway Protocol. 19 Classless Inter-Domain Routing (CIDR) Routing: • klasowy, • bezklasowy. Classless Inter-Domain Routing (CIDR) W klasie adresowej A można zaadresować 127 sieci, w każdej sieci może być 224 -2 = 16 777 214 hostów. W klasie adresowej B można zaadresować 214 -2 = 16 382 sieci, w każdej sieci może być 216 - 2= 65 534 hostów. W klasie adresowej C można zaadresować 221 -2 = 2 091 750 sieci, w każdej sieci może być 254 hostów. Problem wzrostu liczby rekordów w tablicach routingu dla małych sieci nazywany jest ‘routing table explosion problem’. Rozwiązaniem problemu jest wprowadzenie bezklasowego routingu CIDR (Classless Inter-Domain Routing). W bezklasowym routingu pakiety nie są kierowane do konkretnej sieci (adres sieci uzyskiwany jest poprzez ‘endowanie’ adresu IP odbiorcy danych z maską) ale do klasy sieci które mają ten sam prefix IP. Problem CIDR opisany jest w dokumentach RFC 1518, 1519,1520. 20 Routing bezklasowy Przykład. Wyznaczenie prefixu IP dla klasy 8 sieci 192.32.136.0, …, 192.32.143.0. Dla klasy C struktura adresu ma postać 11000000.00000000.00000000.00000000 Maska od 11111111.11111111.11111111.00000000 Wyznaczenie prefixu IP. 192.32.136.0 (adres z klasy C) 11000000 00100000 10001000 00000000 11111111 11111111 11111000 00000000 255.255.248.0 (maska sieci) ============================================================ logiczne AND 11000000 00100000 10001000 00000000 192.32.136.0 (prefix IP) 11000000 00100000 10001111 00000000 192.32.143.0 (adres klasy C) 11111111 11111111 11111000 00000000 255.255.248.0 (network mask) ============================================================ logiczne AND 11000000 00100000 10001000 00000000 192.32.136.0 (prefix IP) Do zaadresowanie bloku 8 adresów klasy C jednym rekordem w tablicy routingu stosuje się zapis 192.32.136.0 255.255.248.0 (prefixu IP maska sieci), czyli sieci o adresach 192.32.136.0 - 192.32.143.0 identyfikowane są za pomocą prefixu IP 192.32.136.0 i maski sieci 255.255.248.0. 21 Podumowanie tras Trasa sumaryczna – to pojedyncza trasa używana do reprezentowania kilku tras. Przykład: Adresy 10.0.0.0/16, …, 10.255.0.0/16, mogą być reprezentowane za pomocą adresu 10.0.0.0/8. Sieci reprezentowane w trasie sumaryczne nie muszą być ciągłe. Podsumowanie tras statycznych do jednej trasy statycznej może być wykonane, gdy: • sieci docelowe mogą być podsumowane do jednego adresu sieciowego, • wszystkie trasy statyczne używają tego samego interfejsu wyjściowego lub adresu IP następnego skoku. 22 Sumaryczne trasy statyczne Przykład. Sumowanie tras. Dodanie trzech tras do tablicy routingu Router(config)# ip route 172.16.1.0 255.255.255.0 Serial 0/0/1 Router(config)# ip route 172.16.2.0 255.255.255.0 Serial 0/0/1 Router(config)# ip route 172.16.3.0 255.255.255.0 Serial 0/0/1 możne być zastąpione dodaniem jednej trasy sumarycznej Router(config)# ip route 172.16.0.0 255.255.252.0 Serial 0/0/1 172.16.1.0 10101100.00010000.00000001.00000000 172.16.2.0 10101100.00010000.00000010.00000000 172.16.3.0 10101100.00010000.00000011.00000000 --------------------------------------------------------------------------172.16.0.0 10101100.00010000.00000000.00000000 255.255.252.0 11111111. 11111111. 11111100. 00000000 23 Automatyczne podsumowanie tras Protokoły routingu mogą stosować automatyczne podsumowanie tras. RIPv1, klasowy protokół routingu (maska podsieci nie jest dołączana do aktualizacji tablic routingu): • brak obsługi nieciągłych adresacji sieci przy automatycznym podsumowaniu, • podsumowania nie można wyłączyć. Bezklasowy routing (CIDR) jest formą automatycznego podsumowania tras. Stosowany np. przez protokół routingu RIPv2, EIGRP. 24