Routing dynamiczny z wykorzystaniem wektora odległości Protokół RIP Opracowanio na podstawie materiałów kursu CCNA Routing dynamiczny z wykorzystaniem wektora odległości Protokół RIP
Routing dynamiczny Celem protokołu routingu jest stworzenie i utrzymywanie tablicy routingu. Tablica ta zawiera sieci zapamiętane przez router oraz przypisane im porty. Routery używają protokołów routingu do zarządzania informacjami odbieranymi od innych routerów i ich interfejsów oraz zawartymi w trasach skonfigurowanych ręcznie. Protokół routingu zapamiętuje wszystkie dostępne trasy, umieszcza najlepsze trasy w tablicy routingu i usuwa trasy, gdy te nie są już poprawne. Router korzysta z informacji zawartych w tablicy routingu do przesyłania pakietów protokołu routowanego. Algorytm routingu stanowi podstawę routingu dynamicznego. Gdy topologia sieci zmieni się z powodu rozrostu, rekonfiguracji lub awarii sieci, baza wiedzy o sieci musi również uleć zmianie. Baza wiedzy o sieci musi odzwierciedlać dokładnie kształt nowej topologii. Celem protokołu routingu jest stworzenie i utrzymywanie tablicy routingu.
Routing dynamiczny W rozwiązaniach opartych na wektorze odległości Algorytmy routingu podzielić na: * a. wektora odległości, * a. stanu łącza, * a. hybrydowe zrównoważone. W rozwiązaniach opartych na wektorze odległości Określana jest odległość oraz kierunek (wektor) do dowolnego łącza w intersieci. Podejście oparte na analizie stanu łącza polega na odtworzeniu dokładnej topologii całej intersieci.
Protokoły EGP i IGP
Algorytm wektora odległości Algorytm routingu działający na podstawie wektora odległości okresowo wysyła kopię tablicy routingu. Każdy router otrzymuje tablicę routingu od bezpośrednio z nim połączonych routerów sąsiednich. Każdy router korzystający z routingu działającego na podstawie wektora odległości w pierwszej kolejności identyfikuje swoich sąsiadów. Interfejs prowadzący do każdej bezpośrednio podłączonej sieci ma odległość równą 0. W miarę postępu procesu rozpoznawania opartego na algorytmie wektora odległości, na podstawie informacji otrzymanych od swoich sąsiadów router ustala najlepsze trasy do sieci docelowych.
Zmiana topologii Zbieżność osiągana jest stopniowo
Zbieżność Gdy wszystkie trasy w intersieci działają w oparciu o te same informacje, mówi się, że intersieć osiągnęła zbieżność.
Metryki routingu
Konfiguracja routingu Konfiguracja obejmuje: wybór protokołu routingu (router <protokół>) określa bezpośrednio podpiętą sieć (network <adres sieci>)
Pętle routingu Zapobieganie błędom i pętlom routingu
Pętle routingu Tuż przed awarią sieci 1 wszystkie routery miały spójne informacje oraz prawidłowe tablice routingu. Sieć jest w stanie zbieżności. W przypadku routera C preferowana ścieżka do sieci 1 prowadzi przez router B, a odległość od routera C do sieci 1 wynosi 3. Po awarii sieci 1 router E wysyła aktualizację do routera A. Router A przerywa wysyłanie pakietów routingu do sieci 1, ale routery B, C i D kontynuują wysyłanie, ponieważ nie zostały jeszcze poinformowane o awarii. Po wysłaniu aktualizacji przez router A routery B i D przerywają routing do sieci 1. Router C jeszcze nie otrzymał aktualizacji. Z punktu widzenia routera C sieć 1 jest nadal dostępna poprzez router B. Teraz router C wysyła cykliczną aktualizację do routera D, która wskazuje ścieżkę do sieci 1 prowadzącą przez router B. Router D zmienia swoją tablicę routingu, aby uwzględnić tę nieprawidłową informację, a następnie wysyła informacje do routera A. Router A wysyła informacje do routerów B i E. Proces ten jest kontynuowany. Każdy pakiet przeznaczony dla sieci 1 będzie krążył w pętli od routera C do B, do A, do D i z powrotem do C.
Pętle routingu – rozwiązanie maksymalna liczba przeskoków
Pętle routingu – rozwiązanie reguła split horizont nie zezwala routerowi, który jest nadawcą informacji o sieci, na przyjmowanie aktualizacji informacji o tej sieci od innych routerów.
Pętle routingu – rozwiązanie reguła route poisoning Kiedy router A ustali, że sieć X jest wyłączona, blokuje („zatruwa”, ang. poison) tę trasę w swojej tablicy. W tym celu ustawia licznik przeskoków do sieci X na wartość o jeden większą od wartości maksymalnej. Wysyła następnie aktualizację dotyczącą tej zablokowanej trasy do routera B z pominięciem harmonogramu aktualizacji routingu. Nie jest przy tym wysyłana cała tablica. Przesyłane są tylko informacje o blokowanej trasie. Ta pojedyncza zmiana, wskazująca, że sieć X jest już nieosiągalna, szybko rozprzestrzenia się w sieci. Przyspiesza to osiągnięcie zbieżności i zmniejsza prawdopodobieństwo utworzenia pętli.
Pętle routingu – rozwiązanie wyzwalane aktualizacje Route Poisoning także jest jedną z metod wyzwalanych aktualizacji. Wyzwalane aktualizacje są wysyłane natychmiast, gdy wystąpi zmiana w tablicy routingu. Router, który wykrył zmianę topologii, wysyła komunikat aktualizacyjny do sąsiednich routerów. Routery te generują wyzwalane aktualizacje, aby powiadomić o zmianie.
Pętle routingu – rozwiązanie zegary przetrzymania Gdy router otrzymuje od sąsiada aktualizację, która wskazuje, że dotychczas dostępna sieć jest niedostępna, oznacza tę sieć jako niedostępną i uruchamia zegar przetrzymania. Jeśli przed upływem czasu na zegarze przetrzymania odbierze od tego samego sąsiada aktualizację, która wskazuje, że sieć jest znowu dostępna, oznacza ją jako dostępną i usuwa zegar przetrzymania. Jeśli od innego sąsiedniego routera odebrana zostanie aktualizacja zawierająca lepszą metrykę dla tej sieci, router oznacza tę sieć jako dostępną i usuwa zegar przetrzymania. Jeśli przed upłynięciem czasu zegara przetrzymania od innego routera zostanie odebrana aktualizacja z większą metryką, zostanie ona zignorowana. Aktualizacja ta jest ignorowana, aby przedłużyć czas propagacji w sieci informacji o szkodliwej zmianie.
Protokół RIP Routing Information Protocol (Protokół Informowania o Trasach) RIP występuje w wersji 1 (klasowy) i 2 (bezklasowy) RFC 2453: RIP 2 RFC 1058: RIP 1
Protokół RIP Routing Information Protocol (Protokół Informowania o Trasach) Protokół wektora odległości informuje sąsiednie routery o znanych trasach. Uaktualnienia protokołu RIP 1.0 przenoszone są przez UDP na porcie 520 W wersji 2.0 wykorzystywana jest technologia Multicast na adres 224.0.0.9
Protokół RIP Routing Information Protocol (Protokół Informowania o Trasach) Polecenie Opisuje, czy pakiet jest żądaniem uaktualnienia, czy odpowiedzią na żądanie. Numer wersji Opisuje numer wersji protokołu (1 lub 2). Pole zerowe (1) Musi być wyzerowane. Identyfikator Rodziny Adresów (ang. Address Family Identifier) Opisuje rodzinę adresów, do której należy adres w polu adresu sieciowego. Dla rodziny adresów IP wartość AFI równa jest liczbie 2. Pole zerowe (2) W RIPv1 musi być wyzerowane, w RIPv2 jest to znacznik trasy (ang. Route Tag) Adres sieciowy Ponieważ protokołu RIP używa się w sieciach IP, to adres ten jest adresem IP. W zależności, czy pakiet ten jest żądaniem czy odpowiedzią (określone jest to w polu "Polecenie"), zawiera odpowiednio adres nadawcy, lub adres z przesyłanej tabeli tras nadawcy. Pole zerowe (3) W RIPv1 musi być wyzerowane, w RIPv2 w tym miejscu ustawiona jest maska podsieci adresu z pola wcześniejszego. Pole zerowe (4) W RIPv1 musi być wyzerowane, w RIPv2 w tym miejscu ustawiony jest adres IP następnego rutera pośredniczącego w przekazywaniu pakietów dla danej trasy (ang. Next Hop) - tylko, gdy pakiet jest odpowiedzią (przesyła wpisy ze swojej tablicy rutingu). Metryka Wartość metryki dla danej trasy. Reprezentuje odległość (w sensie logicznym, nie fizycznym) do celu, jest sumą kosztów poszczególnych łącz pośredniczących (najczęściej równa się ilości przeskoków, gdyż łącza pośredniczące mają domyślny koszt równy 1). Komunikat o trasie dla wersji RIP 1.0
Protokół RIP konfiguracja protokołu Aby włączyć protokół RIP, należy w trybie konfiguracji globalnej użyć następujących poleceń: Router(config)#router rip — włącza proces routingu RIP Router(config-router)#network numer_sieci — tworzy powiązanie sieci z procesem routingu RIP Włączenie protokołu RIP oraz określenie sieci jest niezbędne. Wszystkie inne czynności są opcjonalne. Do zadań opcjonalnych należą: dodanie przesunięcia do metryk routingu, ustawienie zegarów, określenie wersji protokołu RIP, włączenie uwierzytelniania protokołu RIP, konfiguracja konsolidacji tras dla interfejsu, sprawdzenie konsolidacji tras IP, wyłączenie automatycznej konsolidacji tras, jednoczesne uruchomienie protokołów IGRP i RIP, wyłączenie sprawdzania źródłowych adresów IP, włączenie lub wyłączenie funkcji split horizon, włączenie protokołu RIP dla sieci WAN.
Protokół RIP konfiguracja protokołu
Polecenie ip classless Polecenie konfiguracji globalnej ip classless sprawia, że system Cisco IOS przekazuje te pakiety do najlepszej trasy supersieci. Trasa supersieci jest trasą, której pojedyncza pozycja obejmuje większy zakres podsieci. Jeśli na przykład firma używa całej podsieci 10.10.0.0 /16, to trasą supersieci dla 10.10.10.0 /24 jest 10.10.0.0 /16. Polecenie ip classless jest domyślnie włączone w systemie Cisco IOS w wersji 11.3 i nowszych. Aby wyłączyć tę funkcję, należy poprzedzić to polecenie słowem kluczowym no.
Konfiguracja parametrów RIP W protokole RIP używane są następujące mechanizmy: * Maksymalna liczba przeskoków (15) * split horizon, * poison reverse, * liczniki przetrzymania, * wyzwalane aktualizacje. Niektóre z metod wymagają konfigurowania
Wyłączenie metody split horizon GAD(config-if)#no ip split-horizon Konfiguracja interfejsu
Ustawianie zegarów przetrzymania Router(config-router)# timers basic update invalid holddown
Konfiguracja wersji protokołu RIP Router domyślnie odbiera komunikaty wersji 1 i 2, ale wysyła w wersji 1. Aby zmienić te ustawienia należy użyć następujących poleceń:
Weryfikowanie informacji o protokole RIP polecenie show ip protocols
Weryfikowanie informacji o protokole RIP polecenie show ip route
Weryfikowanie informacji o protokole RIP polecenie debug ip rip Polecenie debug ip rip włącza debugowanie protokołu RIP i wyświetla wszystkie aktualizacje odbierane i wysyłane w protokole RIP. network 204.204.7.0, metric 3 network 223.8.151.0, metric 3 network 201.100.11.0, metric 1 network 219.17.100.0, metric 2 network 192.5.5.0, metric 1 network 199.6.13.0, metric 2 network 210.93.105.0, metric 4 RIP: sending v1 update to 255.255.255.255 via Serial0 (201.100.11.1) network 205.7.5.0, metric 1 RIP: ignored v1 update from bad source 219.17.100.1 on Ethernet0 RIP: received v1 update from 201.100.11.2 on Serial0 204.204.7.0 in 2 hops 223.8.151.0 in 2 hops 219.17.100.0 in 1 hops 199.6.13.0 in 1 hops 210.93.105.0 in 3 hops LAB-A#debug ip rip RIP protocol debugging is on LAB-A# RIP: ignored v1 update from bad source 223.8.151.1 on Ethernet0 RIP: sending v1 update to 255.255.255.255 via Ethernet0 (192.5.5.1) network 204.204.7.0, metric 3 network 223.8.151.0, metric 3 network 201.100.11.0, metric 1 network 219.17.100.0, metric 2 network 199.6.13.0, metric 2 network 205.7.5.0, metric 1 network 210.93.105.0, metric 4 RIP: sending v1 update to 255.255.255.255 via Ethernet1 (205.7.5.1) Koniec debugingu: polecenie undebug all
Polecenie passive interface Polecenie passive interface blokuje wysyłanie aktualizacji routingu przez podany interfejs.
Równoważenie obciążenia Równoważenie obciążenia jest procesem routingu przez wiele ścieżek o równym koszcie w celu zwiększenia przepustowości. Protokół RIP umożliwia równoważenie obciążenia przy użyciu maksymalnie sześciu ścieżek o równym koszcie, chociaż domyślnie są to cztery ścieżki. Pakiety są wysyłane przez ścieżki o jednakowym koszcie według algorytmu „round robin”, tzn. wszystkie ścieżki o jednakowym koszcie są używane na przemian.
Równoważenie obciążenia Router, który zna wiele tras do określonej sieci, wstawia do tablicy routingu trasę o najkrótszej odległości administracyjnej. Trasa jest wybierana spośród wielu dostępnych, o których informacje zostały zebrane przy użyciu tego samego procesu routingu i które mają tę samą odległość administracyjną. W takim przypadku router wybiera tę trasę, która ma najniższy koszt lub metrykę. Każdy proces routingu oblicza koszt inaczej, może być więc konieczne ręczne skonfigurowanie kosztów w celu uzyskania zrównoważenia obciążenia.
Równoważenie obciążenia Dystanse administracyjne dla różnych źródeł informacji o trasach
Równoważenie obciążenia Jeśli router odbierze i umieści w tablicy routingu informacje o wielu ścieżkach, dla których odległości administracyjne i koszty są takie same, obciążenie może zostać zrównoważone. Domyślnie maksymalnie cztery równoległe trasy. Maksymalnie ścieżek może być od jednej do sześciu. Aby zmienić należy użyć następującego polecenia: Router(config-router)#maximum-paths [liczba] Aby można było zrównoważyć obciążenie w sieciach RIP, liczba przeskoków dla sieci musi być taka sama. W protokole IGRP równoważenie obciążenia jest realizowane na podstawie dostępnego pasma.
Równoważenie obciążenia Dwie metody równoważenia obciążenia w przypadku pakietów IP: pakiet po pakiecie (per-packet) na poziomie adresu przeznaczenia (per-destination) <<<domyślnie Aby wyłączyć szybkie przełączanie, należy użyć polecenia no ip route-cache Użycie tego polecenia spowoduje, że równoważenie obciążenia będzie realizowane metodą pakiet po pakiecie.
Trasy statyczne w routingu RIP Dla przypomnienia trasy statyczne definiujemy za pomocą ip route i usuwamy za pomocą no ip route Trasy statyczne wskazujące na interfejs mogą być ogłaszane przez router RIP będący ich właścicielem i propagowane w intersieci. Jeśli trasa statyczna dotyczy interfejsu, który nie został zdefiniowany za pomocą polecenia network, to należy użyć polecenia redistribute static, aby trasy takie mogły być rozgłaszane.
Podsumowanie Pomimo wieku, oraz istnienia bardziej zaawansowanych protokołów wymiany informacji o trasach, RIP jest ciągle w użyciu. Jest szeroko używany, dobrze opisany i łatwy w konfiguracji i obsłudze, Wadami protokołu RIP są wolny czas konwergencji (inaczej długi czas osiągania zbieżności), niemożliwość skalowania powyżej 15 skoków a także wybór mało optymalnych ścieżek i brak mechanizmów równoważenia obciążenia przez nadmiarowe łącza,
Podsumowanie Studenci powinni znać i rozumieć następujące podstawowe zagadnienia: * jak są przetwarzane informacje o routingu przez protokoły wektora odległości; * jak powstają pętle routingu w protokołach wektora odległości; * jak unikać powstawania pętli routingu; * jak zapobiegać aktualizacjom routingu przez interfejs; * konfiguracja protokołu RIP; * polecenie ip classless; * równoważenie obciążenia w protokole RIP; * jak sprawdzać konfigurację protokołu RIP;