DCN - Routing w warstwie sieci
Gdy urządzenie ma wiele ścieżek do celu, zawsze wybiera jedną ścieżkę, preferując ją przed innymi. Ten proces selekcji nazywany jest routingiem. Routing jest realizowany za pomocą specjalnych urządzeń sieciowych zwanych routerami lub za pomocą procesów programowych. Routery programowe mają ograniczoną funkcjonalność i ograniczony zakres.
Router jest zawsze skonfigurowany z jakąś domyślną trasą. Trasa domyślna mówi routerowi, gdzie przekazać pakiet, jeśli nie ma trasy do określonego miejsca docelowego. W przypadku, gdy istnieje wiele ścieżek prowadzących do tego samego miejsca docelowego, router może podjąć decyzję na podstawie następujących informacji:
Licznik skoków
Bandwidth
Metric
Prefix-length
Delay
Trasy mogą być konfigurowane statycznie lub dynamicznie. Jedną trasę można skonfigurować tak, aby była preferowana w stosunku do innych.
Routing emisji pojedynczej
Większość ruchu w Internecie i intranetach, znanych jako dane unicast lub ruch unicast, jest wysyłana do określonego miejsca docelowego. Routing danych unicast przez Internet nazywa się routingiem unicast. To najprostsza forma wyznaczania trasy, ponieważ cel podróży jest już znany. Dlatego router musi po prostu przeszukać tablicę routingu i przekazać pakiet do następnego przeskoku.
Routing transmisji
Domyślnie pakiety emisji nie są trasowane ani przekazywane dalej przez routery w żadnej sieci. Routery tworzą domeny rozgłoszeniowe. Ale można go skonfigurować do przekazywania transmisji w niektórych szczególnych przypadkach. Wiadomość rozgłoszeniowa jest przeznaczona dla wszystkich urządzeń sieciowych.
Routing transmisji można wykonać na dwa sposoby (algorytm):
Router tworzy pakiet danych, a następnie wysyła go po kolei do każdego hosta. W takim przypadku router tworzy wiele kopii pojedynczego pakietu danych z różnymi adresami docelowymi. Wszystkie pakiety są wysyłane jako unicast, ale ponieważ są wysyłane do wszystkich, symuluje to tak, jakby router nadawał.
Ta metoda wymaga dużej przepustowości, a router musi mieć adres docelowy każdego węzła.
Po drugie, kiedy router odbiera pakiet, który ma być nadany, po prostu przepuszcza te pakiety ze wszystkich interfejsów. Wszystkie routery są konfigurowane w ten sam sposób.
Ta metoda jest łatwa dla procesora routera, ale może powodować problem zduplikowanych pakietów odbieranych z routerów równorzędnych.
Odwrotne przekazywanie ścieżki to technika, w której router wie z wyprzedzeniem o swoim poprzedniku, skąd powinien odbierać rozgłaszanie. Ta technika służy do wykrywania i odrzucania duplikatów.
Routing multiemisji
Trasowanie multiemisji to szczególny przypadek routingu rozgłoszeniowego, w którym występują istotne różnice i wyzwania. W routingu rozgłoszeniowym pakiety są wysyłane do wszystkich węzłów, nawet jeśli tego nie chcą. Jednak w przypadku routingu multiemisji dane są wysyłane tylko do węzłów, które chcą odbierać pakiety.
Router musi wiedzieć, że istnieją węzły, które chcą odbierać pakiety multiemisji (lub przesyłać strumieniowo), a tylko on powinien przekazywać dalej. Routing multiemisji działa w oparciu o protokół drzewa, aby uniknąć zapętlenia.
Routing multiemisji wykorzystuje również technikę przekazywania zwrotnego ścieżki w celu wykrywania i odrzucania duplikatów i pętli.
Routing Anycast
Przekazywanie pakietów anycast to mechanizm, w którym wiele hostów może mieć ten sam adres logiczny. Po odebraniu pakietu przeznaczonego na ten adres logiczny jest on wysyłany do hosta znajdującego się najbliżej topologii routingu.
Routing Anycast odbywa się za pomocą serwera DNS. Za każdym razem, gdy odbierany jest pakiet Anycast, system DNS pyta, dokąd go wysłać. DNS dostarcza adres IP, który jest najbliższym skonfigurowanym adresem IP.
Protokoły routingu emisji pojedynczej
Dostępne są dwa rodzaje protokołów routingu do trasowania pakietów emisji pojedynczej:
Protokół routingu wektora odległości
Distance Vector to prosty protokół routingu, który podejmuje decyzję o routingu na podstawie liczby przeskoków między źródłem a miejscem docelowym. Trasa z mniejszą liczbą przeskoków jest uważana za najlepszą. Każdy router ogłasza swoje najlepsze trasy innym routerom. Ostatecznie wszystkie routery budują swoją topologię sieci w oparciu o ogłoszenia swoich równorzędnych routerów,
Na przykład protokół informacji o routingu (RIP).
Protokół routingu stanu łącza
Protokół stanu łącza jest nieco skomplikowany niż protokół wektora odległości. Uwzględnia stany łączy wszystkich routerów w sieci. Technika ta pomaga trasom w tworzeniu wspólnego wykresu całej sieci. Następnie wszystkie routery obliczają najlepszą ścieżkę do celów routingu, na przykład Open Shortest Path First (OSPF) i Intermediate System to Intermediate System (ISIS).
Protokoły routingu multiemisji
Protokoły routingu emisji pojedynczej używają wykresów, podczas gdy protokoły routingu multiemisji używają drzew, tj. Drzewa opinającego, aby uniknąć pętli. Drzewo optymalne nazywane jest drzewem obejmującym najkrótszą ścieżkę.
DVMRP - Protokół routingu multiemisji wektora odległości
MOSPF - Najpierw najkrótsza ścieżka otwarta multiemisji
CBT - Drzewo oparte na rdzeniu
PIM - Multiemisja niezależna od protokołu
Obecnie powszechnie używana jest niezależna od protokołu multiemisja. Ma dwa smaki:
PIM Dense Mode
Ten tryb wykorzystuje drzewa oparte na źródłach. Jest używany w gęstym środowisku, takim jak LAN.
PIM Sparse Mode
W tym trybie używane są wspólne drzewa. Jest używany w rzadkich środowiskach, takich jak WAN.
Algorytmy routingu
Algorytmy routingu są następujące:
Powódź
Flooding to najprostsza metoda przekazywania pakietów. Po odebraniu pakietu routery wysyłają go do wszystkich interfejsów z wyjątkiem tego, na którym został odebrany. Powoduje to zbyt duże obciążenie sieci i wiele zduplikowanych pakietów wędrujących w sieci.
Time to Live (TTL) może służyć do unikania nieskończonej pętli pakietów. Istnieje inne podejście do zalewania, które nazywa się Selective Flooding w celu zmniejszenia narzutu w sieci. W tej metodzie router nie wylewa się na wszystkie interfejsy, ale selektywne.
Najkrótsza droga
Decyzje o routingu w sieci są najczęściej podejmowane na podstawie kosztów między źródłem a miejscem docelowym. Liczba chmielów odgrywa tutaj główną rolę. Najkrótsza ścieżka to technika, która wykorzystuje różne algorytmy do decydowania o ścieżce z minimalną liczbą przeskoków.
Typowe algorytmy najkrótszej ścieżki to:
Algorytm Dijkstry
Algorytm Bellmana Forda
Algorytm Floyda Warshalla