Routing

Ulepszenia RIPv2

Ulepszenia w RIPv2: wsparcie VLSM, uwierzytelnianie i aktualizacje multicast.

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 520520, a poprawna metryka mieści się w zakresie od 1 do 1515. Wartość 1616 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 172.16.0.0172.16.0.0.

  • Biuro w Warszawie: Potrzebuje około 100 hostów, więc przypisano mu 172.16.1.0/25172.16.1.0/25.
  • Biuro w Krakowie: Potrzebuje około 50 hostów, więc przypisano mu 172.16.2.0/26172.16.2.0/26.
  • Łącze WAN: Łącze punkt-punkt między routerami potrzebuje tylko 2 adresów, więc przypisano mu 172.16.10.0/30172.16.10.0/30.
Jak RIPv1 zawodzi:

Gdy Waw_Router wysyła aktualizację do Link_Router, wysyła tylko sieć 172.16.1.0172.16.1.0. Ponieważ 172.16.0.0172.16.0.0 to adres klasy B, Link_Router traktuje trasę jako prefiks /16/16 (255.255.0.0255.255.0.0) i może ogłosić podsumowanie do Krk_Router. Ta nieprawidłowa interpretacja psuje routing, ponieważ szczegółowe informacje o podsieciach /25/25, /26/26 i /30/30 są tracone. Komunikacja zawodzi.

Jak RIPv2 odnosi sukces:

Waw_Router wysyła aktualizację do Link_Router zawierającą parę: (Sieć: 172.16.1.0172.16.1.0, Maska Podsieci: 255.255.255.128255.255.255.128). Link_Router zna teraz dokładny prefiks 172.16.1.0/25172.16.1.0/25. 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 255.255.255.255255.255.255.255. 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 224.0.0.9224.0.0.9 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:

  1. 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.

  2. 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.

PoleRozmiar (bajty)Opis
Polecenie1Wskazuje komunikat żądania (1) lub odpowiedzi (2).
Wersja1Ustawione na 2 dla RIPv2.
Musi być zero2Pole zarezerwowane.
Wpis Trasy (powtarzany do 25 razy)
Identyfikator Rodziny Adresów (AFI)2Określa rodzinę protokołu. Dla IP wartość ta wynosi 2.
Znacznik Trasy2Przenosi znacznik trasy z protokołu zewnętrznego lub procesu redystrybucji do IGP.
Adres IP4Adres sieci docelowej.
Maska Podsieci4Maska podsieci dla sieci docelowej. Pole wymagane do obsługi VLSM.
Następny Przeskok4Określa lepszy adres następnego przeskoku, jeśli taki istnieje, optymalizując routing w sieciach wielodostępowych.
Metryka4Liczba 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ń.

Powiązane artykuły