Protokół trasowania
Protokół trasowania, protokół routingu, protokół routujący – protokół używany do wymiany informacji o trasach pomiędzy sieciami komputerowymi, co pozwala na dynamiczną budowę tablic trasowania. Tradycyjne trasowanie jest bardzo proste, gdyż polega na wykorzystaniu tylko informacji o następnym „przeskoku” (ang. hop). W tym przypadku router tylko kieruje pakiet do następnego routera, bez uwzględnienia na przykład zbyt wielkiego obciążenia czy awarii na dalszej części trasy.
Mimo że dynamiczne trasowanie jest bardzo skomplikowane, to właśnie dzięki niemu Internet jest tak elastyczny i mógł się znacząco rozwinąć.
Protokoły trasowania robią dwie proste rzeczy:
- mówią światu, kim są sąsiedzi
- mówią sąsiadom, jak wygląda świat.
Metryka trasowania jest wartością używaną przez algorytmy trasowania do określenia, która trasa jest lepsza. Brane są pod uwagę: szerokość pasma, opóźnienie, liczba przeskoków, koszt ścieżki, obciążenie, MTU, niezawodność, koszt komunikacji. Tylko najlepsze trasy przechowywane są w tablicach trasowania, natomiast inne mogą być przechowywane w bazach danych. Jeśli router korzysta z mechanizmów równoważenia obciążenia, w tablicy trasowania może wystąpić kilka najlepszych tras. Router będzie je wykorzystywał równolegle, rozpraszając obciążenie równomiernie między trasami.
Wybór protokołu odbywa się na podstawie wartości odległości administracyjnej.
Podział ze względu na zależności pomiędzy routerami
[edytuj | edytuj kod]- Protokoły trasowania w sieciach ad hoc (ang. ad hoc network routing protocols). Najczęściej dzielone są na:
- Wewnętrzne protokoły trasowania, zwane też protokołami bram wewnętrznych (IGP, od ang. interior gateway protocol) – używane do wymiany informacji o trasach w pojedynczym systemie autonomicznym. Przykłady:
- Zewnętrzne protokoły trasowania, zwane też protokołami bram zewnętrznych (EGP, od ang. exterior gateway protocol) – używane do wymiany informacji o trasach pomiędzy różnymi systemami autonomicznymi. Przykłady:
- Protokoły trasowania multicastowego – wykorzystywane do wymiany informacji między routerami jak przenosić ruch multicastowy. Przykład:
- DVMRP (Distance Vector Multicast Routing Protocol)
Podział ze względu na sposób działania
[edytuj | edytuj kod]- protokoły trasowania wektora odległości – router przekazuje okresowo do wszystkich swoich sąsiadów (tylko sąsiadów) kopie swojej tablicy routingu wraz z metrykami. Jest to informacja o adresach dostępnych z danego routera bezpośrednio oraz za pośrednictwem innych routerów.
Nie ma pełnej informacji o odległych routerach, a najlepsza ścieżka ustalana jest przez dodawanie do metryki trasowania wartości. Przykłady:
- protokoły trasowania stanu łącza – router przekazuje okresowo do wszystkich routerów w sieci (nie tylko sąsiadów) już nie całą kopię tablicy routingu, a jedynie informację o podsieciach bezpośrednio do niego przyłączonych wraz z ich metrykami.
Routery utrzymują złożone bazy danych z informacjami o topologii, mają pełną informację o odległych routerach. Bazę topologii tworzą na podstawie zbierania informacji przez wysyłanie pakietów LSA (ang. link-state adverisement). Po zebraniu informacji router oblicza najlepszą trasę do pozostałych routerów, tworząc drzewo SPF (ang. shortest path first) i wykorzystując algorytm Dijkstry w celu znalezienia drogi o najmniejszym koszcie. Aktualizacje bazy topologii są wyzwalane zmianami zachodzącymi w sieci. W początkowej fazie zbierania danych na temat topologii sieć zalewana jest pakietami LSA, co powoduje zmniejszenie wydajności łącza oraz absorbuje dużą ilość pamięci i mocy obliczeniowej routera. Z tego względu protokół ten wymaga zhierarchizowanego projektu sieci, w celu zmniejszenia tablic topologii sieci. Przykłady:
- hybrydowe protokoły trasowania – mają cechy zarówno protokołów wektora odległości jak i stanu łącza. Przykłady:
- protokoły trasowania typu path-vector – opisują trasy przy pomocy atrybutów:
Najczęściej protokoły trasowania wektora odległości uaktualniają tablice okresowo (np. RIP), a stanu łącza, gdy zmienia się topologia (np. OSPF).