Algorytmy routingu Kontynuacja wykładu
Algorytmy routingu Wektor odległości (distnace vector) (algorytm Bellmana-Forda): Określa kierunek i odległość do danej sieci. Stan łącza (link state): Metoda najkrótszej ścieżki router tworzy i przechowuje bazy danych dotyczących topologii partycji sieci, w której się znajduje (zna wszystkie routery pośrednie w drodze do celu). Hybrydowy: Stanowi połączenia algorytmu wektor odległości oraz stan łącza. 2
Wektor odległości (distance vector) Routery wysyłają własne tablice routingu do sąsiadów, a ci na podstawie otrzymanych informacji dokonują aktualizacji swoich tablic routingu. Każda sieć w tablicy routingu ma wektor zakumulowanej odległości, który mówi jak daleko jest w danym kierunku do wybranej sieci. Jeśli sieć jest bezpośrednio przyłączona do routera to odległość wynosi 0. Zmiana konfiguracji sieci pociąga za sobą konieczność uaktualnienia tablic routingu, postępując krok po kroku od routera do routera. 3
Wektor odległości (distance vector) Problemy: Pętle routingu: Pojawiają się, gdy zbieżność protokołu routingu jest zbyt wolna. Liczenie do nieskończoności: występuje na skutek pojawienia się pętli routingu. Każde przejście pakietu przez kolejny router powoduje zwiększenie wektora odległości. Jeśli sieć docelowa jest niedostępna i pojawiła się pętla routingu, pakiet może krążyć w sieci w nieskończoność a wartość wektora odległości będzie rosła do nieskończoności. Rozwiązania: Maksymalna liczba skoków (metryka): Po osiągnięciu tej wartości sieć docelowa uważana jest za niedostępną. Podzielony horyzont (split horizon): Informacje o trasie nie są wysyłane z powrotem do miejsca, z którego one pochodzą. Liczniki wstrzymania: Gdy przybędzie informacja o niedostępności sieci uruchamiany jest licznik wstrzymania. Po upływie czasu wstrzymania sieć oznaczana jest jako niedostępna. Jeśli przed upływem czasu router otrzyma lepszą ofertę licznik wstrzymania jest usuwany i nowa ścieżka jest zapamiętywana. Jeśli otrzymana oferta będzie gorsza od istniejącej nic się nie dzieje. 4
Stan łącza (link state) Metoda najkrótszej ścieżki router tworzy i przechowuje bazy danych dotyczących topologii partycji sieci, w której się znajduje (zna wszystkie routery pośrednie w drodze do celu). Routing stanu łącza korzysta z: Ogłoszeń stanu łącza LSA (Link State Advertisement); Topologicznej bazy danych; Algorytmu najkrótszej ścieżki - SPF (Shortest Path First); Drzewa SPF; Tablicy routingu ścieżek i portów prowadzących do sieci docelowych. 5
Stan łącza (link state) Problemy: Przetwarzanie: Modyfikowanie tablicy routingu, wykorzystując protokół stanu łącza, wymaga dość skomplikowanych obliczeń. Zapotrzebowanie na pamięć: Przechowywanie wszystkich informacji potrzebnych do tworzenia tablicy routingu wymaga dużej ilości pamięci. Zapotrzebowanie na pasmo: Pierwotna operacja odkrywania struktury sieci wymaga wysłania dużej ilości pakietów LSA, co może obciążyć łącza sieci. W stanie zbieżności pakietów jest znacznie mniej. Uaktualnianie stanu łącza: Aby routing działał prawidłowo (generacja prawidłowych tras) wszystkie routery muszą otrzymywać niezbędne (w prawidłowej kolejności) pakiety LSA. Rozwiązanie: Mechanizm stanu łącza: Zmniejszenie liczby wysyłanych pakietów w stanie zbieżności. Uaktualnienia mogą być wysyłane do grup. W grupie znajduje się jeden przedstawiciel, który przechowuje spójne dane o topologii sieci. Wprowadzenie struktury hierarchicznej routerów (w dużych sieciach). Wprowadzenie mechanizmów koordynacji uaktualnień: znaczniki czasu, mechanizmy starzenia i inne. 6
Hybrydowy Stanowi połączenia algorytmu wektor odległości oraz stan łącza. Do wyznaczenia najlepszej trasy wykorzystywany jest algorytm wektor-odległość, jednak uaktualnienia tabeli routingu następuje dopiero w wyniku zmiany konfiguracji sieci. 7
Protokół RIP (Routing Information Protocol) RIP został opracowany przez firmę Xerox Network Systems. Swoją dużą popularność zawdzięcza programowi (demonowi Unix owemu) routed opracowanemu w University of California w Berkeley. Ponieważ routed wchodzi w skład wielu systemów Unix owych, stał się w sposób naturalny najczęściej stosowanym programem tego typu. Główne zadania realizowane przez routed: Zapewnienie niesprzeczności informacji o trasach oraz informacji o osiągalności między jednostkami; Zapewnienie szybkiego rozgłaszania informacji o stanie i konfiguracji sieci. 8
Protokół RIP (Routing Information Protocol) Protokół RIP jest implementacją algorytmu wyznaczania tras wektor-odległość. Jednostki uczestniczące w procesie podzielone są na dwie grupy: Czynne: Jednostki oferujące informacje o trasach innym jednostkom (są to wyłącznie routery). Rozgłaszanie odbywa się co 30 sekund; Bierne: Jednostki nasłuchujące informacji od jednostek czynnych, same niczego nie oferują. Zarówno jednostki czynne jak i bierne odbierają rozgłaszane komunikaty i modyfikują własne tabele tras (algorytm wektor-odległość). 9
Protokół RIP (Routing Information Protocol) Rozgłaszane komunikaty zawierają pary: adres sieci i odległość do tej sieci. Odległość w protokole RIP określa się używając liczby etapów, która oznacza liczbę routerów, przez które musi przejść pakiet, aby dotarł do omawianej podsieci (łatwo się domyśleć, że minimalna liczba routerów nie oznacza optymalnej, najszybszej drogi do celu). W przypadku dużej ilości wymienianych informacji mogłaby zaistnieć sytuacja częstych zmian tras, dlatego trasy modyfikowane są tylko wtedy, gdy jednostka uzyska lepszą ofertę. 10
Protokół RIP (Routing Information Protocol) Stosowane liczniki czasowe: routing update timer (30 sekund): Częstotliwość rozsyłania informacji o routingu; route invalid timer (90 sekund): Czas po upływie, którego możemy przypuszczać, że trasa jest nieaktualna jeśli jednostka nie otrzyma ponowienia jej oferty; route flush timer (270 sekund): Czas po upływie, którego nastąpi wykasowanie informacji o trasie jeśli jednostka nie otrzyma ponowienia jej oferty. 11
Protokół RIP (Routing Information Protocol) Trzy główne problemy, z jakimi można się spotkać korzystając z protokołu RIP: Brak automatycznego wykrywania zapętleń w trasowaniu; Ograniczenie maksymalnej liczby etapów, jakie przebywa komunikat do 16 w celu uniknięcia niestabilności; Powolna zbieżność lub naliczanie do nieskończoności (dzięki ograniczeniu ilości etapów do 16 częściowo rozwiązano ten problem). 12
Protokół RIP (Routing Information Protocol) Format komunikatów. Wyróżniamy dwa główne typy komunikatów (ich struktura jest dokładnie taka sama): Komunikaty z informacjami o trasach; Komunikaty z prośbami o informacje. Typ pola Długość pola Funkcja A 1 bajt KOMENDA zapytanie lub odpowiedź o część lub całą tablicę routingu. B 1 bajt NUMER WERSJI RIP C 2 bajty POLE ZEROWE D 2 bajty IDENTYFIKATOR SIECI dla IP przyjmuje wartość 2. C 2 bajty POLE ZEROWE E 4 bajty ADRES IP SIECI DOCELOWEJ C 4 bajty POLE ZEROWE C 4 bajty POLE ZEROWE F 4 bajty METRYKA liczba routerów na drodze do celu. Uwaga: Pozycje od D do F mogą się powtórzyć do 25 razy. 13
Protokół OSPF (Open Shortest Path First) Protokół OSPF jest oparty na algorytmie stanu łącza, został opracowany w grupie roboczej Internet Engineering Task Force. Jak sama nazwa wskazuje protokół ten ma charakter otwarty tzn. każdy użytkownik ma dostęp do pełnej dokumentacji oraz może go implementować we własnych rozwiązaniach bez wnoszenia jakichkolwiek opłat licencyjnych. Jest to jeden z nielicznych protokołów, które wykorzystują trasowanie zależne od typu obsługi. Można zdefiniować wiele tras prowadzących do tego samego celu. Wybór pomiędzy nimi będzie zależał od pola typ obsługi w nagłówku pakietu IP. Jest to jeden z nielicznych protokołów, które wykorzystują mechanizm równomiernego obciążenia. Jeśli istnieje kilka tras o tym samym koszcie to ruch zostanie rozłożony równomiernie pomiędzy nimi. 14
Protokół OSPF (Open Shortest Path First) Umożliwia podział zasobów sieci na niezależne obszary. Dzięki temu wiele grup może brać razem udział przy wyznaczaniu tras. Grupy mogą wewnętrznie dokonywać zmian topologii bez informowania innych. Umożliwia wybranie jednego routera zwanego wyróżnionym routerem, który odpowiedzialny jest wysyłanie komunikatów o wszystkich łączach i routerach w sieci za którą jest odpowiedzialny. Umożliwia wymianę informacji, które przybyły z innych ośrodków (zewnętrznych). Format komunikatów pozwala odróżnić informacje otrzymane z zewnętrznych obszarów od tych wewnętrznych. Przy wymianie informacji o routingu między urządzeniami wymagane jest uwierzytelnianie. 15
Problemy w procesie routingu 16
Problem tzw. pętli routingu (routing loops) Konwergencja to zdolność routerów do szybkiego, jednolitego (dokonanego przez wszystkie routery) uzgodnienia optymalnych tras przesyłania informacji w sieci. Nie docenienie wagi szybkości tego procesu może spowodować, iż pojawią się drogi alternatywne pętle routingu (routing loops) powodujące nieprawidłową pracę sieci. Pętle routingu mogą wystąpić gdy niezgodne ze sobą tablice routingu nie są należycie aktualizowane z powodu wolnej konwergencji sieci 17
Problem tzw. pętli routingu (routing loops) 18
Problem: Nieskończone odliczanie (Counting to Infinity) Sieć 1, Odległość 6 Sieć 1, Odległość 7 Sieć 1, Odległość 5 Sieć 1, Odległość 4 Sieć 1 padła... Pętle routingu zwiększają jedną z metryk wektora odległości 19
Rozwiązanie 1: Zdefinować maksymalną wartość nieskończoności Sieć 1, Odległość 13 Sieć 1, Odległość 14 Sieć 1, Odległość 12 Sieć 1, Odległość 15 Tablica routingu Maksymalna metryka : 16 Sieć 1 jest nieosiągalna Sieć 1 padła... Ustawienie wartości maksymalnej metryki jako nieskończoności 20
Rozwiązanie 2: Podział horyzontu - Split Horizon Router B nie powiadamia Router A o trasach do sieci 1 Sieć 1 jest nieosiągalna Sieć 1 padła.. Router D nie powiadamia Router A o trasach do sieci 1 21
Rozwiązanie 3: Zatrucie trasy - Route Poisoning Gdy Sieć 5 została wyłączona, Router E inicjuje mechanizm route poisoning poprzez wpisanie dla tej trasy w tablicy routingu metryki o wartości 16 SIEĆ NIEOSIĄGALNA 22
Rozwiązanie 4: Triggered Updates Wyzwalane aktualizacje W tym podejściu routery wysyłają wiadomości jak tylko zauważą zmianę dotyczącą nieosiągalności sieci 10.4.0.0 w ich tablicy routingu 23
Rozwiązanie 5: Zegary przetrzymania Holddown Timers Aktualizacja po czasie wstrzymania Aktualizacja po czasie wstrzymania Sieć 1 nie działa Aktualizacja po czasie wstrzymania Aktualizacja po czasie wstrzymania Wyłączono sieć 1, następnie włączono na chwilę i znów wyłączono 24
Odległość administracyjna 25
Cechy protokołu IGRP Kompozycja metryk wykorzystywana do wyboru trasy Szybkość jest podstawowym kryterium 26
Metryki protokołu IGRP Pasmo przenoszenia (Bandwith) Najniższa wartość pasma przenoszenia w danej trasie Opóźnienie (Delay) Skumulowane opóźnienie powstałe na interfejsach wzdłuż ścieżki Niezawodność (Reliability) Niezawodność połączenia w kierunku celu wyznaczana na podstawie pakietów keepalive Obciążenie (Load) Obciążenie łącza w kierunku celu bazujące na przepustowośći (bps) W protokole IGRP jest wykorzystywana metryka złożona. Metryka ta jest obliczana jako funkcja przepustowości, opóźnienia, obciążenia i niezawodności. Domyślnie uwzględniana jest tylko przepustowość i opóźnienie. Pozostałe parametry są brane pod uwagę tylko w przypadku odpowiedniego skonfigurowania 27
Rodzaje tras IGRP : Interior, System, & Exterior System autonomiczny 1 System autonomiczny 22 28
Stabilność protokołu IGRP - Cechy Liczniki holddown, Split horizon Poison-reverse updates Zegar aktualizacji (update) określa, jak często powinny być wysyłane komunikaty aktualizacji tras. Wartością domyślną tej zmiennej w protokole IGRP jest 90 sekund. Zegar wykluczenia (invalid) określa, jak długo router powinien czekać na nadejście komunikatów aktualizacji dla danej trasy przed uznaniem jej za nieprawidłową. Wartość domyślna tej zmiennej w protokole jest równa trzykrotnej wartości okresu aktualizacji. Zegar przetrzymania (holddown) określa czas ignorowania informacji o gorszych trasach. Wartość domyślna tej zmiennej w protokole jest równa trzykrotnej wartości okresu aktualizacji plus 10 sekund. Zegar opróżnienia (flush) wskazuje, ile czasu powinno upłynąć przed usunięciem trasy z tablicy routingu. Wartością domyślną dla protokołu IGRP jest siedmiokrotna wartość zegara aktualizacji routingu. 29
Technika VLSM cdn 30
Czym jest technika VLSM (Variable-Length Subnet Mask) i dlaczego jest używana? 31
Marnotrawstwo przestrzeni adresowej 32
Kiedy używać techniki VLSM? 33
Obliczanie wartości podsieci z maskami VLSM 34
Przykład zastosowania VLSM 35
Cechy protokołu RIP v2 36
Porównanie protokołów RIP v1 i v2 37
EIGRP (ang. Enhanced Interior Gateway Routing Protocol ) Opracowany przez Cisco w 1994. Stanowi rozwinięcie idei protokołu IGRP. Jest protokołem wektor-odległość (hybrydowym). Zapewnia szybszą, lepszą zbieżność pracując przy tym bardziej wydajnie. 38
Porównanie EIGRP z IGRP Kompatybilność: Możliwość współpracy z protokołem IGRP (w ramach tego samego systemu autonomicznego). Wyznaczanie metryk: Obliczanie metryk jak w IGRP lecz wynik dodatkowo dzielony jest przez 256. Maksymalna liczba skoków: IGRP - 255, EIGRP - 224 Wymiana informacji pomiędzy IGRP i EIGRP - automatycznie w obrębie tego samego systemu autonomicznego. Oznaczanie tras - informacje o trasach pochodzące z innych protokołów niż EIGRP są oznaczane jako zewnętrzne (EX). 39
Tablice w EIGRP EIGRP przechowuje informacje o trasach i topologii dzięki czemu może szybko i pewnie reagować na zmiany (podobnie jak OSPF). Informacje dla EIGRP są przechowywane w trzech tablicach : tablica sąsiadów; tablica topologii; tablica routingu. 40
Wykorzystanie tablic w EIGRP 41
EIGRP a inne protokoły wektor-odległość EIGRP - do wyznaczania dobroci tras używa algorytmu wektor-odległość lecz podobnie jak protokoły stanu-łącza przechowuje bazę danych o sąsiadach, trasach i topologii. Zalety EIGRP w porównaniu do prostych protokołów wektor-odległość typu RIP: szybsza zbieżność; lepsze (mniejsze) wykorzystanie pasma; obsługa VLSM; obsługa wielu protokołów routowalnych (IP, IPX, AppleTalk) dzięki mechanizmom PDM (Protocol- Dependent Modules). 42
Adresy Prywatne 43
NAT (Network Adress Translation) Technologia NAT umożliwia ograniczenie liczby publicznych adresów IP i wykorzystanie prywatnych adresów IP w sieciach wewnętrznych
NAT Podstawowe pojęcia Wewnętrzny adres lokalny adres IP przypisany do hosta w sieci wewnętrznej. Ten adres IP zazwyczaj nie jest przypisany przez organizację InterNIC (ang. Internet Network Information Center) ani dostawcę usług. Najczęściej jest to adres prywatny zgodny ze standardem RFC 1918. Wewnętrzny adres globalny legalny adres IP przypisany przez organizację InterNIC lub dostawcę usług. Adres ten reprezentuje dla sieci zewnętrznych jeden lub więcej wewnętrznych, lokalnych adresów IP. Zewnętrzny adres lokalny adres IP zewnętrznego hosta, który znany jest hostom znajdującym się w sieci wewnętrznej. Zewnętrzny adres globalny adres IP przypisany do hosta w sieci zewnętrznej. Ten adres przypisany jest przez właściciela hosta. 45
NAT - Cechy Statyczna translacja NAT umożliwia utworzenie odwzorowania typu jedendo-jednego pomiędzy adresami lokalnymi i globalnymi. Dynamiczna translacja NAT umożliwia mapowanie adresu prywatnego na adres publiczny.
PAT - Cechy W technologii PAT tłumaczone adresy są rozróżniane przy użyciu unikatowych numerów portów źródłowych powiązanych z globalnym adresem IP.
NAT Korzyści Eliminacja konieczności ponownego przypisania adresów IP do każdego hosta po zmianie dostawcy usług internetowych (ISP). Użycie mechanizmu NAT pozwala na uniknięcie zmiany adresów wszystkich hostów, dla których wymagany jest dostęp zewnętrzny, a to wiąże się z oszczędnościami czasowymi i finansowymi. Zmniejszenie liczby adresów przy użyciu dostępnej w aplikacji funkcji multipleksowania na poziomie portów. Gdy wykorzystywany jest mechanizm PAT, hosty wewnętrzne mogą współużytkować pojedynczy publiczny adres IP podczas realizacji wszystkich operacji wymagających komunikacji zewnętrznej. W takiej konfiguracji do obsługi wielu hostów wewnętrznych wymagana jest bardzo niewielka liczba adresów zewnętrznych. Pozwala to zaoszczędzić adresy IP. Zwiększenie poziomu bezpieczeństwa w sieci. Ponieważ w wypadku sieci prywatnej nie są rozgłaszane wewnętrzne adresy ani informacje o wewnętrznej topologii, sieć taka pozostaje wystarczająco zabezpieczona, gdy dostęp zewnętrzny odbywa się z wykorzystaniem translacji NAT. 48
Koniec Dziękuję za uwagę... 49