Wprowadzenie: rozszerzenia RIPv2
Protokół Informacji o Trasach RIPv1 należał do pierwszych protokołów routingu dynamicznego i pozwalał routerom automatycznie uczyć się tras. Gdy sieci stały się bardziej złożone pod koniec lat 80. i na początku lat 90., ograniczenia RIPv1 utrudniały stosowanie VLSM oraz ochronę aktualizacji. Jego format nie przekazywał części informacji potrzebnych w takich sieciach.
Pierwsza specyfikacja RIP wersji 2 (RIPv2) powstała w 1994 roku. Protokół zachował podstawowy algorytm wektora odległości oraz metrykę opartą na liczbie przeskoków. Rozszerzono format aktualizacji tak, aby przekazywał maskę podsieci, obsługiwał multicast i umożliwiał uwierzytelnianie. Zmiany adresowały główne ograniczenia RIPv1 bez zmiany podstawowej metody wyboru trasy.
RIPv2 obejmuje trzy rozszerzenia: routing bezklasowy z obsługą VLSM, aktualizacje multicast oraz mechanizm uwierzytelniania. RIPv2 pozostaje prostym protokołem wektora odległości, lecz przekazuje więcej informacji w każdej trasie. Nadal korzysta z UDP na porcie , a poprawna metryka mieści się w zakresie od 1 do . Wartość oznacza nieosiągalność.
Routing Bezklasowy: Wsparcie dla VLSM i CIDR
RIPv2 przeszedł z protokołu klasowego na bezklasowy. Router może teraz interpretować prefiks razem z jego maską, co pozwala używać różnych rozmiarów podsieci i sumaryzacji.
Problem z Routingiem Klasowym (Wada RIPv1)
RIPv1 używał . Aktualizacje RIPv1 nie zawierały informacji o masce podsieci. Router wyznaczał ją na podstawie klasy adresu, zwykle na podstawie pierwszego oktetu. Prowadziło to do dwóch problemów:
- Niewydajne Wykorzystanie Adresów: Nie obsługiwał Masek Podsieci o Zmiennej Długości (VLSM). Dla sieci z 20 komputerami trzeba było przydzielić całą sieć klasy C, marnując ponad 200 adresów. Jedna domyślna maska nie pozwalała dopasować rozmiaru podsieci do liczby hostów.
- Sieci Nieciągłe: Nie radził sobie z projektami sieci, w których podsieci tej samej dużej sieci były oddzielone inną dużą siecią, co prowadziło do błędów routingu i nieprawidłowych sumaryzacji.
Rozwiązanie RIPv2: Dołączenie Maski Podsieci
RIPv2 rozwiązał ten problem, ponieważ dodał pole maski podsieci do komunikatów aktualizacji routingu. Router otrzymuje maskę razem z każdym adresem sieciowym i może wyznaczyć dokładny prefiks bez wnioskowania z klasy adresu. Umożliwia to VLSM oraz bezklasowe ogłaszanie tras. Wpis może także wskazywać następny przeskok i przenosić znacznik trasy potrzebny przy redystrybucji.
Przykład: Sieć z VLSM
Rozważmy firmę z biurami w Warszawie i Krakowie oraz łączem centralnym między nimi. Sieć używa podsieci z głównej sieci .
- Biuro w Warszawie: Potrzebuje około 100 hostów, więc przypisano mu .
- Biuro w Krakowie: Potrzebuje około 50 hostów, więc przypisano mu .
- Łącze WAN: Łącze punkt-punkt między routerami potrzebuje tylko 2 adresów, więc przypisano mu .
Jak RIPv1 zawodzi:
Gdy Waw_Router wysyła aktualizację do Link_Router, wysyła tylko sieć . Ponieważ to adres klasy B, Link_Router traktuje trasę jako prefiks () i może ogłosić podsumowanie do Krk_Router. Ta nieprawidłowa interpretacja psuje routing, ponieważ szczegółowe informacje o podsieciach , i są tracone. Komunikacja zawodzi.
Jak RIPv2 odnosi sukces:
Waw_Router wysyła aktualizację do Link_Router zawierającą parę: (Sieć: , Maska Podsieci: ). Link_Router zna teraz dokładny prefiks . Może następnie poprawnie ogłosić tę trasę do Krk_Router. Wszystkie wpisy zachowują właściwe maski, więc szczegółowe prefiksy nie są zastępowane maską klasową. Ta zdolność jest znana jako routing bezklasowy.
Wydajna Komunikacja: Aktualizacje Multicast
Drugie duże ulepszenie w RIPv2 dotyczyło nieefektywnego sposobu komunikacji RIPv1.
Problem z Rozgłoszeniami (Metoda RIPv1)
RIPv1 wysyłał aktualizacje jako rozgłoszenia na adres . Ramka z takim datagramem mogła trafić do każdego hosta w segmencie. Host bez procesu RIP odrzucał datagram po sprawdzeniu adresowania i numeru protokołu, lecz sama transmisja docierała także do urządzeń niebędących routerami. Zwiększało to ruch oraz obciążenie obsługą pakietów.
Rozwiązanie RIPv2: Aktualizacje Grupowe
RIPv2 zastąpił nieefektywne rozgłoszenia aktualizacjami . Na sieciach obsługujących multicast RIPv2 wysyła aktualizacje na adres zarezerwowany dla routerów RIPv2. Adres ten ma zasięg lokalnego segmentu, więc routery nie przekazują tych komunikatów dalej jako pakietów routowanych.
Routery z uruchomionym RIPv2 nasłuchują tej grupy multicastowej. Inne urządzenia nie dołączają do grupy, a ich interfejs lub stos sieciowy może odfiltrować taki ruch bez przekazywania go do procesu routingu. Skutki obejmują:
- Zmniejszone obciążenie hostów niebędących routerami.
- Mniej niepotrzebnego ruchu w sieci lokalnej.
- Mniejsze obciążenie obsługą aktualizacji przez urządzenia końcowe.
Uwierzytelnianie Aktualizacji
RIPv1 nie uwierzytelniał aktualizacji. Urządzenie z dostępem do lokalnego segmentu mogło więc wprowadzić fałszywe trasy i skierować ruch do nieprawidłowego następnego przeskoku albo do nieosiągalnego celu.
Problem z Niezabezpieczonymi Aktualizacjami (Wada RIPv1)
Ponieważ aktualizacje RIPv1 nie były uwierzytelniane, złośliwy aktor mógł podłączyć laptopa do sieci, wygenerować fałszywe pakiety RIP i je rozgłosić. Mógł na przykład ogłosić fałszywą trasę domyślną z niską metryką. Inne routery uwierzyłyby w to fałszywe ogłoszenie i zaczęłyby wysyłać ruch wychodzący do laptopa atakującego zamiast do prawdziwej bramy internetowej, umożliwiając atak typu man-in-the-middle.
Rozwiązanie RIPv2: Weryfikacja Źródła
RIPv2 wprowadził mechanizm uwierzytelniania aktualizacji. Podstawowy format definiuje hasło jawne, a rozszerzenia kryptograficzne dodają weryfikację opartą na wspólnym kluczu. RIPv2 obsługuje dwie metody:
- Uwierzytelnianie Hasłem Jawnym:
Administratorzy konfigurują wspólne hasło na routerach. Hasło jest umieszczane w polu uwierzytelniania aktualizacji RIPv2, a odbiorca porównuje je z wartością lokalną. Mechanizm ogranicza przyjmowanie komunikatów od urządzeń bez właściwego klucza, lecz hasło jest przesyłane jawnie i może zostać odczytane przez analizę pakietów.
- Uwierzytelnianie Kryptograficzne (MD5/HMAC):
Rozszerzenie kryptograficzne nie wysyła klucza. Routery używają wspólnego sekretu do obliczenia z treści komunikatu. Historyczne rozszerzenie RIPv2 używało MD5 i przenosiło identyfikator klucza oraz numer sekwencyjny. Nowsze rozszerzenie stosuje HMAC-SHA1 i inne algorytmy z rodziny SHA. Odbiorca wykonuje to samo obliczenie. Zgodny wynik wskazuje znajomość klucza i integralność komunikatu. Mechanizm nie zapewnia poufności.
Format Pakietu RIPv2
Zmiany w RIPv2 są odzwierciedlone w formacie komunikatów, który rozszerza strukturę RIPv1. Aktualizacja może zawierać do 25 wpisów tras bez pola uwierzytelniania. Wpis uwierzytelniający zajmuje jedno miejsce, więc pozostaje do 24 wpisów tras. Nagłówek ma 4 bajty, a każdy wpis trasy zajmuje 20 bajtów.
| Pole | Rozmiar (bajty) | Opis |
|---|---|---|
| Polecenie | 1 | Wskazuje komunikat żądania (1) lub odpowiedzi (2). |
| Wersja | 1 | Ustawione na 2 dla RIPv2. |
| Musi być zero | 2 | Pole zarezerwowane. |
| Wpis Trasy (powtarzany do 25 razy) | ||
| Identyfikator Rodziny Adresów (AFI) | 2 | Określa rodzinę protokołu. Dla IP wartość ta wynosi 2. |
| Znacznik Trasy | 2 | Przenosi znacznik trasy z protokołu zewnętrznego lub procesu redystrybucji do IGP. |
| Adres IP | 4 | Adres sieci docelowej. |
| Maska Podsieci | 4 | Maska podsieci dla sieci docelowej. Pole wymagane do obsługi VLSM. |
| Następny Przeskok | 4 | Określa lepszy adres następnego przeskoku, jeśli taki istnieje, optymalizując routing w sieciach wielodostępowych. |
| Metryka | 4 | Liczba przeskoków do celu. Wartości od 1 do 15 są osiągalne, a 16 oznacza nieskończoność. |
Czy RIPv2 jest nadal aktualny?
Chociaż RIPv2 naprawił krytyczne wady swojego poprzednika, wciąż zachowuje podstawowe ograniczenia prostego protokołu wektora odległości.
- Powolna Konwergencja: Wciąż polega na okresowych aktualizacjach i licznikach czasu, co czyni go znacznie wolniejszym w reakcji na awarie sieci niż nowoczesne protokoły stanu łącza, takie jak OSPF.
- Metryka oparta na Liczbie Przeskoków: Poleganie na liczbie przeskoków jest poważną wadą w sieciach o zróżnicowanych prędkościach łącz.
- Limit 15 Przeskoków: Maksymalna osiągalna metryka 15 ogranicza zastosowanie do domen o średnicy nieprzekraczającej 15 przeskoków. Większe sieci zwykle wybierają protokoły bez tego ograniczenia.
Z tych powodów RIPv2 jest mniej popularny w sieciach produkcyjnych niż protokoły takie jak OSPF, IS-IS czy EIGRP. Nadal sprawdza się w laboratoriach, dydaktyce i małych, niekrytycznych sieciach, w których prostota oraz niewielkie obciążenie są ważniejsze od szybkiej konwergencji i rozbudowanych metryk. Jego aktualizacje i timery nadal ograniczają szybkość reakcji na awarie. Wybór zależy od topologii, wymagań dotyczących czasu reakcji oraz możliwości urządzeń.