Protokół RIP jest protokołem routingu, w którym zastosowano algorytm distance-vector. Jest on szeroko stosowany w sieciach jako protokół wewnętrzny IGP (Interior Gateway Protocol), co oznacza, że wykonuje routing pojedynczym autonomicznym systemem albo protokołem zewnętrznym EGP (Exterior Gateway Protocol) – wykonuje routing pomiędzy różnymi autonomicznymi systemami. Protokół RIP jest obecnie szeroko wykorzystywany w Internecie.
Protokół RIP (Routing-Information Protocol) jest używany w sieciach jako podstawowa metoda wymiany informacji o routingu pomiędzy routerami. Specyfikacje protokołu RIP definiują dwa dokumenty RFC (Request For Comments) 1058 i 1723. RFC 1058 opisuje pierwszą implementację protokołu, natomiast jego wersję zaktualizowaną opisuje dokument RFC 1723. Opierając się na protokole RIP routery podejmują następujące działania:
- Żądają aktualnych informacji o routingu od innych routerów i na ich podstawie aktualizują tablice routingu.
- Odpowiadają na podobne żądanie innych routerów.
- W ściśle określonych przedziałach czasu rozsyłają informacje o swojej obecności, informując inne routery o aktualnej konfiguracji połączeń międzysieciowych.
- W przypadku wykrycia zmian w konfiguracji sieci rozsyłają stosowną informację.
Algorytm distance-vector
Distance-vector optymalizuje wybór trasy przy kryterium najmniejszej liczby skoków (hops) niezbędnych do osiągnięcia miejsca przeznaczenia (destination) lub kosztu ścieżki prowadzącej do miejsca przeznaczenia.
Uaktualnianie routingu
Protokół RIP wysyła komunikaty uaktualniające w określonych, stałych przedziałach czasu, na przykład co 30 s, lub w przypadku pojawienia się zmian w topologii sieci. Router po przyjęciu uaktualnienia routingu, które dotyczy zmian jednego z wejść, uaktualnia tablicę routingu (routing table), by odzwierciedlić nową trasę. Wartość miary przypisanej danej ścieżce wzrasta o jeden i jako następny skok jest wskazany nadawca. Routery RIP utrzymują do miejsca przeznaczenia tylko najlepszą trasę, to jest trasę z najmniejszą liczbą skoków. Router niezwłocznie po uaktualnieniu swojej tablicy routingu wysyła informacje o zmianie do pozostałych routerów w sieci. Są one wysyłane niezależnie od regularnie wysyłanych uaktualnień.
Miara routingu protokołu RIP
Jedyną miarą używaną przez protokół RIP do mierzenia odległości pomiędzy źródłem a miejscem przeznaczenia jest zliczanie skoków (hop-count). Każdemu skokowi na drodze od źródła do miejsca przeznaczenia zostaje przypisana wartość, najczęściej 1. Gdy router przyjmie uaktualnienie tablicy routingu, które zawiera nowe lub zmienione wejście sieciowego miejsca przeznaczenia, to dodaje jedynkę do wartości miary wskazanej w uaktualnieniu i wpisuje zmianę do tablicy routingu. Adresem następnego skoku jest adres IP nadawcy. Protokół RIP, dzięki ograniczeniu liczby skoków, które mogą pojawić się pomiędzy źródłem a miejscem przeznaczenia, zapobiega przesyłaniu strumienia danych bez końca w pętli. Maksymalna liczba skoków na ścieżce wynosi 15. Jeśli router przyjmie uaktualnienie routingu, które zawiera nowe lub zmienione wejście, i jeśli po zwiększeniu miary o jeden nastąpi przekroczenie granicy 15 skoków, to takie miejsce przeznaczenia w sieci staje się nieosiągalne.
Stabilność protokołu RIP
W celu dostosowania się do szybkich zmian topologii sieci protokół RIP wyposażono, podobnie jak i inne protokoły routingujące, w mechanizmy stabilizujące. Na przykład, by zapobiec skutkom błędnej informacji o routingu, w protokole RIP zaimplementowano mechanizmy split-horizon i hold-down. Powstaniu pętli zapobiega ograniczenie – na trasie pomiędzy źródłem a miejscem przeznaczenia – liczby skoków (do 15).
Czasomierze protokołu RIP
W celu dostosowania do potrzeb wydajności routingu, protokół RIP wyposażono w kilka czasomierzy (timers). Wśród nich są: czasomierz uaktualnienia routingu (routing-update timer), limitu czasu trasy (route timeout timer) i czyszczenia trasy (route-flush timer). Czasomierz uaktualnienia routingu wyznacza przedziały czasu pomiędzy kolejnymi okresami uaktualniania. Jest to stały przedział nie przekraczający 30 s. Do każdego wejścia do tablicy routingu jest przypisany czasomierz limitu czasu trasy; w przypadku jego wyczerpania trasa zostaje oznaczona jako nieważna. Mimo tego jest nadal utrzymywana w tablicy routingu aż do momentu, gdy zostanie wyczerpany czasomierz czyszczenia trasy.