Wstęp... 2 Ruting statyczny... 3 Ruting dynamiczny... 3 Metryka i odległość administracyjna... 4 RIPv1... 5 RIPv2... 5 EIGRP... 5 EIGRP komunikaty... 5 EIGRP metryka... 6 EIGRP tablice... 6 EIGRP trasy... 6 OSPF... 7 OSPF - komunikaty... 7 OSPF - przyległość... 7 OSPF DR i BDR... 7 OSPF system autonomiczny... 8 OSPF metryka... 8 Interfejs pasywny... 8 Podzielony horyzont... 8 Podzielony horyzont z zatruciem wstecz... 8
Wstęp Ruting można podzielić na dwie grupy: Statyczny trasy definiowane są ręcznie poprzez podanie adresu następnego skoku dla danej sieci docelowej, Dynamiczny, protokoły: o RIP (Routing Information Protocol) v1/v2/ng, o IGRP (Interior Gateway Routing Protocol), o EIGRP (Enhanced Interior Gateway Routing Protocol), o OSPF (Open Shortest Path First), o IS-IS (Intermediate System-to-Intermediate System), o BGP (Border Gateway Protocol). Każdy ruter przechowuje tablice rutingu w której znaleźć można informacje na temat tras takie jak: typ trasy, adres sieci docelowej wraz z maską, odległość administracyjna oraz metryka, interfejs następnego skoku. Informacje te są niezbędne do przekierowania pakietu we właściwe miejsce. Możliwe typy tras to: Bezpośrednio podłączona w momencie gdy na interfejsie skonfigurowany zostanie adres IP i maska sieci wówczas w tablicy rutingu pojawi się wpis dotyczący tej sieci z literą C na początku. Litera C oznacza connected czyli sieć przyłączoną bezpośrednio. Trasa statyczna jest to trasa do sieci zdalnej skonfigurowana ręcznie przez administratora systemu. Wpis w tablicy rutingu musi zawierać adres sieciowy wraz z maską podsieci oraz IP rutera następnego skoku. Trasa statyczna zawiera na początku identyfikator S (static). Przykładowa trasa statyczna została przedstawiona na poniższym zrzucie ekranu. Analizując powyższy zrzut ekranu widzimy, że gdy pakiet ma trafić do jakiegoś komputera w sieci 10.0.0.0/8 wówczas zostanie on przekazany do rutera następnego skoku o adresie 192.168.1.1. Trasa dynamiczna wpisy dotyczące zdalnych sieci mogą być dodawane do tablicy rutingu za pomocą dynamicznych protokołów rutingu. Rutery wymieniają między sobą informacje o dostępności sieci zdalnych. Zadaniami dynamicznych protokołów rutingu są wykrywanie sieci zdalnych i aktualizacja oraz utrzymanie tablic rutingu. W związku z automatyczny wykrywaniem sieci zdalnych nie ma konieczności konfigurowania tras statycznych. W przypadku gdy pojawi się jakiś problem w działaniu danej trasy wówczas protokół rutingu może zmienić trasę którą podróżują pakiety. Trasy dynamiczne identyfikowane są przez literę początkową zgodnie ze schematem: R RIP, I IGRP, D EIGRP, O OSPF, I ISIS, B BGP.
Ruting statyczny W przypadku rutingu statycznego bardzo istotną rzeczą jest skonfigurowanie sieci w obu kierunkach tzn. aby pakiety w sieci przekazywane były w obie strony - wszystkie rutery muszą posiadać pełną informację na temat wszystkich sieci. W tym miejscu należy wprowadzić pojęcie trasy domyślnej. Trasa domyślna to taka, którą kierowane będą wszystkie pakiety, które nie mogą zostać dopasowane do żadnej innej reguły znajdującej się w tablicy rutingu. Wpis dotyczący trasy domyślnej może wyglądać następująco: Ruting dynamiczny Jak to już zostało wspomniane wcześniej protokoły rutingu dynamicznego ułatwiają wymianę informacji pomiędzy ruterami. Pozwalają dynamicznie pozyskiwać informacje o zdalnych sieciach i automatycznie wprowadzać stosowne informacje do tablicy rutingu. Protokoły dynamicznie same ustalają najlepszą trasę w oparciu o różne parametry a następnie zapisują ją w tablicy rutingu. Niewątpliwą zaletą jest to, iż tablice rutingu modyfikowane są automatycznie np. w momencie awarii jakiegoś węzła sieci. Minusem są zasoby niezbędne do działania protokołu rutingu dynamicznego w związku z koniecznością wymiany komunikatów dotyczących tras wzrasta użycie procesora oraz wykorzystanie pasma. Protokoły rutingu dynamicznego mogą zostać podzielone w kilku różnych płaszczyznach. Ze względu na domenę rutingu podział wygląda następująco: IGP (Interior Gateway Protocols) protokoły bramy wewnętrznej, używane w rutingu wewnątrz konkretnej domeny, EGP (Exterior Gateway Protocols) protokoły bramy zewnętrznej, wykorzystywane do rutingu pomiędzy różnymi domenami. W trakcie laboratoriów omawiane będą protokoły z rodziny IGP. Protokoły te można podzielić ze względu na sposób wyznaczania tras w następujący sposób: Protokoły wektora odległości trasy rozgłaszane są jako wektory odległości i kierunku. Odległość definiowana jest przy użyciu metryki (np. liczba skoków), kierunek z kolei to ruter następnego skoku. Tego typu protokoły zazwyczaj do wyznaczania najlepszej trasy wykorzystują algorytm Bellmana- Forda. Protokoły wektora odległości wysyłają pełne tablice rutingu co powoduje wzrost przepływu informacji w sieci. Rutery nie są w stanie poznać całej topologii sieci interesuje je tylko następny skok dla danej sieci oraz metryka i odległość administracyjna. Niektóre protokoły wektora odległości wysyłają okresowe aktualizacje informacji o trasach. Protokoły łącze-stan informacje na temat topologii zbierane są ze wszystkich węzłów dzięki czemu ruter zna całą topologię sieci. Protokoły wykorzystują informację łącze-stan do utworzenia mapy topologii i wyboru najlepszej trasy z pośród wszystkich dostępnych. W przypadku protokołów łączestan aktualizacje wysyłane są tylko gdy w topologii nastąpi jakaś zmiana. Kolejnego podziału protokołów rutingu można dokonać na podstawie informacji zawartych w aktualizacji: Klasowe protokoły rutingu nie wysyłają w aktualizacji informacji o masce podsieci. Oznacza to, że klasowych protokołów nie można stosować w sieciach w których podział na podsieci dokonany został przy wykorzystaniu więcej niż jednej maski. Ruter użyje maski podsieci skonfigurowanej na lokalnym interfejsie gdy adresy są w tej samej sieci głównej lub zastosuje domyślną maskę podsieci w oparciu o klasę adresu. Dla poszczególnych klas domyślne maski wyglądają następująco (w tabeli pominięte zostały sieci klasy D i E):
Klasa Zakres IP Domyślna maska klasy Adresy prywatne A 1.0.0.0 126.0.0.0 255.0.0.0 /8 10.0.0.0 10.255.255.255 B 128.0.1.0 191.254.0.0 255.255.0.0 /16 172.16.0.0 172.31.255.255 C 192.0.1.0 223.255.254.0 255.255.255.0 /24 192.168.0.0 192.168.255.255 Bezklasowe protokoły rutingu w aktualizacjach oprócz adresu sieci umieszczana jest również maska. Bezklasowe protokoły rutingu są stosowane w większości współczesnych sieci. W przypadku przykładu zaprezentowanego poniżej dla obu przypadków protokoły rutingu bezklasowego prawidłowo obsłużą sieć. Co więcej możliwe jest również wykorzystanie sieci nieciągłych o których mówimy gdy np. po jednej stronie sieci znajduje się podsieć 172.16.1.0/28 a po drugiej stronie sieci podsieć 172.16.1.16/28. Przykład sieci nieciągłej: Ruting w przypadku powyższej sieci i protokołu RIPv2 będzie się odbywał prawidłowo. Gdy w powyższej sieci zastosujemy RIPv1 komunikacja pomiędzy siecią 172.16.1.0/28 i 172.16.1.16/28 nie będzie możliwa. Metryka i odległość administracyjna Metryka jest sposobem mierzenia i porównywania, wykorzystywana jest przez protokoły rutingu do ustalenia najlepszej trasy. W przypadku gdy ruter dowie się o kilku trasach do sieci docelowej koniecznym jest podjęcie decyzji, którą trasę wybrać. Wówczas ruter wybierze trasę z najniższą wartością metryki. W ramach każdego protokołu rutingu wykorzystywane są inne metody obliczania metryki. Przykładowo RIP wykorzystuje liczbę skoków (ruterów) do sieci docelowej. Oprócz liczby skoków metryka może być wyznaczana na przykład na podstawie: Szerokości pasma, Obciążenie łącza, Opóźnienie, Niezawodność. Odległość administracyjna jest wykorzystywana w momencie gdy ruter dowiaduje się o trasie do sieci zdalnej z kilku źródeł (protokołów). Wówczas aby podjąć decyzję o wyborze źródła trasy ruter skorzysta z odległości administracyjnej. Krótko mówiąc odległość administracyjna określa pierwszeństwo źródła rutingu. Każdy protokół rutingu, sieci statyczne i podłączone bezpośrednio mają swój priorytet. Odległość administracyjna może znajdować się w przedziale od 0 do 255 przy czym im niższa wartość tym wyższy priorytet. Tylko sieć podłączona bezpośrednio ma odległość administracyjną 0. Odległość 255 oznacza, że źródło nie jest zaufane. Wartości odległości administracyjnej dla poszczególnych protokołów rutingu wyglądają następująco: 0 interfejs podłączony bezpośrednio, 1 trasa statyczna, 5 trasa sumaryczna EIGRP, 20 trasa zewnętrzna BGP, 90 trasa wewnętrzna EIGRP, 100 IGRP, 110 OSPF, 115 IS-IS, 120 RIP,
140 EGP, 170 trasa zewnętrzna EIGRP, 200 trasa wewnętrzna BGP, 255 odległość nieznana. Podsumowując metryka wykorzystywana jest w procesie instalowania trasy w tablicy rutingu wybrana zostanie trasa z najlepszą metryką. W przypadku wykorzystania jednego protokołu rutingu dynamicznego w tablicy nie mogą istnieć dwa wpisy dotyczące tej samej sieci docelowej. Ponieważ różne protokoły rutingu w różny sposób obliczają metrykę wprowadzona została odległość administracyjna. Stosowana jest gdy ruter otrzymuje informację o trasie do sieci docelowej z więcej niż jednego źródła protokołu rutingu. Decyzja o tym którą trasę wybrać podejmowana jest na podstawie odległości administracyjnej. Jeśli przyjrzymy się tablicy rutingu i konkretnemu wpisowi dotyczącemu danej trasy ujrzymy np. taką informację: [120/1] oznacza to trasę o odległości administracyjnej 120 i metryce 1. RIPv1 RIP w wersji pierwszej jest klasowym protokołem rutingu wektora odległości. Jedyną metryką jest liczba skoków. Aktualizacje tablic rutingu wysyłane są co 30 sekund. RIP wykorzystuje dwa typy komunikatów żądanie i odpowiedź. Komunikat żądanie oznacza, iż ruter chce od wszystkich pozostały ruterów uzyskać pełne tablice rutingu. Komunikat odpowiedź jest skutkiem otrzymania żądania. W przypadku RIPv1 maksymalna liczba skoków to 15. Komunikaty w RIPv1 przesyłane są w formie rozgłoszenia. RIPv2 RIP w wersji drugiej jest bezklasowy protokołem rutingu wektora odległości. Tak jak w przypadku RIPv1 metryką jest liczba skoków. Niewątpliwą zaletą RIPv2 jest to iż w aktualizacjach umieszczane są maski podsieci bezklasowość. Wersja druga protokołu RIP jest udoskonalenie wersji pierwszej w związku z czym poza pewnymi różnicami pozostałe założenia zostały niezmienione. RIPv2 jest kompatybilny wstecz z wersją pierwszą. W związku z tym zachowano ograniczenie do 15 hopów. Wersja druga wykorzystuje transmisję multicast do przekazywania informacji o trasach. EIGRP Jest bezklasowym protokołem hybrydowym (stanowi połączenie protokołu wektora odległości i stanu łącza), Cisco klasyfikuje go jako protokół wektora odległości. Stworzony został przez Cisco dla urządzeń Cisco. Informacje wymieniane są w ramach tego samego systemu autonomicznego. Został stworzony jako następca protokołu klasowego IGRP. W EIGRP wykorzystywany jest algorytm DUAL umożliwiający rozpoznanie tras (podział na trasy podstawowe i zapasowe, odrzucenie tras w których występują pętle). EIGRP komunikaty W EIGRP można spotkać się z następującymi 5 typami komunikatów: Hello służą do wykrywania i podtrzymywania przyległości z sąsiednimi ruterami. Domyślny czas pomiędzy pakietami hello wynosi 5 sekund. Wykorzystywany jest multicasting (adres 224.0.0.10). W momencie gdy ruter nie otrzyma pakietu hello od przyległego urządzenia w określonym czasie przetrzymania (domyślnie 3*hello) to algorytm DUAL rozpocznie proces przeliczania tablic. Acknowledgment pakiety wysyłane jako potwierdzenie otrzymania danego pakietu. Wysyłane bezpośrednio między poszczególnymi ruterami. Update pakiet wysyłany w momencie gdy wykryte zostanie nowe urządzenie lub zmianie ulegnie topologia sieci. Query wysyłane gdy ruter potrzebuje dodatkowych informacji.
Reply odpowiedź na komunikat Query. EIGRP metryka W EIGRP wykorzystywana jest metryka złożona wyliczona przy użyciu następującego wzoru: [(K 1 Przepustowość + K 2 Przepustowość 256 Obciążenie + K K 5 3 Opóźnienie) K 4 + Niezawodność ] 256 Gdzie: Przepustowość najniższa przepustowość (kb/s) na całej ścieżce od źródła do celu, Obciążenie zakres 1-255 przy czym 1 oznacza sieć obciążoną, Opóźnienie opóźnienie w dziesiątkach µs na całej ścieżce od źródła do celu (w konfiguracji opóźnienie podawane jest w ms), Niezawodność zakres 1-255 przy czym 255 oznacza najbardziej niezawodną trasę. Domyślnie stałe K 1 i K 3 mają ustawioną wartość 1 natomiast pozostałe (K 2, K 4, K 5 ) mają ustawioną wartość 0 co powoduje uproszczenie wzoru do postaci: (Przepustowość + Opóźnienie) 256 Administrator może samodzielnie zmienić wartości stałych K w zależności od potrzeb. EIGRP wykorzystuje również informację dotyczącą liczby skoków jest ona wykorzystywana wyłącznie do ograniczenia zasięgu EIGRP. Domyślna wartość to 100. Dopuszczalny przedział 1-255. EIGRP tablice Protokół EIGRP wykorzystuje następujące tablice: Rutingu standardowa tablica rutingu znana z innych protokołów, Sąsiadów zawiera informację dotyczącą sąsiednich ruterów. W przypadku wykrycia nowego urządzenia w tablicy zapisana zostanie informacja o adresie i interfejsie. Wpis przechowywany jest dopóki sąsiednie urządzenie wysyła pakiety Hello. W pakiecie hello określony jest tzw. Czas przetrzymania tzn. Jak długo w przypadku nie otrzymania hello wpis ma znajdować się w tablicy sąsiadów. Po tym czasie wpis jest usuwany. Topologii zawiera wszystkie trasy rozgłaszane przez sąsiednie rutery. W tablicy topologii można znaleźć następujące informacje: o Feasible Distance najniższa metryka dla każdego celu transmisji, o Reported Distance odległości do poszczególnych miejsc uzyskane o przyległego sąsiada, o Informację dotyczącą interfejsu za pośrednictwem którego można dotrzeć do celu, o Stan trasy pasywna (można wykorzystać) lub aktywna (trwa proces obliczania). EIGRP trasy W protokole EIGRP spotkać można trzy typy tras: Wewnętrzne informacje dotyczące tras tego typu pochodzą z systemu autonomicznego nadzorowanego przez EIGRP, Zewnętrzne informacje pochodzą z innych protokołów rutingu, Zapasowe trasa ustalona w czasie wyznaczania podstawowych tras, zapisana w tablicy topologii. Wykorzystywana jest w przypadku awarii trasy podstawowej. W przypadku gdy trasa zapasowa nie występuje ruter w momencie awarii ustawi trasę podstawową jako aktywną i wyśle zapytania do sąsiadów w celu wyznaczenia topologii.
OSPF OSPF czyli Open Shortest Path First jest bezklasowym wewnętrznym (IGP) protokołem rutingu łączestan. W OSPF wprowadzono obszary dzięki czemu protokół jest dobrze skalowalny. OSPF wykorzystuje algorytm Dijkstry (SPF). OSPFv2 dotyczy rutingu w IPv4, OSPFv3 stworzony został dla IPv6. OSPF - komunikaty W OSPF można spotkać się z następującymi 5 typami komunikatów: Hello służą do tworzenia i podtrzymania przyległości z innymi ruterami OSPF, zawiera informację o identyfikatorze rutera, DBD database description, skrócona lista bazy danych rutera wysyłającego, LSR żądanie LSR służy do pozyskania szczegółów dotyczących wpisu DBD, LSU używane do odpowiadania na LSR oraz do ogłaszania nowych informacji. Mogą zawierać jeden z następujących typów ogłoszeń LSA: o 1 LSA rutera, o 2 LSA sieci, o 3 lub 4 LSA z podsumowaniem, o 5 zewnętrzne LSA, o 6 grupowe pakiety LSA OSPF, o 7 zdefiniowany dla obszarów niezbyt szczątkowych, o 8 LSA dla OSPFv3, o 9, 10, 11 LSA nieprzeźroczyste. LSAck komunikat potwierdzający odebranie LSA. OSPF - przyległość W pierwszej kolejności po uruchomieniu rutery wysyłają pakiety hello poszukując bezpośrednio połączonych sąsiadów. Jeśli ruter odbierze na interfejsie pakiet hello oznacza to iż na tym łączu znajduje się inny ruter OSPF. W związku z tym ruter tworzy częściową przyległość z sąsiadem. Pełna przyległość ma miejsce gdy rutery wymienią wszystkie potrzebne pakiety LSU i mają dokładnie takie same bazy danych łączestan. Aby rutery mogły stworzyć przyległość muszą ustalić następujące parametry: interwał hello, czas uznania za nieczynny oraz typ sieci. Domyślnie pakiety hello wysyłane są co 10s w sieciach wielodostępowych i punkt-punkt. Zazwyczaj pakiety hello wysyłane są grupowo. Czas uznania za nieczynny to czas w który jeśli ruter nie otrzyma pakietu hello to uzna ruter sąsiadujący za niedostępny. Domyślnie czas ten wynosi 40s. Jeśli czas uznania za nieczynny upłynie wówczas taki sąsiad jest usuwany z bazy danych i wysyłana jest informacja o nieczynnym sąsiedzie na wszystkich interfejsach. OSPF DR i BDR OSPF wybiera ruter desygnowany (DR) i zapasowy ruter desygnowany (BDR). DR odpowiedzialny jest za aktualizowanie wszystkich ruterów OSPF gdy wystąpi jakaś zmiana, z kolei BDR monitoruje ruter DR i przejmuje jego rolę gdy ten ulegnie awarii. W przypadku sieci punkt-punkt nie ma konieczności definiowania ruterów DR i BDR. Ruter DR to ruter, który ma najwyższy priorytet interfejsu OSPF, BDR to ruter z drugim co do wysokości priorytetem interfejsu OSPF. W momencie gdy priorytety są takie same dla kilku ruterów wybierany jest ten z wyższym identyfikatorem. Pozostałe rutery zwane są DROTHER. Rutery DROTHER tworzą przyległości tylko z ruterami DR i BDR. Mimo to ustanawiają przyległości sąsiedzkie z pozostałymi ruterami w sieci. Zmiana rutera DR może nastąpić gdy: DR przestanie działać, OSPF na DR przestanie działać, Wielodostępowy interfejs na DR przestanie działać.
OSPF system autonomiczny Obszar OSPF to grupa ruterów, które posiadają wspólne informacje łącze-stan. Wszystkie rutery w danym obszarze (systemie) muszę mieć takie same informacje w bazie danych. Wszelkie informacje wymieniane są w ramach ruterów należących do tego samego AS (autonomous system). Zdefiniowano następujące obszary: Backbone Area inaczej obszar 0 lub 0.0.0.0, stanowi rdzeń sieci OSPF. Wszystkie pozostałe obszary podłączone są do backbone area. Ruting między obszarami odbywa się zawsze przez obszar 0. Standard Area obszar przyłączony do obszaru 0. Rutery posiadają informację o wszystkich ruterach w obszarze. Tablica rutingu zależy od położenia rutera. Stub Area obszar w którym informacje z innych protokołów rutingu są blokowane (LSA typ 5). Możliwa jest tylko komunikacja w ramach OSPF informacje sumaryczne z innych obszarów. Totally Stubby Area blokowane są pakiety LSA typu 3, 4 i 5. Blokowane są wszelkie informacje z innych protokołów rutingu. Blokowane są również informacje z innych obszarów OSPF. Not So Stubby Area blokowane są pakiety LSA typu 4 i 5. Zewnętrzne ścieżki nie są akceptowane. Dopuszczalne są wyłącznie trasy sumaryczne. Informacje o trasach z innych obszarów są rozsyłane przy pomocy LSA typu 7. OSPF metryka Metryka OSPF definiowana jest jako koszt. W dokumentacji protokołu OSPF zdefiniowano iż koszt związany jest ze stroną wyjściową każdego interfejsu rutera. Koszt może zostać skonfigurowany przez administratora, a im mniejszy koszt tym większa szansa, że interfejs zostanie wykorzystany do transmisji. Metryka obliczana jest w oparciu o następujący wzór: Domyślnie referencyjna szerokość pasma wynosi 100Mb/s. Interfejs pasywny Każdy interfejs może zostać skonfigurowany jako interfejs pasywny. Wówczas przez dany interfejs informacje dotyczące rutingu nie będą rozgłaszane. Dzięki temu zmniejszamy obciążenie sieci i unikamy problemów związanych z bezpieczeństwem informacji. Podzielony horyzont Protokoły rutingu wektora odległości zazwyczaj umożliwiają wykorzystanie tzw. Podzielonego horyzontu. Zapobiega on wysyłaniu informacji z tego samego interfejsu na którym została odebrana. Domyślnie podzielony horyzont jest włączony. Podzielony horyzont z zatruciem wstecz Wysyłając aktualizacje z określonego interfejsu należy wszystkie sieci o których ruter dowiedział się przez ten interfejs oznaczyć jako nieosiągalne. Domyślnie podzielony horyzont z zatruciem wstecz jest wyłączony.