Algorytm jest szczegółowym rozwiązaniem danego problemu. W przypadku
routingu pakietów różne protokoły routingu wykorzystują różne algorytmy
routingu przy podejmowaniu decyzji dotyczących portu, przez który należy
przesłać nadchodzący pakiet. Decyzje podejmowane przez algorytmy routingu
opierają się na metrykach.
Protokoły routingu projektowane są z myślą o realizacji jednego lub kilku z
poniższych założeń:
-
Optymalizacja — optymalizacja określa skuteczność protokołu
routingu w wyborze najlepszej ścieżki. Ścieżka zależeć będzie od metryk i ich
wag wykorzystanych w obliczeniach. Na przykład jeden algorytm może
wykorzystywać metryki liczby przeskoków i opóźnienia, przypisując metrykom
opóźnienia większą wagę.
-
Prostota i niski narzut — im prostszy jest algorytm, tym wydajniej
będzie przetwarzany przez procesor i pamięć routera. Ten parametr jest istotny,
gdyż umożliwia rozrost sieci do dużych rozmiarów, takich jak w przypadku
Internetu.
-
Odporność na błędy i stabilność — algorytm routingu powinien
funkcjonować poprawnie w obliczu niecodziennych albo nieprzewidzianych
okoliczności, takich jak awarie sprzętu komputerowego, duże obciążenie i błędy
implementacji.
-
Elastyczność — algorytm routingu powinien szybko dostosowywać się do
różnorakich zmian zachodzących w sieci. Zmiany te obejmują dostępność routerów,
wielkość pamięci poszczególnych routerów, zmiany pasma i opóźnień występujących
w sieci.
-
Szybka zbieżność — zbieżnością określa się proces uzgadniania
dostępnych tras pomiędzy wszystkimi routerami. Kiedy jakieś zdarzenie w sieci
zmieni dostępność routera, niezbędne są aktualizacje w celu przywrócenia
łączności w sieci. Algorytmy routingu, które charakteryzuje niska zbieżność,
mogą spowodować, że dane nie zostaną dostarczone.
Algorytmy routingu wykorzystują różne metryki w celu określenia
najlepszej ścieżki.
Każdy algorytm routingu na swój sposób dokonuje interpretacji
najlepszego wyboru. Algorytm routingu generuje liczbę, zwaną wartością metryki,
dla każdej ścieżki w sieci. Zaawansowane algorytmy routingu opierają wybór
trasy na wielu metrykach, tworząc z nich pojedynczą metrykę złożoną. Zwykle
mniejsze wartości metryk wskazują preferowane ścieżki.
Metryki mogą być obliczane na podstawie pojedynczego parametru
charakteryzującego ścieżkę lub kilku różnych parametrów. Poniżej przedstawiono
parametry najczęściej wykorzystywane przez protokoły routingu:
-
Szerokość pasma — przepustowość łącza w kontekście transmitowanych
danych. Zwykle połączenie Ethernet o paśmie 10 Mb/s jest bardziej pożądane od
łącza dzierżawionego o paśmie 64 kb/s.
-
Opóźnienie — czas potrzebny do przesłania pakietu w każdym łączu na
drodze ze źródła do celu. Opóźnienie zależy od szerokości pasma łączy
pośrednich, ilości danych, które mogą być tymczasowo przechowywane w każdym
routerze, przeciążenia sieci oraz fizycznej odległości.
-
Obciążenie — aktywność występująca w ramach zasobu sieciowego,
takiego jak router czy łącze.
-
Niezawodność — zazwyczaj tym mianem określana jest stopa błędów
występujących w danym łączu sieciowym.
-
Liczba przeskoków — liczba routerów, przez które musi być przesłany
pakiet, zanim dotrze do punktu docelowego. Każdy router, przez który muszą
zostać przesłane dane, odpowiada pojedynczemu przeskokowi. Ścieżka, której
liczba przeskoków wynosi cztery, wskazuje, że dane przesyłane tą ścieżką muszą
pokonać cztery routery nim dotrą do punktu docelowego. Jeśli istnieje kilka
różnych ścieżek, preferowana jest ścieżka o najmniejszej liczbie przeskoków.
-
Impulsy zegarowe — opóźnienie na łączu danych mierzone impulsami
zegarowymi komputera IBM PC. Jeden impuls to około 1/18 sekundy.
-
Koszt — dowolna wartość przypisana przez administratora sieci,
zwykle oparta na szerokości pasma, wydatku pieniężnym lub innej mierze.